p2p: clear persistent groups in setup and teardown

In group relevant tests, we need to ensure there is
no existing persistent group to interference tests.

Bug: 193594437
Test: atest CtsWifiTestCases
Change-Id: I44aa771ff675c1ad8c868f63ec46e7ab6a6ee94e
diff --git a/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java b/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java
index 6b22913..188c2a9 100644
--- a/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java
+++ b/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java
@@ -201,6 +201,9 @@
             super.tearDown();
             return;
         }
+        if (null != mWifiP2pManager) {
+            removeAllPersistentGroups();
+        }
         mContext.unregisterReceiver(mReceiver);
 
         ShellIdentityUtils.invokeWithShellPermissions(
@@ -304,6 +307,24 @@
         cm.unregisterNetworkCallback(networkCallback);
     }
 
+    private void removeAllPersistentGroups() {
+        WifiP2pGroupList persistentGroups = getPersistentGroups();
+        assertNotNull(persistentGroups);
+        for (WifiP2pGroup group: persistentGroups.getGroupList()) {
+            resetResponse(mMyResponse);
+            ShellIdentityUtils.invokeWithShellPermissions(() -> {
+                mWifiP2pManager.deletePersistentGroup(mWifiP2pChannel,
+                        group.getNetworkId(),
+                        mActionListener);
+                assertTrue(waitForServiceResponse(mMyResponse));
+                assertTrue(mMyResponse.success);
+            });
+        }
+        persistentGroups = getPersistentGroups();
+        assertNotNull(persistentGroups);
+        assertEquals(0, persistentGroups.getGroupList().size());
+    }
+
     private boolean setupWifiP2p() {
         // Cannot support p2p alone
         if (!WifiFeature.isWifiSupported(getContext())) {
@@ -348,6 +369,7 @@
 
         assertEquals(WifiManager.WIFI_STATE_ENABLED, mMySync.expectedWifiState);
         assertEquals(WifiP2pManager.WIFI_P2P_STATE_ENABLED, mMySync.expectedP2pState);
+        removeAllPersistentGroups();
 
         return true;
     }