diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java index 11b861aef5aa3..cbea8bd9cda77 100644 --- a/core/java/android/net/NetworkPolicyManager.java +++ b/core/java/android/net/NetworkPolicyManager.java @@ -344,7 +344,7 @@ public class NetworkPolicyManager { return true; } - /* + /** * @hide */ public static String uidRulesToString(int uidRules) { @@ -357,4 +357,19 @@ public class NetworkPolicyManager { string.append(")"); return string.toString(); } + + /** + * @hide + */ + public static String uidPoliciesToString(int uidPolicies) { + final StringBuilder string = new StringBuilder().append(uidPolicies).append(" ("); + if (uidPolicies == POLICY_NONE) { + string.append("NONE"); + } else { + string.append(DebugUtils.flagsToString(NetworkPolicyManager.class, + "POLICY_", uidPolicies)); + } + string.append(")"); + return string.toString(); + } } diff --git a/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java b/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java index fc9c9d335467f..444a2540db64a 100644 --- a/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java +++ b/core/tests/coretests/src/android/net/NetworkPolicyManagerTest.java @@ -17,17 +17,26 @@ package android.net; import static android.net.NetworkPolicyManager.MASK_ALL_NETWORKS; import static android.net.NetworkPolicyManager.MASK_METERED_NETWORKS; +import static android.net.NetworkPolicyManager.POLICY_ALLOW_BACKGROUND_BATTERY_SAVE; +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 junit.framework.TestCase; +import static org.junit.Assert.assertEquals; -public class NetworkPolicyManagerTest extends TestCase { +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +@RunWith(JUnit4.class) +public class NetworkPolicyManagerTest { public void testUidRulesToString() { uidRulesToStringTest(RULE_NONE, "0 (NONE)"); @@ -56,6 +65,21 @@ public class NetworkPolicyManagerTest extends TestCase { assertEquals("Wrong string for uidRules " + uidRules, expected, actual); } + @Test + public void testUidPoliciesToString() { + uidPoliciesToStringTest(POLICY_NONE, "0 (NONE)"); + uidPoliciesToStringTest(POLICY_REJECT_METERED_BACKGROUND, + "1 (REJECT_METERED_BACKGROUND)"); + uidPoliciesToStringTest(POLICY_ALLOW_BACKGROUND_BATTERY_SAVE, + "2 (ALLOW_BACKGROUND_BATTERY_SAVE)"); + } + + private void uidPoliciesToStringTest(int policyRules, String expected) { + final String actual = uidPoliciesToString(policyRules); + assertEquals("Wrong string for policyRules " + policyRules, expected, actual); + } + + @Test public void testMeteredNetworksMask() { assertEquals(RULE_NONE, MASK_METERED_NETWORKS & RULE_NONE); @@ -82,6 +106,7 @@ public class NetworkPolicyManagerTest extends TestCase { & (RULE_REJECT_METERED | RULE_REJECT_ALL)); } + @Test public void testAllNetworksMask() { assertEquals(RULE_NONE, MASK_ALL_NETWORKS & RULE_NONE); diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 9ca609f8468a8..60fa4df8ae483 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -57,6 +57,7 @@ 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.computeLastCycleBoundary; +import static android.net.NetworkPolicyManager.uidPoliciesToString; import static android.net.NetworkPolicyManager.uidRulesToString; import static android.net.NetworkTemplate.MATCH_MOBILE_3G_LOWER; import static android.net.NetworkTemplate.MATCH_MOBILE_4G; @@ -152,7 +153,6 @@ import android.text.format.Time; import android.util.ArrayMap; import android.util.ArraySet; import android.util.AtomicFile; -import android.util.DebugUtils; import android.util.Log; import android.util.NtpTrustedTime; import android.util.Pair; @@ -2352,7 +2352,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { fout.print("UID="); fout.print(uid); fout.print(" policy="); - fout.print(DebugUtils.flagsToString(NetworkPolicyManager.class, "POLICY_", policy)); + fout.print(uidPoliciesToString(policy)); fout.println(); } fout.decreaseIndent();