summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);