OSDN Git Service

Convert ProfileSelectDialog to androidx verison
authortmfang <tmfang@google.com>
Mon, 6 Aug 2018 06:59:57 +0000 (14:59 +0800)
committertmfang <tmfang@google.com>
Wed, 8 Aug 2018 02:33:11 +0000 (10:33 +0800)
Change-Id: Ib3baf04860aee07e5f28d7b537a99a3543d2a978
Fixes: 112155563
Test: robo, manual test

src/com/android/settings/dashboard/DashboardAdapter.java
src/com/android/settings/dashboard/DashboardFeatureProvider.java
src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
tests/robotests/assets/grandfather_not_implementing_instrumentable
tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java

index d3afd3f..7e7cf46 100644 (file)
@@ -15,7 +15,6 @@
  */
 package com.android.settings.dashboard;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
@@ -32,6 +31,7 @@ import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentActivity;
 import androidx.recyclerview.widget.DiffUtil;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
@@ -80,7 +80,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
         @Override
         public void onClick(View v) {
             //TODO: get rid of setTag/getTag
-            mDashboardFeatureProvider.openTileIntent((Activity) mContext, (Tile) v.getTag());
+            mDashboardFeatureProvider.openTileIntent((FragmentActivity) mContext,
+                    (Tile) v.getTag());
         }
     };
 
index 35d50fb..ac11e0b 100644 (file)
  */
 package com.android.settings.dashboard;
 
-import android.app.Activity;
 import android.content.Context;
 
+import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
+
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
 
 import java.util.List;
 
-import androidx.preference.Preference;
-
 /**
  * FeatureProvider for dashboard (aka settings homepage).
  */
