Refactor Settings for injection v2 inline toggle

Bug: 132808482
Test: robotest
Change-Id: I0b74e05bc26b97259a15859c669060ce3da7972a
This commit is contained in:
Jason Chiu
2019-10-01 17:35:00 +08:00
parent 5b689a5193
commit 1a1f9314b6
9 changed files with 105 additions and 95 deletions

View File

@@ -111,7 +111,7 @@ public class SettingsBaseActivity extends FragmentActivity {
filter.addDataScheme(DATA_SCHEME_PKG); filter.addDataScheme(DATA_SCHEME_PKG);
registerReceiver(mPackageReceiver, filter); registerReceiver(mPackageReceiver, filter);
new CategoriesUpdateTask().execute(); updateCategories();
} }
@Override @Override
@@ -154,7 +154,6 @@ public class SettingsBaseActivity extends FragmentActivity {
} }
} }
private boolean isLockTaskModePinned() { private boolean isLockTaskModePinned() {
final ActivityManager activityManager = final ActivityManager activityManager =
getApplicationContext().getSystemService(ActivityManager.class); getApplicationContext().getSystemService(ActivityManager.class);
@@ -226,7 +225,7 @@ public class SettingsBaseActivity extends FragmentActivity {
private class PackageReceiver extends BroadcastReceiver { private class PackageReceiver extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
new CategoriesUpdateTask().execute(); updateCategories();
} }
} }
} }

View File

