summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanesh M <daneshm90@gmail.com>2015-11-05 14:18:42 -0800
committerDanesh M <daneshm90@gmail.com>2015-11-05 17:35:21 -0800
commit0a800b2d447c6199fde95d9420df286419cf82c1 (patch)
treeddd75b80f72f4e9bef4c6b1b45aa51f02541dcf5
parent320d93d81a14fa893618f1e1ad8488d924225510 (diff)
downloadframeworks_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.java28
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java12
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