Assert whitelists are revoked on uninstall.

BUG: 28616418
Change-Id: I909fd4c6024afe5b42560090c6e2f11b43c220de
diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java
index d760475..60c2b9b 100644
--- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java
+++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java
@@ -73,7 +73,11 @@
         addRestrictBackgroundWhitelist(mUid);
         assertRestrictBackgroundChangedReceived(2);
         assertRestrictBackgroundStatus(RESTRICT_BACKGROUND_STATUS_WHITELISTED);
-    }
+
+        removeRestrictBackgroundWhitelist(mUid);
+        assertRestrictBackgroundChangedReceived(3);
+        assertRestrictBackgroundStatus(RESTRICT_BACKGROUND_STATUS_ENABLED);
+   }
 
     public void testGetRestrictBackgroundStatus_enabled() throws Exception {
         setRestrictBackground(true);
diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java b/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
index 435e201..ece09c8 100644
--- a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
+++ b/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
@@ -60,15 +60,17 @@
     }
 
     public void testDataSaverMode_reinstall() throws Exception {
-        final int oldUid = getUid(TEST_PKG);
-        testDataSaverMode_whitelisted();
+        final int oldUid = getUid(TEST_APP2_PKG);
 
-        uninstallPackage(TEST_PKG, true);
-        assertPackageUninstalled(TEST_PKG);
+        // Make sure whitelist is revoked when package is removed
+        addRestrictBackgroundWhitelist(oldUid);
+
+        uninstallPackage(TEST_APP2_PKG, true);
+        assertPackageUninstalled(TEST_APP2_PKG);
         assertRestrictBackgroundWhitelist(oldUid, false);
 
-        installPackage(TEST_APK);
-        final int newUid = getUid(TEST_PKG);
+        installPackage(TEST_APP2_APK);
+        final int newUid = getUid(TEST_APP2_PKG);
         assertRestrictBackgroundWhitelist(oldUid, false);
         assertRestrictBackgroundWhitelist(newUid, false);
     }
@@ -94,14 +96,14 @@
     }
 
     public void testBatterySaverMode_reinstall() throws Exception {
-        testBatterySaverMode_whitelisted();
+        addPowerSaveModeWhitelist(TEST_APP2_PKG);
 
-        uninstallPackage(TEST_PKG, true);
-        assertPackageUninstalled(TEST_PKG);
-        assertPowerSaveModeWhitelist(TEST_PKG, false);
+        uninstallPackage(TEST_APP2_PKG, true);
+        assertPackageUninstalled(TEST_APP2_PKG);
+        assertPowerSaveModeWhitelist(TEST_APP2_PKG, false);
 
-        installPackage(TEST_APK);
-        assertPowerSaveModeWhitelist(TEST_PKG, false);
+        installPackage(TEST_APP2_APK);
+        assertPowerSaveModeWhitelist(TEST_APP2_PKG, false);
     }
 
     public void testBatterySaverModeNonMetered_disabled() throws Exception {
@@ -160,4 +162,17 @@
         fail("Command '" + command + "' did not return '" + expectedResult + "' after " + maxTries
                 + " attempts");
     }
+
+    protected void addRestrictBackgroundWhitelist(int uid) throws Exception {
+        runCommand("cmd netpolicy add restrict-background-whitelist " + uid);
+        assertRestrictBackgroundWhitelist(uid, true);
+    }
+
+    private void addPowerSaveModeWhitelist(String packageName) throws Exception {
+        Log.i(TAG, "Adding package " + packageName + " to power-save-mode whitelist");
+        // TODO: currently the power-save mode is behaving like idle, but once it changes, we'll
+        // need to use netpolicy for whitelisting
+        runCommand("dumpsys deviceidle whitelist +" + packageName);
+        assertPowerSaveModeWhitelist(packageName, true); // Sanity check
+    }
 }