Fix for bug #8146846 Phone App should be mirrored for RTL languages

- replace left/right properties with start/end ones (Dialer will never be unbundled)
- add mirrored version of some drawables
- update AndroidManifest

Change-Id: Ia7f5b6ad13dd75fe42f1ee763dda5ab18e2d92c7
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index eb05186..bde0775 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -48,7 +48,8 @@
     <application
         android:label="@string/applicationLabel"
         android:icon="@mipmap/ic_launcher_phone"
-        android:hardwareAccelerated="true">
+        android:hardwareAccelerated="true"
+        android:supportsRtl="true">
 
         <!-- The entrance point for Phone UI.
              stateAlwaysHidden is set to suppress keyboard show up on
diff --git a/res/drawable-ldrtl-hdpi/ic_ab_dialer_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_ab_dialer_holo_dark.png
new file mode 100644
index 0000000..bc3ebc7
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_ab_dialer_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_call_incoming_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_call_incoming_holo_dark.png
new file mode 100644
index 0000000..3b3fb46
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_call_incoming_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_call_missed_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_call_missed_holo_dark.png
new file mode 100644
index 0000000..844f351
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_call_missed_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_call_outgoing_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_call_outgoing_holo_dark.png
new file mode 100644
index 0000000..7861986
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_call_outgoing_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_dial_action_call.png b/res/drawable-ldrtl-hdpi/ic_dial_action_call.png
new file mode 100644
index 0000000..34c78ff
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_dial_action_call.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_sound_off_speakerphone_disabled_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_sound_off_speakerphone_disabled_holo_dark.png
new file mode 100644
index 0000000..90712b5
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_sound_off_speakerphone_disabled_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_sound_off_speakerphone_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_sound_off_speakerphone_holo_dark.png
new file mode 100644
index 0000000..d50d5b8
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_sound_off_speakerphone_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_sound_speakerphone_disabled_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_sound_speakerphone_disabled_holo_dark.png
new file mode 100644
index 0000000..b450641
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_sound_speakerphone_disabled_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_sound_speakerphone_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_sound_speakerphone_holo_dark.png
new file mode 100644
index 0000000..ab62399
--- /dev/null
+++ b/res/drawable-ldrtl-hdpi/ic_sound_speakerphone_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_dark.png
new file mode 100644
index 0000000..210690f
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_ab_dialer_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_call_incoming_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_call_incoming_holo_dark.png
new file mode 100644
index 0000000..b48e0d6
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_call_incoming_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_call_missed_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_call_missed_holo_dark.png
new file mode 100644
index 0000000..86bae10
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_call_missed_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_call_outgoing_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_call_outgoing_holo_dark.png
new file mode 100644
index 0000000..1429593
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_call_outgoing_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_dial_action_call.png b/res/drawable-ldrtl-mdpi/ic_dial_action_call.png
new file mode 100644
index 0000000..d1f00f1
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_dial_action_call.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_sound_off_speakerphone_disabled_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_sound_off_speakerphone_disabled_holo_dark.png
new file mode 100644
index 0000000..9daf083
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_sound_off_speakerphone_disabled_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_sound_off_speakerphone_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_sound_off_speakerphone_holo_dark.png
new file mode 100644
index 0000000..e8357c1
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_sound_off_speakerphone_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_sound_speakerphone_disabled_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_sound_speakerphone_disabled_holo_dark.png
new file mode 100644
index 0000000..8ba42f8
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_sound_speakerphone_disabled_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_sound_speakerphone_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_sound_speakerphone_holo_dark.png
new file mode 100644
index 0000000..0b7296d
--- /dev/null
+++ b/res/drawable-ldrtl-mdpi/ic_sound_speakerphone_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_dark.png
new file mode 100644
index 0000000..5c8e162
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_ab_dialer_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_call_incoming_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_call_incoming_holo_dark.png
new file mode 100644
index 0000000..dfb1792
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_call_incoming_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_call_missed_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_call_missed_holo_dark.png
new file mode 100644
index 0000000..a1236ed
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_call_missed_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_call_outgoing_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_call_outgoing_holo_dark.png
new file mode 100644
index 0000000..ec0e1d0
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_call_outgoing_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_dial_action_call.png b/res/drawable-ldrtl-xhdpi/ic_dial_action_call.png
new file mode 100644
index 0000000..e0d2688
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_dial_action_call.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_sound_off_speakerphone_disabled_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_sound_off_speakerphone_disabled_holo_dark.png
new file mode 100644
index 0000000..396c479
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_sound_off_speakerphone_disabled_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_sound_off_speakerphone_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_sound_off_speakerphone_holo_dark.png
new file mode 100644
index 0000000..ca080b2
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_sound_off_speakerphone_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_sound_speakerphone_disabled_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_sound_speakerphone_disabled_holo_dark.png
new file mode 100644
index 0000000..c809e8d
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_sound_speakerphone_disabled_holo_dark.png
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_sound_speakerphone_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_sound_speakerphone_holo_dark.png
new file mode 100644
index 0000000..f82a816
--- /dev/null
+++ b/res/drawable-ldrtl-xhdpi/ic_sound_speakerphone_holo_dark.png
Binary files differ
diff --git a/res/layout-land/dialpad_fragment.xml b/res/layout-land/dialpad_fragment.xml
index d1cf3a4..658a03b 100644
--- a/res/layout-land/dialpad_fragment.xml
+++ b/res/layout-land/dialpad_fragment.xml
@@ -17,7 +17,8 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/top"
     android:layout_width="match_parent"
-    android:layout_height="match_parent" >
+    android:layout_height="match_parent"
+    android:layoutDirection="ltr" >
 
     <LinearLayout
         android:layout_width="0dp"
diff --git a/res/layout/account_filter_header_for_phone_favorite.xml b/res/layout/account_filter_header_for_phone_favorite.xml
index d7afaac..b55210a 100644
--- a/res/layout/account_filter_header_for_phone_favorite.xml
+++ b/res/layout/account_filter_header_for_phone_favorite.xml
@@ -25,20 +25,20 @@
     android:layout_height="wrap_content"
     android:orientation="vertical"
     android:paddingTop="8dip"
-    android:layout_marginLeft="@dimen/contact_browser_list_header_left_margin"
-    android:layout_marginRight="@dimen/contact_browser_list_header_right_margin"
+    android:layout_marginStart="@dimen/contact_browser_list_header_left_margin"
+    android:layout_marginEnd="@dimen/contact_browser_list_header_right_margin"
     android:background="?android:attr/selectableItemBackground"
     android:visibility="gone">
     <TextView
         android:id="@+id/account_filter_header"
         style="@style/ContactListSeparatorTextViewStyle"
-        android:paddingLeft="@dimen/contact_browser_list_item_text_indent" />
+        android:paddingStart="@dimen/contact_browser_list_item_text_indent" />
     <TextView
         android:id="@+id/contact_list_all_empty"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textColor="?android:attr/textColorSecondary"
-        android:paddingLeft="8dip"
+        android:paddingStart="8dip"
         android:paddingTop="@dimen/contact_phone_list_empty_description_padding"
         android:paddingBottom="@dimen/contact_phone_list_empty_description_padding"
         android:textSize="@dimen/contact_phone_list_empty_description_size"
diff --git a/res/layout/call_detail.xml b/res/layout/call_detail.xml
index dc0417b..c25b4a9 100644
--- a/res/layout/call_detail.xml
+++ b/res/layout/call_detail.xml
@@ -31,7 +31,7 @@
         android:id="@+id/history"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
         android:layout_alignParentTop="true"
     />
 
@@ -40,14 +40,14 @@
         android:id="@+id/controls"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
         android:layout_alignParentTop="true"
     >
         <FrameLayout
             android:id="@+id/voicemail_status"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
             android:layout_alignParentTop="true"
             android:visibility="gone"
         >
@@ -59,7 +59,7 @@
             android:id="@+id/contact_background_sizer"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
             android:layout_below="@id/voicemail_status"
             ex:ratio="0.5"
             ex:direction="widthToHeight"
@@ -84,7 +84,7 @@
             android:layout_width="match_parent"
             android:layout_height="42dip"
             android:background="#7F000000"
-            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
             android:layout_alignBottom="@id/contact_background_sizer"
         />
         <ImageView
@@ -92,21 +92,21 @@
             android:layout_width="wrap_content"
             android:layout_height="0dip"
             android:scaleType="center"
