diff --git a/res/layout/preview_pager.xml b/res/layout/preview_pager.xml
index cddf647..43f8fb6 100644
--- a/res/layout/preview_pager.xml
+++ b/res/layout/preview_pager.xml
@@ -17,6 +17,7 @@
 -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
@@ -43,11 +44,12 @@
             android:id="@+id/arrow_previous"
             android:layout_width="@dimen/indicator_arrow_touch_area_size"
             android:layout_height="@dimen/indicator_arrow_touch_area_size"
-            android:layout_gravity="center_vertical|start"
+            android:layout_gravity="center_vertical|left"
             android:layout_marginStart="@dimen/indicator_arrow_container_margin_horizontal"
             android:background="?android:attr/selectableItemBackgroundBorderless"
             android:contentDescription="@string/previous_page_content_description"
-            android:visibility="gone">
+            android:visibility="gone"
+            tools:ignore="RtlHardcoded">
 
             <ImageView
                 android:layout_width="@dimen/indicator_arrow_size"
@@ -62,11 +64,12 @@
             android:id="@+id/arrow_next"
             android:layout_width="@dimen/indicator_arrow_touch_area_size"
             android:layout_height="@dimen/indicator_arrow_touch_area_size"
-            android:layout_gravity="center_vertical|end"
+            android:layout_gravity="center_vertical|right"
             android:layout_marginEnd="@dimen/indicator_arrow_container_margin_horizontal"
             android:background="?android:attr/selectableItemBackgroundBorderless"
             android:contentDescription="@string/next_page_content_description"
-            android:visibility="gone">
+            android:visibility="gone"
+            tools:ignore="RtlHardcoded">
 
             <ImageView
                 android:layout_width="@dimen/indicator_arrow_size"
diff --git a/src/com/android/customization/widget/PreviewPager.java b/src/com/android/customization/widget/PreviewPager.java
index 7819b7c..c80396d 100644
--- a/src/com/android/customization/widget/PreviewPager.java
+++ b/src/com/android/customization/widget/PreviewPager.java
@@ -23,16 +23,19 @@
 import android.util.DisplayMetrics;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.LinearLayout;
 
 import androidx.annotation.Nullable;
+import androidx.core.text.TextUtilsCompat;
+import androidx.core.view.ViewCompat;
 import androidx.viewpager.widget.PagerAdapter;
 import androidx.viewpager.widget.ViewPager;
 import androidx.viewpager.widget.ViewPager.OnPageChangeListener;
 
 import com.android.wallpaper.R;
 
+import java.util.Locale;
+
 /**
  * A Widget consisting of a ViewPager linked to a PageIndicator and previous/next arrows that can be
  * used to page over that ViewPager.
@@ -72,6 +75,8 @@
 
         mPageStyle = a.getInteger(R.styleable.PreviewPager_card_style, STYLE_PEEKING);
 
+        a.recycle();
+
         mViewPager = findViewById(R.id.preview_viewpager);
         mViewPager.setPageMargin(res.getDimensionPixelOffset(R.dimen.preview_page_gap));
         mViewPager.setClipToPadding(false);
@@ -148,7 +153,16 @@
     public void setAdapter(PagerAdapter adapter) {
         mAdapter = adapter;
         mViewPager.setAdapter(adapter);
-
+        if (ViewCompat.isLayoutDirectionResolved(mViewPager)) {
+            if (ViewCompat.getLayoutDirection(mViewPager) == ViewCompat.LAYOUT_DIRECTION_RTL) {
+                mViewPager.setCurrentItem(mAdapter.getCount() - 1);
+            }
+        } else {
+            if (TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault())
+                    == ViewCompat.LAYOUT_DIRECTION_RTL) {
+                mViewPager.setCurrentItem(mAdapter.getCount() - 1);
+            }
+        }
         mAdapter.registerDataSetObserver(new DataSetObserver() {
             @Override
             public void onChanged() {
@@ -178,7 +192,7 @@
                      int position, float positionOffset, int positionOffsetPixels) {
                  // For certain sizes, positionOffset never makes it to 1, so round it as we don't
                  // need that much precision
-                 float location = (float)Math.round((position + positionOffset) * 100) / 100;
+                 float location = (float) Math.round((position + positionOffset) * 100) / 100;
                  mPageIndicator.setLocation(location);
                  if (mExternalPageListener != null) {
                      mExternalPageListener.onPageScrolled(position, positionOffset,
