Loading services/core/java/com/android/server/NetworkManagementService.java +99 −65 Original line number Diff line number Diff line Loading @@ -153,7 +153,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private NativeDaemonConnector mConnector; private final Handler mMainHandler = new Handler(); private final Handler mFgHandler; private IBatteryStats mBatteryStats; Loading Loading @@ -203,6 +203,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub private NetworkManagementService(Context context, String socket) { mContext = context; // make sure this is on the same looper as our NativeDaemonConnector for sync purposes mFgHandler = new Handler(FgThread.get().getLooper()); if ("simulator".equals(SystemProperties.get("ro.product.device"))) { return; } Loading Loading @@ -271,6 +274,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private void notifyInterfaceStatusChanged(String iface, boolean up) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceStatusChanged(iface, up); Loading @@ -278,8 +282,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of an interface link state change Loading @@ -287,6 +293,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private void notifyInterfaceLinkStateChanged(String iface, boolean up) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceLinkStateChanged(iface, up); Loading @@ -294,14 +301,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of an interface addition. */ private void notifyInterfaceAdded(String iface) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceAdded(iface); Loading @@ -309,8 +319,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of an interface removal. Loading @@ -322,6 +334,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub mActiveQuotas.remove(iface); final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceRemoved(iface); Loading @@ -329,14 +342,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of a limit reached. */ private void notifyLimitReached(String limitName, String iface) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).limitReached(limitName, iface); Loading @@ -344,8 +360,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of a change in the data activity state of the interface Loading @@ -357,6 +375,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub } final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceClassDataActivityChanged( Loading @@ -365,7 +384,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } boolean report = false; synchronized (mIdleTimerLock) { Loading Loading @@ -456,6 +477,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private void notifyAddressUpdated(String iface, LinkAddress address) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).addressUpdated(iface, address); Loading @@ -463,14 +485,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of a deleted interface address. */ private void notifyAddressRemoved(String iface, LinkAddress address) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).addressRemoved(iface, address); Loading @@ -478,23 +503,29 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of DNS server information received. */ private void notifyInterfaceDnsServerInfo(String iface, long lifetime, String[] addresses) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceDnsServerInfo(iface, lifetime, addresses); mObservers.getBroadcastItem(i).interfaceDnsServerInfo(iface, lifetime, addresses); } catch (RemoteException e) { } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } // // Netd Callback handling Loading @@ -509,7 +540,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub mConnectedSignal.countDown(); mConnectedSignal = null; } else { mMainHandler.post(new Runnable() { mFgHandler.post(new Runnable() { @Override public void run() { prepareNativeDaemon(); Loading Loading @@ -1270,7 +1301,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub if (ConnectivityManager.isNetworkTypeMobile(type)) { mNetworkActive = false; } mMainHandler.post(new Runnable() { mFgHandler.post(new Runnable() { @Override public void run() { notifyInterfaceClassActivity(type, true, SystemClock.elapsedRealtimeNanos()); } Loading @@ -1297,7 +1328,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub throw e.rethrowAsParcelableException(); } mActiveIdleTimers.remove(iface); mMainHandler.post(new Runnable() { mFgHandler.post(new Runnable() { @Override public void run() { notifyInterfaceClassActivity(params.type, false, SystemClock.elapsedRealtimeNanos()); Loading Loading @@ -1880,6 +1911,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub private void reportNetworkActive() { final int length = mNetworkActivityListeners.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mNetworkActivityListeners.getBroadcastItem(i).onNetworkActive(); Loading @@ -1887,8 +1919,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mNetworkActivityListeners.finishBroadcast(); } } /** {@inheritDoc} */ @Override Loading Loading
services/core/java/com/android/server/NetworkManagementService.java +99 −65 Original line number Diff line number Diff line Loading @@ -153,7 +153,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private NativeDaemonConnector mConnector; private final Handler mMainHandler = new Handler(); private final Handler mFgHandler; private IBatteryStats mBatteryStats; Loading Loading @@ -203,6 +203,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub private NetworkManagementService(Context context, String socket) { mContext = context; // make sure this is on the same looper as our NativeDaemonConnector for sync purposes mFgHandler = new Handler(FgThread.get().getLooper()); if ("simulator".equals(SystemProperties.get("ro.product.device"))) { return; } Loading Loading @@ -271,6 +274,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private void notifyInterfaceStatusChanged(String iface, boolean up) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceStatusChanged(iface, up); Loading @@ -278,8 +282,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of an interface link state change Loading @@ -287,6 +293,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private void notifyInterfaceLinkStateChanged(String iface, boolean up) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceLinkStateChanged(iface, up); Loading @@ -294,14 +301,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of an interface addition. */ private void notifyInterfaceAdded(String iface) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceAdded(iface); Loading @@ -309,8 +319,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of an interface removal. Loading @@ -322,6 +334,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub mActiveQuotas.remove(iface); final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceRemoved(iface); Loading @@ -329,14 +342,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of a limit reached. */ private void notifyLimitReached(String limitName, String iface) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).limitReached(limitName, iface); Loading @@ -344,8 +360,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of a change in the data activity state of the interface Loading @@ -357,6 +375,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub } final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceClassDataActivityChanged( Loading @@ -365,7 +384,9 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } boolean report = false; synchronized (mIdleTimerLock) { Loading Loading @@ -456,6 +477,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub */ private void notifyAddressUpdated(String iface, LinkAddress address) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).addressUpdated(iface, address); Loading @@ -463,14 +485,17 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of a deleted interface address. */ private void notifyAddressRemoved(String iface, LinkAddress address) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).addressRemoved(iface, address); Loading @@ -478,23 +503,29 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } /** * Notify our observers of DNS server information received. */ private void notifyInterfaceDnsServerInfo(String iface, long lifetime, String[] addresses) { final int length = mObservers.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mObservers.getBroadcastItem(i).interfaceDnsServerInfo(iface, lifetime, addresses); mObservers.getBroadcastItem(i).interfaceDnsServerInfo(iface, lifetime, addresses); } catch (RemoteException e) { } catch (RuntimeException e) { } } } finally { mObservers.finishBroadcast(); } } // // Netd Callback handling Loading @@ -509,7 +540,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub mConnectedSignal.countDown(); mConnectedSignal = null; } else { mMainHandler.post(new Runnable() { mFgHandler.post(new Runnable() { @Override public void run() { prepareNativeDaemon(); Loading Loading @@ -1270,7 +1301,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub if (ConnectivityManager.isNetworkTypeMobile(type)) { mNetworkActive = false; } mMainHandler.post(new Runnable() { mFgHandler.post(new Runnable() { @Override public void run() { notifyInterfaceClassActivity(type, true, SystemClock.elapsedRealtimeNanos()); } Loading @@ -1297,7 +1328,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub throw e.rethrowAsParcelableException(); } mActiveIdleTimers.remove(iface); mMainHandler.post(new Runnable() { mFgHandler.post(new Runnable() { @Override public void run() { notifyInterfaceClassActivity(params.type, false, SystemClock.elapsedRealtimeNanos()); Loading Loading @@ -1880,6 +1911,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub private void reportNetworkActive() { final int length = mNetworkActivityListeners.beginBroadcast(); try { for (int i = 0; i < length; i++) { try { mNetworkActivityListeners.getBroadcastItem(i).onNetworkActive(); Loading @@ -1887,8 +1919,10 @@ public class NetworkManagementService extends INetworkManagementService.Stub } catch (RuntimeException e) { } } } finally { mNetworkActivityListeners.finishBroadcast(); } } /** {@inheritDoc} */ @Override Loading