Loading core/java/android/net/INetworkPolicyManager.aidl +0 −1 Original line number Diff line number Diff line Loading @@ -78,5 +78,4 @@ interface INetworkPolicyManager { boolean isUidNetworkingBlocked(int uid, boolean meteredNetwork); boolean isUidRestrictedOnMeteredNetworks(int uid); boolean checkUidNetworkingBlocked(int uid, int uidRules, boolean isNetworkMetered, boolean isBackgroundRestricted); } core/java/android/net/NetworkPolicyManager.java +0 −25 Original line number Diff line number Diff line Loading @@ -563,31 +563,6 @@ public class NetworkPolicyManager { } } /** * Figure out if networking is blocked for a given set of conditions. * * This is used by ConnectivityService via passing stale copies of conditions, so it must not * take any locks. * * @param uid The target uid. * @param uidRules The uid rules which are obtained from NetworkPolicyManagerService. * @param isNetworkMetered True if the network is metered. * @param isBackgroundRestricted True if data saver is enabled. * * @return true if networking is blocked for the UID under the specified conditions. * * @hide */ public boolean checkUidNetworkingBlocked(int uid, int uidRules, boolean isNetworkMetered, boolean isBackgroundRestricted) { try { return mService.checkUidNetworkingBlocked(uid, uidRules, isNetworkMetered, isBackgroundRestricted); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Check that the given uid is restricted from doing networking on metered networks. * Loading services/core/java/com/android/server/net/NetworkPolicyManagerService.java +0 −11 Original line number Diff line number Diff line Loading @@ -5580,17 +5580,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { return ret; } @Override public boolean checkUidNetworkingBlocked(int uid, int uidRules, boolean isNetworkMetered, boolean isBackgroundRestricted) { mContext.enforceCallingOrSelfPermission(OBSERVE_NETWORK_POLICY, TAG); // Log of invoking this function is disabled because it will be called very frequently. And // metrics are unlikely needed on this method because the callers are external and this // method doesn't take any locks or perform expensive operations. return isUidNetworkingBlockedInternal(uid, uidRules, isNetworkMetered, isBackgroundRestricted, null); } @Override public boolean isUidRestrictedOnMeteredNetworks(int uid) { mContext.enforceCallingOrSelfPermission(OBSERVE_NETWORK_POLICY, TAG); Loading services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +0 −70 Original line number Diff line number Diff line Loading @@ -33,12 +33,6 @@ import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT; import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_NONE; import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL; import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED; import static android.net.NetworkPolicyManager.RULE_NONE; import static android.net.NetworkPolicyManager.RULE_REJECT_ALL; import static android.net.NetworkPolicyManager.RULE_REJECT_METERED; import static android.net.NetworkPolicyManager.RULE_TEMPORARY_ALLOW_METERED; import static android.net.NetworkPolicyManager.uidPoliciesToString; import static android.net.NetworkPolicyManager.uidRulesToString; import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK; Loading @@ -49,7 +43,6 @@ import static android.net.NetworkStats.TAG_NONE; import static android.net.NetworkTemplate.buildTemplateMobileAll; import static android.net.NetworkTemplate.buildTemplateWifi; import static android.net.TrafficStats.MB_IN_BYTES; import static android.os.Process.SYSTEM_UID; import static android.telephony.CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED; import static android.telephony.CarrierConfigManager.DATA_CYCLE_THRESHOLD_DISABLED; import static android.telephony.CarrierConfigManager.DATA_CYCLE_USE_PLATFORM_DEFAULT; Loading Loading @@ -141,7 +134,6 @@ import android.text.TextUtils; import android.util.ArrayMap; import android.util.DataUnit; import android.util.Log; import android.util.Pair; import android.util.Range; import android.util.RecurrenceRule; Loading Loading @@ -1844,68 +1836,6 @@ public class NetworkPolicyManagerServiceTest { reset(mStatsService); } /** * Exhaustively test checkUidNetworkingBlocked to output the expected results based on external * conditions. */ @Test public void testCheckUidNetworkingBlocked() { final ArrayList<Pair<Boolean, Integer>> expectedBlockedStates = new ArrayList<>(); // Metered network. Data saver on. expectedBlockedStates.add(new Pair<>(true, RULE_NONE)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_TEMPORARY_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_METERED)); expectedBlockedStates.add(new Pair<>(true, RULE_ALLOW_ALL)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_ALL)); verifyNetworkBlockedState( true /* metered */, true /* backgroundRestricted */, expectedBlockedStates); expectedBlockedStates.clear(); // Metered network. Data saver off. expectedBlockedStates.add(new Pair<>(false, RULE_NONE)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_TEMPORARY_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_ALL)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_ALL)); verifyNetworkBlockedState( true /* metered */, false /* backgroundRestricted */, expectedBlockedStates); expectedBlockedStates.clear(); // Non-metered network. Data saver on. expectedBlockedStates.add(new Pair<>(false, RULE_NONE)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_TEMPORARY_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_REJECT_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_ALL)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_ALL)); verifyNetworkBlockedState( false /* metered */, true /* backgroundRestricted */, expectedBlockedStates); // Non-metered network. Data saver off. The result is the same as previous case since // the network is blocked only for RULE_REJECT_ALL regardless of data saver. verifyNetworkBlockedState( false /* metered */, false /* backgroundRestricted */, expectedBlockedStates); expectedBlockedStates.clear(); } private void verifyNetworkBlockedState(boolean metered, boolean backgroundRestricted, ArrayList<Pair<Boolean, Integer>> expectedBlockedStateForRules) { for (Pair<Boolean, Integer> pair : expectedBlockedStateForRules) { final boolean expectedResult = pair.first; final int rule = pair.second; assertEquals(formatBlockedStateError(UID_A, rule, metered, backgroundRestricted), expectedResult, mService.checkUidNetworkingBlocked(UID_A, rule, metered, backgroundRestricted)); assertFalse(formatBlockedStateError(SYSTEM_UID, rule, metered, backgroundRestricted), mService.checkUidNetworkingBlocked(SYSTEM_UID, rule, metered, backgroundRestricted)); } } private void enableRestrictedMode(boolean enable) throws Exception { mService.mRestrictedNetworkingMode = enable; mService.updateRestrictedModeAllowlistUL(); Loading Loading
core/java/android/net/INetworkPolicyManager.aidl +0 −1 Original line number Diff line number Diff line Loading @@ -78,5 +78,4 @@ interface INetworkPolicyManager { boolean isUidNetworkingBlocked(int uid, boolean meteredNetwork); boolean isUidRestrictedOnMeteredNetworks(int uid); boolean checkUidNetworkingBlocked(int uid, int uidRules, boolean isNetworkMetered, boolean isBackgroundRestricted); }
core/java/android/net/NetworkPolicyManager.java +0 −25 Original line number Diff line number Diff line Loading @@ -563,31 +563,6 @@ public class NetworkPolicyManager { } } /** * Figure out if networking is blocked for a given set of conditions. * * This is used by ConnectivityService via passing stale copies of conditions, so it must not * take any locks. * * @param uid The target uid. * @param uidRules The uid rules which are obtained from NetworkPolicyManagerService. * @param isNetworkMetered True if the network is metered. * @param isBackgroundRestricted True if data saver is enabled. * * @return true if networking is blocked for the UID under the specified conditions. * * @hide */ public boolean checkUidNetworkingBlocked(int uid, int uidRules, boolean isNetworkMetered, boolean isBackgroundRestricted) { try { return mService.checkUidNetworkingBlocked(uid, uidRules, isNetworkMetered, isBackgroundRestricted); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Check that the given uid is restricted from doing networking on metered networks. * Loading
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +0 −11 Original line number Diff line number Diff line Loading @@ -5580,17 +5580,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { return ret; } @Override public boolean checkUidNetworkingBlocked(int uid, int uidRules, boolean isNetworkMetered, boolean isBackgroundRestricted) { mContext.enforceCallingOrSelfPermission(OBSERVE_NETWORK_POLICY, TAG); // Log of invoking this function is disabled because it will be called very frequently. And // metrics are unlikely needed on this method because the callers are external and this // method doesn't take any locks or perform expensive operations. return isUidNetworkingBlockedInternal(uid, uidRules, isNetworkMetered, isBackgroundRestricted, null); } @Override public boolean isUidRestrictedOnMeteredNetworks(int uid) { mContext.enforceCallingOrSelfPermission(OBSERVE_NETWORK_POLICY, TAG); Loading
services/tests/servicestests/src/com/android/server/net/NetworkPolicyManagerServiceTest.java +0 −70 Original line number Diff line number Diff line Loading @@ -33,12 +33,6 @@ import static android.net.NetworkPolicyManager.FIREWALL_RULE_DEFAULT; import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_NONE; import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.RULE_ALLOW_ALL; import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED; import static android.net.NetworkPolicyManager.RULE_NONE; import static android.net.NetworkPolicyManager.RULE_REJECT_ALL; import static android.net.NetworkPolicyManager.RULE_REJECT_METERED; import static android.net.NetworkPolicyManager.RULE_TEMPORARY_ALLOW_METERED; import static android.net.NetworkPolicyManager.uidPoliciesToString; import static android.net.NetworkPolicyManager.uidRulesToString; import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK; Loading @@ -49,7 +43,6 @@ import static android.net.NetworkStats.TAG_NONE; import static android.net.NetworkTemplate.buildTemplateMobileAll; import static android.net.NetworkTemplate.buildTemplateWifi; import static android.net.TrafficStats.MB_IN_BYTES; import static android.os.Process.SYSTEM_UID; import static android.telephony.CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED; import static android.telephony.CarrierConfigManager.DATA_CYCLE_THRESHOLD_DISABLED; import static android.telephony.CarrierConfigManager.DATA_CYCLE_USE_PLATFORM_DEFAULT; Loading Loading @@ -141,7 +134,6 @@ import android.text.TextUtils; import android.util.ArrayMap; import android.util.DataUnit; import android.util.Log; import android.util.Pair; import android.util.Range; import android.util.RecurrenceRule; Loading Loading @@ -1844,68 +1836,6 @@ public class NetworkPolicyManagerServiceTest { reset(mStatsService); } /** * Exhaustively test checkUidNetworkingBlocked to output the expected results based on external * conditions. */ @Test public void testCheckUidNetworkingBlocked() { final ArrayList<Pair<Boolean, Integer>> expectedBlockedStates = new ArrayList<>(); // Metered network. Data saver on. expectedBlockedStates.add(new Pair<>(true, RULE_NONE)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_TEMPORARY_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_METERED)); expectedBlockedStates.add(new Pair<>(true, RULE_ALLOW_ALL)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_ALL)); verifyNetworkBlockedState( true /* metered */, true /* backgroundRestricted */, expectedBlockedStates); expectedBlockedStates.clear(); // Metered network. Data saver off. expectedBlockedStates.add(new Pair<>(false, RULE_NONE)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_TEMPORARY_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_ALL)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_ALL)); verifyNetworkBlockedState( true /* metered */, false /* backgroundRestricted */, expectedBlockedStates); expectedBlockedStates.clear(); // Non-metered network. Data saver on. expectedBlockedStates.add(new Pair<>(false, RULE_NONE)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_TEMPORARY_ALLOW_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_REJECT_METERED)); expectedBlockedStates.add(new Pair<>(false, RULE_ALLOW_ALL)); expectedBlockedStates.add(new Pair<>(true, RULE_REJECT_ALL)); verifyNetworkBlockedState( false /* metered */, true /* backgroundRestricted */, expectedBlockedStates); // Non-metered network. Data saver off. The result is the same as previous case since // the network is blocked only for RULE_REJECT_ALL regardless of data saver. verifyNetworkBlockedState( false /* metered */, false /* backgroundRestricted */, expectedBlockedStates); expectedBlockedStates.clear(); } private void verifyNetworkBlockedState(boolean metered, boolean backgroundRestricted, ArrayList<Pair<Boolean, Integer>> expectedBlockedStateForRules) { for (Pair<Boolean, Integer> pair : expectedBlockedStateForRules) { final boolean expectedResult = pair.first; final int rule = pair.second; assertEquals(formatBlockedStateError(UID_A, rule, metered, backgroundRestricted), expectedResult, mService.checkUidNetworkingBlocked(UID_A, rule, metered, backgroundRestricted)); assertFalse(formatBlockedStateError(SYSTEM_UID, rule, metered, backgroundRestricted), mService.checkUidNetworkingBlocked(SYSTEM_UID, rule, metered, backgroundRestricted)); } } private void enableRestrictedMode(boolean enable) throws Exception { mService.mRestrictedNetworkingMode = enable; mService.updateRestrictedModeAllowlistUL(); Loading