Add metadata handling for specifying tile order.
- if tile order is set in the metadata, it will be used as preference order instead of the intent priority specified. Change-Id: If1a09219ece7bb71fc476aad60dc66d7653dfd28 Fixes: 65172575 Test: make RunSettingsRoboTests
This commit is contained in:
@@ -314,6 +314,33 @@ public class DashboardFeatureProviderImplTest {
|
||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority + baseOrder);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() {
|
||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||
final int testOrder = -30;
|
||||
final Tile tile = new Tile();
|
||||
tile.metaData = new Bundle();
|
||||
tile.metaData.putInt(mImpl.META_DATA_KEY_ORDER, testOrder);
|
||||
tile.priority = 10;
|
||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
||||
preference, tile, "123", Preference.DEFAULT_ORDER);
|
||||
|
||||
assertThat(preference.getOrder()).isEqualTo(testOrder);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bindPreference_invalidOrderMetadata_shouldIgnore() {
|
||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||
final Tile tile = new Tile();
|
||||
tile.metaData = new Bundle();
|
||||
tile.metaData.putString(mImpl.META_DATA_KEY_ORDER, "hello");
|
||||
tile.priority = 10;
|
||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
||||
preference, tile, "123", Preference.DEFAULT_ORDER);
|
||||
|
||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bindPreference_withIntentActionMetatdata_shouldSetLaunchAction() {
|
||||
Activity activity = Robolectric.buildActivity(Activity.class).get();
|
||||
|
Reference in New Issue
Block a user