Manage Microphone Permission in Microphone settings app

Test: https://android-build.corp.google.com/test_investigate/?invocationId=I37500010193462438&testResultId=TR27628905627243924&redirect=http://fusion2/9c3c605c-7d9a-435d-bdf7-7ebfb9b2f107

BUG: 298384458

Change-Id: I8e4f3f4b9097e5683c7b3fb1d8dd5133cb6b7740
diff --git a/libraries/app-helpers/interfaces/auto/src/android/platform/helpers/IAutoPrivacySettingsHelper.java b/libraries/app-helpers/interfaces/auto/src/android/platform/helpers/IAutoPrivacySettingsHelper.java
index 46afb0e..d52abe2 100644
--- a/libraries/app-helpers/interfaces/auto/src/android/platform/helpers/IAutoPrivacySettingsHelper.java
+++ b/libraries/app-helpers/interfaces/auto/src/android/platform/helpers/IAutoPrivacySettingsHelper.java
@@ -217,4 +217,11 @@
      * <p>To verify if Permission default status is Allow
      */
     boolean isAllowDefaultPermission();
+
+    /**
+     * Setup expectation: verify microphone manage permissions page
+     *
+     * <p>To verify if microphone manage permissions page is displayed
+     */
+    boolean verifyMicrophoneManagePermissionsPage();
 }
diff --git a/libraries/automotive-helpers/auto-default-config/resources/assets/defaultSpectatioConfig.json b/libraries/automotive-helpers/auto-default-config/resources/assets/defaultSpectatioConfig.json
index 47f8404..7197125 100644
--- a/libraries/automotive-helpers/auto-default-config/resources/assets/defaultSpectatioConfig.json
+++ b/libraries/automotive-helpers/auto-default-config/resources/assets/defaultSpectatioConfig.json
@@ -1669,6 +1669,10 @@
     "RECENT_PERMISSION_DECISIONS": {
       "TYPE": "TEXT",
       "VALUE": "Recent permission decisions"
+    },
+    "MICROPHONE_PERMISSIONS_PAGE": {
+      "TYPE": "TEXT",
+      "VALUE": "Apps with this permission can record audio"
     }
   },
   "WORKFLOWS": {
diff --git a/libraries/automotive-helpers/auto-default-config/src/android/platform/helpers/AutomotiveConfigConstants.java b/libraries/automotive-helpers/auto-default-config/src/android/platform/helpers/AutomotiveConfigConstants.java
index e797c90..6ce4b15 100644
--- a/libraries/automotive-helpers/auto-default-config/src/android/platform/helpers/AutomotiveConfigConstants.java
+++ b/libraries/automotive-helpers/auto-default-config/src/android/platform/helpers/AutomotiveConfigConstants.java
@@ -574,5 +574,5 @@
     public static final String CALENDAR_PERMISSION = "OPEN_CALENDAR_PERMISSION_PAGE";
     public static final String PRIVACY_CALENDAR = "PRIVACY_CALENDAR";
     public static final String RECENT_PERMISSION_DECISIONS = "RECENT_PERMISSION_DECISIONS";
-
+    public static final String MICROPHONE_PERMISSIONS_PAGE = "MICROPHONE_PERMISSIONS_PAGE";
 }
diff --git a/libraries/automotive-helpers/settings-app-helper/src/android/platform/helpers/SettingsPrivacyHelperImpl.java b/libraries/automotive-helpers/settings-app-helper/src/android/platform/helpers/SettingsPrivacyHelperImpl.java
index bb8e09f..28dea68 100644
--- a/libraries/automotive-helpers/settings-app-helper/src/android/platform/helpers/SettingsPrivacyHelperImpl.java
+++ b/libraries/automotive-helpers/settings-app-helper/src/android/platform/helpers/SettingsPrivacyHelperImpl.java
@@ -190,6 +190,16 @@
                         AutomotiveConfigConstants.MANAGE_MICRO_PHONE_PERMISSIONS);
         getSpectatioUiUtil().clickAndWait(manageMicroPhoneButton);
     }
+
+    /** {@inheritDoc} */
+    @Override
+    public boolean verifyMicrophoneManagePermissionsPage() {
+        getSpectatioUiUtil().wait5Seconds();
+        BySelector microphoneManagePermissionsSelector =
+                getUiElementFromConfig(AutomotiveConfigConstants.MICROPHONE_PERMISSIONS_PAGE);
+        return getSpectatioUiUtil().hasUiElement(microphoneManagePermissionsSelector);
+    }
+
     /** {@inheritDoc} */
     @Override
     public boolean isAccountAddedAutofill() {
diff --git a/tests/automotive/functional/settings/src/android/platform/tests/MicroPhoneSettingTest.java b/tests/automotive/functional/settings/src/android/platform/tests/MicroPhoneSettingTest.java
index 03b40b1..4bea7ea 100644
--- a/tests/automotive/functional/settings/src/android/platform/tests/MicroPhoneSettingTest.java
+++ b/tests/automotive/functional/settings/src/android/platform/tests/MicroPhoneSettingTest.java
@@ -60,6 +60,19 @@
                 mSettingHelper.get().checkMenuExists("Use microphone"));
     }
 
+    @Test
+    public void manageMicrophonePermissions() {
+        mSettingHelper.get().openSetting(SettingsConstants.PRIVACY_SETTINGS);
+        assertTrue(
+                "Privacy settings did not open",
+                mSettingHelper.get().checkMenuExists("Microphone"));
+        mSettingHelper.get().openMenuWith("MicroPhone");
+        mPrivacySettingsHelper.get().clickManageMicroPhonePermissions();
+        assertTrue(
+                "Microphone Permissions page is not displayed",
+                mPrivacySettingsHelper.get().verifyMicrophoneManagePermissionsPage());
+    }
+
     @After
     public void goBackToSettingsScreen() {
         mSettingHelper.get().goBackToSettingsScreen();