From 83a6621b38457a517bc842dc6df902ad8a370adf Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Thu, 11 May 2017 16:27:54 -0700 Subject: [PATCH] Combine settings suggestion and condition. - Add a flag in dashboard feature provider to specify whether to use the combined UI for suggestions and conditions. - Move Conditions below Suggestions. - Add dashboard entity for condition and suggestion container, and wrap the condition and suggestion list inside the container. The container itself will be a single dashboard item, and within it will be the list of suggestion or condition. - Add suggestion/condition header that will show the combined info for the conditions and suggestion data, and have the expand button to control expanding both the suggestion and condition list. - Change the individual condition card to be always expanded, and remove the logic to collapse/expand individual condition card. - Remove the divider between the action button and condition detail within each condition card. - Add suggestion/condition footer for collapsing the whole suggestion and condition list. Bug: 37645754 Test: make RunSettingsRoboTests Change-Id: I86df75f7e4551778f79d730851c03121fd0dcbdf --- res/layout/condition_header_icon.xml | 25 ++ res/layout/condition_tile_new_ui.xml | 94 +++++ res/layout/horizontal_divider.xml | 23 ++ res/layout/suggestion_condition_container.xml | 42 +++ res/layout/suggestion_condition_footer.xml | 33 ++ res/layout/suggestion_condition_header.xml | 76 ++++ res/layout/suggestion_tile_new_ui.xml | 63 ++++ res/values/strings.xml | 18 + res/values/styles.xml | 4 + .../settings/dashboard/DashboardAdapter.java | 334 ++++++++++++++++-- .../settings/dashboard/DashboardData.java | 234 ++++++++++-- .../dashboard/DashboardFeatureProvider.java | 5 + .../DashboardFeatureProviderImpl.java | 5 + .../settings/dashboard/DashboardSummary.java | 11 +- .../conditional/ConditionAdapter.java | 103 ++++++ .../conditional/ConditionAdapterUtils.java | 57 ++- .../suggestions/SuggestionAdapter.java | 135 +++++++ .../SuggestionDismissController.java | 1 + .../ConditionAdapterUtilsTest.java | 2 + .../dashboard/DashboardAdapterTest.java | 8 - .../settings/dashboard/DashboardDataTest.java | 73 ++-- .../conditional/ConditionAdapterTest.java | 135 +++++++ .../suggestions/SuggestionAdapterTest.java | 105 ++++++ 23 files changed, 1476 insertions(+), 110 deletions(-) create mode 100644 res/layout/condition_header_icon.xml create mode 100644 res/layout/condition_tile_new_ui.xml create mode 100644 res/layout/horizontal_divider.xml create mode 100644 res/layout/suggestion_condition_container.xml create mode 100644 res/layout/suggestion_condition_footer.xml create mode 100644 res/layout/suggestion_condition_header.xml create mode 100644 res/layout/suggestion_tile_new_ui.xml create mode 100644 src/com/android/settings/dashboard/conditional/ConditionAdapter.java create mode 100644 src/com/android/settings/dashboard/suggestions/SuggestionAdapter.java create mode 100644 tests/robotests/src/com/android/settings/dashboard/conditional/ConditionAdapterTest.java create mode 100644 tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionAdapterTest.java diff --git a/res/layout/condition_header_icon.xml b/res/layout/condition_header_icon.xml new file mode 100644 index 00000000000..4f93f547c22 --- /dev/null +++ b/res/layout/condition_header_icon.xml @@ -0,0 +1,25 @@ + + + + diff --git a/res/layout/condition_tile_new_ui.xml b/res/layout/condition_tile_new_ui.xml new file mode 100644 index 00000000000..d8d2284842a --- /dev/null +++ b/res/layout/condition_tile_new_ui.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + +