From: tmfang Date: Mon, 6 Aug 2018 06:59:57 +0000 (+0800) Subject: Convert ProfileSelectDialog to androidx verison X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=800f71302156a6d5a8c9c906bb2e1eff5d7a7f88;p=android-x86%2Fpackages-apps-Settings.git Convert ProfileSelectDialog to androidx verison Change-Id: Ib3baf04860aee07e5f28d7b537a99a3543d2a978 Fixes: 112155563 Test: robo, manual test --- diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index d3afd3f22e..7e7cf46caf 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -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 getPreferencesForCategory(Activity activity, Context context, + List 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); } diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java index 49c7bbbffb..9e8664e0a5 100644 --- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java +++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java @@ -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 getPreferencesForCategory(Activity activity, Context context, + public List 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); } } diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java index b49f401224..7e38d6ac19 100644 --- a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java +++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java @@ -16,10 +16,7 @@ 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; diff --git a/tests/robotests/assets/grandfather_not_implementing_instrumentable b/tests/robotests/assets/grandfather_not_implementing_instrumentable index 2c8ae5d926..625d9ffecf 100644 --- a/tests/robotests/assets/grandfather_not_implementing_instrumentable +++ b/tests/robotests/assets/grandfather_not_implementing_instrumentable @@ -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 diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java index 10d5f22c29..f297cb1c71 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java @@ -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", diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java index 12411a05ab..18576d336f 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java @@ -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(); } }