DO NOT MERGE: Allow removing the mandatory dismiss button on dialogs
Also remove it in the reference design.
Fixes: 171067302
Test: Manually
Change-Id: Idebc10388191551f2b77a5a1aa65c7cd72437dfd
diff --git a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/AlertDialogBuilder.java b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/AlertDialogBuilder.java
index a025e9e..6be0ade 100644
--- a/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/AlertDialogBuilder.java
+++ b/car-ui-lib/car-ui-lib/src/main/java/com/android/car/ui/AlertDialogBuilder.java
@@ -659,7 +659,8 @@
}
mBuilder.setCustomTitle(customTitle);
- if (!mNeutralButtonSet && !mNegativeButtonSet && !mPositiveButtonSet) {
+ if (mContext.getResources().getBoolean(R.bool.car_ui_alert_dialog_force_dismiss_button)
+ && !mNeutralButtonSet && !mNegativeButtonSet && !mPositiveButtonSet) {
String mDefaultButtonText = mContext.getString(
R.string.car_ui_alert_dialog_default_button);
mBuilder.setNegativeButton(mDefaultButtonText, (dialog, which) -> {
diff --git a/car-ui-lib/car-ui-lib/src/main/res-overlayable/values/overlayable.xml b/car-ui-lib/car-ui-lib/src/main/res-overlayable/values/overlayable.xml
index 91e2cf4..453db47 100644
--- a/car-ui-lib/car-ui-lib/src/main/res-overlayable/values/overlayable.xml
+++ b/car-ui-lib/car-ui-lib/src/main/res-overlayable/values/overlayable.xml
@@ -70,6 +70,7 @@
<item type="attr" name="layout_optimizationLevel"/>
<item type="attr" name="state_ux_restricted"/>
<item type="attr" name="title"/>
+ <item type="bool" name="car_ui_alert_dialog_force_dismiss_button"/>
<item type="bool" name="car_ui_clear_focus_area_history_when_rotating"/>
<item type="bool" name="car_ui_enable_focus_area_background_highlight"/>
<item type="bool" name="car_ui_enable_focus_area_foreground_highlight"/>
diff --git a/car-ui-lib/car-ui-lib/src/main/res/values/bools.xml b/car-ui-lib/car-ui-lib/src/main/res/values/bools.xml
index 67efdca..f53ee3f 100644
--- a/car-ui-lib/car-ui-lib/src/main/res/values/bools.xml
+++ b/car-ui-lib/car-ui-lib/src/main/res/values/bools.xml
@@ -63,4 +63,7 @@
<!-- Whether to log the escrow components check automatically for all the activities or not. -->
<bool name="car_ui_escrow_check_components_automatically">false</bool>
+
+ <!-- If there is no positive/negative/neutral button, should we add one that says "dismiss"? -->
+ <bool name="car_ui_alert_dialog_force_dismiss_button">true</bool>
</resources>
diff --git a/car-ui-lib/referencedesign/Android.mk b/car-ui-lib/referencedesign/Android.mk
index ac85df4..4956682 100644
--- a/car-ui-lib/referencedesign/Android.mk
+++ b/car-ui-lib/referencedesign/Android.mk
@@ -20,7 +20,6 @@
com.android.car.settings \
com.android.car.voicecontrol \
com.android.car.faceenroll \
- com.android.permissioncontroller \
com.android.settings.intelligence \
com.google.android.apps.automotive.inputmethod \
com.google.android.apps.automotive.inputmethod.dev \
@@ -42,6 +41,7 @@
com.google.android.embedded.projection \
com.google.android.gms \
com.google.android.packageinstaller \
+ com.google.android.permissioncontroller \
com.google.android.carassistant \
com.google.android.tts \
com.android.vending \
diff --git a/car-ui-lib/referencedesign/product.mk b/car-ui-lib/referencedesign/product.mk
index 92e0bea..50de382 100644
--- a/car-ui-lib/referencedesign/product.mk
+++ b/car-ui-lib/referencedesign/product.mk
@@ -17,7 +17,6 @@
googlecarui-com-android-car-settings \
googlecarui-com-android-car-voicecontrol \
googlecarui-com-android-car-faceenroll \
- googlecarui-com-android-permissioncontroller \
googlecarui-com-android-settings-intelligence \
googlecarui-com-google-android-apps-automotive-inputmethod \
googlecarui-com-google-android-apps-automotive-inputmethod-dev \
@@ -36,6 +35,7 @@
googlecarui-overlayable-com-google-android-embedded-projection \
googlecarui-overlayable-com-google-android-gms \
googlecarui-overlayable-com-google-android-packageinstaller \
+ googlecarui-overlayable-com-google-android-permissioncontroller \
googlecarui-overlayable-com-google-android-carassistant \
googlecarui-overlayable-com-google-android-tts \
googlecarui-overlayable-com-android-vending \
diff --git a/car-ui-lib/referencedesign/res/values/values.xml b/car-ui-lib/referencedesign/res/values/values.xml
index 0cbb8ee..4d34c7b 100644
--- a/car-ui-lib/referencedesign/res/values/values.xml
+++ b/car-ui-lib/referencedesign/res/values/values.xml
@@ -12,4 +12,6 @@
<dimen name="car_ui_toolbar_logo_size">44dp</dimen>
<dimen name="car_ui_toolbar_nav_icon_size">44dp</dimen>
+
+ <bool name="car_ui_alert_dialog_force_dismiss_button">false</bool>
</resources>
diff --git a/car-ui-lib/referencedesign/res/xml/overlays.xml b/car-ui-lib/referencedesign/res/xml/overlays.xml
index cc9b092..61e5fb4 100644
--- a/car-ui-lib/referencedesign/res/xml/overlays.xml
+++ b/car-ui-lib/referencedesign/res/xml/overlays.xml
@@ -49,6 +49,7 @@
<item target="bool/car_ui_toolbar_logo_fills_nav_icon_space" value="@bool/car_ui_toolbar_logo_fills_nav_icon_space" />
<item target="bool/car_ui_toolbar_tab_flexible_layout" value="@bool/car_ui_toolbar_tab_flexible_layout" />
<item target="bool/car_ui_toolbar_tabs_on_second_row" value="@bool/car_ui_toolbar_tabs_on_second_row" />
+ <item target="bool/car_ui_alert_dialog_force_dismiss_button" value="@bool/car_ui_alert_dialog_force_dismiss_button" />
<item target="id/car_ui_toolbar_background" value="@id/car_ui_toolbar_background" />
<item target="id/car_ui_toolbar_nav_icon_container" value="@id/car_ui_toolbar_nav_icon_container" />
diff --git a/car-ui-lib/tests/apitest/current.xml b/car-ui-lib/tests/apitest/current.xml
index 2c6553e..6abc24d 100644
--- a/car-ui-lib/tests/apitest/current.xml
+++ b/car-ui-lib/tests/apitest/current.xml
@@ -5,6 +5,7 @@
<public type="attr" name="carUiPreferenceStyle"/>
<public type="attr" name="carUiRecyclerViewStyle"/>
<public type="attr" name="state_ux_restricted"/>
+ <public type="bool" name="car_ui_alert_dialog_force_dismiss_button"/>
<public type="bool" name="car_ui_clear_focus_area_history_when_rotating"/>
<public type="bool" name="car_ui_enable_focus_area_background_highlight"/>
<public type="bool" name="car_ui_enable_focus_area_foreground_highlight"/>