Skip to content

Commit 6385ff5

Browse files
jsharkeyAndroid (Google) Code Review
authored andcommitted
Merge "Advise persist threshold outside NPMS lock." into jb-dev
2 parents 0100625 + e19f39b commit 6385ff5

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

services/java/com/android/server/net/NetworkPolicyManagerService.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@
118118
import android.text.format.Formatter;
119119
import android.text.format.Time;
120120
import android.util.Log;
121-
import android.util.MathUtils;
122121
import android.util.NtpTrustedTime;
123122
import android.util.Slog;
124123
import android.util.SparseArray;
@@ -225,6 +224,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
225224
private static final int MSG_PROCESS_DIED = 4;
226225
private static final int MSG_LIMIT_REACHED = 5;
227226
private static final int MSG_RESTRICT_BACKGROUND_CHANGED = 6;
227+
private static final int MSG_ADVISE_PERSIST_THRESHOLD = 7;
228228

229229
private final Context mContext;
230230
private final IActivityManager mActivityManager;
@@ -1032,14 +1032,7 @@ private void updateNetworkRulesLocked() {
10321032
}
10331033
}
10341034

1035-
try {
1036-
// make sure stats are recorded frequently enough; we aim for 2MB
1037-
// threshold for 2GB/month rules.
1038-
final long persistThreshold = lowestRule / 1000;
1039-
mNetworkStats.advisePersistThreshold(persistThreshold);
1040-
} catch (RemoteException e) {
1041-
// ignored; service lives in system_server
1042-
}
1035+
mHandler.obtainMessage(MSG_ADVISE_PERSIST_THRESHOLD, lowestRule).sendToTarget();
10431036

10441037
// remove quota on any trailing interfaces
10451038
for (String iface : mMeteredIfaces) {
@@ -1861,6 +1854,19 @@ public boolean handleMessage(Message msg) {
18611854
}
18621855
}
18631856
mListeners.finishBroadcast();
1857+
return true;
1858+
}
1859+
case MSG_ADVISE_PERSIST_THRESHOLD: {
1860+
final long lowestRule = (Long) msg.obj;
1861+
try {
1862+
// make sure stats are recorded frequently enough; we aim
1863+
// for 2MB threshold for 2GB/month rules.
1864+
final long persistThreshold = lowestRule / 1000;
1865+
mNetworkStats.advisePersistThreshold(persistThreshold);
1866+
} catch (RemoteException e) {
1867+
// ignored; service lives in system_server
1868+
}
1869+
return true;
18641870
}
18651871
default: {
18661872
return false;

0 commit comments

Comments
 (0)