summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java50
2 files changed, 36 insertions, 29 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 2320ed4..633687a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -297,6 +297,12 @@ public abstract class BaseStatusBar extends SystemUI implements
));
}
+ if (PieManager.getInstance().isPresent()) {
+ mPieController = new PieController(mContext);
+ mPieController.attachStatusBar(this);
+ addNavigationBarCallback(mPieController);
+ }
+
mCurrentUserId = ActivityManager.getCurrentUser();
IntentFilter filter = new IntentFilter();
@@ -309,15 +315,12 @@ public abstract class BaseStatusBar extends SystemUI implements
mCurrentUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
if (true) Slog.v(TAG, "userId " + mCurrentUserId + " is in the house");
userSwitched(mCurrentUserId);
+ if (mPieController != null) {
+ mPieController.userSwitched(mCurrentUserId);
+ }
}
}
}, filter);
-
- if (PieManager.getInstance().isPresent()) {
- mPieController = new PieController(mContext);
- mPieController.attachStatusBar(this);
- addNavigationBarCallback(mPieController);
- }
}
public void userSwitched(int newUserId) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java
index 046d6b7..1c37140 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/PieController.java
@@ -208,31 +208,31 @@ public class PieController implements BaseStatusBar.NavigationBarCallback, PieVi
ContentResolver resolver = mContext.getContentResolver();
// trigger setupNavigationItems()
resolver.registerContentObserver(Settings.System.getUriFor(
- Settings.System.NAV_BUTTONS), false, this);
+ Settings.System.NAV_BUTTONS), false, this, UserHandle.USER_ALL);
resolver.registerContentObserver(Settings.Secure.getUriFor(
- Settings.Secure.KILL_APP_LONGPRESS_BACK), false, this);
+ Settings.Secure.KILL_APP_LONGPRESS_BACK), false, this, UserHandle.USER_ALL);
// trigger setupContainer()
resolver.registerContentObserver(Settings.System.getUriFor(
- Settings.System.PIE_CONTROLS), false, this);
+ Settings.System.PIE_CONTROLS), false, this, UserHandle.USER_ALL);
resolver.registerContentObserver(Settings.System.getUriFor(
- Settings.System.EXPANDED_DESKTOP_STATE), false, this);
+ Settings.System.EXPANDED_DESKTOP_STATE), false, this, UserHandle.USER_ALL);
resolver.registerContentObserver(Settings.System.getUriFor(
- Settings.System.EXPANDED_DESKTOP_STYLE), false, this);
+ Settings.System.EXPANDED_DESKTOP_STYLE), false, this, UserHandle.USER_ALL);
// trigger setupListener()
resolver.registerContentObserver(Settings.System.getUriFor(
- Settings.System.PIE_POSITIONS), false, this);
+ Settings.System.PIE_POSITIONS), false, this, UserHandle.USER_ALL);
resolver.registerContentObserver(Settings.System.getUriFor(
- Settings.System.PIE_SENSITIVITY), false, this);
+ Settings.System.PIE_SENSITIVITY), false, this, UserHandle.USER_ALL);
}
@Override
public void onChange(boolean selfChange) {
ContentResolver resolver = mContext.getContentResolver();
- boolean expanded = Settings.System.getInt(resolver,
- Settings.System.EXPANDED_DESKTOP_STATE, 0) == 1;
+ boolean expanded = Settings.System.getIntForUser(resolver,
+ Settings.System.EXPANDED_DESKTOP_STATE, 0, UserHandle.USER_CURRENT) == 1;
if (expanded) {
- mExpandedDesktopState = Settings.System.getInt(resolver,
- Settings.System.EXPANDED_DESKTOP_STYLE, 0);
+ mExpandedDesktopState = Settings.System.getIntForUser(resolver,
+ Settings.System.EXPANDED_DESKTOP_STYLE, 0, UserHandle.USER_CURRENT);
} else {
mExpandedDesktopState = 0;
}
@@ -300,6 +300,10 @@ public class PieController implements BaseStatusBar.NavigationBarCallback, PieVi
mSettingsObserver.onChange(true);
}
+ public void userSwitched(int newUserId) {
+ mSettingsObserver.onChange(true);
+ }
+
public void attachStatusBar(BaseStatusBar statusBar) {
mStatusBar = statusBar;
}
@@ -370,11 +374,11 @@ public class PieController implements BaseStatusBar.NavigationBarCallback, PieVi
private void setupListener() {
ContentResolver resolver = mContext.getContentResolver();
- mPieTriggerSlots = Settings.System.getInt(resolver,
- Settings.System.PIE_POSITIONS, PiePosition.BOTTOM.FLAG);
+ mPieTriggerSlots = Settings.System.getIntForUser(resolver,
+ Settings.System.PIE_POSITIONS, PiePosition.BOTTOM.FLAG, UserHandle.USER_CURRENT);
- int sensitivity = Settings.System.getInt(resolver,
- Settings.System.PIE_SENSITIVITY, 3);
+ int sensitivity = Settings.System.getIntForUser(resolver,
+ Settings.System.PIE_SENSITIVITY, 3, UserHandle.USER_CURRENT);
if (sensitivity < PieServiceConstants.SENSITIVITY_LOWEST
|| sensitivity > PieServiceConstants.SENSITIVITY_HIGHEST) {
sensitivity = PieServiceConstants.SENSITIVITY_DEFAULT;
@@ -387,8 +391,8 @@ public class PieController implements BaseStatusBar.NavigationBarCallback, PieVi
private void setupNavigationItems() {
int minimumImageSize = (int)mContext.getResources().getDimension(R.dimen.pie_item_size);
- boolean killAppLongPress = Settings.Secure.getInt(mContext.getContentResolver(),
- Settings.Secure.KILL_APP_LONGPRESS_BACK, 0) == 1;
+ boolean killAppLongPress = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+ Settings.Secure.KILL_APP_LONGPRESS_BACK, 0, UserHandle.USER_CURRENT) == 1;
ButtonInfo[] buttons = NavigationButtons.loadButtonMap(mContext);
mNavigationSlice.clear();
@@ -591,13 +595,13 @@ public class PieController implements BaseStatusBar.NavigationBarCallback, PieVi
Slog.d(TAG, "onSnap from " + position.name());
}
- int triggerSlots = Settings.System.getInt(mContext.getContentResolver(),
- Settings.System.PIE_POSITIONS, PiePosition.BOTTOM.FLAG);
+ int triggerSlots = Settings.System.getIntForUser(mContext.getContentResolver(),
+ Settings.System.PIE_POSITIONS, PiePosition.BOTTOM.FLAG, UserHandle.USER_CURRENT);
triggerSlots = triggerSlots & ~mPosition.FLAG | position.FLAG;
- Settings.System.putInt(mContext.getContentResolver(),
- Settings.System.PIE_POSITIONS, triggerSlots);
+ Settings.System.putIntForUser(mContext.getContentResolver(),
+ Settings.System.PIE_POSITIONS, triggerSlots, UserHandle.USER_CURRENT);
}
@Override
@@ -693,8 +697,8 @@ public class PieController implements BaseStatusBar.NavigationBarCallback, PieVi
}
public boolean isEnabled() {
- int pie = Settings.System.getInt(mContext.getContentResolver(),
- Settings.System.PIE_CONTROLS, 0);
+ int pie = Settings.System.getIntForUser(mContext.getContentResolver(),
+ Settings.System.PIE_CONTROLS, 0, UserHandle.USER_CURRENT);
return (pie == 1 && mExpandedDesktopState != 0) || pie == 2;
}