-            android:layout_alignRight="@id/photo_text_bar"
+            android:layout_alignEnd="@id/photo_text_bar"
             android:layout_alignBottom="@id/photo_text_bar"
             android:layout_alignTop="@id/photo_text_bar"
-            android:layout_marginRight="@dimen/call_log_outer_margin"
+            android:layout_marginEnd="@dimen/call_log_outer_margin"
         />
         <TextView
             android:id="@+id/header_text"
             android:layout_width="wrap_content"
             android:layout_height="0dip"
-            android:layout_alignLeft="@id/photo_text_bar"
+            android:layout_alignStart="@id/photo_text_bar"
             android:layout_toLeftOf="@id/main_action"
             android:layout_alignTop="@id/photo_text_bar"
             android:layout_alignBottom="@id/photo_text_bar"
-            android:layout_marginRight="@dimen/call_log_inner_margin"
-            android:layout_marginLeft="@dimen/call_detail_contact_name_margin"
+            android:layout_marginEnd="@dimen/call_log_inner_margin"
+            android:layout_marginStart="@dimen/call_detail_contact_name_margin"
             android:gravity="center_vertical"
             android:textColor="?attr/call_log_primary_text_color"
             android:textAppearance="?android:attr/textAppearanceMedium"
@@ -116,9 +116,9 @@
             android:id="@+id/main_action_push_layer"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:layout_alignLeft="@id/contact_background_sizer"
+            android:layout_alignStart="@id/contact_background_sizer"
             android:layout_alignTop="@id/contact_background_sizer"
-            android:layout_alignRight="@id/contact_background_sizer"
+            android:layout_alignEnd="@id/contact_background_sizer"
             android:layout_alignBottom="@id/contact_background_sizer"
             android:background="?android:attr/selectableItemBackground"
         />
@@ -153,7 +153,7 @@
                     android:layout_width="0dip"
                     android:layout_height="match_parent"
                     android:layout_weight="1"
-                    android:paddingLeft="@dimen/call_log_indent_margin"
+                    android:paddingStart="@dimen/call_log_indent_margin"
                     android:orientation="vertical"
                     android:gravity="center_vertical"
                 >
@@ -161,7 +161,7 @@
                     <TextView android:id="@+id/call_and_sms_text"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:paddingRight="@dimen/call_log_icon_margin"
+                        android:paddingEnd="@dimen/call_log_icon_margin"
                         android:textAppearance="?android:attr/textAppearanceMedium"
                         android:textColor="?attr/call_log_primary_text_color"
                         android:singleLine="true"
@@ -171,7 +171,7 @@
                     <TextView android:id="@+id/call_and_sms_label"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:paddingRight="@dimen/call_log_icon_margin"
+                        android:paddingEnd="@dimen/call_log_icon_margin"
                         android:textAppearance="?android:attr/textAppearanceSmall"
                         android:textColor="?attr/call_log_primary_text_color"
                         android:textAllCaps="true"
@@ -190,8 +190,8 @@
                 <ImageView android:id="@+id/call_and_sms_icon"
                     android:layout_width="@color/call_log_voicemail_highlight_color"
                     android:layout_height="match_parent"
-                    android:paddingLeft="@dimen/call_log_inner_margin"
-                    android:paddingRight="@dimen/call_log_outer_margin"
+                    android:paddingStart="@dimen/call_log_inner_margin"
+                    android:paddingEnd="@dimen/call_log_outer_margin"
                     android:gravity="center"
                     android:scaleType="centerInside"
                     android:focusable="true"
@@ -209,7 +209,7 @@
         android:id="@+id/blank"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
         android:layout_alignParentTop="true"
         android:background="@android:color/black"
         android:visibility="gone"
diff --git a/res/layout/call_detail_history_header.xml b/res/layout/call_detail_history_header.xml
index 866ba41..40f943b 100644
--- a/res/layout/call_detail_history_header.xml
+++ b/res/layout/call_detail_history_header.xml
@@ -27,7 +27,7 @@
         class="com.android.contacts.common.widget.ProportionalLayout"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
+        android:layout_alignParentStart="true"
         android:layout_below="@id/voicemail_status"
         ex:ratio="0.5"
         ex:direction="widthToHeight"
