summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/UiModeManagerService.java49
1 files changed, 23 insertions, 26 deletions
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index d1b4569..aeacd45 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -31,6 +31,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
+import android.content.res.Resources;
import android.os.BatteryManager;
import android.os.Binder;
import android.os.Handler;
@@ -63,7 +64,7 @@ final class UiModeManagerService extends SystemService {
private int mDockState = Intent.EXTRA_DOCK_STATE_UNDOCKED;
private int mLastBroadcastState = Intent.EXTRA_DOCK_STATE_UNDOCKED;
- int mNightMode = UiModeManager.MODE_NIGHT_NO;
+ private int mNightMode = UiModeManager.MODE_NIGHT_NO;
private boolean mCarModeEnabled = false;
private boolean mCharging = false;
@@ -157,6 +158,7 @@ final class UiModeManagerService extends SystemService {
public void onStart() {
final Context context = getContext();
mTwilightManager = getLocalService(TwilightManager.class);
+
final PowerManager powerManager =
(PowerManager) context.getSystemService(Context.POWER_SERVICE);
mWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, TAG);
@@ -168,20 +170,23 @@ final class UiModeManagerService extends SystemService {
mConfiguration.setToDefaults();
- mDefaultUiModeType = context.getResources().getInteger(
+ final Resources res = context.getResources();
+ mDefaultUiModeType = res.getInteger(
com.android.internal.R.integer.config_defaultUiModeType);
- mCarModeKeepsScreenOn = (context.getResources().getInteger(
+ mCarModeKeepsScreenOn = (res.getInteger(
com.android.internal.R.integer.config_carDockKeepsScreenOn) == 1);
- mDeskModeKeepsScreenOn = (context.getResources().getInteger(
+ mDeskModeKeepsScreenOn = (res.getInteger(
com.android.internal.R.integer.config_deskDockKeepsScreenOn) == 1);
- mTelevision = context.getPackageManager().hasSystemFeature(
- PackageManager.FEATURE_TELEVISION) ||
- context.getPackageManager().hasSystemFeature(
- PackageManager.FEATURE_LEANBACK);
- mWatch = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH);
+ final PackageManager pm = context.getPackageManager();
+ mTelevision = pm.hasSystemFeature(PackageManager.FEATURE_TELEVISION)
+ || pm.hasSystemFeature(PackageManager.FEATURE_LEANBACK);
+ mWatch = pm.hasSystemFeature(PackageManager.FEATURE_WATCH);
+
+ final int defaultNightMode = res.getInteger(
+ com.android.internal.R.integer.config_defaultNightMode);
mNightMode = Settings.Secure.getInt(context.getContentResolver(),
- Settings.Secure.UI_NIGHT_MODE, UiModeManager.MODE_NIGHT_AUTO);
+ Settings.Secure.UI_NIGHT_MODE, defaultNightMode);
mTwilightManager.registerListener(mTwilightListener, mHandler);
@@ -245,7 +250,7 @@ final class UiModeManagerService extends SystemService {
final long ident = Binder.clearCallingIdentity();
try {
synchronized (mLock) {
- if (isDoingNightModeLocked() && mNightMode != mode) {
+ if (mNightMode != mode) {
Settings.Secure.putInt(getContext().getContentResolver(),
Settings.Secure.UI_NIGHT_MODE, mode);
mNightMode = mode;
@@ -309,10 +314,6 @@ final class UiModeManagerService extends SystemService {
}
}
- boolean isDoingNightModeLocked() {
- return mCarModeEnabled || mDockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
- }
-
void setCarModeLocked(boolean enabled, int flags) {
if (mCarModeEnabled != enabled) {
mCarModeEnabled = enabled;
@@ -354,17 +355,13 @@ final class UiModeManagerService extends SystemService {
} else if (isDeskDockState(mDockState)) {
uiMode = Configuration.UI_MODE_TYPE_DESK;
}
- if (mCarModeEnabled) {
- if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) {
- updateComputedNightModeLocked();
- uiMode |= mComputedNightMode ? Configuration.UI_MODE_NIGHT_YES
- : Configuration.UI_MODE_NIGHT_NO;
- } else {
- uiMode |= mNightMode << 4;
- }
+
+ if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) {
+ updateComputedNightModeLocked();
+ uiMode |= mComputedNightMode ? Configuration.UI_MODE_NIGHT_YES
+ : Configuration.UI_MODE_NIGHT_NO;
} else {
- // Disabling the car mode clears the night mode.
- uiMode = (uiMode & ~Configuration.UI_MODE_NIGHT_MASK) | Configuration.UI_MODE_NIGHT_NO;
+ uiMode |= mNightMode << 4;
}
if (LOG) {
@@ -618,7 +615,7 @@ final class UiModeManagerService extends SystemService {
void updateTwilight() {
synchronized (mLock) {
- if (isDoingNightModeLocked() && mNightMode == UiModeManager.MODE_NIGHT_AUTO) {
+ if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) {
updateComputedNightModeLocked();
updateLocked(0, 0);
}