Loading data/etc/privapp-permissions-platform.xml +2 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,8 @@ applications that come with the platform </privapp-permissions> <privapp-permissions package="com.android.shell"> <!-- Needed for test only --> <permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/> <permission name="android.permission.ACCESS_LOWPAN_STATE"/> <permission name="android.permission.BACKUP"/> <permission name="android.permission.BATTERY_STATS"/> Loading services/core/java/com/android/server/UiModeManagerService.java +13 −7 Original line number Diff line number Diff line Loading @@ -551,16 +551,13 @@ final class UiModeManagerService extends SystemService { if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) { unregisterScreenOffEvent(); } // Only persist setting if not in car mode if (!mCarModeEnabled) { Secure.putIntForUser(getContext().getContentResolver(), Secure.UI_NIGHT_MODE, mode, user); Secure.putIntForUser(getContext().getContentResolver(), OVERRIDE_NIGHT_MODE, mNightModeOverride, user); } mNightMode = mode; mNightModeOverride = mode; // Only persist setting if not in car mode if (!mCarModeEnabled) { persistNightMode(user); } // on screen off will update configuration instead if (mNightMode != UiModeManager.MODE_NIGHT_AUTO || mCar) { updateLocked(0, 0); Loading Loading @@ -610,6 +607,7 @@ final class UiModeManagerService extends SystemService { @Override public boolean setNightModeActivated(boolean active) { synchronized (mLock) { final int user = UserHandle.getCallingUserId(); final long ident = Binder.clearCallingIdentity(); try { if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) { Loading @@ -625,6 +623,7 @@ final class UiModeManagerService extends SystemService { } updateConfigurationLocked(); applyConfigurationExternallyLocked(); persistNightMode(user); return true; } finally { Binder.restoreCallingIdentity(ident); Loading Loading @@ -834,6 +833,13 @@ final class UiModeManagerService extends SystemService { } } private void persistNightMode(int user) { Secure.putIntForUser(getContext().getContentResolver(), Secure.UI_NIGHT_MODE, mNightMode, user); Secure.putIntForUser(getContext().getContentResolver(), OVERRIDE_NIGHT_MODE, mNightModeOverride, user); } private void updateConfigurationLocked() { int uiMode = mDefaultUiModeType; if (mUiModeLocked) { Loading Loading
data/etc/privapp-permissions-platform.xml +2 −0 Original line number Diff line number Diff line Loading @@ -266,6 +266,8 @@ applications that come with the platform </privapp-permissions> <privapp-permissions package="com.android.shell"> <!-- Needed for test only --> <permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/> <permission name="android.permission.ACCESS_LOWPAN_STATE"/> <permission name="android.permission.BACKUP"/> <permission name="android.permission.BATTERY_STATS"/> Loading
services/core/java/com/android/server/UiModeManagerService.java +13 −7 Original line number Diff line number Diff line Loading @@ -551,16 +551,13 @@ final class UiModeManagerService extends SystemService { if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) { unregisterScreenOffEvent(); } // Only persist setting if not in car mode if (!mCarModeEnabled) { Secure.putIntForUser(getContext().getContentResolver(), Secure.UI_NIGHT_MODE, mode, user); Secure.putIntForUser(getContext().getContentResolver(), OVERRIDE_NIGHT_MODE, mNightModeOverride, user); } mNightMode = mode; mNightModeOverride = mode; // Only persist setting if not in car mode if (!mCarModeEnabled) { persistNightMode(user); } // on screen off will update configuration instead if (mNightMode != UiModeManager.MODE_NIGHT_AUTO || mCar) { updateLocked(0, 0); Loading Loading @@ -610,6 +607,7 @@ final class UiModeManagerService extends SystemService { @Override public boolean setNightModeActivated(boolean active) { synchronized (mLock) { final int user = UserHandle.getCallingUserId(); final long ident = Binder.clearCallingIdentity(); try { if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) { Loading @@ -625,6 +623,7 @@ final class UiModeManagerService extends SystemService { } updateConfigurationLocked(); applyConfigurationExternallyLocked(); persistNightMode(user); return true; } finally { Binder.restoreCallingIdentity(ident); Loading Loading @@ -834,6 +833,13 @@ final class UiModeManagerService extends SystemService { } } private void persistNightMode(int user) { Secure.putIntForUser(getContext().getContentResolver(), Secure.UI_NIGHT_MODE, mNightMode, user); Secure.putIntForUser(getContext().getContentResolver(), OVERRIDE_NIGHT_MODE, mNightModeOverride, user); } private void updateConfigurationLocked() { int uiMode = mDefaultUiModeType; if (mUiModeLocked) { Loading