From 54cfb649875047e90fe94304440d2d0646eaeaf2 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Fri, 17 Aug 2018 11:36:20 -0700 Subject: [PATCH 1/2] Use tile.getTitle(context) to get tile title. And switch to getId() instead of title when comparing 2 tiles. This is more accurate and more efficient. Bug: 77600770 Test: robotests Change-Id: I587d90702d98956bf7b420529ac3280351ca4a10 --- .../settings/dashboard/DashboardAdapter.java | 2 +- .../settings/dashboard/DashboardData.java | 11 +++++------ .../dashboard/DashboardFeatureProviderImpl.java | 2 +- .../settings/dashboard/DashboardFragment.java | 6 +++--- .../settings/dashboard/SummaryLoader.java | 7 ++++--- .../AccountDetailDashboardFragmentTest.java | 4 +++- .../settings/dashboard/DashboardAdapterTest.java | 3 +++ .../settings/dashboard/DashboardDataTest.java | 13 +++++++------ .../DashboardFeatureProviderImplTest.java | 16 +++++----------- 9 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index 488396f2a7c..abeecd97f25 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -355,7 +355,7 @@ public class DashboardAdapter extends RecyclerView.Adapter * First, try to find the exact identical instance of the tile object, if not found, - * then try to find a tile has the same title. + * then try to find a tile has the same id. * * @param tile tile that need to be found * @return position of the object, return INDEX_NOT_FOUND if object isn't in the list @@ -158,7 +157,7 @@ public class DashboardData { final Object entity = mItems.get(i).entity; if (entity == tile) { return i; - } else if (entity instanceof Tile && tile.title.equals(((Tile) entity).title)) { + } else if (entity instanceof Tile && tile.getId() == ((Tile) entity).getId()) { return i; } } @@ -227,7 +226,7 @@ public class DashboardData { final List tiles = mCategory.getTiles(); for (int i = 0; i < tiles.size(); i++) { final Tile tile = tiles.get(i); - addToItemList(tile, R.layout.dashboard_tile, Objects.hash(tile.title), + addToItemList(tile, R.layout.dashboard_tile, tile.getId(), true /* add */); } } @@ -425,8 +424,8 @@ public class DashboardData { final Tile localTile = (Tile) entity; final Tile targetTile = (Tile) targetItem.entity; - // Only check title and summary for dashboard tile - return TextUtils.equals(localTile.title, targetTile.title) + // Only check id and summary for dashboard tile + return localTile.getId() == targetTile.getId() && TextUtils.equals(localTile.summary, targetTile.summary); case TYPE_SUGGESTION_CONTAINER: case TYPE_CONDITION_CONTAINER: diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java index 7c6593628ad..b904f9d3da9 100644 --- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java +++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java @@ -106,7 +106,7 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider { if (pref == null) { return; } - pref.setTitle(tile.title); + pref.setTitle(tile.getTitle(activity.getApplicationContext())); if (!TextUtils.isEmpty(key)) { pref.setKey(key); } else { diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index a90950e5521..cdd7d0e81df 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -156,9 +156,9 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile); final Preference pref = getPreferenceScreen().findPreference(key); if (pref == null) { - Log.d(getLogTag(), - String.format("Can't find pref by key %s, skipping update summary %s/%s", - key, tile.title, tile.summary)); + Log.d(getLogTag(), String.format( + "Can't find pref by key %s, skipping update summary %s/%s", + key, tile.getDescription(), tile.summary)); return; } pref.setSummary(tile.summary); diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java index 199331d5b21..dbca535ece5 100644 --- a/src/com/android/settings/dashboard/SummaryLoader.java +++ b/src/com/android/settings/dashboard/SummaryLoader.java @@ -96,7 +96,7 @@ public class SummaryLoader { return; } if (DEBUG) { - Log.d(TAG, "setSummary " + tile.title + " - " + summary); + Log.d(TAG, "setSummary " + tile.getDescription() + " - " + summary); } updateSummaryIfNeeded(tile, summary); @@ -107,7 +107,8 @@ public class SummaryLoader { void updateSummaryIfNeeded(Tile tile, CharSequence summary) { if (TextUtils.equals(tile.summary, summary)) { if (DEBUG) { - Log.d(TAG, "Summary doesn't change, skipping summary update for " + tile.title); + Log.d(TAG, "Summary doesn't change, skipping summary update for " + + tile.getDescription()); } return; } @@ -118,7 +119,7 @@ public class SummaryLoader { } else { if (DEBUG) { Log.d(TAG, "SummaryConsumer is null, skipping summary update for " - + tile.title); + + tile.getDescription()); } } } diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java index eca9f862b30..f2fb1219094 100644 --- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java @@ -16,6 +16,7 @@ package com.android.settings.accounts; import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT; +import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE; import static com.google.common.truth.Truth.assertThat; @@ -65,7 +66,7 @@ public class AccountDetailDashboardFragmentTest { public void setUp() { mContext = RuntimeEnvironment.application; mActivityInfo = new ActivityInfo(); - mActivityInfo.packageName = "pkg"; + mActivityInfo.packageName = mContext.getPackageName(); mActivityInfo.name = "clazz"; mActivityInfo.metaData = new Bundle(); @@ -123,6 +124,7 @@ public class AccountDetailDashboardFragmentTest { mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key"); mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT); mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc"); + mActivityInfo.metaData.putString(META_DATA_PREFERENCE_TITLE, "summary"); mActivityInfo.metaData.putString("com.android.settings.intent.action", Intent.ACTION_ASSIST); tile.userHandle = null; diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java index a73f4a8700e..58a5cc9dc6f 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java @@ -15,6 +15,8 @@ */ package com.android.settings.dashboard; +import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE; + import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -95,6 +97,7 @@ public class DashboardAdapterTest { mActivityInfo.packageName = "pkg"; mActivityInfo.name = "class"; mActivityInfo.metaData = new Bundle(); + mActivityInfo.metaData.putString(META_DATA_PREFERENCE_TITLE, "test-title"); when(mContext.getSystemService(Context.WINDOW_SERVICE)).thenReturn(mWindowManager); when(mContext.getResources()).thenReturn(mResources); diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java index d92cceb62a8..406cb3cd1df 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardDataTest.java @@ -49,13 +49,12 @@ import org.mockito.MockitoAnnotations; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Objects; @RunWith(SettingsRobolectricTestRunner.class) public class DashboardDataTest { private static final String TEST_SUGGESTION_TITLE = "Use fingerprint"; - private static final String TEST_CATEGORY_TILE_TITLE = "Display"; + private static final int TEST_TILE_ID = 12345; private DashboardData mDashboardDataWithOneConditions; private DashboardData mDashboardDataWithTwoConditions; @@ -95,7 +94,7 @@ public class DashboardDataTest { twoItemsConditions.add(mSecondCondition); // Build category - mTestCategoryTile.title = TEST_CATEGORY_TILE_TITLE; + when(mTestCategoryTile.getId()).thenReturn(TEST_TILE_ID); mDashboardCategory.addTile(mTestCategoryTile); @@ -132,7 +131,7 @@ public class DashboardDataTest { assertThat(items.get(1).id).isEqualTo(STABLE_ID_SUGGESTION_CONDITION_DIVIDER); assertThat(items.get(2).id).isEqualTo(STABLE_ID_CONDITION_CONTAINER); assertThat(items.get(3).id).isEqualTo(STABLE_ID_CONDITION_FOOTER); - assertThat(items.get(4).id).isEqualTo(Objects.hash(mTestCategoryTile.title)); + assertThat(items.get(4).id).isEqualTo(TEST_TILE_ID); } @Test @@ -185,15 +184,17 @@ public class DashboardDataTest { @Test public void testGetPositionByTile_equalTitle_returnPositionFound() { final Tile tile = mock(Tile.class); - tile.title = TEST_CATEGORY_TILE_TITLE; + when(tile.getId()).thenReturn(TEST_TILE_ID); + final int position = mDashboardDataWithOneConditions.getPositionByTile(tile); + assertThat(position).isNotEqualTo(DashboardData.POSITION_NOT_FOUND); } @Test public void testGetPositionByTile_notExisted_returnNotFound() { final Tile tile = mock(Tile.class); - tile.title = ""; + when(tile.getId()).thenReturn(123); final int position = mDashboardDataWithOneConditions.getPositionByTile(tile); assertThat(position).isEqualTo(DashboardData.POSITION_NOT_FOUND); } diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java index 22c589c8fd6..efebefd0892 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java @@ -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_TITLE; import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL; import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY; @@ -99,11 +100,13 @@ public class DashboardFeatureProviderImplTest { public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); + doReturn(RuntimeEnvironment.application).when(mActivity).getApplicationContext(); mForceRoundedIcon = false; mActivityInfo = new ActivityInfo(); - mActivityInfo.packageName = "pkg"; + mActivityInfo.packageName = mContext.getPackageName(); mActivityInfo.name = "class"; mActivityInfo.metaData = new Bundle(); + mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label); doReturn(mPackageManager).when(mContext).getPackageManager(); when(mPackageManager.resolveActivity(any(Intent.class), anyInt())) .thenReturn(new ResolveInfo()); @@ -121,7 +124,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.title = "title"; tile.summary = "summary"; doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565))) .when(tile).getIcon(any(Context.class)); @@ -129,7 +131,7 @@ public class DashboardFeatureProviderImplTest { mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER); - assertThat(preference.getTitle()).isEqualTo(tile.title); + assertThat(preference.getTitle()).isEqualTo(mContext.getText(R.string.settings_label)); assertThat(preference.getSummary()).isEqualTo(tile.summary); assertThat(preference.getIcon()).isNotNull(); assertThat(preference.getFragment()).isEqualTo( @@ -159,9 +161,6 @@ public class DashboardFeatureProviderImplTest { tile.userHandle.add(mock(UserHandle.class)); tile.userHandle.add(mock(UserHandle.class)); - when(mActivity.getApplicationContext().getSystemService(Context.USER_SERVICE)) - .thenReturn(mUserManager); - mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER); preference.getOnPreferenceClickListener().onPreferenceClick(null); @@ -199,11 +198,6 @@ public class DashboardFeatureProviderImplTest { tile.userHandle = new ArrayList<>(); tile.userHandle.add(mock(UserHandle.class)); - when(mActivity.getSystemService(Context.USER_SERVICE)) - .thenReturn(mUserManager); - when(mActivity.getApplicationContext().getPackageName()) - .thenReturn(RuntimeEnvironment.application.getPackageName()); - mImpl.bindPreferenceToTile(mActivity, mForceRoundedIcon, MetricsEvent.SETTINGS_GESTURES, preference, tile, "123", Preference.DEFAULT_ORDER); preference.getOnPreferenceClickListener().onPreferenceClick(null); From 64951163b8c69c4a9e32c559297212f7eaa1ff14 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Mon, 20 Aug 2018 14:13:14 -0700 Subject: [PATCH 2/2] Use getSummary() to get tile summary text. Bug: 77600770 Test: robotests Change-Id: Iecef09853bb49bc259502494912ed81d52e2d7ce --- .../settings/dashboard/DashboardAdapter.java | 5 +++-- .../settings/dashboard/DashboardData.java | 4 +++- .../DashboardFeatureProviderImpl.java | 9 ++++---- .../settings/dashboard/DashboardFragment.java | 6 +++--- .../settings/dashboard/SummaryLoader.java | 11 +++++----- .../DashboardFeatureProviderImplTest.java | 21 +++++++------------ .../settings/dashboard/SummaryLoaderTest.java | 15 +++++++------ 7 files changed, 37 insertions(+), 34 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java index abeecd97f25..5a8df911373 100644 --- a/src/com/android/settings/dashboard/DashboardAdapter.java +++ b/src/com/android/settings/dashboard/DashboardAdapter.java @@ -356,8 +356,9 @@ public class DashboardAdapter extends RecyclerView.Adapter { final Map providerMap = new ArrayMap<>(); final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_SUMMARY_URI); - final String summary = TileUtils.getTextFromUri( + final String summaryFromUri = TileUtils.getTextFromUri( mContext, uri, providerMap, META_DATA_PREFERENCE_SUMMARY); - ThreadUtils.postOnMainThread(() -> preference.setSummary(summary)); + ThreadUtils.postOnMainThread(() -> preference.setSummary(summaryFromUri)); }); } else { preference.setSummary(R.string.summary_placeholder); diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index cdd7d0e81df..9f0acaa3486 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -157,11 +157,11 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment final Preference pref = getPreferenceScreen().findPreference(key); if (pref == null) { Log.d(getLogTag(), String.format( - "Can't find pref by key %s, skipping update summary %s/%s", - key, tile.getDescription(), tile.summary)); + "Can't find pref by key %s, skipping update summary %s", + key, tile.getDescription())); return; } - pref.setSummary(tile.summary); + pref.setSummary(tile.getSummary(pref.getContext())); } @Override diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java index dbca535ece5..cfb64efdeb0 100644 --- a/src/com/android/settings/dashboard/SummaryLoader.java +++ b/src/com/android/settings/dashboard/SummaryLoader.java @@ -18,6 +18,7 @@ package com.android.settings.dashboard; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; @@ -99,13 +100,13 @@ public class SummaryLoader { Log.d(TAG, "setSummary " + tile.getDescription() + " - " + summary); } - updateSummaryIfNeeded(tile, summary); + updateSummaryIfNeeded(mActivity.getApplicationContext(), tile, summary); }); } @VisibleForTesting - void updateSummaryIfNeeded(Tile tile, CharSequence summary) { - if (TextUtils.equals(tile.summary, summary)) { + void updateSummaryIfNeeded(Context context, Tile tile, CharSequence summary) { + if (TextUtils.equals(tile.getSummary(context), summary)) { if (DEBUG) { Log.d(TAG, "Summary doesn't change, skipping summary update for " + tile.getDescription()); @@ -113,7 +114,7 @@ public class SummaryLoader { return; } mSummaryTextMap.put(mDashboardFeatureProvider.getDashboardKeyForTile(tile), summary); - tile.summary = summary; + tile.overrideSummary(summary); if (mSummaryConsumer != null) { mSummaryConsumer.notifySummaryChanged(tile); } else { @@ -216,7 +217,7 @@ public class SummaryLoader { for (Tile tile : category.getTiles()) { final String key = mDashboardFeatureProvider.getDashboardKeyForTile(tile); if (mSummaryTextMap.containsKey(key)) { - tile.summary = mSummaryTextMap.get(key); + tile.overrideSummary(mSummaryTextMap.get(key)); } } } diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java index efebefd0892..d49e4fbb057 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java @@ -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() { diff --git a/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java b/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java index 06d5a96de9b..3726fb4d2bd 100644 --- a/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/SummaryLoaderTest.java @@ -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); } }