diff --git a/res/layout/call_detail_history_item.xml b/res/layout/call_detail_history_item.xml
index 01b9517..4858717 100644
--- a/res/layout/call_detail_history_item.xml
+++ b/res/layout/call_detail_history_item.xml
@@ -21,8 +21,8 @@
     android:minHeight="@dimen/call_log_list_item_height"
     android:paddingTop="@dimen/call_log_inner_margin"
     android:paddingBottom="@dimen/call_log_inner_margin"
-    android:paddingLeft="@dimen/call_log_indent_margin"
-    android:paddingRight="@dimen/call_log_outer_margin"
+    android:paddingStart="@dimen/call_log_indent_margin"
+    android:paddingEnd="@dimen/call_log_outer_margin"
     android:orientation="vertical"
 >
     <LinearLayout
@@ -41,7 +41,7 @@
             android:id="@+id/call_type_text"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/call_log_icon_margin"
+            android:layout_marginStart="@dimen/call_log_icon_margin"
             android:textAppearance="?android:attr/textAppearanceSmall"
             android:textColor="@color/secondary_text_color"
         />
diff --git a/res/layout/call_log_fragment.xml b/res/layout/call_log_fragment.xml
index e86ca81..041ca7b 100644
--- a/res/layout/call_log_fragment.xml
+++ b/res/layout/call_log_fragment.xml
@@ -40,11 +40,11 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             style="@style/ContactListSeparatorTextViewStyle"
-            android:layout_marginLeft="@dimen/call_log_outer_margin"
-            android:layout_marginRight="@dimen/call_log_outer_margin"
+            android:layout_marginStart="@dimen/call_log_outer_margin"
+            android:layout_marginEnd="@dimen/call_log_outer_margin"
             android:paddingTop="@dimen/call_log_inner_margin"
             android:paddingBottom="@dimen/call_log_inner_margin"
-            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
             android:layout_alignParentBottom="true"
             android:visibility="gone"
             />
@@ -52,8 +52,8 @@
             android:id="@+id/call_log_divider"
             android:layout_width="match_parent"
             android:layout_height="1px"
-            android:layout_marginLeft="@dimen/call_log_outer_margin"
-            android:layout_marginRight="@dimen/call_log_outer_margin"
+            android:layout_marginStart="@dimen/call_log_outer_margin"
+            android:layout_marginEnd="@dimen/call_log_outer_margin"
             android:layout_gravity="bottom"
             android:background="#55ffffff"
             />
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index 8564c0d..54f4fff 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -37,8 +37,8 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_centerVertical="true"
-            android:layout_marginLeft="@dimen/call_log_outer_margin"
-            android:layout_marginRight="@dimen/call_log_outer_margin"
+            android:layout_marginStart="@dimen/call_log_outer_margin"
+            android:layout_marginEnd="@dimen/call_log_outer_margin"
             android:orientation="horizontal"
             android:gravity="center_vertical"
             android:background="?android:attr/selectableItemBackground"
@@ -51,7 +51,7 @@
                 android:layout_width="@dimen/call_log_list_contact_photo_size"
                 android:layout_height="@dimen/call_log_list_contact_photo_size"
                 android:nextFocusRight="@id/primary_action_view"
-                android:layout_alignParentLeft="true"
+                android:layout_alignParentStart="true"
                 android:layout_centerVertical="true"
                 android:focusable="true"
             />
@@ -63,13 +63,13 @@
                 android:paddingBottom="@dimen/call_log_inner_margin"
                 android:orientation="vertical"
                 android:gravity="center_vertical"
-                android:layout_marginLeft="@dimen/call_log_inner_margin"
+                android:layout_marginStart="@dimen/call_log_inner_margin"
             >
                 <TextView
                     android:id="@+id/name"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_marginRight="@dimen/call_log_icon_margin"
+                    android:layout_marginEnd="@dimen/call_log_icon_margin"
                     android:textColor="?attr/call_log_primary_text_color"
                     android:textSize="18sp"
                     android:singleLine="true"
@@ -83,7 +83,7 @@
                         android:id="@+id/number"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_marginRight="@dimen/call_log_icon_margin"
+                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                         android:textColor="?attr/call_log_secondary_text_color"
                         android:textSize="14sp"
                         android:singleLine="true"
@@ -93,7 +93,7 @@
                         android:id="@+id/label"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_marginRight="@dimen/call_log_icon_margin"
+                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                         android:textColor="?attr/call_log_secondary_text_color"
                         android:textStyle="bold"
                         android:textSize="14sp"
