diff options
| -rw-r--r-- | services/core/java/com/android/server/UiModeManagerService.java | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java index 569d4809a541..2dfe94729bb8 100644 --- a/services/core/java/com/android/server/UiModeManagerService.java +++ b/services/core/java/com/android/server/UiModeManagerService.java @@ -1302,7 +1302,7 @@ final class UiModeManagerService extends SystemService { pw.print(" mLastBroadcastState="); pw.println(mLastBroadcastState); pw.print(" mNightMode="); pw.print(mNightMode); pw.print(" ("); - pw.print(Shell.nightModeToStr(mNightMode)); pw.print(") "); + pw.print(Shell.nightModeToStr(mNightMode, mNightModeCustomType)); pw.print(") "); pw.print(" mOverrideOn/Off="); pw.print(mOverrideNightModeOn); pw.print("/"); pw.print(mOverrideNightModeOff); @@ -1917,7 +1917,8 @@ final class UiModeManagerService extends SystemService { public static final String NIGHT_MODE_STR_YES = "yes"; public static final String NIGHT_MODE_STR_NO = "no"; public static final String NIGHT_MODE_STR_AUTO = "auto"; - public static final String NIGHT_MODE_STR_CUSTOM = "custom"; + public static final String NIGHT_MODE_STR_CUSTOM_SCHEDULE = "custom_schedule"; + public static final String NIGHT_MODE_STR_CUSTOM_BEDTIME = "custom_bedtime"; public static final String NIGHT_MODE_STR_UNKNOWN = "unknown"; private final IUiModeManager mInterface; @@ -1931,7 +1932,7 @@ final class UiModeManagerService extends SystemService { pw.println("UiModeManager service (uimode) commands:"); pw.println(" help"); pw.println(" Print this help text."); - pw.println(" night [yes|no|auto|custom]"); + pw.println(" night [yes|no|auto|custom_schedule|custom_bedtime]"); pw.println(" Set or read night mode."); pw.println(" car [yes|no]"); pw.println(" Set or read car mode."); @@ -2001,14 +2002,19 @@ final class UiModeManagerService extends SystemService { } final int mode = strToNightMode(modeStr); + final int customType = strToNightModeCustomType(modeStr); if (mode >= 0) { mInterface.setNightMode(mode); + if (mode == UiModeManager.MODE_NIGHT_CUSTOM) { + mInterface.setNightModeCustomType(customType); + } printCurrentNightMode(); return 0; } else { err.println("Error: mode must be '" + NIGHT_MODE_STR_YES + "', '" + NIGHT_MODE_STR_NO + "', or '" + NIGHT_MODE_STR_AUTO - + "', or '" + NIGHT_MODE_STR_CUSTOM + "'"); + + "', or '" + NIGHT_MODE_STR_CUSTOM_SCHEDULE + "', or '" + + NIGHT_MODE_STR_CUSTOM_BEDTIME + "'"); return -1; } } @@ -2016,11 +2022,12 @@ final class UiModeManagerService extends SystemService { private void printCurrentNightMode() throws RemoteException { final PrintWriter pw = getOutPrintWriter(); final int currMode = mInterface.getNightMode(); - final String currModeStr = nightModeToStr(currMode); + final int customType = mInterface.getNightModeCustomType(); + final String currModeStr = nightModeToStr(currMode, customType); pw.println("Night mode: " + currModeStr); } - private static String nightModeToStr(int mode) { + private static String nightModeToStr(int mode, int customType) { switch (mode) { case UiModeManager.MODE_NIGHT_YES: return NIGHT_MODE_STR_YES; @@ -2029,7 +2036,12 @@ final class UiModeManagerService extends SystemService { case UiModeManager.MODE_NIGHT_AUTO: return NIGHT_MODE_STR_AUTO; case MODE_NIGHT_CUSTOM: - return NIGHT_MODE_STR_CUSTOM; + if (customType == UiModeManager.MODE_NIGHT_CUSTOM_TYPE_SCHEDULE) { + return NIGHT_MODE_STR_CUSTOM_SCHEDULE; + } + if (customType == UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME) { + return NIGHT_MODE_STR_CUSTOM_BEDTIME; + } default: return NIGHT_MODE_STR_UNKNOWN; } @@ -2043,13 +2055,25 @@ final class UiModeManagerService extends SystemService { return UiModeManager.MODE_NIGHT_NO; case NIGHT_MODE_STR_AUTO: return UiModeManager.MODE_NIGHT_AUTO; - case NIGHT_MODE_STR_CUSTOM: + case NIGHT_MODE_STR_CUSTOM_SCHEDULE: + case NIGHT_MODE_STR_CUSTOM_BEDTIME: return UiModeManager.MODE_NIGHT_CUSTOM; default: return -1; } } + private static int strToNightModeCustomType(String customTypeStr) { + switch (customTypeStr) { + case NIGHT_MODE_STR_CUSTOM_BEDTIME: + return UiModeManager.MODE_NIGHT_CUSTOM_TYPE_BEDTIME; + case NIGHT_MODE_STR_CUSTOM_SCHEDULE: + return UiModeManager.MODE_NIGHT_CUSTOM_TYPE_SCHEDULE; + default: + return -1; + } + } + private int handleCarMode() throws RemoteException { final PrintWriter err = getErrPrintWriter(); final String modeStr = getNextArg(); |