Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07ba37a7 authored by Benjamin Franz's avatar Benjamin Franz Committed by Android (Google) Code Review
Browse files

Merge "Recover status bar enabled state for all users"

parents 6d6290d2 837f1035
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -1646,6 +1646,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) {
@@ -1720,7 +1723,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.
@@ -1736,11 +1739,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() {
@@ -5911,22 +5909,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);