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
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user