Merge "Fix robolectric tests"
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java
index f9e6b46..14b3bb4 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/InstrumentedDialogFragmentTest.java
@@ -23,7 +23,7 @@
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
-import org.robolectric.util.FragmentTestUtil;
+import org.robolectric.shadows.ShadowApplication;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -58,7 +58,7 @@
         // Precondition: no metrics feature
         assertThat(fragment.getMetricsFeatureProvider()).isNull();
 
-        FragmentTestUtil.startFragment(fragment);
+        fragment.onAttach(ShadowApplication.getInstance().getApplicationContext());
 
         // Verify: has metrics feature
         assertThat(fragment.getMetricsFeatureProvider()).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java b/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java
index 2b3613f..b5213f1 100644
--- a/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/RtlCompatibleViewPagerTest.java
@@ -16,47 +16,46 @@
 
 package com.android.settings.widget;
 
-import android.annotation.Nullable;
-import android.app.Activity;
-import android.os.Bundle;
 import android.os.Parcelable;
+import android.support.v4.view.PagerAdapter;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.ViewGroup;
+
 import com.android.settings.TestConfig;
 import com.android.settings.shadow.ShadowTextUtils;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
-import static com.google.common.truth.Truth.assertThat;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
 
 import java.util.Locale;
 
-import android.support.v4.view.PagerAdapter;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-import org.robolectric.Robolectric;
+import static com.google.common.truth.Truth.assertThat;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public class RtlCompatibleViewPagerTest {
-    private ViewPagerTestActivity mTestActivity;
-    private RtlCompatibleViewPager mTestViewPager;
+
     private Locale mLocaleEn;
     private Locale mLocaleHe;
+    private RtlCompatibleViewPager mViewPager;
 
     @Before
     public void setUp() {
-        mTestActivity = Robolectric.setupActivity(ViewPagerTestActivity.class);
-        mTestViewPager = mTestActivity.getViewPager();
+        mViewPager = new RtlCompatibleViewPager(
+                ShadowApplication.getInstance().getApplicationContext());
+        mViewPager.setAdapter(new ViewPagerAdapter());
         mLocaleEn = new Locale("en");
         mLocaleHe = new Locale("he");
     }
 
     @Test
     @Config(shadows = {ShadowTextUtils.class})
-    public void testRtlCompatible() {
+    public void testGetCurrentItem_shouldMaintainIndexDuringLocaleChange() {
         testRtlCompatibleInner(0);
         testRtlCompatibleInner(1);
     }
@@ -64,41 +63,20 @@
     private void testRtlCompatibleInner(int currentItem) {
         // Set up the environment
         Locale.setDefault(mLocaleEn);
+        mViewPager.setCurrentItem(currentItem);
+
         assertThat(TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()))
                 .isEqualTo(View.LAYOUT_DIRECTION_LTR);
-        mTestViewPager.setCurrentItem(currentItem);
-        assertThat(mTestViewPager.getCurrentItem()).isEqualTo(currentItem);
+        assertThat(mViewPager.getCurrentItem()).isEqualTo(currentItem);
 
         // Simulate to change the language to RTL
-        Parcelable savedInstance = mTestViewPager.onSaveInstanceState();
+        Parcelable savedInstance = mViewPager.onSaveInstanceState();
         Locale.setDefault(mLocaleHe);
+        mViewPager.onRestoreInstanceState(savedInstance);
+
         assertThat(TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()))
                 .isEqualTo(View.LAYOUT_DIRECTION_RTL);
-        mTestViewPager.onRestoreInstanceState(savedInstance);
-
-        assertThat(mTestViewPager.getCurrentItem()).isEqualTo(currentItem);
-    }
-
-
-    /**
-     * Test activity that contains RTL viewpager
-     */
-    private static class ViewPagerTestActivity extends Activity {
-        private RtlCompatibleViewPager mViewPager;
-
-        @Override
-        protected void onCreate(@Nullable Bundle savedInstanceState) {
-            super.onCreate(savedInstanceState);
-
-            mViewPager = new RtlCompatibleViewPager(ViewPagerTestActivity.this);
-            mViewPager.setAdapter(new ViewPagerAdapter());
-
-            setContentView(mViewPager);
-        }
-
-        public RtlCompatibleViewPager getViewPager() {
-            return mViewPager;
-        }
+        assertThat(mViewPager.getCurrentItem()).isEqualTo(currentItem);
     }
 
     /**
@@ -122,11 +100,6 @@
         }
 
         @Override
-        public void destroyItem(ViewGroup collection, int position, Object view) {
-            collection.removeView((View) view);
-        }
-
-        @Override
         public Object instantiateItem(ViewGroup container, int position) {
             return null;
         }