Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5265da19 authored by Mustafa Acer's avatar Mustafa Acer Committed by Mustafa Emre Acer
Browse files

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
parent f57e4c9b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -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);
  }
+2 −1
Original line number Diff line number Diff line
@@ -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() {
+0 −1
Original line number Diff line number Diff line
@@ -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) {