@@ -47,7 +47,7 @@ public interface DashboardFeatureProvider {
      * of auto-ordering, progressive disclosure, auto-refreshing summary text etc.
      */
     @Deprecated
-    List<Preference> getPreferencesForCategory(Activity activity, Context context,
+    List<Preference> getPreferencesForCategory(FragmentActivity activity, Context context,
             int sourceMetricsCategory, String key);
 
     /**
@@ -57,6 +57,7 @@ public interface DashboardFeatureProvider {
 
     /**
      * Whether or not we should tint icons in setting pages.
+     *
      * @deprecated in favor of color icons in homepage
      */
     @Deprecated
@@ -78,7 +79,7 @@ public interface DashboardFeatureProvider {
      * @param baseOrder The order offset value. When binding, pref's order is determined by
      * both this value and tile's own priority.
      */
-    void bindPreferenceToTile(Activity activity, int sourceMetricsCategory, Preference pref,
+    void bindPreferenceToTile(FragmentActivity activity, int sourceMetricsCategory, Preference pref,
             Tile tile, String key, int baseOrder);
 
     /**
@@ -89,6 +90,6 @@ public interface DashboardFeatureProvider {
     /**
      * Opens a tile to its destination intent.
      */
-    void openTileIntent(Activity activity, Tile tile);
+    void openTileIntent(FragmentActivity activity, Tile tile);
 
 }
index 49c7bbb..9e8664e 100644 (file)
@@ -20,7 +20,6 @@ import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
 import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY_URI;
 
-import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.IContentProvider;
@@ -35,6 +34,7 @@ import android.util.Log;
 import android.util.Pair;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -83,7 +83,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
     }
 
     @Override
-    public List<Preference> getPreferencesForCategory(Activity activity, Context context,
+    public List<Preference> getPreferencesForCategory(FragmentActivity activity, Context context,
             int sourceMetricsCategory, String key) {
         final DashboardCategory category = getTilesForCategory(key);
         if (category == null) {
@@ -130,8 +130,8 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
     }
 
     @Override
-    public void bindPreferenceToTile(Activity activity, int sourceMetricsCategory, Preference pref,
-            Tile tile, String key, int baseOrder) {
+    public void bindPreferenceToTile(FragmentActivity activity, int sourceMetricsCategory,
+            Preference pref, Tile tile, String key, int baseOrder) {
         if (pref == null) {
             return;
         }
@@ -194,7 +194,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
     }
 
     @Override
-    public void openTileIntent(Activity activity, Tile tile) {
+    public void openTileIntent(FragmentActivity activity, Tile tile) {
         if (tile == null) {
             Intent intent = new Intent(Settings.ACTION_SETTINGS).addFlags(
                     Intent.FLAG_ACTIVITY_CLEAR_TASK);
@@ -260,7 +260,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
         }
     }
 
-    private void launchIntentOrSelectProfile(Activity activity, Tile tile, Intent intent,
+    private void launchIntentOrSelectProfile(FragmentActivity activity, Tile tile, Intent intent,
             int sourceMetricCategory) {
         if (!isIntentResolvable(intent)) {
             Log.w(TAG, "Cannot resolve intent, skipping. " + intent);
@@ -275,7 +275,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
             mMetricsFeatureProvider.logDashboardStartIntent(mContext, intent, sourceMetricCategory);
             activity.startActivityForResultAsUser(intent, 0, tile.userHandle.get(0));
         } else {
-            ProfileSelectDialog.show(activity.getFragmentManager(), tile);
+            ProfileSelectDialog.show(activity.getSupportFragmentManager(), tile);
         }
     }
 
index b49f401..7e38d6a 100644 (file)
 
 package com.android.settings.dashboard.profileselector;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.FragmentManager;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.DialogInterface.OnClickListener;
@@ -29,6 +26,10 @@ import android.os.UserHandle;
 import android.os.UserManager;
 import android.util.Log;
 
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.FragmentManager;
+
 import com.android.settingslib.drawer.Tile;
 
 import java.util.List;
index 2c8ae5d..625d9ff 100644 (file)
@@ -5,4 +5,5 @@ com.android.settings.password.ChooseLockPassword$SaveAndFinishWorker
 com.android.settings.password.ChooseLockPattern$SaveAndFinishWorker
 com.android.settings.RestrictedListPreference$RestrictedListPreferenceDialogFragment
 com.android.settings.password.ConfirmDeviceCredentialBaseFragment$LastTryDialog
-com.android.settings.password.CredentialCheckResultTracker
\ No newline at end of file
+com.android.settings.password.CredentialCheckResultTracker
+com.android.settings.dashboard.profileselector.ProfileSelectDialog
\ No newline at end of file
index 10d5f22..f297cb1 100644 (file)
@@ -23,7 +23,6 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import android.accounts.Account;
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -32,6 +31,7 @@ import android.content.pm.ResolveInfo;
 import android.os.Bundle;
 import android.os.UserHandle;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 
 import com.android.internal.logging.nano.MetricsProto;
@@ -126,7 +126,7 @@ public class AccountDetailDashboardFragmentTest {
         tile.userHandle = null;
         mFragment.displayTile(tile);
 
-        final Activity activity = Robolectric.setupActivity(Activity.class);
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         final Preference preference = new Preference(mContext);
         dashboardFeatureProvider.bindPreferenceToTile(activity,
                 MetricsProto.MetricsEvent.DASHBOARD_SUMMARY, preference, tile, "key",
index 12411a0..18576d3 100644 (file)
@@ -33,7 +33,6 @@ import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyZeroInteractions;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -45,6 +44,7 @@ import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 
 import com.android.internal.logging.nano.MetricsProto;
@@ -82,7 +82,7 @@ import java.util.ArrayList;
 public class DashboardFeatureProviderImplTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Activity mActivity;
+    private FragmentActivity mActivity;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private UserManager mUserManager;
     @Mock
@@ -165,7 +165,7 @@ public class DashboardFeatureProviderImplTest {
                 preference, tile, "123", Preference.DEFAULT_ORDER);
         preference.getOnPreferenceClickListener().onPreferenceClick(null);
 
-        verify(mActivity).getFragmentManager();
+        verify(mActivity).getSupportFragmentManager();
     }
 
     @Test
@@ -334,7 +334,7 @@ public class DashboardFeatureProviderImplTest {
 
     @Test
     public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() {
-        Activity activity = Robolectric.buildActivity(Activity.class).get();
+        FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
         final Preference preference = new Preference(RuntimeEnvironment.application);
         final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.key = "key";
@@ -356,7 +356,7 @@ public class DashboardFeatureProviderImplTest {
     public void clickPreference_withUnresolvableIntent_shouldNotLaunchAnything() {
         ReflectionHelpers.setField(
                 mImpl, "mPackageManager", RuntimeEnvironment.application.getPackageManager());
-        Activity activity = Robolectric.buildActivity(Activity.class).get();
+        FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
         final ShadowApplication application = ShadowApplication.getInstance();
         final Preference preference = new Preference(application.getApplicationContext());
         final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
@@ -442,7 +442,7 @@ public class DashboardFeatureProviderImplTest {
 
         verify(mActivity, never())
                 .startActivityForResult(any(Intent.class), eq(0));
-        verify(mActivity).getFragmentManager();
+        verify(mActivity).getSupportFragmentManager();
     }
 
     @Test
@@ -457,7 +457,7 @@ public class DashboardFeatureProviderImplTest {
 
         verify(mActivity, never())
                 .startActivityForResult(any(Intent.class), eq(0));
-        verify(mActivity).getFragmentManager();
+        verify(mActivity).getSupportFragmentManager();
     }
 
     @Test
@@ -472,6 +472,6 @@ public class DashboardFeatureProviderImplTest {
 
         verify(mActivity)
                 .startActivityForResult(any(Intent.class), eq(0));
-        verify(mActivity, never()).getFragmentManager();
+        verify(mActivity, never()).getSupportFragmentManager();
     }
 }