@@ -112,14 +112,14 @@
                         android:id="@+id/call_type_icons"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_marginRight="@dimen/call_log_icon_margin"
+                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                         android:layout_gravity="center_vertical"
                     />
                     <TextView
                         android:id="@+id/call_count_and_date"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_marginRight="@dimen/call_log_icon_margin"
+                        android:layout_marginEnd="@dimen/call_log_icon_margin"
                         android:layout_gravity="center_vertical"
                         android:textColor="?attr/call_log_secondary_text_color"
                         android:textSize="14sp"
@@ -138,10 +138,10 @@
                 android:id="@+id/secondary_action_icon"
                 android:layout_width="@dimen/call_log_call_action_width"
                 android:layout_height="match_parent"
-                android:paddingLeft="@dimen/call_log_inner_margin"
+                android:paddingStart="@dimen/call_log_inner_margin"
                 android:paddingTop="@dimen/call_log_inner_margin"
                 android:paddingBottom="@dimen/call_log_inner_margin"
-                android:paddingRight="@dimen/call_log_inner_margin"
+                android:paddingEnd="@dimen/call_log_inner_margin"
                 android:scaleType="center"
                 android:background="?android:attr/selectableItemBackground"
                 android:nextFocusLeft="@id/primary_action_view"
@@ -151,8 +151,8 @@
     <TextView
         android:id="@+id/call_log_header"
         style="@style/ContactListSeparatorTextViewStyle"
-        android:layout_marginLeft="@dimen/call_log_outer_margin"
-        android:layout_marginRight="@dimen/call_log_outer_margin"
+        android:layout_marginStart="@dimen/call_log_outer_margin"
+        android:layout_marginEnd="@dimen/call_log_outer_margin"
         android:paddingTop="@dimen/call_log_inner_margin"
         android:paddingBottom="@dimen/call_log_inner_margin" />
 
@@ -160,8 +160,8 @@
         android:id="@+id/call_log_divider"
         android:layout_width="match_parent"
         android:layout_height="1px"
-        android:layout_marginLeft="@dimen/call_log_outer_margin"
-        android:layout_marginRight="@dimen/call_log_outer_margin"
+        android:layout_marginStart="@dimen/call_log_outer_margin"
+        android:layout_marginEnd="@dimen/call_log_outer_margin"
         android:background="#55ffffff"
     />
 </view>
diff --git a/res/layout/call_log_voicemail_status.xml b/res/layout/call_log_voicemail_status.xml
index 191c821..be808e4 100644
--- a/res/layout/call_log_voicemail_status.xml
+++ b/res/layout/call_log_voicemail_status.xml
@@ -25,8 +25,8 @@
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical"
             android:layout_weight="1"
-            android:paddingLeft="@dimen/call_log_outer_margin"
-            android:paddingRight="@dimen/call_log_inner_margin"
+            android:paddingStart="@dimen/call_log_outer_margin"
+            android:paddingEnd="@dimen/call_log_inner_margin"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:textColor="?attr/call_log_voicemail_status_text_color"
         />
@@ -35,8 +35,8 @@
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
             android:gravity="center_vertical"
-            android:paddingLeft="@dimen/call_log_inner_margin"
-            android:paddingRight="@dimen/call_log_outer_margin"
+            android:paddingStart="@dimen/call_log_inner_margin"
+            android:paddingEnd="@dimen/call_log_outer_margin"
             android:textAppearance="?android:attr/textAppearanceMedium"
             android:textColor="?attr/call_log_voicemail_status_action_text_color"
             android:background="?android:attr/selectableItemBackground"
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
index 3ccb42d..f9a0785 100644
--- a/res/layout/dialpad.xml
+++ b/res/layout/dialpad.xml
@@ -23,10 +23,11 @@
     android:layout_weight="@integer/dialpad_layout_weight_dialpad"
     android:layout_gravity="center_horizontal"
     android:layout_marginTop="@dimen/dialpad_vertical_margin"
-    android:paddingLeft="5dip"
-    android:paddingRight="5dip"
+    android:paddingStart="5dip"
+    android:paddingEnd="5dip"
     android:paddingBottom="10dip"
