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

Commit 6965c186 authored by Antonio Cansado's avatar Antonio Cansado
Browse files

Addressing API council comments on NetworkStatsManager.

Callbacks
 - DataUsageCallback renamed to UsageCallback
 - DataUsagePolicy removed; passing in params directly to register method
 - making it an abstract class
 - passing in (networkType, subscriberId) that reached its threshold
 - renaming onLimitReached to onThresholdReached to match existing naming
 - only monitor single network,subscriberId
 - no monitoring of specific uids; using device or user wide instead

Tags
 - only owner uid can read its tags
 - exposing only TAG_NONE to match service side

BUG: 27530098

Change-Id: I2b2664da71806868a1e937d2bf4d1f234637509b
parent cdaaaaad
Loading
Loading
Loading
Loading
+8 −33
Original line number Diff line number Diff line
@@ -6417,22 +6417,6 @@ package android.app.usage {
    field public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
  }
  public class DataUsagePolicy {
    field public final int networkType;
    field public final java.lang.String[] subscriberIds;
    field public final long thresholdInBytes;
    field public final int[] uids;
  }
  public static class DataUsagePolicy.Builder {
    ctor public DataUsagePolicy.Builder();
    method public android.app.usage.DataUsagePolicy.Builder addSubscriberId(java.lang.String);
    method public android.app.usage.DataUsagePolicy.Builder addUid(int);
    method public android.app.usage.DataUsagePolicy build();
    method public android.app.usage.DataUsagePolicy.Builder setNetworkType(int);
    method public android.app.usage.DataUsagePolicy.Builder setThreshold(long);
  }
  public final class NetworkStats implements java.lang.AutoCloseable {
    method public void close();
    method public boolean getNextBucket(android.app.usage.NetworkStats.Bucket);
@@ -6457,8 +6441,7 @@ package android.app.usage {
    field public static final int STATE_ALL = -1; // 0xffffffff
    field public static final int STATE_DEFAULT = 1; // 0x1
    field public static final int STATE_FOREGROUND = 2; // 0x2
    field public static final int TAG_ALL = 0; // 0x0
    field public static final int TAG_ANY = -1; // 0xffffffff
    field public static final int TAG_NONE = 0; // 0x0
    field public static final int UID_ALL = -1; // 0xffffffff
    field public static final int UID_REMOVED = -4; // 0xfffffffc
    field public static final int UID_TETHERING = -5; // 0xfffffffb
@@ -6467,20 +6450,18 @@ package android.app.usage {
  public class NetworkStatsManager {
    method public android.app.usage.NetworkStats queryDetails(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUid(int, java.lang.String, long, long, int) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUidTag(int, java.lang.String, long, long, int, int) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUidTag(int, java.lang.String, long, long, int, int);
    method public android.app.usage.NetworkStats querySummary(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats querySummary(int, java.lang.String, long, long, boolean) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, java.lang.String, long, long, boolean) throws android.os.RemoteException, java.lang.SecurityException;
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback);
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler);
    method public void unregisterDataUsageCallback(android.app.usage.NetworkStatsManager.DataUsageCallback);
    method public void registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback);
    method public void registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler);
    method public void unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback);
  }
  public static class NetworkStatsManager.DataUsageCallback {
    ctor public NetworkStatsManager.DataUsageCallback();
    method public void onLimitReached();
  public static abstract class NetworkStatsManager.UsageCallback {
    ctor public NetworkStatsManager.UsageCallback();
    method public abstract void onThresholdReached(int, java.lang.String);
  }
  public final class UsageEvents implements android.os.Parcelable {
@@ -23538,12 +23519,6 @@ package android.net {
    method public int getUid();
  }
  public final class DataUsageRequest implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.DataUsageRequest> CREATOR;
  }
  public class DhcpInfo implements android.os.Parcelable {
    ctor public DhcpInfo();
    method public int describeContents();
+31 −0
Original line number Diff line number Diff line
@@ -17,6 +17,37 @@ package android.app.admin {

}

package android.app.usage {

  public class DataUsagePolicy {
    field public final int networkType;
    field public final java.lang.String[] subscriberIds;
    field public final long thresholdInBytes;
    field public final int[] uids;
  }

  public static class DataUsagePolicy.Builder {
    ctor public DataUsagePolicy.Builder();
    method public android.app.usage.DataUsagePolicy.Builder addSubscriberId(java.lang.String);
    method public android.app.usage.DataUsagePolicy.Builder addUid(int);
    method public android.app.usage.DataUsagePolicy build();
    method public android.app.usage.DataUsagePolicy.Builder setNetworkType(int);
    method public android.app.usage.DataUsagePolicy.Builder setThreshold(long);
  }

  public class NetworkStatsManager {
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler);
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler);
    method public void unregisterDataUsageCallback(android.app.usage.NetworkStatsManager.DataUsageCallback);
  }

  public static abstract class NetworkStatsManager.DataUsageCallback {
    ctor public NetworkStatsManager.DataUsageCallback();
    method public deprecated void onLimitReached();
  }

}

