Merge "When the device boots up, netd works more than required"

am: c7f3631fbe

* commit 'c7f3631fbe284f929c05c2d872719364e118df20':
  When the device boots up, netd works more than required
This commit is contained in:
Amith Yamasani
2016-02-12 18:46:38 +00:00
committed by android-build-merger

View File

@@ -2325,12 +2325,23 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
uidRules.clear();
// Fully update the app idle firewall chain.
final IPackageManager ipm = AppGlobals.getPackageManager();
final List<UserInfo> users = mUserManager.getUsers();
for (int ui = users.size() - 1; ui >= 0; ui--) {
UserInfo user = users.get(ui);
int[] idleUids = mUsageStats.getIdleUidsForUser(user.id);
for (int uid : idleUids) {
if (!mPowerSaveTempWhitelistAppIds.get(UserHandle.getAppId(uid), false)) {
// quick check: if this uid doesn't have INTERNET permission, it
// doesn't have network access anyway, so it is a waste to mess
// with it here.
try {
if (ipm.checkUidPermission(Manifest.permission.INTERNET, uid)
!= PackageManager.PERMISSION_GRANTED) {
continue;
}
} catch (RemoteException e) {
}
uidRules.put(uid, FIREWALL_RULE_DENY);
}
}