Merge "DO NOT MERGE: Make CarUi alert dialog titles span multiple lines" into qt-car-dev
diff --git a/car-ui-lib/res/layout/car_ui_alert_dialog_title_with_subtitle.xml b/car-ui-lib/res/layout/car_ui_alert_dialog_title_with_subtitle.xml
index 3412610..f8d73c3 100644
--- a/car-ui-lib/res/layout/car_ui_alert_dialog_title_with_subtitle.xml
+++ b/car-ui-lib/res/layout/car_ui_alert_dialog_title_with_subtitle.xml
@@ -34,11 +34,9 @@
style="@style/Widget.CarUi.AlertDialog.TitleContainer">
<TextView
android:id="@+id/car_ui_alert_title"
- android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textAlignment="viewStart"
- style="?android:attr/windowTitleStyle" />
+ android:textAppearance="@style/TextAppearance.CarUi.AlertDialog.Title" />
<TextView
android:layout_width="match_parent"
diff --git a/car-ui-lib/res/values/dimens.xml b/car-ui-lib/res/values/dimens.xml
index a24a484..22f174d 100644
--- a/car-ui-lib/res/values/dimens.xml
+++ b/car-ui-lib/res/values/dimens.xml
@@ -39,6 +39,9 @@
<dimen name="car_ui_body1_size">32sp</dimen>
<dimen name="car_ui_body2_size">28sp</dimen>
<dimen name="car_ui_body3_size">24sp</dimen>
+ <dimen name="car_ui_sub1_size">22sp</dimen>
+ <dimen name="car_ui_sub2_size">20sp</dimen>
+ <dimen name="car_ui_sub3_size">18sp</dimen>
<!-- Tabs -->
diff --git a/car-ui-lib/res/values/styles.xml b/car-ui-lib/res/values/styles.xml
index b763c71..77dd80c 100644
--- a/car-ui-lib/res/values/styles.xml
+++ b/car-ui-lib/res/values/styles.xml
@@ -250,6 +250,18 @@
<item name="android:textSize">@dimen/car_ui_body3_size</item>
</style>
+ <style name="TextAppearance.CarUi.Sub1">
+ <item name="android:textSize">@dimen/car_ui_sub1_size</item>
+ </style>
+
+ <style name="TextAppearance.CarUi.Sub2">
+ <item name="android:textSize">@dimen/car_ui_sub2_size</item>
+ </style>
+
+ <style name="TextAppearance.CarUi.Sub3">
+ <item name="android:textSize">@dimen/car_ui_sub3_size</item>
+ </style>
+
<style name="TextAppearance.CarUi.PreferenceCategoryTitle">
<item name="android:fontFamily">@string/car_ui_preference_category_title_font_family</item>
<item name="android:textColor">@color/car_ui_preference_category_title_text_color</item>
@@ -271,9 +283,8 @@
<item name="android:textSize">@dimen/car_ui_preference_edit_text_dialog_message_text_size</item>
</style>
- <style name="TextAppearance.CarUi.AlertDialog.Subtitle" parent="android:TextAppearance.DeviceDefault">
- <item name="android:textAlignment">viewStart</item>
- </style>
+ <style name="TextAppearance.CarUi.AlertDialog.Title" parent="TextAppearance.CarUi.Body3"/>
+ <style name="TextAppearance.CarUi.AlertDialog.Subtitle" parent="TextAppearance.CarUi.Sub3"/>
<style name="TextAppearance.CarUi.Widget" parent="android:TextAppearance.DeviceDefault.Widget">
<item name="android:textAlignment">viewStart</item>
diff --git a/car-ui-lib/tests/apitest/current.xml b/car-ui-lib/tests/apitest/current.xml
index a37858e..b4ef872 100644
--- a/car-ui-lib/tests/apitest/current.xml
+++ b/car-ui-lib/tests/apitest/current.xml
@@ -127,6 +127,9 @@
<public type="dimen" name="car_ui_scrollbar_separator_margin"/>
<public type="dimen" name="car_ui_scrollbar_thumb_radius"/>
<public type="dimen" name="car_ui_scrollbar_thumb_width"/>
+ <public type="dimen" name="car_ui_sub1_size"/>
+ <public type="dimen" name="car_ui_sub2_size"/>
+ <public type="dimen" name="car_ui_sub3_size"/>
<public type="dimen" name="car_ui_toolbar_bottom_inset"/>
<public type="dimen" name="car_ui_toolbar_bottom_view_height"/>
<public type="dimen" name="car_ui_toolbar_end_inset"/>
@@ -224,6 +227,7 @@
<public type="style" name="PreferenceFragmentList.CarUi"/>
<public type="style" name="TextAppearance.CarUi"/>
<public type="style" name="TextAppearance.CarUi.AlertDialog.Subtitle"/>
+ <public type="style" name="TextAppearance.CarUi.AlertDialog.Title"/>
<public type="style" name="TextAppearance.CarUi.Body1"/>
<public type="style" name="TextAppearance.CarUi.Body2"/>
<public type="style" name="TextAppearance.CarUi.Body3"/>
@@ -234,6 +238,9 @@
<public type="style" name="TextAppearance.CarUi.PreferenceEditTextDialogMessage"/>
<public type="style" name="TextAppearance.CarUi.PreferenceSummary"/>
<public type="style" name="TextAppearance.CarUi.PreferenceTitle"/>
+ <public type="style" name="TextAppearance.CarUi.Sub1"/>
+ <public type="style" name="TextAppearance.CarUi.Sub2"/>
+ <public type="style" name="TextAppearance.CarUi.Sub3"/>
<public type="style" name="TextAppearance.CarUi.Widget"/>
<public type="style" name="TextAppearance.CarUi.Widget.Toolbar"/>
<public type="style" name="TextAppearance.CarUi.Widget.Toolbar.Tab"/>
diff --git a/car-ui-lib/tests/paintbooth/res/values/strings.xml b/car-ui-lib/tests/paintbooth/res/values/strings.xml
index feef714..470b416 100644
--- a/car-ui-lib/tests/paintbooth/res/values/strings.xml
+++ b/car-ui-lib/tests/paintbooth/res/values/strings.xml
@@ -248,6 +248,9 @@
<!-- Button that shows a dialog with a subtitle and icon [CHAR_LIMIT=50]-->
<string name="dialog_show_subtitle_and_icon">Show Dialog with title, subtitle, and icon</string>
+ <!-- Button that shows a dialog with a long title, subtitle and icon [CHAR_LIMIT=500]-->
+ <string name="dialog_show_long_subtitle_and_icon">Show Dialog with a long title, subtitle, and icon</string>
+
<!-- Text to show Dialog with single choice items-->
<string name="dialog_show_single_choice">Show with single choice items</string>
diff --git a/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/dialogs/DialogsActivity.java b/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/dialogs/DialogsActivity.java
index d85d74f..c9760ec 100644
--- a/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/dialogs/DialogsActivity.java
+++ b/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/dialogs/DialogsActivity.java
@@ -78,6 +78,8 @@
v -> showDialogWithSubtitle()));
mButtons.add(Pair.create(R.string.dialog_show_subtitle_and_icon,
v -> showDialogWithSubtitleAndIcon()));
+ mButtons.add(Pair.create(R.string.dialog_show_long_subtitle_and_icon,
+ v -> showDialogWithLongSubtitleAndIcon()));
mButtons.add(Pair.create(R.string.dialog_show_single_choice,
v -> showDialogWithSingleChoiceItems()));
mButtons.add(Pair.create(R.string.dialog_show_permission_dialog,
@@ -201,6 +203,17 @@
.show();
}
+ private void showDialogWithLongSubtitleAndIcon() {
+ new AlertDialogBuilder(this)
+ .setTitle("This is a very long title. It should likely span across "
+ + "multiple lines or something. It shouldn't get cut off.")
+ .setSubtitle("This is a very long subtitle. It should likely span across "
+ + "multiple lines or something. It shouldn't get cut off.")
+ .setMessage("My Message!")
+ .setIcon(R.drawable.ic_tracklist)
+ .show();
+ }
+
private void showPermissionDialog() {
if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "Permission already granted. Remove CAMERA permission from "