Merge "Adding UiModeManager Custom Tests" into rvc-dev
This commit is contained in:
@@ -450,6 +450,14 @@ final class UiModeManagerService extends SystemService {
|
|||||||
return oldNightMode != mNightMode;
|
return oldNightMode != mNightMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static long toMilliSeconds(LocalTime t) {
|
||||||
|
return t.toNanoOfDay() / 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static LocalTime fromMilliseconds(long t) {
|
||||||
|
return LocalTime.ofNanoOfDay(t * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
private void registerScreenOffEventLocked() {
|
private void registerScreenOffEventLocked() {
|
||||||
if (mPowerSave) return;
|
if (mPowerSave) return;
|
||||||
mWaitForScreenOff = true;
|
mWaitForScreenOff = true;
|
||||||
@@ -1385,8 +1393,11 @@ final class UiModeManagerService extends SystemService {
|
|||||||
pw.println("UiModeManager service (uimode) commands:");
|
pw.println("UiModeManager service (uimode) commands:");
|
||||||
pw.println(" help");
|
pw.println(" help");
|
||||||
pw.println(" Print this help text.");
|
pw.println(" Print this help text.");
|
||||||
pw.println(" night [yes|no|auto]");
|
pw.println(" night [yes|no|auto|custom]");
|
||||||
pw.println(" Set or read night mode.");
|
pw.println(" Set or read night mode.");
|
||||||
|
pw.println(" time [start|end] <ISO time>");
|
||||||
|
pw.println(" Set custom start/end schedule time"
|
||||||
|
+ " (night mode must be set to custom to apply).");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1399,6 +1410,8 @@ final class UiModeManagerService extends SystemService {
|
|||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case "night":
|
case "night":
|
||||||
return handleNightMode();
|
return handleNightMode();
|
||||||
|
case "time":
|
||||||
|
return handleCustomTime();
|
||||||
default:
|
default:
|
||||||
return handleDefaultCommands(cmd);
|
return handleDefaultCommands(cmd);
|
||||||
}
|
}
|
||||||
@@ -1409,6 +1422,34 @@ final class UiModeManagerService extends SystemService {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int handleCustomTime() throws RemoteException {
|
||||||
|
final String modeStr = getNextArg();
|
||||||
|
if (modeStr == null) {
|
||||||
|
printCustomTime();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
switch (modeStr) {
|
||||||
|
case "start":
|
||||||
|
final String start = getNextArg();
|
||||||
|
mInterface.setCustomNightModeStart(toMilliSeconds(LocalTime.parse(start)));
|
||||||
|
return 0;
|
||||||
|
case "end":
|
||||||
|
final String end = getNextArg();
|
||||||
|
mInterface.setCustomNightModeEnd(toMilliSeconds(LocalTime.parse(end)));
|
||||||
|
return 0;
|
||||||
|
default:
|
||||||
|
getErrPrintWriter().println("command must be in [start|end]");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void printCustomTime() throws RemoteException {
|
||||||
|
getOutPrintWriter().println("start " + fromMilliseconds(
|
||||||
|
mInterface.getCustomNightModeStart()).toString());
|
||||||
|
getOutPrintWriter().println("end " + fromMilliseconds(
|
||||||
|
mInterface.getCustomNightModeEnd()).toString());
|
||||||
|
}
|
||||||
|
|
||||||
private int handleNightMode() throws RemoteException {
|
private int handleNightMode() throws RemoteException {
|
||||||
final PrintWriter err = getErrPrintWriter();
|
final PrintWriter err = getErrPrintWriter();
|
||||||
final String modeStr = getNextArg();
|
final String modeStr = getNextArg();
|
||||||
@@ -1424,7 +1465,8 @@ final class UiModeManagerService extends SystemService {
|
|||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
err.println("Error: mode must be '" + NIGHT_MODE_STR_YES + "', '"
|
err.println("Error: mode must be '" + NIGHT_MODE_STR_YES + "', '"
|
||||||
+ NIGHT_MODE_STR_NO + "', or '" + NIGHT_MODE_STR_AUTO + "'");
|
+ NIGHT_MODE_STR_NO + "', or '" + NIGHT_MODE_STR_AUTO
|
||||||
|
+ "', or '" + NIGHT_MODE_STR_CUSTOM + "'");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user