Use preference key specified in injected settings.
Bug: 31002801 Test: make RunSettingsRoboTests Reads in optional metadata field for specifying the key used for an injected preference. Change-Id: Ief2ff10c508d42f91906b531cf34906c1c42fdd4
This commit is contained in:
@@ -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());
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user