-    android:background="@drawable/dialpad_background">
+    android:background="@drawable/dialpad_background"
+    android:layoutDirection="ltr" >
 
     <TableRow
          android:layout_height="0px"
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index 27ba2da..13d91bd 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -19,8 +19,9 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
-    android:paddingLeft="@dimen/dialpad_horizontal_margin"
-    android:paddingRight="@dimen/dialpad_horizontal_margin">
+    android:paddingStart="@dimen/dialpad_horizontal_margin"
+    android:paddingEnd="@dimen/dialpad_horizontal_margin"
+    android:layoutDirection="ltr" >
 
     <!-- Text field and possibly soft menu button above the keypad where
          the digits are displayed. -->
diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml
index 35fa00f..079ce37 100644
--- a/res/layout/dialtacts_activity.xml
+++ b/res/layout/dialtacts_activity.xml
@@ -29,7 +29,7 @@
          android:id="@+id/searchButton"
          android:layout_width="wrap_content"
          android:layout_height="?android:attr/actionBarSize"
-         android:layout_gravity="bottom|left"
+         android:layout_gravity="bottom|start"
          android:state_enabled="false"
          android:background="?android:attr/selectableItemBackground"
          android:contentDescription="@string/description_search_button"
@@ -39,7 +39,7 @@
          android:id="@+id/overflow_menu"
          android:layout_width="wrap_content"
          android:layout_height="?android:attr/actionBarSize"
-         android:layout_gravity="bottom|right"
+         android:layout_gravity="bottom|end"
          android:src="@drawable/ic_menu_overflow"
          android:contentDescription="@string/action_menu_overflow_description"
          android:nextFocusLeft="@id/digits"
diff --git a/res/layout/dialtacts_custom_action_bar.xml b/res/layout/dialtacts_custom_action_bar.xml
index 26e4785..c62e225 100644
--- a/res/layout/dialtacts_custom_action_bar.xml
+++ b/res/layout/dialtacts_custom_action_bar.xml
@@ -32,10 +32,10 @@
     <ImageButton
         android:id="@+id/search_option"
         android:layout_width="wrap_content"
-        android:paddingLeft="4dip"
-        android:paddingRight="4dip"
+        android:paddingStart="4dip"
+        android:paddingEnd="4dip"
         android:layout_height="match_parent"
-        android:layout_alignParentRight="true"
+        android:layout_alignParentEnd="true"
         android:contentDescription="@string/action_menu_overflow_description"
         android:importantForAccessibility="yes"
         android:src="@drawable/ic_menu_overflow"
diff --git a/res/layout/phone_disambig_item.xml b/res/layout/phone_disambig_item.xml
index a31d08d..02d596b 100755
--- a/res/layout/phone_disambig_item.xml
+++ b/res/layout/phone_disambig_item.xml
@@ -18,8 +18,8 @@
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="vertical"
-    android:paddingLeft="30dip"
-    android:paddingRight="30dip"
+    android:paddingStart="30dip"
+    android:paddingEnd="30dip"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical">
 
diff --git a/res/layout/phone_loading_contacts.xml b/res/layout/phone_loading_contacts.xml
index f0d3328..afc3322 100644
--- a/res/layout/phone_loading_contacts.xml
+++ b/res/layout/phone_loading_contacts.xml
@@ -21,7 +21,7 @@
     android:layout_height="match_parent"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:orientation="horizontal"
-    android:gravity="left|center_vertical">
+    android:gravity="start|center_vertical">
 
     <ProgressBar
         android:indeterminate="true"
@@ -35,6 +35,6 @@
         android:layout_height="wrap_content"
         android:text="@string/contact_list_loading"
         android:textAppearance="?android:attr/textAppearanceMedium"
-        android:layout_marginLeft="4dip" />
+        android:layout_marginStart="4dip" />
 
 </LinearLayout>
diff --git a/res/layout/playback_layout.xml b/res/layout/playback_layout.xml
index 2dfcb4d..b72ddca 100644
--- a/res/layout/playback_layout.xml
+++ b/res/layout/playback_layout.xml
@@ -31,7 +31,7 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="58dip"
-            android:layout_marginRight="@dimen/call_detail_button_spacing"
+            android:layout_marginEnd="@dimen/call_detail_button_spacing"
             android:background="@drawable/dialpad_background"
             android:layout_weight="1"
         >
