Merge "Code cleanup on NMPS and NMS." into nyc-dev

This commit is contained in:
Felipe Leme
2016-03-04 00:46:24 +00:00
committed by Android (Google) Code Review
2 changed files with 51 additions and 42 deletions

View File

@@ -293,8 +293,8 @@ public class NetworkManagementService extends INetworkManagementService.Stub
Watchdog.getInstance().addMonitor(this); Watchdog.getInstance().addMonitor(this);
} }
static NetworkManagementService create(Context context, static NetworkManagementService create(Context context, String socket)
String socket) throws InterruptedException { throws InterruptedException {
final NetworkManagementService service = new NetworkManagementService(context, socket); final NetworkManagementService service = new NetworkManagementService(context, socket);
final CountDownLatch connectedSignal = service.mConnectedSignal; final CountDownLatch connectedSignal = service.mConnectedSignal;
if (DBG) Slog.d(TAG, "Creating NetworkManagementService"); if (DBG) Slog.d(TAG, "Creating NetworkManagementService");
@@ -310,8 +310,15 @@ public class NetworkManagementService extends INetworkManagementService.Stub
} }
public void systemReady() { public void systemReady() {
prepareNativeDaemon(); if (DBG) {
if (DBG) Slog.d(TAG, "Prepared"); final long start = System.currentTimeMillis();
prepareNativeDaemon();
final long delta = System.currentTimeMillis() - start;
Slog.d(TAG, "Prepared in " + delta + "ms");
return;
} else {
prepareNativeDaemon();
}
} }
private IBatteryStats getBatteryStats() { private IBatteryStats getBatteryStats() {
@@ -346,8 +353,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).interfaceStatusChanged(iface, up); mObservers.getBroadcastItem(i).interfaceStatusChanged(iface, up);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -365,8 +371,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).interfaceLinkStateChanged(iface, up); mObservers.getBroadcastItem(i).interfaceLinkStateChanged(iface, up);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -383,8 +388,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).interfaceAdded(iface); mObservers.getBroadcastItem(i).interfaceAdded(iface);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -406,8 +410,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).interfaceRemoved(iface); mObservers.getBroadcastItem(i).interfaceRemoved(iface);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -424,8 +427,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).limitReached(limitName, iface); mObservers.getBroadcastItem(i).limitReached(limitName, iface);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -483,8 +485,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
try { try {
mObservers.getBroadcastItem(i).interfaceClassDataActivityChanged( mObservers.getBroadcastItem(i).interfaceClassDataActivityChanged(
Integer.toString(type), isActive, tsNanos); Integer.toString(type), isActive, tsNanos);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -527,7 +528,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
Log.wtf(TAG, "problem enabling bandwidth controls", e); Log.wtf(TAG, "problem enabling bandwidth controls", e);
} }
} else { } else {
Slog.d(TAG, "not enabling bandwidth control"); Slog.i(TAG, "not enabling bandwidth control");
} }
SystemProperties.set(PROP_QTAGUID_ENABLED, mBandwidthControlEnabled ? "1" : "0"); SystemProperties.set(PROP_QTAGUID_ENABLED, mBandwidthControlEnabled ? "1" : "0");
@@ -550,7 +551,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
synchronized (mQuotaLock) { synchronized (mQuotaLock) {
int size = mActiveQuotas.size(); int size = mActiveQuotas.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active quota rules"); if (DBG) Slog.d(TAG, "Pushing " + size + " active quota rules");
final HashMap<String, Long> activeQuotas = mActiveQuotas; final HashMap<String, Long> activeQuotas = mActiveQuotas;
mActiveQuotas = Maps.newHashMap(); mActiveQuotas = Maps.newHashMap();
for (Map.Entry<String, Long> entry : activeQuotas.entrySet()) { for (Map.Entry<String, Long> entry : activeQuotas.entrySet()) {
@@ -560,7 +561,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
size = mActiveAlerts.size(); size = mActiveAlerts.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active alert rules"); if (DBG) Slog.d(TAG, "Pushing " + size + " active alert rules");
final HashMap<String, Long> activeAlerts = mActiveAlerts; final HashMap<String, Long> activeAlerts = mActiveAlerts;
mActiveAlerts = Maps.newHashMap(); mActiveAlerts = Maps.newHashMap();
for (Map.Entry<String, Long> entry : activeAlerts.entrySet()) { for (Map.Entry<String, Long> entry : activeAlerts.entrySet()) {
@@ -570,7 +571,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
size = mUidRejectOnQuota.size(); size = mUidRejectOnQuota.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active UID rules"); if (DBG) Slog.d(TAG, "Pushing " + size + " active UID rules");
final SparseBooleanArray uidRejectOnQuota = mUidRejectOnQuota; final SparseBooleanArray uidRejectOnQuota = mUidRejectOnQuota;
mUidRejectOnQuota = new SparseBooleanArray(); mUidRejectOnQuota = new SparseBooleanArray();
for (int i = 0; i < uidRejectOnQuota.size(); i++) { for (int i = 0; i < uidRejectOnQuota.size(); i++) {
@@ -580,7 +581,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
size = mUidCleartextPolicy.size(); size = mUidCleartextPolicy.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active UID cleartext policies"); if (DBG) Slog.d(TAG, "Pushing " + size + " active UID cleartext policies");
final SparseIntArray local = mUidCleartextPolicy; final SparseIntArray local = mUidCleartextPolicy;
mUidCleartextPolicy = new SparseIntArray(); mUidCleartextPolicy = new SparseIntArray();
for (int i = 0; i < local.size(); i++) { for (int i = 0; i < local.size(); i++) {
@@ -592,7 +593,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
size = mUidFirewallRules.size(); size = mUidFirewallRules.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active firewall UID rules"); if (DBG) Slog.d(TAG, "Pushing " + size + " active firewall UID rules");
final SparseIntArray uidFirewallRules = mUidFirewallRules; final SparseIntArray uidFirewallRules = mUidFirewallRules;
mUidFirewallRules = new SparseIntArray(); mUidFirewallRules = new SparseIntArray();
for (int i = 0; i < uidFirewallRules.size(); i++) { for (int i = 0; i < uidFirewallRules.size(); i++) {
@@ -603,7 +604,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
size = mUidFirewallStandbyRules.size(); size = mUidFirewallStandbyRules.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active firewall standby UID rules"); if (DBG) Slog.d(TAG, "Pushing " + size + " active firewall standby UID rules");
final SparseIntArray uidFirewallRules = mUidFirewallStandbyRules; final SparseIntArray uidFirewallRules = mUidFirewallStandbyRules;
mUidFirewallStandbyRules = new SparseIntArray(); mUidFirewallStandbyRules = new SparseIntArray();
for (int i = 0; i < uidFirewallRules.size(); i++) { for (int i = 0; i < uidFirewallRules.size(); i++) {
@@ -617,7 +618,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
size = mUidFirewallDozableRules.size(); size = mUidFirewallDozableRules.size();
if (size > 0) { if (size > 0) {
Slog.d(TAG, "Pushing " + size + " active firewall dozable UID rules"); if (DBG) Slog.d(TAG, "Pushing " + size + " active firewall dozable UID rules");
final SparseIntArray uidFirewallRules = mUidFirewallDozableRules; final SparseIntArray uidFirewallRules = mUidFirewallDozableRules;
mUidFirewallDozableRules = new SparseIntArray(); mUidFirewallDozableRules = new SparseIntArray();
for (int i = 0; i < uidFirewallRules.size(); i++) { for (int i = 0; i < uidFirewallRules.size(); i++) {
@@ -654,8 +655,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).addressUpdated(iface, address); mObservers.getBroadcastItem(i).addressUpdated(iface, address);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -672,8 +672,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mObservers.getBroadcastItem(i).addressRemoved(iface, address); mObservers.getBroadcastItem(i).addressRemoved(iface, address);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -691,8 +690,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
try { try {
mObservers.getBroadcastItem(i).interfaceDnsServerInfo(iface, lifetime, mObservers.getBroadcastItem(i).interfaceDnsServerInfo(iface, lifetime,
addresses); addresses);
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -713,8 +711,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
} else { } else {
mObservers.getBroadcastItem(i).routeRemoved(route); mObservers.getBroadcastItem(i).routeRemoved(route);
} }
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {
@@ -1231,7 +1228,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
// TODO: remove from aidl if nobody calls externally // TODO: remove from aidl if nobody calls externally
mContext.enforceCallingOrSelfPermission(SHUTDOWN, TAG); mContext.enforceCallingOrSelfPermission(SHUTDOWN, TAG);
Slog.d(TAG, "Shutting down"); Slog.i(TAG, "Shutting down");
} }
@Override @Override
@@ -2255,8 +2252,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
try { try {
mNetworkActivityListeners.getBroadcastItem(i).onNetworkActive(); mNetworkActivityListeners.getBroadcastItem(i).onNetworkActive();
} catch (RemoteException e) { } catch (RemoteException | RuntimeException e) {
} catch (RuntimeException e) {
} }
} }
} finally { } finally {

View File

@@ -69,6 +69,7 @@ import static android.net.wifi.WifiManager.EXTRA_NETWORK_INFO;
import static android.net.wifi.WifiManager.EXTRA_WIFI_CONFIGURATION; import static android.net.wifi.WifiManager.EXTRA_WIFI_CONFIGURATION;
import static android.net.wifi.WifiManager.EXTRA_WIFI_INFO; import static android.net.wifi.WifiManager.EXTRA_WIFI_INFO;
import static android.text.format.DateUtils.DAY_IN_MILLIS; import static android.text.format.DateUtils.DAY_IN_MILLIS;
import static com.android.internal.util.ArrayUtils.appendInt; import static com.android.internal.util.ArrayUtils.appendInt;
import static com.android.internal.util.Preconditions.checkNotNull; import static com.android.internal.util.Preconditions.checkNotNull;
import static com.android.internal.util.XmlUtils.readBooleanAttribute; import static com.android.internal.util.XmlUtils.readBooleanAttribute;
@@ -1245,8 +1246,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
} }
if (LOGD) { if (LOGD) {
Slog.d(TAG, "applying policy " + policy.toString() + " to ifaces " Slog.d(TAG, "applying policy " + policy + " to ifaces " + Arrays.toString(ifaces));
+ Arrays.toString(ifaces));
} }
final boolean hasWarning = policy.warningBytes != LIMIT_DISABLED; final boolean hasWarning = policy.warningBytes != LIMIT_DISABLED;
@@ -2473,6 +2473,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
* {@link #mRestrictPower}, or {@link #mDeviceIdleMode} value. * {@link #mRestrictPower}, or {@link #mDeviceIdleMode} value.
*/ */
void updateRulesForGlobalChangeLocked(boolean restrictedNetworksChanged) { void updateRulesForGlobalChangeLocked(boolean restrictedNetworksChanged) {
long start;
if (LOGD) start = System.currentTimeMillis();
final PackageManager pm = mContext.getPackageManager(); final PackageManager pm = mContext.getPackageManager();
updateRulesForDeviceIdleLocked(); updateRulesForDeviceIdleLocked();
@@ -2485,8 +2488,12 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS
| PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE); | PackageManager.MATCH_ENCRYPTION_AWARE_AND_UNAWARE);
for (UserInfo user : users) { final int usersSize = users.size();
for (ApplicationInfo app : apps) { final int appsSize = apps.size();
for (int i = 0; i < usersSize; i++) {
final UserInfo user = users.get(i);
for (int j = 0; j < appsSize; j++) {
final ApplicationInfo app = apps.get(j);
final int uid = UserHandle.getUid(user.id, app.uid); final int uid = UserHandle.getUid(user.id, app.uid);
updateRulesForUidLocked(uid); updateRulesForUidLocked(uid);
} }
@@ -2501,13 +2508,19 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
normalizePoliciesLocked(); normalizePoliciesLocked();
updateNetworkRulesLocked(); updateNetworkRulesLocked();
} }
if (LOGD) {
final long delta = System.currentTimeMillis() - start;
Slog.d(TAG, "updateRulesForGlobalChangeLocked(" + restrictedNetworksChanged + ") took "
+ delta + "ms");
}
} }
void updateRulesForTempWhitelistChangeLocked() { void updateRulesForTempWhitelistChangeLocked() {
final List<UserInfo> users = mUserManager.getUsers(); final List<UserInfo> users = mUserManager.getUsers();
for (UserInfo user : users) { for (int i = 0; i < users.size(); i++) {
for (int i = mPowerSaveTempWhitelistAppIds.size() - 1; i >= 0; i--) { final UserInfo user = users.get(i);
int appId = mPowerSaveTempWhitelistAppIds.keyAt(i); for (int j = mPowerSaveTempWhitelistAppIds.size() - 1; j >= 0; i--) {
int appId = mPowerSaveTempWhitelistAppIds.keyAt(j);
int uid = UserHandle.getUid(user.id, appId); int uid = UserHandle.getUid(user.id, appId);
updateRuleForAppIdleLocked(uid); updateRuleForAppIdleLocked(uid);
updateRuleForDeviceIdleLocked(uid); updateRuleForDeviceIdleLocked(uid);