@@ -32,6 +32,7 @@ import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon; import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle; import android.os.UserHandle;
import android.provider.Settings; import android.provider.Settings;
@@ -118,10 +119,10 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
bindTitle(pref, tile); bindTitle(pref, tile);
bindSummary(pref, tile); bindSummary(pref, tile);
bindIcon(pref, tile, forceRoundedIcon); bindIcon(pref, tile, forceRoundedIcon);
final Bundle metadata = tile.getMetaData(); final Bundle metadata = tile.getMetaData();
String clsName = null; String clsName = null;
String action = null; String action = null;
if (metadata != null) { if (metadata != null) {
clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS); clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
action = metadata.getString(META_DATA_KEY_INTENT_ACTION); action = metadata.getString(META_DATA_KEY_INTENT_ACTION);
@@ -140,10 +141,9 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
return true; return true;
}); });
} }
final String skipOffsetPackageName = activity.getPackageName();
if (tile.hasOrder()) { if (tile.hasOrder()) {
final String skipOffsetPackageName = activity.getPackageName();
final int order = tile.getOrder(); final int order = tile.getOrder();
boolean shouldSkipBaseOrderOffset = TextUtils.equals( boolean shouldSkipBaseOrderOffset = TextUtils.equals(
skipOffsetPackageName, tile.getIntent().getComponent().getPackageName()); skipOffsetPackageName, tile.getIntent().getComponent().getPackageName());
@@ -182,15 +182,19 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
// to avoid preference height change. // to avoid preference height change.
preference.setTitle(R.string.summary_placeholder); preference.setTitle(R.string.summary_placeholder);
final Uri uri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_TITLE_URI);
refreshTitle(uri, preference);
}
}
private void refreshTitle(Uri uri, Preference preference) {
ThreadUtils.postOnBackgroundThread(() -> { ThreadUtils.postOnBackgroundThread(() -> {
final Map<String, IContentProvider> providerMap = new ArrayMap<>(); final Map<String, IContentProvider> providerMap = new ArrayMap<>();
final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_TITLE_URI);
final String titleFromUri = TileUtils.getTextFromUri( final String titleFromUri = TileUtils.getTextFromUri(
mContext, uri, providerMap, META_DATA_PREFERENCE_TITLE); mContext, uri, providerMap, META_DATA_PREFERENCE_TITLE);
ThreadUtils.postOnMainThread(() -> preference.setTitle(titleFromUri)); ThreadUtils.postOnMainThread(() -> preference.setTitle(titleFromUri));
}); });
} }
}
private void bindSummary(Preference preference, Tile tile) { private void bindSummary(Preference preference, Tile tile) {
final CharSequence summary = tile.getSummary(mContext); final CharSequence summary = tile.getSummary(mContext);
@@ -202,16 +206,20 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
// to avoid preference height change. // to avoid preference height change.
preference.setSummary(R.string.summary_placeholder); preference.setSummary(R.string.summary_placeholder);
final Uri uri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_SUMMARY_URI);
refreshSummary(uri, preference);
} else {
preference.setSummary(R.string.summary_placeholder);
}
}
private void refreshSummary(Uri uri, Preference preference) {
ThreadUtils.postOnBackgroundThread(() -> { ThreadUtils.postOnBackgroundThread(() -> {
final Map<String, IContentProvider> providerMap = new ArrayMap<>(); final Map<String, IContentProvider> providerMap = new ArrayMap<>();
final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_SUMMARY_URI);
final String summaryFromUri = TileUtils.getTextFromUri( final String summaryFromUri = TileUtils.getTextFromUri(
mContext, uri, providerMap, META_DATA_PREFERENCE_SUMMARY); mContext, uri, providerMap, META_DATA_PREFERENCE_SUMMARY);
ThreadUtils.postOnMainThread(() -> preference.setSummary(summaryFromUri)); ThreadUtils.postOnMainThread(() -> preference.setSummary(summaryFromUri));
}); });
} else {
preference.setSummary(R.string.summary_placeholder);
}
} }
@VisibleForTesting @VisibleForTesting
@@ -238,7 +246,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
packageName = intent.getComponent().getPackageName(); packageName = intent.getComponent().getPackageName();
} }
final Map<String, IContentProvider> providerMap = new ArrayMap<>(); final Map<String, IContentProvider> providerMap = new ArrayMap<>();
final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_ICON_URI); final Uri uri = TileUtils.getCompleteUri(tile, META_DATA_PREFERENCE_ICON_URI);
final Pair<String, Integer> iconInfo = TileUtils.getIconFromUri( final Pair<String, Integer> iconInfo = TileUtils.getIconFromUri(
mContext, packageName, uri, providerMap); mContext, packageName, uri, providerMap);
if (iconInfo == null) { if (iconInfo == null) {

View File

@@ -98,11 +98,11 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
// And wire up with lifecycle. // And wire up with lifecycle.
final Lifecycle lifecycle = getSettingsLifecycle(); final Lifecycle lifecycle = getSettingsLifecycle();
uniqueControllerFromXml uniqueControllerFromXml.forEach(controller -> {
.stream() if (controller instanceof LifecycleObserver) {
.filter(controller -> controller instanceof LifecycleObserver) lifecycle.addObserver((LifecycleObserver) controller);
.forEach( }
controller -> lifecycle.addObserver((LifecycleObserver) controller)); });
mPlaceholderPreferenceController = mPlaceholderPreferenceController =
new DashboardTilePlaceholderPreferenceController(context); new DashboardTilePlaceholderPreferenceController(context);
@@ -115,11 +115,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
@VisibleForTesting @VisibleForTesting
void checkUiBlocker(List<AbstractPreferenceController> controllers) { void checkUiBlocker(List<AbstractPreferenceController> controllers) {
final List<String> keys = new ArrayList<>(); final List<String> keys = new ArrayList<>();
controllers controllers.forEach(controller -> {
.stream() if (controller instanceof BasePreferenceController.UiBlocker
.filter(controller -> controller instanceof BasePreferenceController.UiBlocker) && controller.isAvailable()) {
.forEach(controller -> {
if (controller.isAvailable()) {
((BasePreferenceController) controller).setUiBlockListener(this); ((BasePreferenceController) controller).setUiBlockListener(this);
keys.add(controller.getPreferenceKey()); keys.add(controller.getPreferenceKey());
} }

View File

@@ -47,6 +47,7 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.dashboard.DashboardFeatureProviderImpl; import com.android.settings.dashboard.DashboardFeatureProviderImpl;
import com.android.settings.testutils.shadow.ShadowAccountManager; import com.android.settings.testutils.shadow.ShadowAccountManager;
import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.drawer.ActivityTile;
import com.android.settingslib.drawer.CategoryKey; import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
@@ -105,7 +106,7 @@ public class AccountDetailDashboardFragmentTest {
@Test @Test
public void refreshDashboardTiles_HasAccountType_shouldDisplay() { public void refreshDashboardTiles_HasAccountType_shouldDisplay() {
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL); mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc"); mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
@@ -114,7 +115,7 @@ public class AccountDetailDashboardFragmentTest {
@Test @Test
public void refreshDashboardTiles_NoAccountType_shouldNotDisplay() { public void refreshDashboardTiles_NoAccountType_shouldNotDisplay() {
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL); mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
assertThat(mFragment.displayTile(tile)).isFalse(); assertThat(mFragment.displayTile(tile)).isFalse();
@@ -122,7 +123,7 @@ public class AccountDetailDashboardFragmentTest {
@Test @Test
public void refreshDashboardTiles_OtherAccountType_shouldNotDisplay() { public void refreshDashboardTiles_OtherAccountType_shouldNotDisplay() {
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL); mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.other"); mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.other");
@@ -138,7 +139,7 @@ public class AccountDetailDashboardFragmentTest {
when(packageManager.resolveActivity(any(Intent.class), anyInt())) when(packageManager.resolveActivity(any(Intent.class), anyInt()))
.thenReturn(mock(ResolveInfo.class)); .thenReturn(mock(ResolveInfo.class));
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key"); mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT); mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT);
mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc"); mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
@@ -166,7 +167,7 @@ public class AccountDetailDashboardFragmentTest {
public void displayTile_shouldAddUserHandleToTileIntent() { public void displayTile_shouldAddUserHandleToTileIntent() {
mFragment.mUserHandle = new UserHandle(1); mFragment.mUserHandle = new UserHandle(1);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT); mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT);
mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc"); mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");

View File

@@ -27,6 +27,7 @@ import android.content.pm.ApplicationInfo;
import android.os.Bundle; import android.os.Bundle;
import android.util.Pair; import android.util.Pair;
import com.android.settingslib.drawer.ActivityTile;
import com.android.settingslib.drawer.CategoryKey; import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
@@ -68,8 +69,8 @@ public class CategoryManagerTest {
@Test @Test
public void backwardCompatCleanupForCategory_shouldNotChangeCategoryForNewKeys() { public void backwardCompatCleanupForCategory_shouldNotChangeCategoryForNewKeys() {
final Tile tile1 = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT); final Tile tile1 = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
final Tile tile2 = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT); final Tile tile2 = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
final DashboardCategory category = new DashboardCategory(CategoryKey.CATEGORY_ACCOUNT); final DashboardCategory category = new DashboardCategory(CategoryKey.CATEGORY_ACCOUNT);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
@@ -85,9 +86,9 @@ public class CategoryManagerTest {
@Test @Test
public void backwardCompatCleanupForCategory_shouldNotChangeCategoryForMixedKeys() { public void backwardCompatCleanupForCategory_shouldNotChangeCategoryForMixedKeys() {
final Tile tile1 = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT); final Tile tile1 = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT);
final String oldCategory = "com.android.settings.category.wireless"; final String oldCategory = "com.android.settings.category.wireless";
final Tile tile2 = new Tile(mActivityInfo, oldCategory); final Tile tile2 = new ActivityTile(mActivityInfo, oldCategory);
final DashboardCategory category1 = new DashboardCategory(CategoryKey.CATEGORY_ACCOUNT); final DashboardCategory category1 = new DashboardCategory(CategoryKey.CATEGORY_ACCOUNT);
category1.addTile(tile1); category1.addTile(tile1);
final DashboardCategory category2 = new DashboardCategory(oldCategory); final DashboardCategory category2 = new DashboardCategory(oldCategory);
@@ -108,7 +109,7 @@ public class CategoryManagerTest {
@Test @Test
public void backwardCompatCleanupForCategory_shouldChangeCategoryForOldKeys() { public void backwardCompatCleanupForCategory_shouldChangeCategoryForOldKeys() {
final String oldCategory = "com.android.settings.category.wireless"; final String oldCategory = "com.android.settings.category.wireless";
final Tile tile1 = new Tile(mActivityInfo, oldCategory); final Tile tile1 = new ActivityTile(mActivityInfo, oldCategory);
tile1.setCategory(oldCategory); tile1.setCategory(oldCategory);
final DashboardCategory category1 = new DashboardCategory(oldCategory); final DashboardCategory category1 = new DashboardCategory(oldCategory);
category1.addTile(tile1); category1.addTile(tile1);
@@ -146,9 +147,9 @@ public class CategoryManagerTest {
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 200); activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 200);
activityInfo3.packageName = testPackage; activityInfo3.packageName = testPackage;
activityInfo3.name = "class3"; activityInfo3.name = "class3";
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
@@ -186,9 +187,9 @@ public class CategoryManagerTest {
activityInfo3.packageName = testPackage1; activityInfo3.packageName = testPackage1;
activityInfo3.name = "class3"; activityInfo3.name = "class3";
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
category.addTile(tile3); category.addTile(tile3);
@@ -223,9 +224,9 @@ public class CategoryManagerTest {
activityInfo3.name = "class3"; activityInfo3.name = "class3";
activityInfo3.metaData = new Bundle(); activityInfo3.metaData = new Bundle();
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50); activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
category.addTile(tile3); category.addTile(tile3);
@@ -268,10 +269,10 @@ public class CategoryManagerTest {
activityInfo4.metaData = new Bundle(); activityInfo4.metaData = new Bundle();
activityInfo4.metaData.putInt(META_DATA_KEY_ORDER, -1); activityInfo4.metaData.putInt(META_DATA_KEY_ORDER, -1);
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile4 = new Tile(activityInfo4, category.key); final Tile tile4 = new ActivityTile(activityInfo4, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
category.addTile(tile3); category.addTile(tile3);
@@ -310,9 +311,9 @@ public class CategoryManagerTest {
activityInfo3.name = "class3"; activityInfo3.name = "class3";
activityInfo3.metaData = new Bundle(); activityInfo3.metaData = new Bundle();
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 1); activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 1);
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
category.addTile(tile3); category.addTile(tile3);
@@ -347,9 +348,9 @@ public class CategoryManagerTest {
activityInfo3.name = "class3"; activityInfo3.name = "class3";
activityInfo3.metaData = new Bundle(); activityInfo3.metaData = new Bundle();
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50); activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
category.addTile(tile3); category.addTile(tile3);
@@ -381,9 +382,9 @@ public class CategoryManagerTest {
activityInfo3.metaData = new Bundle(); activityInfo3.metaData = new Bundle();
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50); activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
final Tile tile1 = new Tile(activityInfo1, category.key); final Tile tile1 = new ActivityTile(activityInfo1, category.key);
final Tile tile2 = new Tile(activityInfo2, category.key); final Tile tile2 = new ActivityTile(activityInfo2, category.key);
final Tile tile3 = new Tile(activityInfo3, category.key); final Tile tile3 = new ActivityTile(activityInfo3, category.key);
category.addTile(tile1); category.addTile(tile1);
category.addTile(tile2); category.addTile(tile2);
category.addTile(tile3); category.addTile(tile3);

View File

@@ -57,10 +57,10 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowThreadUtils;
import com.android.settings.testutils.shadow.ShadowTileUtils; import com.android.settings.testutils.shadow.ShadowTileUtils;
import com.android.settings.testutils.shadow.ShadowUserManager; import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.drawer.ActivityTile;
import com.android.settingslib.drawer.CategoryKey; import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
import com.android.settingslib.drawer.TileUtils; import com.android.settingslib.drawer.TileUtils;
@@ -127,7 +127,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_shouldBindAllData() { public void bindPreference_shouldBindAllData() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE)); final Tile tile = spy(new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10); mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565))) doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
.when(tile).getIcon(any(Context.class)); .when(tile).getIcon(any(Context.class));
@@ -148,7 +148,7 @@ public class DashboardFeatureProviderImplTest {
public void bindPreference_noFragmentMetadata_shouldBindIntent() { public void bindPreference_noFragmentMetadata_shouldBindIntent() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10); mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES,
preference, tile, "123", Preference.DEFAULT_ORDER); preference, tile, "123", Preference.DEFAULT_ORDER);
@@ -161,7 +161,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() { public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() {
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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.userHandle = new ArrayList<>(); tile.userHandle = new ArrayList<>();
tile.userHandle.add(mock(UserHandle.class)); tile.userHandle.add(mock(UserHandle.class));
tile.userHandle.add(mock(UserHandle.class)); tile.userHandle.add(mock(UserHandle.class));
@@ -176,7 +176,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() { public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() {
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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.userHandle = new ArrayList<>(); tile.userHandle = new ArrayList<>();
tile.userHandle.add(mock(UserHandle.class)); tile.userHandle.add(mock(UserHandle.class));
@@ -199,7 +199,7 @@ public class DashboardFeatureProviderImplTest {
public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() { public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName(); mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.userHandle = new ArrayList<>(); tile.userHandle = new ArrayList<>();
tile.userHandle.add(mock(UserHandle.class)); tile.userHandle.add(mock(UserHandle.class));
@@ -226,7 +226,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() { public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() {
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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, null /*key */, Preference.DEFAULT_ORDER); preference, tile, null /*key */, Preference.DEFAULT_ORDER);
@@ -239,7 +239,7 @@ public class DashboardFeatureProviderImplTest {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.metaData.remove(META_DATA_PREFERENCE_SUMMARY); mActivityInfo.metaData.remove(META_DATA_PREFERENCE_SUMMARY);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, null /*key */, Preference.DEFAULT_ORDER); preference, tile, null /*key */, Preference.DEFAULT_ORDER);
@@ -252,7 +252,7 @@ public class DashboardFeatureProviderImplTest {
@Config(shadows = {ShadowTileUtils.class}) @Config(shadows = {ShadowTileUtils.class})
public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() { public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {
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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI,
"content://com.android.settings/tile_summary"); "content://com.android.settings/tile_summary");
@@ -266,7 +266,7 @@ public class DashboardFeatureProviderImplTest {
@Config(shadows = {ShadowTileUtils.class}) @Config(shadows = {ShadowTileUtils.class})
public void bindPreference_hasTitleUri_shouldLoadFromContentProvider() { public void bindPreference_hasTitleUri_shouldLoadFromContentProvider() {
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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_TITLE_URI, mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_TITLE_URI,
"content://com.android.settings/tile_title"); "content://com.android.settings/tile_title");
@@ -280,7 +280,7 @@ public class DashboardFeatureProviderImplTest {
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() { public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key"); mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, null /* key */, Preference.DEFAULT_ORDER); preference, tile, null /* key */, Preference.DEFAULT_ORDER);
@@ -292,7 +292,7 @@ public class DashboardFeatureProviderImplTest {
public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() { public void bindPreference_withIconUri_shouldLoadIconFromContentProvider() {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName(); mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key"); mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI, mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI,
"content://com.android.settings/tile_icon"); "content://com.android.settings/tile_icon");
@@ -306,7 +306,7 @@ public class DashboardFeatureProviderImplTest {
final int baseOrder = 100; final int baseOrder = 100;
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10); mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, "123", baseOrder); preference, tile, "123", baseOrder);
@@ -319,7 +319,7 @@ public class DashboardFeatureProviderImplTest {
final Preference preference = new Preference(RuntimeEnvironment.application); final Preference preference = new Preference(RuntimeEnvironment.application);
final int testOrder = -30; final int testOrder = -30;
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10); mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, testOrder); mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, testOrder);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, "123", Preference.DEFAULT_ORDER); preference, tile, "123", Preference.DEFAULT_ORDER);
@@ -330,7 +330,7 @@ public class DashboardFeatureProviderImplTest {
@Test @Test
public void bindPreference_invalidOrderMetadata_shouldIgnore() { public void bindPreference_invalidOrderMetadata_shouldIgnore() {
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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putString(META_DATA_KEY_ORDER, "hello"); mActivityInfo.metaData.putString(META_DATA_KEY_ORDER, "hello");
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN, mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
@@ -343,7 +343,7 @@ public class DashboardFeatureProviderImplTest {
public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() { public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() {
FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key"); mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction"); mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
tile.userHandle = null; tile.userHandle = null;
@@ -366,7 +366,7 @@ public class DashboardFeatureProviderImplTest {
mImpl, "mPackageManager", RuntimeEnvironment.application.getPackageManager()); mImpl, "mPackageManager", RuntimeEnvironment.application.getPackageManager());
FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.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 ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key"); mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction"); mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
tile.userHandle = null; tile.userHandle = null;
@@ -385,7 +385,7 @@ public class DashboardFeatureProviderImplTest {
public void openTileIntent_profileSelectionDialog_shouldShow() { public void openTileIntent_profileSelectionDialog_shouldShow() {
ShadowUserManager.getShadow().addUser(10, "Someone", 0); ShadowUserManager.getShadow().addUser(10, "Someone", 0);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
final ArrayList<UserHandle> handles = new ArrayList<>(); final ArrayList<UserHandle> handles = new ArrayList<>();
handles.add(new UserHandle(0)); handles.add(new UserHandle(0));
handles.add(new UserHandle(10)); handles.add(new UserHandle(10));
@@ -402,7 +402,7 @@ public class DashboardFeatureProviderImplTest {
ShadowUserManager.getShadow().addUser(10, "Someone", 0); ShadowUserManager.getShadow().addUser(10, "Someone", 0);
mActivityInfo.metaData.putString(META_DATA_KEY_PROFILE, PROFILE_ALL); mActivityInfo.metaData.putString(META_DATA_KEY_PROFILE, PROFILE_ALL);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
final ArrayList<UserHandle> handles = new ArrayList<>(); final ArrayList<UserHandle> handles = new ArrayList<>();
handles.add(new UserHandle(0)); handles.add(new UserHandle(0));
handles.add(new UserHandle(10)); handles.add(new UserHandle(10));
@@ -419,7 +419,7 @@ public class DashboardFeatureProviderImplTest {
ShadowUserManager.getShadow().addUser(10, "Someone", 0); ShadowUserManager.getShadow().addUser(10, "Someone", 0);
mActivityInfo.metaData.putString(META_DATA_KEY_PROFILE, PROFILE_PRIMARY); mActivityInfo.metaData.putString(META_DATA_KEY_PROFILE, PROFILE_PRIMARY);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
final ArrayList<UserHandle> handles = new ArrayList<>(); final ArrayList<UserHandle> handles = new ArrayList<>();
handles.add(new UserHandle(0)); handles.add(new UserHandle(0));
handles.add(new UserHandle(10)); handles.add(new UserHandle(10));
@@ -437,7 +437,7 @@ public class DashboardFeatureProviderImplTest {
ShadowUserManager.getShadow().addUser(userId, "Someone", 0); ShadowUserManager.getShadow().addUser(userId, "Someone", 0);
final UserHandle userHandle = new UserHandle(userId); final UserHandle userHandle = new UserHandle(userId);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.getIntent().putExtra(EXTRA_USER, userHandle); tile.getIntent().putExtra(EXTRA_USER, userHandle);
final ArrayList<UserHandle> handles = new ArrayList<>(); final ArrayList<UserHandle> handles = new ArrayList<>();
handles.add(new UserHandle(0)); handles.add(new UserHandle(0));
@@ -457,7 +457,7 @@ public class DashboardFeatureProviderImplTest {
public void openTileIntent_profileSelectionDialog_invalidUserHandleShouldShow() { public void openTileIntent_profileSelectionDialog_invalidUserHandleShouldShow() {
ShadowUserManager.getShadow().addUser(10, "Someone", 0); ShadowUserManager.getShadow().addUser(10, "Someone", 0);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.getIntent().putExtra(EXTRA_USER, new UserHandle(30)); tile.getIntent().putExtra(EXTRA_USER, new UserHandle(30));
final ArrayList<UserHandle> handles = new ArrayList<>(); final ArrayList<UserHandle> handles = new ArrayList<>();
handles.add(new UserHandle(0)); handles.add(new UserHandle(0));

View File

@@ -45,6 +45,7 @@ import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin; import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
import com.android.settingslib.drawer.ActivityTile;
import com.android.settingslib.drawer.DashboardCategory; import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
@@ -86,7 +87,7 @@ public class DashboardFragmentTest {
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key"); mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key");
mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mDashboardCategory = new DashboardCategory("key"); mDashboardCategory = new DashboardCategory("key");
mDashboardCategory.addTile(new Tile(mActivityInfo, mDashboardCategory.key)); mDashboardCategory.addTile(new ActivityTile(mActivityInfo, mDashboardCategory.key));
mTestFragment = new TestFragment(RuntimeEnvironment.application); mTestFragment = new TestFragment(RuntimeEnvironment.application);
when(mFakeFeatureFactory.dashboardFeatureProvider when(mFakeFeatureFactory.dashboardFeatureProvider
.getTilesForCategory(nullable(String.class))) .getTilesForCategory(nullable(String.class)))

View File

@@ -29,6 +29,7 @@ import android.content.pm.UserInfo;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import com.android.settingslib.drawer.ActivityTile;
import com.android.settingslib.drawer.CategoryKey; import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.Tile; import com.android.settingslib.drawer.Tile;
@@ -66,7 +67,7 @@ public class ProfileSelectDialogTest {
@Test @Test
public void updateUserHandlesIfNeeded_Normal() { public void updateUserHandlesIfNeeded_Normal() {
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.userHandle.add(NORMAL_USER); tile.userHandle.add(NORMAL_USER);
ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile); ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
@@ -78,7 +79,7 @@ public class ProfileSelectDialogTest {
@Test @Test
public void updateUserHandlesIfNeeded_Remove() { public void updateUserHandlesIfNeeded_Remove() {
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE); final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.userHandle.add(REMOVED_USER); tile.userHandle.add(REMOVED_USER);
tile.userHandle.add(NORMAL_USER); tile.userHandle.add(NORMAL_USER);
tile.userHandle.add(REMOVED_USER); tile.userHandle.add(REMOVED_USER);

View File

@@ -18,6 +18,7 @@ package com.android.settings.testutils.shadow;
import android.content.Context; import android.content.Context;
import android.content.IContentProvider; import android.content.IContentProvider;
import android.net.Uri;
import android.util.Pair; import android.util.Pair;
import com.android.settings.R; import com.android.settings.R;
@@ -35,14 +36,14 @@ public class ShadowTileUtils {
public static final String MOCK_SUMMARY = "summary"; public static final String MOCK_SUMMARY = "summary";
@Implementation @Implementation
protected static String getTextFromUri(Context context, String uriString, protected static String getTextFromUri(Context context, Uri uri,
Map<String, IContentProvider> providerMap, String key) { Map<String, IContentProvider> providerMap, String key) {
return MOCK_SUMMARY; return MOCK_SUMMARY;
} }
@Implementation @Implementation
protected static Pair<String, Integer> getIconFromUri(Context context, String packageName, protected static Pair<String, Integer> getIconFromUri(Context context, String packageName,
String uriString, Map<String, IContentProvider> providerMap) { Uri uri, Map<String, IContentProvider> providerMap) {
return Pair.create(RuntimeEnvironment.application.getPackageName(), R.drawable.ic_settings_accent); return Pair.create(RuntimeEnvironment.application.getPackageName(), R.drawable.ic_settings_accent);
} }
} }