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 d3afd3f..7e7cf46 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.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 @@
@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());
}
};
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProvider.java b/src/com/android/settings/dashboard/DashboardFeatureProvider.java
index 35d50fb..ac11e0b 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProvider.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProvider.java
@@ -15,16 +15,16 @@
*/
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 @@
* 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 @@
/**
* Whether or not we should tint icons in setting pages.
+ *
* @deprecated in favor of color icons in homepage
*/
@Deprecated
@@ -78,7 +79,7 @@
* @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 @@
/**
* 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 49c7bbb..9e8664e 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_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.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 @@
}
@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 @@
}
@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 @@
}
@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 @@
}
}
- 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 @@
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 b49f401..7e38d6a 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.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 2c8ae5d..625d9ff 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.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 10d5f22..f297cb1 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.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.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 @@
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 12411a0..18576d3 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.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.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 @@
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 @@
preference, tile, "123", Preference.DEFAULT_ORDER);
preference.getOnPreferenceClickListener().onPreferenceClick(null);
- verify(mActivity).getFragmentManager();
+ verify(mActivity).getSupportFragmentManager();
}
@Test
@@ -334,7 +334,7 @@
@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 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 @@
verify(mActivity, never())
.startActivityForResult(any(Intent.class), eq(0));
- verify(mActivity).getFragmentManager();
+ verify(mActivity).getSupportFragmentManager();
}
@Test
@@ -457,7 +457,7 @@
verify(mActivity, never())
.startActivityForResult(any(Intent.class), eq(0));
- verify(mActivity).getFragmentManager();
+ verify(mActivity).getSupportFragmentManager();
}
@Test
@@ -472,6 +472,6 @@
verify(mActivity)
.startActivityForResult(any(Intent.class), eq(0));
- verify(mActivity, never()).getFragmentManager();
+ verify(mActivity, never()).getSupportFragmentManager();
}
}