Merge "Give CTS a way to force-poll network stats." into pi-dev

This commit is contained in:
TreeHugger Robot
2018-04-20 20:40:32 +00:00
committed by Android (Google) Code Review
3 changed files with 20 additions and 2 deletions

View File

@@ -204,6 +204,10 @@ package android.app.backup {
package android.app.usage {
public class NetworkStatsManager {
method public void setPollForce(boolean);
}
public class StorageStatsManager {
method public boolean isQuotaSupported(java.util.UUID);
method public boolean isReservedSupported(java.util.UUID);

View File

@@ -20,6 +20,7 @@ import static com.android.internal.util.Preconditions.checkNotNull;
import android.annotation.Nullable;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.app.usage.NetworkStats.Bucket;
import android.content.Context;
import android.net.ConnectivityManager;
@@ -111,7 +112,9 @@ public class NetworkStatsManager {
/** @hide */
public static final int FLAG_POLL_ON_OPEN = 1 << 0;
/** @hide */
public static final int FLAG_AUGMENT_WITH_SUBSCRIPTION_PLAN = 1 << 1;
public static final int FLAG_POLL_FORCE = 1 << 1;
/** @hide */
public static final int FLAG_AUGMENT_WITH_SUBSCRIPTION_PLAN = 1 << 2;
private int mFlags;
@@ -140,6 +143,16 @@ public class NetworkStatsManager {
}
}
/** @hide */
@TestApi
public void setPollForce(boolean pollForce) {
if (pollForce) {
mFlags |= FLAG_POLL_FORCE;
} else {
mFlags &= ~FLAG_POLL_FORCE;
}
}
/** @hide */
public void setAugmentWithSubscriptionPlan(boolean augmentWithSubscriptionPlan) {
if (augmentWithSubscriptionPlan) {

View File

@@ -544,7 +544,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
final int usedFlags = isRateLimitedForPoll(callingUid)
? flags & (~NetworkStatsManager.FLAG_POLL_ON_OPEN)
: flags;
if ((usedFlags & NetworkStatsManager.FLAG_POLL_ON_OPEN) != 0) {
if ((usedFlags & (NetworkStatsManager.FLAG_POLL_ON_OPEN
| NetworkStatsManager.FLAG_POLL_FORCE)) != 0) {
final long ident = Binder.clearCallingIdentity();
try {
performPoll(FLAG_PERSIST_ALL);