@@ -79,12 +79,12 @@
             android:thumb="@drawable/seek_bar_thumb"
             android:thumbOffset="8dip"
             android:progress="0"
-            android:paddingLeft="8dip"
-            android:paddingRight="8dip"
+            android:paddingStart="8dip"
+            android:paddingEnd="8dip"
             android:paddingTop="30dip"
             android:paddingBottom="20dip"
-            android:layout_marginRight="64dip"
-            android:layout_marginLeft="64dip"
+            android:layout_marginEnd="64dip"
+            android:layout_marginStart="64dip"
             android:max="0"
             android:layout_centerVertical="true"
         />
@@ -115,7 +115,7 @@
             android:background="?android:attr/selectableItemBackground"
             android:paddingBottom="19dip"
             android:paddingTop="29dip"
-            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
             android:layout_centerVertical="true"
         />
         <ImageButton
@@ -126,7 +126,7 @@
             android:background="?android:attr/selectableItemBackground"
             android:paddingBottom="19dip"
             android:paddingTop="29dip"
-            android:layout_alignParentRight="true"
+            android:layout_alignParentEnd="true"
             android:layout_centerVertical="true"
         />
     </RelativeLayout>
diff --git a/res/layout/set_primary_checkbox.xml b/res/layout/set_primary_checkbox.xml
index 8f28ec7..b997327 100644
--- a/res/layout/set_primary_checkbox.xml
+++ b/res/layout/set_primary_checkbox.xml
@@ -18,8 +18,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingLeft="14dip"
-    android:paddingRight="15dip"
+    android:paddingStart="14dip"
+    android:paddingEnd="15dip"
     android:orientation="vertical">
 
     <CheckBox
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 2557ebc..32339d2 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -680,7 +680,8 @@
             mSearchFragment.setOnPhoneNumberPickerActionListener(mPhoneNumberPickerActionListener);
             mSearchFragment.setQuickContactEnabled(true);
             mSearchFragment.setDarkTheme(true);
-            mSearchFragment.setPhotoPosition(ContactListItemView.PhotoPosition.LEFT);
+            mSearchFragment.setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(
+                    true /* opposite */));
             mSearchFragment.setUseCallableUri(true);
             if (mContactListFilterController != null
                     && mContactListFilterController.getFilter() != null) {
diff --git a/src/com/android/dialer/PhoneCallDetailsHelper.java b/src/com/android/dialer/PhoneCallDetailsHelper.java
index f8ca769..51b1109 100644
--- a/src/com/android/dialer/PhoneCallDetailsHelper.java
+++ b/src/com/android/dialer/PhoneCallDetailsHelper.java
@@ -115,10 +115,14 @@
                 numberText = details.geocode;
             }
             labelText = null;
+            // We have a real phone number as "nameView" so make it always LTR
+            views.nameView.setTextDirection(View.TEXT_DIRECTION_LTR);
         } else {
             nameText = details.name;
             numberText = displayNumber;
             labelText = numberFormattedLabel;
+            // We have a real phone number as "numberView" so make it always LTR
+            views.numberView.setTextDirection(View.TEXT_DIRECTION_LTR);
         }
 
         views.nameView.setText(nameText);
diff --git a/src/com/android/dialer/list/PhoneFavoriteFragment.java b/src/com/android/dialer/list/PhoneFavoriteFragment.java
index 93f38bb..97481bc 100644
--- a/src/com/android/dialer/list/PhoneFavoriteFragment.java
+++ b/src/com/android/dialer/list/PhoneFavoriteFragment.java
@@ -301,8 +301,10 @@
         mAllContactsAdapter.setSectionHeaderDisplayEnabled(true);
         // Disable pinned header. It doesn't work with this fragment.
         mAllContactsAdapter.setPinnedPartitionHeadersEnabled(false);
-        // Put photos on left for consistency with "frequent" contacts section.
-        mAllContactsAdapter.setPhotoPosition(ContactListItemView.PhotoPosition.LEFT);
+        // Put photos on START (LEFT in LTR layout direction and RIGHT in RTL layout direction)
+        // for consistency with "frequent" contacts section.
+        mAllContactsAdapter.setPhotoPosition(ContactListItemView.getDefaultPhotoPosition(
+                true /* opposite */ ));
 
         // Use Callable.CONTENT_URI which will include not only phone numbers but also SIP
         // addresses.