diff options
author | Danesh M <danesh@cyngn.com> | 2016-04-12 14:06:23 -0700 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2016-04-14 11:52:33 -0700 |
commit | 83527974bf1222de4cc64844b18fc2c946f3b152 (patch) | |
tree | 15142f412a7c568b122e983cab3d678ce3d9d6d0 | |
parent | 82fb2e0b6909f3ec699323086b579ddafb749726 (diff) | |
download | frameworks_base-83527974bf1222de4cc64844b18fc2c946f3b152.zip frameworks_base-83527974bf1222de4cc64844b18fc2c946f3b152.tar.gz frameworks_base-83527974bf1222de4cc64844b18fc2c946f3b152.tar.bz2 |
Lockscreen : Update shortcuts in onAttachWindow
Since KeyguardBottomAreaView is a window and gets detached/attached
frequently, we need register in onAttach as well.
Change-Id: Ibfc9b20fc3fae4bfcc1b2fe98b138d5725fd98c3
-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); |