ThemePicker: Unify font/icon label sizes and scroll the text

consistency is key, longer labels made spacing look weird, this way it's always the same length

Change-Id: Ib52e022a1e0f6f2627477493e87e6c0607455d36
diff --git a/res/layout/theme_font_option.xml b/res/layout/theme_font_option.xml
index df03df6..583ddde 100644
--- a/res/layout/theme_font_option.xml
+++ b/res/layout/theme_font_option.xml
@@ -41,10 +41,14 @@
 
     <TextView
         android:id="@+id/option_label"
-        android:layout_width="wrap_content"
+        android:layout_width="@dimen/option_label_width"
         android:layout_height="24dp"
         android:layout_gravity="center_horizontal"
         android:layout_marginTop="@dimen/theme_option_label_margin"
         android:gravity="center"
-        android:textAppearance="@style/OptionTitleTextAppearance" />
+        android:textAppearance="@style/OptionTitleTextAppearance"
+        android:singleLine="true"
+        android:scrollHorizontally="true"
+        android:ellipsize="marquee"
+        android:marqueeRepeatLimit="marquee_forever"/>
 </LinearLayout>
diff --git a/res/layout/theme_icon_option.xml b/res/layout/theme_icon_option.xml
index 020ebc7..0c61372 100644
--- a/res/layout/theme_icon_option.xml
+++ b/res/layout/theme_icon_option.xml
@@ -38,10 +38,14 @@
 
     <TextView
         android:id="@+id/option_label"
-        android:layout_width="wrap_content"
+        android:layout_width="@dimen/option_label_width"
         android:layout_height="24dp"
         android:layout_gravity="center_horizontal"
         android:layout_marginTop="@dimen/theme_option_label_margin"
         android:gravity="center"
-        android:textAppearance="@style/OptionTitleTextAppearance" />
+        android:textAppearance="@style/OptionTitleTextAppearance"
+        android:singleLine="true"
+        android:scrollHorizontally="true"
+        android:ellipsize="marquee"
+        android:marqueeRepeatLimit="marquee_forever"/>
 </LinearLayout>
diff --git a/res/layout/theme_shape_option.xml b/res/layout/theme_shape_option.xml
index 61456f0..d28fee3 100644
--- a/res/layout/theme_shape_option.xml
+++ b/res/layout/theme_shape_option.xml
@@ -36,10 +36,14 @@
 
     <TextView
         android:id="@+id/option_label"
-        android:layout_width="wrap_content"
+        android:layout_width="@dimen/option_label_width"
         android:layout_height="24dp"
         android:layout_gravity="center_horizontal"
         android:layout_marginTop="@dimen/theme_option_label_margin"
         android:gravity="center"
-        android:textAppearance="@style/OptionTitleTextAppearance" />
+        android:textAppearance="@style/OptionTitleTextAppearance"
+        android:singleLine="true"
+        android:scrollHorizontally="true"
+        android:ellipsize="marquee"
+        android:marqueeRepeatLimit="marquee_forever"/>
 </LinearLayout>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 0ad221e..d5dbb00 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -33,6 +33,7 @@
     <dimen name="options_container_width">0dp</dimen>
     <dimen name="option_bottom_margin">8dp</dimen>
     <dimen name="option_padding_horizontal">2dp</dimen>
+    <dimen name="option_label_width">100dp</dimen>
     <dimen name="option_tile_width">82dp</dimen>
     <dimen name="option_tile_radius">20dp</dimen>
     <dimen name="option_tile_margin_horizontal">6dp</dimen>
diff --git a/src/com/android/customization/widget/OptionSelectorController.java b/src/com/android/customization/widget/OptionSelectorController.java
index 0467d9e..d76449d 100644
--- a/src/com/android/customization/widget/OptionSelectorController.java
+++ b/src/com/android/customization/widget/OptionSelectorController.java
@@ -199,6 +199,7 @@
                 }
                 if (holder.labelView != null) {
                     holder.labelView.setText(option.getTitle());
+                    holder.labelView.setSelected(true);
                 }
                 holder.itemView.setActivated(option.equals(mSelectedOption));
                 option.bindThumbnailTile(holder.tileView);