summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanesh M <danesh@cyngn.com>2016-04-12 14:06:23 -0700
committerDanesh M <daneshm90@gmail.com>2016-04-14 11:52:33 -0700
commit83527974bf1222de4cc64844b18fc2c946f3b152 (patch)
tree15142f412a7c568b122e983cab3d678ce3d9d6d0
parent82fb2e0b6909f3ec699323086b579ddafb749726 (diff)
downloadframeworks_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.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java12
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);