Provide a new command line for host tests
This adds a new cmd verb for time_zone_detector that reports whether telephony time zone detection is supported. This enables a host side CTS test to properly determine expected behavior on non-telephony devices like Android Auto. Bug: 187907947 Test: See associated cts change Change-Id: Ie118459c704112a259d38cb246882f11f8c5dee0
This commit is contained in:
@@ -47,6 +47,13 @@ public interface TimeZoneDetector {
|
||||
*/
|
||||
String SHELL_COMMAND_SET_AUTO_DETECTION_ENABLED = "set_auto_detection_enabled";
|
||||
|
||||
/**
|
||||
* A shell command that prints whether the telephony-based time zone detection feature is
|
||||
* supported on the device.
|
||||
* @hide
|
||||
*/
|
||||
String SHELL_COMMAND_IS_TELEPHONY_DETECTION_SUPPORTED = "is_telephony_detection_supported";
|
||||
|
||||
/**
|
||||
* A shell command that prints whether the geolocation-based time zone detection feature is
|
||||
* supported on the device.
|
||||
|
||||
@@ -304,6 +304,13 @@ public final class TimeZoneDetectorService extends ITimeZoneDetectorService.Stub
|
||||
mHandler.post(() -> mTimeZoneDetectorStrategy.suggestTelephonyTimeZone(timeZoneSuggestion));
|
||||
}
|
||||
|
||||
boolean isTelephonyTimeZoneDetectionSupported() {
|
||||
enforceManageTimeZoneDetectorPermission();
|
||||
|
||||
return ServiceConfigAccessor.getInstance(mContext)
|
||||
.isTelephonyTimeZoneDetectionFeatureSupported();
|
||||
}
|
||||
|
||||
boolean isGeoTimeZoneDetectionSupported() {
|
||||
enforceManageTimeZoneDetectorPermission();
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.server.timezonedetector;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_IS_AUTO_DETECTION_ENABLED;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_IS_GEO_DETECTION_ENABLED;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_IS_GEO_DETECTION_SUPPORTED;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_IS_TELEPHONY_DETECTION_SUPPORTED;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_SERVICE_NAME;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_SET_AUTO_DETECTION_ENABLED;
|
||||
import static android.app.timezonedetector.TimeZoneDetector.SHELL_COMMAND_SET_GEO_DETECTION_ENABLED;
|
||||
@@ -61,6 +62,8 @@ class TimeZoneDetectorShellCommand extends ShellCommand {
|
||||
return runIsAutoDetectionEnabled();
|
||||
case SHELL_COMMAND_SET_AUTO_DETECTION_ENABLED:
|
||||
return runSetAutoDetectionEnabled();
|
||||
case SHELL_COMMAND_IS_TELEPHONY_DETECTION_SUPPORTED:
|
||||
return runIsTelephonyDetectionSupported();
|
||||
case SHELL_COMMAND_IS_GEO_DETECTION_SUPPORTED:
|
||||
return runIsGeoDetectionSupported();
|
||||
case SHELL_COMMAND_IS_GEO_DETECTION_ENABLED:
|
||||
@@ -89,6 +92,13 @@ class TimeZoneDetectorShellCommand extends ShellCommand {
|
||||
return 0;
|
||||
}
|
||||
|
||||
private int runIsTelephonyDetectionSupported() {
|
||||
final PrintWriter pw = getOutPrintWriter();
|
||||
boolean enabled = mInterface.isTelephonyTimeZoneDetectionSupported();
|
||||
pw.println(enabled);
|
||||
return 0;
|
||||
}
|
||||
|
||||
private int runIsGeoDetectionSupported() {
|
||||
final PrintWriter pw = getOutPrintWriter();
|
||||
boolean enabled = mInterface.isGeoTimeZoneDetectionSupported();
|
||||
@@ -169,6 +179,9 @@ class TimeZoneDetectorShellCommand extends ShellCommand {
|
||||
pw.printf(" Prints true/false according to the automatic time zone detection setting\n");
|
||||
pw.printf(" %s true|false\n", SHELL_COMMAND_SET_AUTO_DETECTION_ENABLED);
|
||||
pw.printf(" Sets the automatic time zone detection setting.\n");
|
||||
pw.printf(" %s\n", SHELL_COMMAND_IS_TELEPHONY_DETECTION_SUPPORTED);
|
||||
pw.printf(" Prints true/false according to whether telephony time zone detection is"
|
||||
+ " supported on this device.\n");
|
||||
pw.printf(" %s\n", SHELL_COMMAND_IS_GEO_DETECTION_SUPPORTED);
|
||||
pw.printf(" Prints true/false according to whether geolocation time zone detection is"
|
||||
+ " supported on this device.\n");
|
||||
|
||||
Reference in New Issue
Block a user