Loading services/core/java/com/android/server/net/NetworkPolicyManagerService.java +12 −12 Original line number Diff line number Diff line Loading @@ -554,7 +554,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final Handler mHandler; @VisibleForTesting public final Handler mUidEventHandler; final Handler mUidEventHandler; private final ServiceThread mUidEventThread; Loading Loading @@ -1465,7 +1465,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public void updateNetworks() throws InterruptedException { void updateNetworks() throws InterruptedException { updateNetworksInternal(); final CountDownLatch latch = new CountDownLatch(1); mHandler.post(() -> { Loading Loading @@ -1510,7 +1510,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * @return cycleDay to use in the mobile NetworkPolicy. */ @VisibleForTesting public int getCycleDayFromCarrierConfig(@Nullable PersistableBundle config, int getCycleDayFromCarrierConfig(@Nullable PersistableBundle config, int fallbackCycleDay) { if (config == null) { return fallbackCycleDay; Loading Loading @@ -1542,7 +1542,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * @return warningBytes to use in the mobile NetworkPolicy. */ @VisibleForTesting public long getWarningBytesFromCarrierConfig(@Nullable PersistableBundle config, long getWarningBytesFromCarrierConfig(@Nullable PersistableBundle config, long fallbackWarningBytes) { if (config == null) { return fallbackWarningBytes; Loading Loading @@ -1575,7 +1575,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * @return limitBytes to use in the mobile NetworkPolicy. */ @VisibleForTesting public long getLimitBytesFromCarrierConfig(@Nullable PersistableBundle config, long getLimitBytesFromCarrierConfig(@Nullable PersistableBundle config, long fallbackLimitBytes) { if (config == null) { return fallbackLimitBytes; Loading Loading @@ -2039,7 +2039,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public NetworkPolicy buildDefaultMobilePolicy(int subId, String subscriberId) { NetworkPolicy buildDefaultMobilePolicy(int subId, String subscriberId) { final NetworkTemplate template = buildTemplateMobileAll(subscriberId); final RecurrenceRule cycleRule = NetworkPolicy .buildRule(ZonedDateTime.now().getDayOfMonth(), ZoneId.systemDefault()); Loading Loading @@ -3489,7 +3489,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public boolean isUidForeground(int uid) { boolean isUidForeground(int uid) { synchronized (mUidRulesFirstLock) { return isUidStateForeground( mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY)); Loading Loading @@ -3931,7 +3931,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * power saving restrictions may still apply. */ @VisibleForTesting public void setAppIdleWhitelist(int uid, boolean shouldWhitelist) { void setAppIdleWhitelist(int uid, boolean shouldWhitelist) { synchronized (mUidRulesFirstLock) { if (mAppIdleTempWhitelistAppIds.get(uid) == shouldWhitelist) { // No change. Loading @@ -3956,7 +3956,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { /** Return the list of UIDs currently in the app idle whitelist. */ @VisibleForTesting public int[] getAppIdleWhitelist() { int[] getAppIdleWhitelist() { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); synchronized (mUidRulesFirstLock) { Loading @@ -3971,7 +3971,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { /** Returns if the UID is currently considered idle. */ @VisibleForTesting public boolean isUidIdle(int uid) { boolean isUidIdle(int uid) { synchronized (mUidRulesFirstLock) { if (mAppIdleTempWhitelistAppIds.get(uid)) { // UID is temporarily whitelisted. Loading Loading @@ -4844,13 +4844,13 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public void addIdleHandler(IdleHandler handler) { void addIdleHandler(IdleHandler handler) { mHandler.getLooper().getQueue().addIdleHandler(handler); } @GuardedBy("mUidRulesFirstLock") @VisibleForTesting public void updateRestrictBackgroundByLowPowerModeUL(final PowerSaveState result) { void updateRestrictBackgroundByLowPowerModeUL(final PowerSaveState result) { mRestrictBackgroundPowerState = result; boolean restrictBackground = result.batterySaverEnabled; Loading services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java→services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +14 −26 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.server; package com.android.server.net; import static android.net.ConnectivityManager.CONNECTIVITY_ACTION; import static android.net.ConnectivityManager.TYPE_WIFI; Loading Loading @@ -72,7 +72,6 @@ import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doAnswer; Loading Loading @@ -142,9 +141,8 @@ import androidx.test.runner.AndroidJUnit4; import com.android.internal.telephony.PhoneConstants; import com.android.internal.util.test.BroadcastInterceptingContext; import com.android.internal.util.test.BroadcastInterceptingContext.FutureIntent; import com.android.server.net.NetworkPolicyManagerInternal; import com.android.server.net.NetworkPolicyManagerService; import com.android.server.net.NetworkStatsManagerInternal; import com.android.server.DeviceIdleController; import com.android.server.LocalServices; import com.google.common.util.concurrent.AbstractFuture; Loading Loading @@ -195,15 +193,6 @@ import java.util.stream.Collectors; /** * Tests for {@link NetworkPolicyManagerService}. * * <p>Typical usage: * * <pre><code> m -j32 FrameworksServicesTests && adb install -r -g \ ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk && \ adb shell am instrument -e class "com.android.server.NetworkPolicyManagerServiceTest" -w \ "com.android.frameworks.servicestests/androidx.test.runner.AndroidJUnitRunner" * </code></pre> */ @RunWith(AndroidJUnit4.class) @MediumTest Loading Loading @@ -376,7 +365,7 @@ public class NetworkPolicyManagerServiceTest { return null; } }).when(mActivityManager).registerUidObserver(any(), anyInt(), eq(NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE), isNull(String.class)); eq(NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE), any(String.class)); mFutureIntent = newRestrictBackgroundChangedFuture(); mService = new NetworkPolicyManagerService(mServiceContext, mActivityManager, Loading Loading @@ -1914,7 +1903,8 @@ public class NetworkPolicyManagerServiceTest { final String action = ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED; final Intent intent = future.get(5, TimeUnit.SECONDS); assertNotNull("Didn't get a " + action + "intent in 5 seconds"); assertEquals("Wrong package on " + action + " intent", expectedPackage, intent.getPackage()); assertEquals("Wrong package on " + action + " intent", expectedPackage, intent.getPackage()); } // TODO: replace by Truth, Hamcrest, or a similar tool. Loading Loading @@ -2036,8 +2026,8 @@ public class NetworkPolicyManagerServiceTest { final String assetPath = NETPOLICY_DIR + "/" + mNetpolicyXml; final File netConfigFile = new File(mPolicyDir, "netpolicy.xml"); Log.d(TAG, "Creating " + netConfigFile + " from asset " + assetPath); try (final InputStream in = context.getResources().getAssets().open(assetPath); final OutputStream out = new FileOutputStream(netConfigFile)) { try (InputStream in = context.getResources().getAssets().open(assetPath); OutputStream out = new FileOutputStream(netConfigFile)) { Streams.copy(in, out); } } Loading @@ -2049,9 +2039,7 @@ public class NetworkPolicyManagerServiceTest { @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface NetPolicyXml { public String value() default ""; String value() default ""; } /** Loading Loading
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +12 −12 Original line number Diff line number Diff line Loading @@ -554,7 +554,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final Handler mHandler; @VisibleForTesting public final Handler mUidEventHandler; final Handler mUidEventHandler; private final ServiceThread mUidEventThread; Loading Loading @@ -1465,7 +1465,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public void updateNetworks() throws InterruptedException { void updateNetworks() throws InterruptedException { updateNetworksInternal(); final CountDownLatch latch = new CountDownLatch(1); mHandler.post(() -> { Loading Loading @@ -1510,7 +1510,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * @return cycleDay to use in the mobile NetworkPolicy. */ @VisibleForTesting public int getCycleDayFromCarrierConfig(@Nullable PersistableBundle config, int getCycleDayFromCarrierConfig(@Nullable PersistableBundle config, int fallbackCycleDay) { if (config == null) { return fallbackCycleDay; Loading Loading @@ -1542,7 +1542,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * @return warningBytes to use in the mobile NetworkPolicy. */ @VisibleForTesting public long getWarningBytesFromCarrierConfig(@Nullable PersistableBundle config, long getWarningBytesFromCarrierConfig(@Nullable PersistableBundle config, long fallbackWarningBytes) { if (config == null) { return fallbackWarningBytes; Loading Loading @@ -1575,7 +1575,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * @return limitBytes to use in the mobile NetworkPolicy. */ @VisibleForTesting public long getLimitBytesFromCarrierConfig(@Nullable PersistableBundle config, long getLimitBytesFromCarrierConfig(@Nullable PersistableBundle config, long fallbackLimitBytes) { if (config == null) { return fallbackLimitBytes; Loading Loading @@ -2039,7 +2039,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public NetworkPolicy buildDefaultMobilePolicy(int subId, String subscriberId) { NetworkPolicy buildDefaultMobilePolicy(int subId, String subscriberId) { final NetworkTemplate template = buildTemplateMobileAll(subscriberId); final RecurrenceRule cycleRule = NetworkPolicy .buildRule(ZonedDateTime.now().getDayOfMonth(), ZoneId.systemDefault()); Loading Loading @@ -3489,7 +3489,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public boolean isUidForeground(int uid) { boolean isUidForeground(int uid) { synchronized (mUidRulesFirstLock) { return isUidStateForeground( mUidState.get(uid, ActivityManager.PROCESS_STATE_CACHED_EMPTY)); Loading Loading @@ -3931,7 +3931,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { * power saving restrictions may still apply. */ @VisibleForTesting public void setAppIdleWhitelist(int uid, boolean shouldWhitelist) { void setAppIdleWhitelist(int uid, boolean shouldWhitelist) { synchronized (mUidRulesFirstLock) { if (mAppIdleTempWhitelistAppIds.get(uid) == shouldWhitelist) { // No change. Loading @@ -3956,7 +3956,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { /** Return the list of UIDs currently in the app idle whitelist. */ @VisibleForTesting public int[] getAppIdleWhitelist() { int[] getAppIdleWhitelist() { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); synchronized (mUidRulesFirstLock) { Loading @@ -3971,7 +3971,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { /** Returns if the UID is currently considered idle. */ @VisibleForTesting public boolean isUidIdle(int uid) { boolean isUidIdle(int uid) { synchronized (mUidRulesFirstLock) { if (mAppIdleTempWhitelistAppIds.get(uid)) { // UID is temporarily whitelisted. Loading Loading @@ -4844,13 +4844,13 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { } @VisibleForTesting public void addIdleHandler(IdleHandler handler) { void addIdleHandler(IdleHandler handler) { mHandler.getLooper().getQueue().addIdleHandler(handler); } @GuardedBy("mUidRulesFirstLock") @VisibleForTesting public void updateRestrictBackgroundByLowPowerModeUL(final PowerSaveState result) { void updateRestrictBackgroundByLowPowerModeUL(final PowerSaveState result) { mRestrictBackgroundPowerState = result; boolean restrictBackground = result.batterySaverEnabled; Loading
services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java→services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +14 −26 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ * limitations under the License. */ package com.android.server; package com.android.server.net; import static android.net.ConnectivityManager.CONNECTIVITY_ACTION; import static android.net.ConnectivityManager.TYPE_WIFI; Loading Loading @@ -72,7 +72,6 @@ import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.isA; import static org.mockito.ArgumentMatchers.isNull; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doAnswer; Loading Loading @@ -142,9 +141,8 @@ import androidx.test.runner.AndroidJUnit4; import com.android.internal.telephony.PhoneConstants; import com.android.internal.util.test.BroadcastInterceptingContext; import com.android.internal.util.test.BroadcastInterceptingContext.FutureIntent; import com.android.server.net.NetworkPolicyManagerInternal; import com.android.server.net.NetworkPolicyManagerService; import com.android.server.net.NetworkStatsManagerInternal; import com.android.server.DeviceIdleController; import com.android.server.LocalServices; import com.google.common.util.concurrent.AbstractFuture; Loading Loading @@ -195,15 +193,6 @@ import java.util.stream.Collectors; /** * Tests for {@link NetworkPolicyManagerService}. * * <p>Typical usage: * * <pre><code> m -j32 FrameworksServicesTests && adb install -r -g \ ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk && \ adb shell am instrument -e class "com.android.server.NetworkPolicyManagerServiceTest" -w \ "com.android.frameworks.servicestests/androidx.test.runner.AndroidJUnitRunner" * </code></pre> */ @RunWith(AndroidJUnit4.class) @MediumTest Loading Loading @@ -376,7 +365,7 @@ public class NetworkPolicyManagerServiceTest { return null; } }).when(mActivityManager).registerUidObserver(any(), anyInt(), eq(NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE), isNull(String.class)); eq(NetworkPolicyManager.FOREGROUND_THRESHOLD_STATE), any(String.class)); mFutureIntent = newRestrictBackgroundChangedFuture(); mService = new NetworkPolicyManagerService(mServiceContext, mActivityManager, Loading Loading @@ -1914,7 +1903,8 @@ public class NetworkPolicyManagerServiceTest { final String action = ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED; final Intent intent = future.get(5, TimeUnit.SECONDS); assertNotNull("Didn't get a " + action + "intent in 5 seconds"); assertEquals("Wrong package on " + action + " intent", expectedPackage, intent.getPackage()); assertEquals("Wrong package on " + action + " intent", expectedPackage, intent.getPackage()); } // TODO: replace by Truth, Hamcrest, or a similar tool. Loading Loading @@ -2036,8 +2026,8 @@ public class NetworkPolicyManagerServiceTest { final String assetPath = NETPOLICY_DIR + "/" + mNetpolicyXml; final File netConfigFile = new File(mPolicyDir, "netpolicy.xml"); Log.d(TAG, "Creating " + netConfigFile + " from asset " + assetPath); try (final InputStream in = context.getResources().getAssets().open(assetPath); final OutputStream out = new FileOutputStream(netConfigFile)) { try (InputStream in = context.getResources().getAssets().open(assetPath); OutputStream out = new FileOutputStream(netConfigFile)) { Streams.copy(in, out); } } Loading @@ -2049,9 +2039,7 @@ public class NetworkPolicyManagerServiceTest { @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface NetPolicyXml { public String value() default ""; String value() default ""; } /** Loading