Change the way we generate stable id for DashboardSummary
- The countItem() method generates id based on position of Tile. This is not truely stable. - Added stable id constants for static views, and use hash of title as stable id for tiles. Bug: 33861822 Test: robotests Change-Id: Ibbc88c82655503dc3964cb0c430c779dc9c93d41
This commit is contained in:
@@ -37,7 +37,13 @@ import org.robolectric.annotation.Config;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import static com.android.settings.dashboard.DashboardData.STABLE_ID_CONDITION_CONTAINER;
|
||||
import static com.android.settings.dashboard.DashboardData.STABLE_ID_SUGGESTION_CONDITION_FOOTER;
|
||||
import static com.android.settings.dashboard.DashboardData
|
||||
.STABLE_ID_SUGGESTION_CONDITION_TOP_HEADER;
|
||||
import static com.android.settings.dashboard.DashboardData.STABLE_ID_SUGGESTION_CONTAINER;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -112,6 +118,20 @@ public class DashboardDataTest {
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuildItemsData_shouldSetstableId() {
|
||||
final List<DashboardData.Item> items = mDashboardDataWithOneConditions.getItemList();
|
||||
|
||||
// Header, suggestion, condition, footer, 1 tile
|
||||
assertThat(items).hasSize(5);
|
||||
|
||||
assertThat(items.get(0).id).isEqualTo(STABLE_ID_SUGGESTION_CONDITION_TOP_HEADER);
|
||||
assertThat(items.get(1).id).isEqualTo(STABLE_ID_SUGGESTION_CONTAINER);
|
||||
assertThat(items.get(2).id).isEqualTo(STABLE_ID_CONDITION_CONTAINER);
|
||||
assertThat(items.get(3).id).isEqualTo(STABLE_ID_SUGGESTION_CONDITION_FOOTER);
|
||||
assertThat(items.get(4).id).isEqualTo(Objects.hash(mTestCategoryTile.title));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuildItemsData_containsAllData() {
|
||||
final DashboardData.SuggestionConditionHeaderData data =
|
||||
|
Reference in New Issue
Block a user