Convert ProfileSelectDialog to androidx verison

Change-Id: Ib3baf04860aee07e5f28d7b537a99a3543d2a978
Fixes: 112155563
Test: robo, manual test
This commit is contained in:
tmfang
2018-08-06 14:59:57 +08:00
parent fbc325a9aa
commit 800f713021
7 changed files with 33 additions and 29 deletions

View 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());
}
};

View File

@@ -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 @@ 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);
}

View 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);
}
}

View File

@@ -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;

View File

@@ -6,3 +6,4 @@ com.android.settings.password.ChooseLockPattern$SaveAndFinishWorker
com.android.settings.RestrictedListPreference$RestrictedListPreferenceDialogFragment
com.android.settings.password.ConfirmDeviceCredentialBaseFragment$LastTryDialog
com.android.settings.password.CredentialCheckResultTracker
com.android.settings.dashboard.profileselector.ProfileSelectDialog

View 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",

View 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();
}
}