package android.content {

  public abstract class Context {
+8 −33
Original line number Diff line number Diff line
@@ -6698,22 +6698,6 @@ package android.app.usage {
    field public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
  }
  public class DataUsagePolicy {
    field public final int networkType;
    field public final java.lang.String[] subscriberIds;
    field public final long thresholdInBytes;
    field public final int[] uids;
  }
  public static class DataUsagePolicy.Builder {
    ctor public DataUsagePolicy.Builder();
    method public android.app.usage.DataUsagePolicy.Builder addSubscriberId(java.lang.String);
    method public android.app.usage.DataUsagePolicy.Builder addUid(int);
    method public android.app.usage.DataUsagePolicy build();
    method public android.app.usage.DataUsagePolicy.Builder setNetworkType(int);
    method public android.app.usage.DataUsagePolicy.Builder setThreshold(long);
  }
  public final class NetworkStats implements java.lang.AutoCloseable {
    method public void close();
    method public boolean getNextBucket(android.app.usage.NetworkStats.Bucket);
@@ -6738,8 +6722,7 @@ package android.app.usage {
    field public static final int STATE_ALL = -1; // 0xffffffff
    field public static final int STATE_DEFAULT = 1; // 0x1
    field public static final int STATE_FOREGROUND = 2; // 0x2
    field public static final int TAG_ALL = 0; // 0x0
    field public static final int TAG_ANY = -1; // 0xffffffff
    field public static final int TAG_NONE = 0; // 0x0
    field public static final int UID_ALL = -1; // 0xffffffff
    field public static final int UID_REMOVED = -4; // 0xfffffffc
    field public static final int UID_TETHERING = -5; // 0xfffffffb
@@ -6748,20 +6731,18 @@ package android.app.usage {
  public class NetworkStatsManager {
    method public android.app.usage.NetworkStats queryDetails(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUid(int, java.lang.String, long, long, int) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUidTag(int, java.lang.String, long, long, int, int) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUidTag(int, java.lang.String, long, long, int, int);
    method public android.app.usage.NetworkStats querySummary(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats querySummary(int, java.lang.String, long, long, boolean) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, java.lang.String, long, long, boolean) throws android.os.RemoteException, java.lang.SecurityException;
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback);
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler);
    method public void unregisterDataUsageCallback(android.app.usage.NetworkStatsManager.DataUsageCallback);
    method public void registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback);
    method public void registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler);
    method public void unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback);
  }
  public static class NetworkStatsManager.DataUsageCallback {
    ctor public NetworkStatsManager.DataUsageCallback();
    method public void onLimitReached();
  public static abstract class NetworkStatsManager.UsageCallback {
    ctor public NetworkStatsManager.UsageCallback();
    method public abstract void onThresholdReached(int, java.lang.String);
  }
  public final class UsageEvents implements android.os.Parcelable {
@@ -25364,12 +25345,6 @@ package android.net {
    method public int getUid();
  }
  public final class DataUsageRequest implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.DataUsageRequest> CREATOR;
  }
  public class DhcpInfo implements android.os.Parcelable {
    ctor public DhcpInfo();
    method public int describeContents();
+31 −0
Original line number Diff line number Diff line
@@ -15,6 +15,37 @@ package android.app.admin {

}

package android.app.usage {

  public class DataUsagePolicy {
    field public final int networkType;
    field public final java.lang.String[] subscriberIds;
    field public final long thresholdInBytes;
    field public final int[] uids;
  }

  public static class DataUsagePolicy.Builder {
    ctor public DataUsagePolicy.Builder();
    method public android.app.usage.DataUsagePolicy.Builder addSubscriberId(java.lang.String);
    method public android.app.usage.DataUsagePolicy.Builder addUid(int);
    method public android.app.usage.DataUsagePolicy build();
    method public android.app.usage.DataUsagePolicy.Builder setNetworkType(int);
    method public android.app.usage.DataUsagePolicy.Builder setThreshold(long);
  }

  public class NetworkStatsManager {
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler);
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler);
    method public void unregisterDataUsageCallback(android.app.usage.NetworkStatsManager.DataUsageCallback);
  }

  public static abstract class NetworkStatsManager.DataUsageCallback {
    ctor public NetworkStatsManager.DataUsageCallback();
    method public deprecated void onLimitReached();
  }

}

package android.content {

  public abstract class Context {
+8 −33
Original line number Diff line number Diff line
@@ -6422,22 +6422,6 @@ package android.app.usage {
    field public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
  }
  public class DataUsagePolicy {
    field public final int networkType;
    field public final java.lang.String[] subscriberIds;
    field public final long thresholdInBytes;
    field public final int[] uids;
  }
  public static class DataUsagePolicy.Builder {
    ctor public DataUsagePolicy.Builder();
    method public android.app.usage.DataUsagePolicy.Builder addSubscriberId(java.lang.String);
    method public android.app.usage.DataUsagePolicy.Builder addUid(int);
    method public android.app.usage.DataUsagePolicy build();
    method public android.app.usage.DataUsagePolicy.Builder setNetworkType(int);
    method public android.app.usage.DataUsagePolicy.Builder setThreshold(long);
  }
  public final class NetworkStats implements java.lang.AutoCloseable {
    method public void close();
    method public boolean getNextBucket(android.app.usage.NetworkStats.Bucket);
@@ -6462,8 +6446,7 @@ package android.app.usage {
    field public static final int STATE_ALL = -1; // 0xffffffff
    field public static final int STATE_DEFAULT = 1; // 0x1
    field public static final int STATE_FOREGROUND = 2; // 0x2
    field public static final int TAG_ALL = 0; // 0x0
    field public static final int TAG_ANY = -1; // 0xffffffff
    field public static final int TAG_NONE = 0; // 0x0
    field public static final int UID_ALL = -1; // 0xffffffff
    field public static final int UID_REMOVED = -4; // 0xfffffffc
    field public static final int UID_TETHERING = -5; // 0xfffffffb
@@ -6472,20 +6455,18 @@ package android.app.usage {
  public class NetworkStatsManager {
    method public android.app.usage.NetworkStats queryDetails(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUid(int, java.lang.String, long, long, int) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUidTag(int, java.lang.String, long, long, int, int) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats queryDetailsForUidTag(int, java.lang.String, long, long, int, int);
    method public android.app.usage.NetworkStats querySummary(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats querySummary(int, java.lang.String, long, long, boolean) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, java.lang.String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
    method public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, java.lang.String, long, long, boolean) throws android.os.RemoteException, java.lang.SecurityException;
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback);
    method public void registerDataUsageCallback(android.app.usage.DataUsagePolicy, android.app.usage.NetworkStatsManager.DataUsageCallback, android.os.Handler);
    method public void unregisterDataUsageCallback(android.app.usage.NetworkStatsManager.DataUsageCallback);
    method public void registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback);
    method public void registerUsageCallback(int, java.lang.String, long, android.app.usage.NetworkStatsManager.UsageCallback, android.os.Handler);
    method public void unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback);
  }
  public static class NetworkStatsManager.DataUsageCallback {
    ctor public NetworkStatsManager.DataUsageCallback();
    method public void onLimitReached();
  public static abstract class NetworkStatsManager.UsageCallback {
    ctor public NetworkStatsManager.UsageCallback();
    method public abstract void onThresholdReached(int, java.lang.String);
  }
  public final class UsageEvents implements android.os.Parcelable {
@@ -23607,12 +23588,6 @@ package android.net {
    method public int getUid();
  }
  public final class DataUsageRequest implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.DataUsageRequest> CREATOR;
  }
  public class DhcpInfo implements android.os.Parcelable {
    ctor public DhcpInfo();
    method public int describeContents();
Loading