Switch fragment position in RTL

Bug: 17667723
Change-Id: If3705942e38d050bebbebd86a957b201e18e1782
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 75f3607..9f25e4e 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -19,9 +19,7 @@
 import android.app.Fragment;
 import android.app.FragmentManager;
 import android.app.FragmentTransaction;
-import android.content.Context;
 import android.content.Intent;
-import android.content.res.TypedArray;
 import android.graphics.Rect;
 import android.net.Uri;
 import android.os.Bundle;
@@ -680,10 +678,10 @@
                 }
             } else {
                 if (object == mFavoritesFragment) {
-                    return TabState.FAVORITES;
+                    return getTabPositionForTextDirection(TabState.FAVORITES);
                 }
                 if (object == mAllFragment) {
-                    return TabState.ALL;
+                    return getTabPositionForTextDirection(TabState.ALL);
                 }
             }
             return POSITION_NONE;
@@ -694,6 +692,7 @@
         }
 
         private Fragment getFragment(int position) {
+            position = getTabPositionForTextDirection(position);
             if (mTabPagerAdapterSearchMode) {
                 if (position != 0) {
                     // This has only been observed in monkey tests.
@@ -1270,4 +1269,14 @@
             Log.wtf(TAG, "Unexpected onClick event from " + view);
         }
     }
+
+    /**
+     * Returns the tab position adjusted for the text direction.
+     */
+    private int getTabPositionForTextDirection(int position) {
+        if (isRTL()) {
+            return TabState.COUNT - 1 - position;
+        }
+        return position;
+    }
 }