Merge "Change registerUsageSessionObserver to take Duration for timelimits"
This commit is contained in:
committed by
Android (Google) Code Review
commit
a232a7abe6
@@ -1198,7 +1198,7 @@ package android.app.usage {
|
||||
method public int getUsageSource();
|
||||
method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void registerAppUsageLimitObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @Nullable android.app.PendingIntent);
|
||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
|
||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
|
||||
method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
|
||||
method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
|
||||
method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
|
||||
method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
|
||||
|
||||
@@ -28,6 +28,14 @@ package android.app.admin {
|
||||
|
||||
}
|
||||
|
||||
package android.app.usage {
|
||||
|
||||
public final class UsageStatsManager {
|
||||
method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
package android.content {
|
||||
|
||||
public class Intent implements java.lang.Cloneable android.os.Parcelable {
|
||||
|
||||
@@ -660,6 +660,30 @@ public final class UsageStatsManager {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @deprecated use {@link #registerUsageSessionObserver(int, String[], Duration, Duration,
|
||||
* PendingIntent, PendingIntent)}.
|
||||
*
|
||||
* @removed
|
||||
* @hide
|
||||
*/
|
||||
@Deprecated
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE)
|
||||
// STOPSHIP b/128455269: remove this method
|
||||
public void registerUsageSessionObserver(int sessionObserverId,
|
||||
@NonNull String[] observedEntities, long timeLimit, @NonNull TimeUnit timeUnit,
|
||||
long sessionThresholdTime, @NonNull TimeUnit sessionThresholdTimeUnit,
|
||||
@NonNull PendingIntent limitReachedCallbackIntent,
|
||||
@Nullable PendingIntent sessionEndCallbackIntent) {
|
||||
final Duration timeLimitDuration = Duration.ofMillis(timeUnit.toMillis(timeLimit));
|
||||
final Duration sessionThresholdDuration =
|
||||
Duration.ofMillis(sessionThresholdTimeUnit.toMillis(sessionThresholdTime));
|
||||
registerUsageSessionObserver(sessionObserverId, observedEntities, timeLimitDuration,
|
||||
sessionThresholdDuration, limitReachedCallbackIntent, sessionEndCallbackIntent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a usage session observer that receives a callback on the provided {@code
|
||||
* limitReachedCallbackIntent} when the sum of usages of apps and tokens in the {@code
|
||||
@@ -679,11 +703,8 @@ public final class UsageStatsManager {
|
||||
* null and must include at least one package or token.
|
||||
* @param timeLimit The total time the set of apps can be used continuously before the {@code
|
||||
* limitReachedCallbackIntent} is delivered. Must be at least one minute.
|
||||
* @param timeUnit The unit for time specified in {@code timeLimit}. Cannot be null.
|
||||
* @param sessionThresholdTime The time that can take place between usage sessions before the
|
||||
* next session is considered a new session. Must be non-negative.
|
||||
* @param sessionThresholdTimeUnit The unit for time specified in {@code sessionThreshold}.
|
||||
* Cannot be null.
|
||||
* @param limitReachedCallbackIntent The {@link PendingIntent} that will be dispatched when the
|
||||
* usage limit is exceeded by the group of apps. The
|
||||
* delivered Intent will also contain the extras {@link
|
||||
@@ -703,14 +724,13 @@ public final class UsageStatsManager {
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE)
|
||||
public void registerUsageSessionObserver(int sessionObserverId,
|
||||
@NonNull String[] observedEntities, long timeLimit, @NonNull TimeUnit timeUnit,
|
||||
long sessionThresholdTime, @NonNull TimeUnit sessionThresholdTimeUnit,
|
||||
@NonNull String[] observedEntities, @NonNull Duration timeLimit,
|
||||
@NonNull Duration sessionThresholdTime,
|
||||
@NonNull PendingIntent limitReachedCallbackIntent,
|
||||
@Nullable PendingIntent sessionEndCallbackIntent) {
|
||||
try {
|
||||
mService.registerUsageSessionObserver(sessionObserverId, observedEntities,
|
||||
timeUnit.toMillis(timeLimit),
|
||||
sessionThresholdTimeUnit.toMillis(sessionThresholdTime),
|
||||
timeLimit.toMillis(), sessionThresholdTime.toMillis(),
|
||||
limitReachedCallbackIntent, sessionEndCallbackIntent,
|
||||
mContext.getOpPackageName());
|
||||
} catch (RemoteException e) {
|
||||
|
||||
Reference in New Issue
Block a user