summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Benjamin Franz <bfranz@google.com> 2015-04-21 14:38:48 +0100
committer Benjamin Franz <bfranz@google.com> 2015-04-22 11:44:57 +0100
commit837f1035a608d2d36aef5fb448ec1fbd1d927f5f (patch)
tree7d59535065730a1c2dcbea9338509ae21f8a5553
parent0d703f74d0725748089dba8d1647a2467e63e77d (diff)
Recover status bar enabled state for all users
Move the update of status bar enabled setting to loadSettingsLocked and thereby recovering the enabled state for all users, not only the user owner. Bug: 20416833 Change-Id: Iee3d6e0f3ea8ebc5d72c0ed165bea4595ed073ba
-rw-r--r--services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java20
1 files changed, 8 insertions, 12 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index e22a2cc317c2..687bbf8e5dbf 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -1634,6 +1634,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
syncDeviceCapabilitiesLocked(policy);
updateMaximumTimeToLockLocked(policy);
updateLockTaskPackagesLocked(policy, userHandle);
+ if (!policy.mStatusBarEnabledState) {
+ setStatusBarEnabledStateInternal(policy.mStatusBarEnabledState, userHandle);
+ }
}
private void updateLockTaskPackagesLocked(DevicePolicyData policy, int userId) {
@@ -1708,7 +1711,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
if (!mHasFeature) {
return;
}
- DevicePolicyData policy = getUserData(UserHandle.USER_OWNER);
+ getUserData(UserHandle.USER_OWNER);
loadDeviceOwner();
cleanUpOldUsers();
// Register an observer for watching for user setup complete.
@@ -1724,11 +1727,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
updateScreenCaptureDisabledInWindowManager(userHandle,
getScreenCaptureDisabled(null, userHandle));
}
-
- if (mDeviceOwner != null && mDeviceOwner.hasDeviceOwner()
- && !policy.mStatusBarEnabledState) {
- setStatusBarEnabledStateInternal(STATUS_BAR_DISABLE_MASK, UserHandle.USER_OWNER);
- }
}
private void cleanUpOldUsers() {
@@ -5871,22 +5869,20 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
DevicePolicyData policy = getUserData(userId);
if (policy.mStatusBarEnabledState != enabled) {
policy.mStatusBarEnabledState = enabled;
- setStatusBarEnabledStateInternal(
- enabled ? StatusBarManager.DISABLE_NONE : STATUS_BAR_DISABLE_MASK,
- userId);
+ setStatusBarEnabledStateInternal(enabled, userId);
saveSettingsLocked(userId);
}
}
}
- private void setStatusBarEnabledStateInternal(int flags, int userId) {
+ private void setStatusBarEnabledStateInternal(boolean enabled, int userId) {
long ident = Binder.clearCallingIdentity();
try {
IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
if (statusBarService != null) {
- statusBarService.disableForUser(flags, mToken,
- mDeviceOwner.getDeviceOwnerPackageName(), userId);
+ int flags = enabled ? StatusBarManager.DISABLE_NONE : STATUS_BAR_DISABLE_MASK;
+ statusBarService.disableForUser(flags, mToken, mContext.getPackageName(), userId);
}
} catch (RemoteException e) {
Slog.e(LOG_TAG, "Failed to disable the status bar", e);