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 Original line Diff line number Diff line
@@ -1646,6 +1646,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        syncDeviceCapabilitiesLocked(policy);
        syncDeviceCapabilitiesLocked(policy);
        updateMaximumTimeToLockLocked(policy);
        updateMaximumTimeToLockLocked(policy);
        updateLockTaskPackagesLocked(policy, userHandle);
        updateLockTaskPackagesLocked(policy, userHandle);
        if (!policy.mStatusBarEnabledState) {
            setStatusBarEnabledStateInternal(policy.mStatusBarEnabledState, userHandle);
        }
    }
    }


    private void updateLockTaskPackagesLocked(DevicePolicyData policy, int userId) {
    private void updateLockTaskPackagesLocked(DevicePolicyData policy, int userId) {
@@ -1720,7 +1723,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        if (!mHasFeature) {
        if (!mHasFeature) {
            return;
            return;
        }
        }
        DevicePolicyData policy = getUserData(UserHandle.USER_OWNER);
        getUserData(UserHandle.USER_OWNER);
        loadDeviceOwner();
        loadDeviceOwner();
        cleanUpOldUsers();
        cleanUpOldUsers();
        // Register an observer for watching for user setup complete.
        // Register an observer for watching for user setup complete.
@@ -1736,11 +1739,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
            updateScreenCaptureDisabledInWindowManager(userHandle,
            updateScreenCaptureDisabledInWindowManager(userHandle,
                    getScreenCaptureDisabled(null, userHandle));
                    getScreenCaptureDisabled(null, userHandle));
        }
        }

        if (mDeviceOwner != null && mDeviceOwner.hasDeviceOwner()
                && !policy.mStatusBarEnabledState) {
            setStatusBarEnabledStateInternal(STATUS_BAR_DISABLE_MASK, UserHandle.USER_OWNER);
        }
    }
    }


    private void cleanUpOldUsers() {
    private void cleanUpOldUsers() {
@@ -5911,22 +5909,20 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
            DevicePolicyData policy = getUserData(userId);
            DevicePolicyData policy = getUserData(userId);
            if (policy.mStatusBarEnabledState != enabled) {
            if (policy.mStatusBarEnabledState != enabled) {
                policy.mStatusBarEnabledState = enabled;
                policy.mStatusBarEnabledState = enabled;
                setStatusBarEnabledStateInternal(
                setStatusBarEnabledStateInternal(enabled, userId);
                        enabled ? StatusBarManager.DISABLE_NONE : STATUS_BAR_DISABLE_MASK,
                        userId);
                saveSettingsLocked(userId);
                saveSettingsLocked(userId);
            }
            }
        }
        }
    }
    }


    private void setStatusBarEnabledStateInternal(int flags, int userId) {
    private void setStatusBarEnabledStateInternal(boolean enabled, int userId) {
        long ident = Binder.clearCallingIdentity();
        long ident = Binder.clearCallingIdentity();
        try {
        try {
            IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
            IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
                    ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
                    ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
            if (statusBarService != null) {
            if (statusBarService != null) {
                statusBarService.disableForUser(flags, mToken,
                int flags = enabled ? StatusBarManager.DISABLE_NONE : STATUS_BAR_DISABLE_MASK;
                        mDeviceOwner.getDeviceOwnerPackageName(), userId);
                statusBarService.disableForUser(flags, mToken, mContext.getPackageName(), userId);
            }
            }
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            Slog.e(LOG_TAG, "Failed to disable the status bar", e);
            Slog.e(LOG_TAG, "Failed to disable the status bar", e);