diff options
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsHelper.java | 11 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java | 12 |
2 files changed, 20 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsHelper.java b/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsHelper.java index 12b9810..b47b69f 100644 --- a/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsHelper.java +++ b/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsHelper.java @@ -53,9 +53,15 @@ public class LockscreenShortcutsHelper { if (listener != null) { mListener = listener; mHandler = new Handler(Looper.getMainLooper()); - mContext.getContentResolver().registerContentObserver( - CMSettings.Secure.getUriFor(CMSettings.Secure.LOCKSCREEN_TARGETS), false, mObserver); + registerAndFetchTargets(); + } else { + fetchTargets(); } + } + + public void registerAndFetchTargets() { + mContext.getContentResolver().registerContentObserver( + CMSettings.Secure.getUriFor(CMSettings.Secure.LOCKSCREEN_TARGETS), false, mObserver); fetchTargets(); } @@ -76,7 +82,6 @@ public class LockscreenShortcutsHelper { public void cleanup() { mContext.getContentResolver().unregisterContentObserver(mObserver); - mListener = null; } public static class TargetInfo { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java index 723a042..4d56d4f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java @@ -900,6 +900,18 @@ public class KeyguardBottomAreaView extends FrameLayout implements View.OnClickL } @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + if (mAccessibilityController != null) { + mAccessibilityController.addStateChangedCallback(this); + } + mShortcutHelper.registerAndFetchTargets(); + updateCustomShortcuts(); + mUnlockMethodCache.addListener(this); + watchForCameraPolicyChanges(); + } + + @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); mAccessibilityController.removeStateChangedCallback(this); |