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();