Use getSummary() to get tile summary text.

Bug: 77600770
Test: robotests
Change-Id: Iecef09853bb49bc259502494912ed81d52e2d7ce
This commit is contained in:
Fan Zhang
2018-08-20 14:13:14 -07:00
parent 54cfb64987
commit 64951163b8
7 changed files with 37 additions and 34 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.dashboard;
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_ORDER;
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL;
import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY;
@@ -107,6 +108,8 @@ public class DashboardFeatureProviderImplTest {
mActivityInfo.name = "class";
mActivityInfo.metaData = new Bundle();
mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_SUMMARY,
R.string.about_settings_summary);
doReturn(mPackageManager).when(mContext).getPackageManager();
when(mPackageManager.resolveActivity(any(Intent.class), anyInt()))
.thenReturn(new ResolveInfo());
@@ -124,7 +127,6 @@ public class DashboardFeatureProviderImplTest {
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
tile.summary = "summary";
doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
.when(tile).getIcon(any(Context.class));
mActivityInfo.metaData.putString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS, "HI");
@@ -132,7 +134,8 @@ public class DashboardFeatureProviderImplTest {
preference, tile, "123", Preference.DEFAULT_ORDER);
assertThat(preference.getTitle()).isEqualTo(mContext.getText(R.string.settings_label));
assertThat(preference.getSummary()).isEqualTo(tile.summary);
assertThat(preference.getSummary())
.isEqualTo(mContext.getText(R.string.about_settings_summary));
assertThat(preference.getIcon()).isNotNull();
assertThat(preference.getFragment()).isEqualTo(
mActivityInfo.metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS));
@@ -232,7 +235,10 @@ public class DashboardFeatureProviderImplTest {
@Test
public void bindPreference_noSummary_shouldSetSummaryToPlaceholder() {
final Preference preference = new Preference(RuntimeEnvironment.application);
mActivityInfo.metaData.remove(META_DATA_PREFERENCE_SUMMARY);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, null /*key */, Preference.DEFAULT_ORDER);
@@ -240,17 +246,6 @@ public class DashboardFeatureProviderImplTest {
.isEqualTo(RuntimeEnvironment.application.getString(R.string.summary_placeholder));
}
@Test
public void bindPreference_hasSummary_shouldSetSummary() {
final Preference preference = new Preference(RuntimeEnvironment.application);
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
tile.summary = "test";
mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.VIEW_UNKNOWN,
preference, tile, null /*key */, Preference.DEFAULT_ORDER);
assertThat(preference.getSummary()).isEqualTo(tile.summary);
}
@Test
@Config(shadows = {ShadowTileUtils.class, ShadowThreadUtils.class})
public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProvider() {

View File

@@ -24,6 +24,7 @@ import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
@@ -46,6 +47,7 @@ public class SummaryLoaderTest {
private static final String SUMMARY_1 = "summary1";
private static final String SUMMARY_2 = "summary2";
private Context mContext;
private SummaryLoader mSummaryLoader;
private boolean mCallbackInvoked;
private Tile mTile;
@@ -54,12 +56,13 @@ public class SummaryLoaderTest {
@Before
public void SetUp() {
MockitoAnnotations.initMocks(this);
mContext = RuntimeEnvironment.application;
mFeatureFactory = FakeFeatureFactory.setupForTest();
final ActivityInfo activityInfo = new ActivityInfo();
activityInfo.packageName = "pkg";
activityInfo.name = "class";
mTile = new Tile(activityInfo, CategoryKey.CATEGORY_HOMEPAGE);
mTile.summary = SUMMARY_1;
mTile.overrideSummary(SUMMARY_1);
mCallbackInvoked = false;
final Activity activity = Robolectric.buildActivity(Activity.class).get();
@@ -75,14 +78,14 @@ public class SummaryLoaderTest {
@Test
public void testUpdateSummaryIfNeeded_SummaryIdentical_NoCallback() {
mSummaryLoader.updateSummaryIfNeeded(mTile, SUMMARY_1);
mSummaryLoader.updateSummaryIfNeeded(mContext, mTile, SUMMARY_1);
assertThat(mCallbackInvoked).isFalse();
}
@Test
public void testUpdateSummaryIfNeeded_SummaryChanged_HasCallback() {
mSummaryLoader.updateSummaryIfNeeded(mTile, SUMMARY_2);
mSummaryLoader.updateSummaryIfNeeded(mContext, mTile, SUMMARY_2);
assertThat(mCallbackInvoked).isTrue();
}
@@ -102,10 +105,10 @@ public class SummaryLoaderTest {
when(mFeatureFactory.dashboardFeatureProvider.getDashboardKeyForTile(tile))
.thenReturn(tile.getKey(RuntimeEnvironment.application));
mSummaryLoader.updateSummaryIfNeeded(tile, testSummary);
tile.summary = null;
mSummaryLoader.updateSummaryIfNeeded(mContext, tile, testSummary);
tile.overrideSummary(null);
mSummaryLoader.updateSummaryToCache(category);
assertThat(tile.summary).isEqualTo(testSummary);
assertThat(tile.getSummary(mContext)).isEqualTo(testSummary);
}
}