Fix playback control bar for RTL layouts.

- Fixes control bar button positions to always be ltr as specified by
its documentations and as required by convention. (consistent with phone)
- Updates to locale based text direction rather than content based.

Bug: 151276367
Bug: 150957534
Test: Manual

Change-Id: I92d1cc88ebeea719615e5c2b9d78c84d4923083f
diff --git a/car-apps-common/res/layout/control_bar.xml b/car-apps-common/res/layout/control_bar.xml
index d800565..a24038a 100644
--- a/car-apps-common/res/layout/control_bar.xml
+++ b/car-apps-common/res/layout/control_bar.xml
@@ -23,6 +23,7 @@
     <LinearLayout
         android:id="@+id/rows_container"
         android:orientation="vertical"
+        android:layoutDirection="ltr"
         android:layout_gravity="center"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
diff --git a/car-apps-common/res/layout/minimized_control_bar.xml b/car-apps-common/res/layout/minimized_control_bar.xml
index f91941c..814fe15 100644
--- a/car-apps-common/res/layout/minimized_control_bar.xml
+++ b/car-apps-common/res/layout/minimized_control_bar.xml
@@ -68,6 +68,9 @@
         app:layout_constraintStart_toStartOf="@+id/minimized_control_bar_title"
         app:layout_constraintEnd_toEndOf="@+id/minimized_control_bar_title"/>
 
+    <!-- Using a LinearLayout as a wrapper to be able to define layout constraints between the
+    parent (ConstraintLayout with locale based layout) and the child (LinearLayout with LTR
+    layout).  -->
     <LinearLayout
         android:id="@+id/minimized_control_buttons_wrapper"
         android:layout_width="wrap_content"
@@ -79,31 +82,38 @@
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintStart_toEndOf="@+id/minimized_control_bar_title"
         app:layout_constraintEnd_toEndOf="parent">
-        <include
-            android:id="@+id/minimized_control_bar_left_slot"
-            android:layout_width="@dimen/minimized_control_bar_button_size"
-            android:layout_height="@dimen/minimized_control_bar_button_size"
-            android:layout_marginEnd="@dimen/minimized_control_bar_button_padding"
-            android:layout_gravity="center_vertical"
-            android:layout_weight="1"
-            layout="@layout/control_bar_slot"/>
-        <include
-            android:id="@+id/minimized_control_bar_main_slot"
-            android:layout_width="@dimen/minimized_control_bar_button_size"
-            android:layout_height="@dimen/minimized_control_bar_button_size"
-            android:layout_gravity="center_vertical"
-            android:layout_weight="1"
-            layout="@layout/control_bar_slot"/>
-        <include
-            android:id="@+id/minimized_control_bar_right_slot"
-            android:layout_width="@dimen/minimized_control_bar_button_size"
-            android:layout_height="@dimen/minimized_control_bar_button_size"
-            android:layout_marginStart="@dimen/minimized_control_bar_button_padding"
-            android:layout_gravity="center_vertical"
-            android:layout_weight="1"
-            layout="@layout/control_bar_slot"/>
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal"
+            android:clipChildren="false"
+            android:layoutDirection="ltr"
+            android:layout_gravity="center_vertical">
+            <include
+                android:id="@+id/minimized_control_bar_left_slot"
+                android:layout_width="@dimen/minimized_control_bar_button_size"
+                android:layout_height="@dimen/minimized_control_bar_button_size"
+                android:layout_marginEnd="@dimen/minimized_control_bar_button_padding"
+                android:layout_gravity="center_vertical"
+                android:layout_weight="1"
+                layout="@layout/control_bar_slot"/>
+            <include
+                android:id="@+id/minimized_control_bar_main_slot"
+                android:layout_width="@dimen/minimized_control_bar_button_size"
+                android:layout_height="@dimen/minimized_control_bar_button_size"
+                android:layout_gravity="center_vertical"
+                android:layout_weight="1"
+                layout="@layout/control_bar_slot"/>
+            <include
+                android:id="@+id/minimized_control_bar_right_slot"
+                android:layout_width="@dimen/minimized_control_bar_button_size"
+                android:layout_height="@dimen/minimized_control_bar_button_size"
+                android:layout_marginStart="@dimen/minimized_control_bar_button_padding"
+                android:layout_gravity="center_vertical"
+                android:layout_weight="1"
+                layout="@layout/control_bar_slot"/>
+        </LinearLayout>
     </LinearLayout>
 
 
-
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/car-apps-common/res/values/styles.xml b/car-apps-common/res/values/styles.xml
index 28c3584..6983bdc 100644
--- a/car-apps-common/res/values/styles.xml
+++ b/car-apps-common/res/values/styles.xml
@@ -101,8 +101,12 @@
         <item name="android:letterSpacing">@dimen/letter_spacing_body3</item>
     </style>
 
-    <style name="MinimizedControlBarTitle" parent="TextAppearance.Body1"/>
-    <style name="MinimizedControlBarSubtitle" parent="TextAppearance.Body3"/>
+    <style name="MinimizedControlBarTitle" parent="TextAppearance.Body1">
+        <item name="android:textDirection">locale</item>
+    </style>
+    <style name="MinimizedControlBarSubtitle" parent="TextAppearance.Body3">
+        <item name="android:textDirection">locale</item>
+    </style>
 
     <!-- Styles for ControlBar -->
     <style name="ControlBar">
diff --git a/car-media-common/res/values/styles.xml b/car-media-common/res/values/styles.xml
index 972837d..5d00241 100644
--- a/car-media-common/res/values/styles.xml
+++ b/car-media-common/res/values/styles.xml
@@ -18,11 +18,13 @@
     <style name="PlaybackTitleStyle" parent="TextAppearance.Body1">
         <item name="android:singleLine">true</item>
         <item name="android:includeFontPadding">false</item>
+        <item name="android:textDirection">locale</item>
     </style>
 
     <style name="PlaybackSubtitleStyle" parent="TextAppearance.Body3">
         <item name="android:textColor">@color/secondary_text_color</item>
         <item name="android:singleLine">true</item>
         <item name="android:includeFontPadding">false</item>
+        <item name="android:textDirection">locale</item>
     </style>
 </resources>