summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mustafa Acer <meacer@google.com> 2021-03-24 07:38:38 +0000
committer Mustafa Emre Acer <meacer@google.com> 2021-03-25 21:17:19 +0000
commit5265da19f90c480f0fe2b2ee1ee15a7a6e03bb0c (patch)
treecda8694a27c4643e1199f3ebbb5127e2a1277b06
parentf57e4c9bcec5b60bf4af93c91eeeb7017dd2149f (diff)
Expose TimeManager.suggestExternalTime()
This CL exposes an API that allows system clock time suggestions from an external clock / time source to be made. The nature of "external" could be highly form-factor specific. Example, times obtained via the VHAL for Android Auto OS. Bug: 157504928 Bug: 177079827 Test: atest android.app.time CTS-Coverage-Bug: 182275086 Change-Id: I3527e3827a03c1df73fdc1e00c815ad5971a92ca
-rw-r--r--core/api/system-current.txt10
-rw-r--r--core/java/android/app/time/ExternalTimeSuggestion.java3
-rw-r--r--core/java/android/app/time/TimeManager.java1
3 files changed, 12 insertions, 2 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index e5814005f31c..97a2cf7f0497 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -1709,10 +1709,20 @@ package android.app.time {
field public static final int CAPABILITY_POSSESSED = 40; // 0x28
}
+ public final class ExternalTimeSuggestion implements android.os.Parcelable {
+ ctor public ExternalTimeSuggestion(long, long);
+ method public void addDebugInfo(@NonNull java.lang.String...);
+ method public int describeContents();
+ method @NonNull public java.util.List<java.lang.String> getDebugInfo();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
+ }
+
public final class TimeManager {
method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
+ method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
}
diff --git a/core/java/android/app/time/ExternalTimeSuggestion.java b/core/java/android/app/time/ExternalTimeSuggestion.java
index 61defb588170..8e281c07c45d 100644
--- a/core/java/android/app/time/ExternalTimeSuggestion.java
+++ b/core/java/android/app/time/ExternalTimeSuggestion.java
@@ -20,6 +20,7 @@ import android.annotation.CurrentTimeMillisLong;
import android.annotation.ElapsedRealtimeLong;
import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.TimestampedValue;
@@ -67,6 +68,7 @@ import java.util.Objects;
*
* @hide
*/
+@SystemApi
public final class ExternalTimeSuggestion implements Parcelable {
public static final @NonNull Creator<ExternalTimeSuggestion> CREATOR =
@@ -129,7 +131,6 @@ public final class ExternalTimeSuggestion implements Parcelable {
/**
* Returns information that can be useful for debugging / logging. See {@link #addDebugInfo}.
- * {@hide}
*/
@NonNull
public List<String> getDebugInfo() {
diff --git a/core/java/android/app/time/TimeManager.java b/core/java/android/app/time/TimeManager.java
index c71badb0d484..d6acb8cd1076 100644
--- a/core/java/android/app/time/TimeManager.java
+++ b/core/java/android/app/time/TimeManager.java
@@ -262,7 +262,6 @@ public final class TimeManager {
* HAL. This time <em>may</em> be used to set the device system clock, depending on the device
* configuration and user settings. This method call is processed asynchronously.
* See {@link ExternalTimeSuggestion} for more details.
- * {@hide}
*/
@RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME)
public void suggestExternalTime(@NonNull ExternalTimeSuggestion timeSuggestion) {