Loading core/api/system-current.txt +65 −0 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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; } Loading Loading @@ -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 { core/java/android/app/time/TimeCapabilities.java +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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<>() { Loading core/java/android/app/time/TimeCapabilitiesAndConfig.java +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.app.time; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; Loading @@ -27,6 +28,7 @@ import java.util.Objects; * * @hide */ @SystemApi public final class TimeCapabilitiesAndConfig implements Parcelable { public static final @NonNull Creator<TimeCapabilitiesAndConfig> CREATOR = Loading core/java/android/app/time/TimeConfiguration.java +3 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -40,6 +41,7 @@ import java.util.Objects; * * @hide */ @SystemApi public final class TimeConfiguration implements Parcelable { public static final @NonNull Creator<TimeConfiguration> CREATOR = Loading Loading @@ -155,6 +157,7 @@ public final class TimeConfiguration implements Parcelable { * * @hide */ @SystemApi public static final class Builder { private final Bundle mBundle = new Bundle(); Loading core/java/android/app/time/TimeManager.java +19 −17 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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) { Loading Loading @@ -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 Loading @@ -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) { Loading @@ -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) { Loading @@ -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 Loading @@ -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) { Loading @@ -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 Loading
core/api/system-current.txt +65 −0 Original line number Diff line number Diff line Loading @@ -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); } Loading @@ -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; } Loading Loading @@ -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 {
core/java/android/app/time/TimeCapabilities.java +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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<>() { Loading
core/java/android/app/time/TimeCapabilitiesAndConfig.java +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.app.time; import android.annotation.NonNull; import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; Loading @@ -27,6 +28,7 @@ import java.util.Objects; * * @hide */ @SystemApi public final class TimeCapabilitiesAndConfig implements Parcelable { public static final @NonNull Creator<TimeCapabilitiesAndConfig> CREATOR = Loading
core/java/android/app/time/TimeConfiguration.java +3 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -40,6 +41,7 @@ import java.util.Objects; * * @hide */ @SystemApi public final class TimeConfiguration implements Parcelable { public static final @NonNull Creator<TimeConfiguration> CREATOR = Loading Loading @@ -155,6 +157,7 @@ public final class TimeConfiguration implements Parcelable { * * @hide */ @SystemApi public static final class Builder { private final Bundle mBundle = new Bundle(); Loading
core/java/android/app/time/TimeManager.java +19 −17 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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) { Loading Loading @@ -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 Loading @@ -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) { Loading @@ -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) { Loading @@ -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 Loading @@ -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) { Loading @@ -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