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