Merge "Use preference key specified in injected settings."

This commit is contained in:
Shahriyar Amini
2016-11-29 00:17:28 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 0 deletions

View File

@@ -109,6 +109,9 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
if (tile == null || tile.intent == null) {
return null;
}
if (!TextUtils.isEmpty(tile.key)) {
return tile.key;
}
final StringBuilder sb = new StringBuilder(DASHBOARD_TILE_PREF_KEY_PREFIX);
final ComponentName component = tile.intent.getComponent();
sb.append(component.getClassName());

View File

@@ -144,6 +144,20 @@ public class DashboardFeatureProviderImplTest {
assertThat(preference.getOrder()).isEqualTo(Preference.DEFAULT_ORDER);
}
@Test
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
final Preference preference = new Preference(
ShadowApplication.getInstance().getApplicationContext());
final Tile tile = new Tile();
tile.key = "key";
tile.intent = new Intent();
tile.intent.setComponent(new ComponentName("pkg", "class"));
mImpl.bindPreferenceToTile(mActivity, preference, tile, null /* key */
, Preference.DEFAULT_ORDER);
assertThat(preference.getKey()).isEqualTo(tile.key);
}
@Test
public void bindPreference_withBaseOrder_shouldOffsetPriority() {
final int baseOrder = 100;