From d1ecfc2de1059504cfbe35eebe42c4cda8461af6 Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Mon, 12 Apr 2010 16:49:28 -0700 Subject: Fix 2575838: Update emergency button in AccountUnlockScreen DO NOT MERGE AccountUnlockScreen wasn't registered to receive updates from UpdateMonitor. It now correctly updates the Emergency call button to allow the user to return to the call in progress (InCallScreen). Tested on WVGA device with keyboard: - hitting Home during call, observing state, and pressing button to return to call. - hitting Home while not in call to ensure it still invokes EmergencyDialer. - above in various keyboard states. Marked DO NOT MERGE since this will require manual merge to master due to framework restructuring. Change-Id: Idf6bb25438336616e6453e7afe0e79f227af98d3 --- .../com/android/internal/policy/impl/AccountUnlockScreen.java | 10 ++++++++-- .../android/internal/policy/impl/LockPatternKeyguardView.java | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/phone/com/android/internal/policy/impl/AccountUnlockScreen.java b/phone/com/android/internal/policy/impl/AccountUnlockScreen.java index 9921069..cb88916 100644 --- a/phone/com/android/internal/policy/impl/AccountUnlockScreen.java +++ b/phone/com/android/internal/policy/impl/AccountUnlockScreen.java @@ -29,7 +29,6 @@ import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.graphics.Rect; -import android.telephony.TelephonyManager; import android.text.Editable; import android.text.InputFilter; import android.text.LoginFilter; @@ -65,6 +64,7 @@ public class AccountUnlockScreen extends RelativeLayout implements KeyguardScree private final KeyguardScreenCallback mCallback; private final LockPatternUtils mLockPatternUtils; + private KeyguardUpdateMonitor mUpdateMonitor; private TextView mTopHeader; private TextView mInstructions; @@ -81,9 +81,11 @@ public class AccountUnlockScreen extends RelativeLayout implements KeyguardScree /** * AccountUnlockScreen constructor. * @param configuration + * @param updateMonitor */ public AccountUnlockScreen(Context context,Configuration configuration, - KeyguardScreenCallback callback, LockPatternUtils lockPatternUtils) { + KeyguardUpdateMonitor updateMonitor, KeyguardScreenCallback callback, + LockPatternUtils lockPatternUtils) { super(context); mCallback = callback; mLockPatternUtils = lockPatternUtils; @@ -111,6 +113,9 @@ public class AccountUnlockScreen extends RelativeLayout implements KeyguardScree mEmergencyCall = (Button) findViewById(R.id.emergencyCall); mEmergencyCall.setOnClickListener(this); mLockPatternUtils.updateEmergencyCallButtonState(mEmergencyCall); + + mUpdateMonitor = updateMonitor; + mUpdateMonitor.registerInfoCallback(this); } public void afterTextChanged(Editable s) { @@ -154,6 +159,7 @@ public class AccountUnlockScreen extends RelativeLayout implements KeyguardScree if (mCheckingDialog != null) { mCheckingDialog.hide(); } + mUpdateMonitor.removeCallback(this); } /** {@inheritDoc} */ diff --git a/phone/com/android/internal/policy/impl/LockPatternKeyguardView.java b/phone/com/android/internal/policy/impl/LockPatternKeyguardView.java index c1b14c4..27706ef 100644 --- a/phone/com/android/internal/policy/impl/LockPatternKeyguardView.java +++ b/phone/com/android/internal/policy/impl/LockPatternKeyguardView.java @@ -601,6 +601,7 @@ public class LockPatternKeyguardView extends KeyguardViewBase { unlockView = new AccountUnlockScreen( mContext, mConfiguration, + mUpdateMonitor, mKeyguardScreenCallback, mLockPatternUtils); } catch (IllegalStateException e) { -- cgit v1.2.3