Merge "Update network state of apps leaving the whitelist" into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
bc9b102453
@@ -376,8 +376,13 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub
|
|||||||
|
|
||||||
void updatePowerSaveTempWhitelistLocked() {
|
void updatePowerSaveTempWhitelistLocked() {
|
||||||
try {
|
try {
|
||||||
|
// Clear the states of the current whitelist
|
||||||
|
final int N = mPowerSaveTempWhitelistAppIds.size();
|
||||||
|
for (int i = 0; i < N; i++) {
|
||||||
|
mPowerSaveTempWhitelistAppIds.setValueAt(i, false);
|
||||||
|
}
|
||||||
|
// Update the states with the new whitelist
|
||||||
final int[] whitelist = mDeviceIdleController.getAppIdTempWhitelist();
|
final int[] whitelist = mDeviceIdleController.getAppIdTempWhitelist();
|
||||||
mPowerSaveTempWhitelistAppIds.clear();
|
|
||||||
if (whitelist != null) {
|
if (whitelist != null) {
|
||||||
for (int uid : whitelist) {
|
for (int uid : whitelist) {
|
||||||
mPowerSaveTempWhitelistAppIds.put(uid, true);
|
mPowerSaveTempWhitelistAppIds.put(uid, true);
|
||||||
@@ -387,6 +392,18 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove unnecessary entries in the temp whitelist
|
||||||
|
*/
|
||||||
|
void purgePowerSaveTempWhitelistLocked() {
|
||||||
|
final int N = mPowerSaveTempWhitelistAppIds.size();
|
||||||
|
for (int i = N - 1; i >= 0; i--) {
|
||||||
|
if (mPowerSaveTempWhitelistAppIds.valueAt(i) == false) {
|
||||||
|
mPowerSaveTempWhitelistAppIds.removeAt(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void systemReady() {
|
public void systemReady() {
|
||||||
if (!isBandwidthControlEnabled()) {
|
if (!isBandwidthControlEnabled()) {
|
||||||
Slog.w(TAG, "bandwidth controls disabled, unable to enforce policy");
|
Slog.w(TAG, "bandwidth controls disabled, unable to enforce policy");
|
||||||
@@ -521,6 +538,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub
|
|||||||
} else {
|
} else {
|
||||||
updatePowerSaveTempWhitelistLocked();
|
updatePowerSaveTempWhitelistLocked();
|
||||||
updateRulesForTempWhitelistChangeLocked();
|
updateRulesForTempWhitelistChangeLocked();
|
||||||
|
purgePowerSaveTempWhitelistLocked();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user