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

Commit a2e4669d authored by Neil Fuller's avatar Neil Fuller Committed by Android (Google) Code Review
Browse files

Merge "API changes for device initialization / SUW"

parents bbd95841 a15524ad
Loading
Loading
Loading
Loading
+65 −0
Original line number Diff line number Diff line
@@ -2502,11 +2502,49 @@ package android.app.time {
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
  }
  public final class TimeCapabilities implements android.os.Parcelable {
    method public int describeContents();
    method public int getConfigureAutoDetectionEnabledCapability();
    method public int getSetManualTimeCapability();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilities> CREATOR;
  }
  public final class TimeCapabilitiesAndConfig implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.app.time.TimeCapabilities getCapabilities();
    method @NonNull public android.app.time.TimeConfiguration getConfiguration();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilitiesAndConfig> CREATOR;
  }
  public final class TimeConfiguration implements android.os.Parcelable {
    method public int describeContents();
    method public boolean isAutoDetectionEnabled();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeConfiguration> CREATOR;
  }
  public static final class TimeConfiguration.Builder {
    ctor public TimeConfiguration.Builder();
    ctor public TimeConfiguration.Builder(@NonNull android.app.time.TimeConfiguration);
    method @NonNull public android.app.time.TimeConfiguration build();
    method @NonNull public android.app.time.TimeConfiguration.Builder setAutoDetectionEnabled(boolean);
  }
  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 @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTime(@NonNull android.app.time.UnixEpochTime);
    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTimeZone(@NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeCapabilitiesAndConfig getTimeCapabilitiesAndConfig();
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeState getTimeState();
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneState getTimeZoneState();
    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTime(@NonNull android.app.time.UnixEpochTime);
    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTimeZone(@NonNull String);
    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 updateTimeConfiguration(@NonNull android.app.time.TimeConfiguration);
    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
  }
@@ -2514,10 +2552,19 @@ package android.app.time {
    method public void onChange();
  }
  public final class TimeState implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.app.time.UnixEpochTime getUnixEpochTime();
    method public boolean getUserShouldConfirmTime();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeState> CREATOR;
  }
  public final class TimeZoneCapabilities implements android.os.Parcelable {
    method public int describeContents();
    method public int getConfigureAutoDetectionEnabledCapability();
    method public int getConfigureGeoDetectionEnabledCapability();
    method public int getSetManualTimeZoneCapability();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
  }
@@ -2546,6 +2593,24 @@ package android.app.time {
    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
  }
  public final class TimeZoneState implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public String getId();
    method public boolean getUserShouldConfirmId();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneState> CREATOR;
  }
  public final class UnixEpochTime implements android.os.Parcelable {
    ctor public UnixEpochTime(long, long);
    method @NonNull public android.app.time.UnixEpochTime at(long);
    method public int describeContents();
    method public long getElapsedRealtimeMillis();
    method public long getUnixEpochTimeMillis();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.UnixEpochTime> CREATOR;
  }
}
package android.app.usage {
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.app.time.Capabilities.CAPABILITY_NOT_APPLICABLE;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.app.time.Capabilities.CapabilityState;
import android.os.Parcel;
import android.os.Parcelable;
@@ -37,6 +38,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class TimeCapabilities implements Parcelable {

    public static final @NonNull Creator<TimeCapabilities> CREATOR = new Creator<>() {
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.app.time;

import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

@@ -27,6 +28,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class TimeCapabilitiesAndConfig implements Parcelable {

    public static final @NonNull Creator<TimeCapabilitiesAndConfig> CREATOR =
+3 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.app.time;

import android.annotation.NonNull;
import android.annotation.StringDef;
import android.annotation.SystemApi;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
@@ -40,6 +41,7 @@ import java.util.Objects;
 *
 * @hide
 */
@SystemApi
public final class TimeConfiguration implements Parcelable {

    public static final @NonNull Creator<TimeConfiguration> CREATOR =
@@ -155,6 +157,7 @@ public final class TimeConfiguration implements Parcelable {
     *
     * @hide
     */
    @SystemApi
    public static final class Builder {

        private final Bundle mBundle = new Bundle();
+19 −17
Original line number Diff line number Diff line
@@ -88,8 +88,6 @@ public final class TimeManager {

    /**
     * Returns the calling user's time capabilities and configuration.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    @NonNull
@@ -107,10 +105,26 @@ public final class TimeManager {
    /**
     * Modifies the time detection configuration.
     *
     * <p>The ability to modify configuration settings can be subject to restrictions. For
     * example, they may be determined by device hardware, general policy (i.e. only the primary
     * user can set them), or by a managed device policy. Use {@link
     * #getTimeCapabilitiesAndConfig()} to obtain information at runtime about the user's
     * capabilities.
     *
     * <p>Attempts to modify configuration settings with capabilities that are {@link
     * Capabilities#CAPABILITY_NOT_SUPPORTED} or {@link
     * Capabilities#CAPABILITY_NOT_ALLOWED} will have no effect and a {@code false}
     * will be returned. Modifying configuration settings with capabilities that are {@link
     * Capabilities#CAPABILITY_NOT_APPLICABLE} or {@link
     * Capabilities#CAPABILITY_POSSESSED} will succeed. See {@link
     * TimeZoneCapabilities} for further details.
     *
     * <p>If the supplied configuration only has some values set, then only the specified settings
     * will be updated (where the user's capabilities allow) and other settings will be left
     * unchanged.
     *
     * @return {@code true} if all the configuration settings specified have been set to the
     *   new values, {@code false} if none have
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    public boolean updateTimeConfiguration(@NonNull TimeConfiguration configuration) {
@@ -280,8 +294,6 @@ public final class TimeManager {
    /**
     * Returns a snapshot of the device's current system clock time state. See also {@link
     * #confirmTime(UnixEpochTime)} for how this information can be used.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    @NonNull
@@ -306,8 +318,6 @@ public final class TimeManager {
     * <p>Returns {@code false} if the confirmation is invalid, i.e. if the time being
     * confirmed is no longer the time the device is currently set to. Confirming a time
     * in which the system already has high confidence will return {@code true}.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    public boolean confirmTime(@NonNull UnixEpochTime unixEpochTime) {
@@ -329,8 +339,6 @@ public final class TimeManager {
     * capabilities prevents the time being accepted, e.g. if the device is currently set to
     * "automatic time detection". This method returns {@code true} if the time was accepted even
     * if it is the same as the current device time.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    public boolean setManualTime(@NonNull UnixEpochTime unixEpochTime) {
@@ -353,8 +361,6 @@ public final class TimeManager {
     * Returns a snapshot of the device's current time zone state. See also {@link
     * #confirmTimeZone(String)} and {@link #setManualTimeZone(String)} for how this information may
     * be used.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    @NonNull
@@ -379,8 +385,6 @@ public final class TimeManager {
     * <p>Returns {@code false} if the confirmation is invalid, i.e. if the time zone ID being
     * confirmed is no longer the time zone ID the device is currently set to. Confirming a time
     * zone ID in which the system already has high confidence returns {@code true}.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    public boolean confirmTimeZone(@NonNull String timeZoneId) {
@@ -402,8 +406,6 @@ public final class TimeManager {
     * capabilities prevents the time zone being accepted, e.g. if the device is currently set to
     * "automatic time zone detection". {@code true} is returned if the time zone is accepted. A
     * time zone that is accepted and matches the current device time zone returns {@code true}.
     *
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION)
    public boolean setManualTimeZone(@NonNull String timeZoneId) {
Loading