Merge "Code cleanup on NMPS and NMS." into nyc-dev
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user