summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-05-24 11:38:12 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-24 11:38:12 -0700
commit6385ff511dd998f1fbb189621270e2c19577f66e (patch)
tree57395fc2bcf9aca4757ad4aebeb3ae34f576aa3e /services
parent0100625bb316ecbd99873b72756ffba8613c3456 (diff)
parente19f39b79c831aea4d51a3309025acdf69d1e609 (diff)
downloadframeworks_base-6385ff511dd998f1fbb189621270e2c19577f66e.zip
frameworks_base-6385ff511dd998f1fbb189621270e2c19577f66e.tar.gz
frameworks_base-6385ff511dd998f1fbb189621270e2c19577f66e.tar.bz2
Merge "Advise persist threshold outside NPMS lock." into jb-dev
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/net/NetworkPolicyManagerService.java24
1 files changed, 15 insertions, 9 deletions
diff --git a/services/java/com/android/server/net/NetworkPolicyManagerService.java b/services/java/com/android/server/net/NetworkPolicyManagerService.java
index 1b8c9cb..c82f37c 100644
--- a/services/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -118,7 +118,6 @@ import android.telephony.TelephonyManager;
import android.text.format.Formatter;
import android.text.format.Time;
import android.util.Log;
-import android.util.MathUtils;
import android.util.NtpTrustedTime;
import android.util.Slog;
import android.util.SparseArray;
@@ -225,6 +224,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
private static final int MSG_PROCESS_DIED = 4;
private static final int MSG_LIMIT_REACHED = 5;
private static final int MSG_RESTRICT_BACKGROUND_CHANGED = 6;
+ private static final int MSG_ADVISE_PERSIST_THRESHOLD = 7;
private final Context mContext;
private final IActivityManager mActivityManager;
@@ -1032,14 +1032,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
}
}
- try {
- // make sure stats are recorded frequently enough; we aim for 2MB
- // threshold for 2GB/month rules.
- final long persistThreshold = lowestRule / 1000;
- mNetworkStats.advisePersistThreshold(persistThreshold);
- } catch (RemoteException e) {
- // ignored; service lives in system_server
- }
+ mHandler.obtainMessage(MSG_ADVISE_PERSIST_THRESHOLD, lowestRule).sendToTarget();
// remove quota on any trailing interfaces
for (String iface : mMeteredIfaces) {
@@ -1861,6 +1854,19 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
}
}
mListeners.finishBroadcast();
+ return true;
+ }
+ case MSG_ADVISE_PERSIST_THRESHOLD: {
+ final long lowestRule = (Long) msg.obj;
+ try {
+ // make sure stats are recorded frequently enough; we aim
+ // for 2MB threshold for 2GB/month rules.
+ final long persistThreshold = lowestRule / 1000;
+ mNetworkStats.advisePersistThreshold(persistThreshold);
+ } catch (RemoteException e) {
+ // ignored; service lives in system_server
+ }
+ return true;
}
default: {
return false;