diff options
author | Danesh M <daneshm90@gmail.com> | 2015-11-05 14:18:42 -0800 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2015-11-05 17:35:21 -0800 |
commit | 0a800b2d447c6199fde95d9420df286419cf82c1 (patch) | |
tree | ddd75b80f72f4e9bef4c6b1b45aa51f02541dcf5 | |
parent | 320d93d81a14fa893618f1e1ad8488d924225510 (diff) | |
download | frameworks_base-0a800b2d447c6199fde95d9420df286419cf82c1.zip frameworks_base-0a800b2d447c6199fde95d9420df286419cf82c1.tar.gz frameworks_base-0a800b2d447c6199fde95d9420df286419cf82c1.tar.bz2 |
SystemUI : Make clock/navigation multi-user compatible
Change-Id: Ie6a1552aeb31e138221143d548f7cd4cbb5bde7e
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/ClockController.java | 28 | ||||
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java | 12 |
2 files changed, 26 insertions, 14 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ClockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ClockController.java index a993b6a..47b3463 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ClockController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ClockController.java @@ -7,8 +7,10 @@ import android.content.Context; import android.database.ContentObserver; import android.graphics.Color; import android.os.Handler; +import android.os.UserHandle; import android.view.View; import com.android.systemui.R; +import com.android.systemui.cm.UserContentObserver; import com.android.systemui.statusbar.policy.Clock; import cyanogenmod.providers.CMSettings; @@ -32,26 +34,30 @@ public class ClockController { private int mAmPmStyle; private int mIconTint = Color.WHITE; - class SettingsObserver extends ContentObserver { + class SettingsObserver extends UserContentObserver { SettingsObserver(Handler handler) { super(handler); } - void observe() { + @Override + protected void observe() { + super.observe(); ContentResolver resolver = mContext.getContentResolver(); resolver.registerContentObserver(CMSettings.System.getUriFor( - CMSettings.System.STATUS_BAR_AM_PM), false, this); + CMSettings.System.STATUS_BAR_AM_PM), false, this, UserHandle.USER_ALL); resolver.registerContentObserver(CMSettings.System.getUriFor( - CMSettings.System.STATUS_BAR_CLOCK), false, this); + CMSettings.System.STATUS_BAR_CLOCK), false, this, UserHandle.USER_ALL); updateSettings(); } - void unobserve() { + @Override + protected void unobserve() { + super.unobserve(); mContext.getContentResolver().unregisterContentObserver(this); } @Override - public void onChange(boolean selfChange) { + public void update() { updateSettings(); } } @@ -103,10 +109,12 @@ public class ClockController { private void updateSettings() { ContentResolver resolver = mContext.getContentResolver(); - mAmPmStyle = CMSettings.System.getInt(resolver, - CMSettings.System.STATUS_BAR_AM_PM, Clock.AM_PM_STYLE_GONE); - mClockLocation = CMSettings.System.getInt( - resolver, CMSettings.System.STATUS_BAR_CLOCK, STYLE_CLOCK_RIGHT); + mAmPmStyle = CMSettings.System.getIntForUser(resolver, + CMSettings.System.STATUS_BAR_AM_PM, Clock.AM_PM_STYLE_GONE, + UserHandle.USER_CURRENT); + mClockLocation = CMSettings.System.getIntForUser( + resolver, CMSettings.System.STATUS_BAR_CLOCK, STYLE_CLOCK_RIGHT, + UserHandle.USER_CURRENT); updateActiveClock(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 722a16b..d952a25 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -870,13 +870,15 @@ public class NavigationBarView extends LinearLayout { setMenuVisibility(mShowMenu, true); } - private class SettingsObserver extends ContentObserver { + private class SettingsObserver extends UserContentObserver { SettingsObserver(Handler handler) { super(handler); } - void observe() { + @Override + public void observe() { + super.observe(); ContentResolver resolver = getContext().getContentResolver(); resolver.registerContentObserver( CMSettings.System.getUriFor(CMSettings.System.NAVIGATION_BAR_MENU_ARROW_KEYS), @@ -886,12 +888,14 @@ public class NavigationBarView extends LinearLayout { onChange(false); } - void unobserve() { + @Override + public void unobserve() { + super.unobserve(); getContext().getContentResolver().unregisterContentObserver(this); } @Override - public void onChange(boolean selfChange) { + protected void update() { mShowDpadArrowKeys = CMSettings.System.getIntForUser(getContext().getContentResolver(), CMSettings.System.NAVIGATION_BAR_MENU_ARROW_KEYS, 0, UserHandle.USER_CURRENT) != 0; // reset saved side button visibilities |