Revise homepage sticky cards UI
- revmove material card layout
- remove slice header's divider
- add dividers below each sticky cards
- simplify contextual_slice_full_tile layout
Bug: 149371123
Test: visual
Change-Id: I13a8af21f565114220a093409e2a9ca664a57b02
diff --git a/res/layout/contextual_slice_full_tile.xml b/res/layout/contextual_slice_full_tile.xml
index 1438cfb..4b1155e 100644
--- a/res/layout/contextual_slice_full_tile.xml
+++ b/res/layout/contextual_slice_full_tile.xml
@@ -21,23 +21,17 @@
android:layout_height="wrap_content"
style="@style/ContextualCardStyle">
- <FrameLayout
+ <include layout="@layout/dismissal_swipe_background"/>
+
+ <androidx.slice.widget.SliceView
+ android:id="@+id/slice_view"
+ android:theme="@style/Theme.Settings.ContextualCard"
+ style="@style/ContextualCardSliceViewStyle"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="no"/>
- <include layout="@layout/dismissal_swipe_background"/>
+ <!--dismissal view-->
+ <include layout="@layout/contextual_card_dismissal_view"/>
- <androidx.slice.widget.SliceView
- android:id="@+id/slice_view"
- android:theme="@style/Theme.Settings.ContextualCard"
- style="@style/ContextualCardSliceViewStyle"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:importantForAccessibility="no"/>
-
- <!--dismissal view-->
- <include layout="@layout/contextual_card_dismissal_view"/>
-
- </FrameLayout>
</com.google.android.material.card.MaterialCardView>
\ No newline at end of file
diff --git a/res/layout/contextual_slice_sticky_tile.xml b/res/layout/contextual_slice_sticky_tile.xml
index 117732d..734697f 100644
--- a/res/layout/contextual_slice_sticky_tile.xml
+++ b/res/layout/contextual_slice_sticky_tile.xml
@@ -15,11 +15,12 @@
limitations under the License.
-->
-<com.google.android.material.card.MaterialCardView
+<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- style="@style/ContextualCardStyle">
+ android:orientation="vertical"
+ style="@style/StickyCardStyle">
<androidx.slice.widget.SliceView
android:id="@+id/slice_view"
@@ -27,7 +28,9 @@
style="@style/ContextualCardSliceViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
+ android:layout_marginBottom="@dimen/contextual_card_vertical_margin"
android:importantForAccessibility="no"/>
-</com.google.android.material.card.MaterialCardView>
\ No newline at end of file
+ <include layout="@layout/horizontal_divider"/>
+
+</LinearLayout>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 02998ae..9816e07 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -423,6 +423,12 @@
<item name="rippleColor">?android:attr/colorControlHighlight</item>
</style>
+ <style name="StickyCardStyle">
+ <item name="android:layout_marginBottom">@dimen/contextual_card_vertical_margin</item>
+ <item name="android:layout_marginStart">@dimen/contextual_card_side_margin</item>
+ <item name="android:layout_marginEnd">@dimen/contextual_card_side_margin</item>
+ </style>
+
<style name="SearchBarStyle">
<item name="android:layout_margin">@dimen/search_bar_margin</item>
<item name="cardCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
index c5e987a..6fba85e 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
@@ -59,7 +59,7 @@
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
mContext).getMetricsFeatureProvider();
view.icons.removeAllViews();
- headerCard.getConditionalCards().stream().forEach(card -> {
+ headerCard.getConditionalCards().forEach(card -> {
final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate(
R.layout.conditional_card_header_icon, view.icons, false);
icon.setImageDrawable(card.getIconDrawable());
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
index 6f07d47..05531d6 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
@@ -166,7 +166,7 @@
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onStop() {
- mFlippedCardSet.stream().forEach(holder -> resetCardView(holder));
+ mFlippedCardSet.forEach(holder -> resetCardView(holder));
mFlippedCardSet.clear();
}
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
index 3f35fb5..f634d43 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
@@ -16,6 +16,8 @@
package com.android.settings.homepage.contextualcards.slices;
+import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_STICKY;
+
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.view.View;
@@ -75,7 +77,9 @@
// Customize slice view for Settings
cardHolder.sliceView.setShowTitleItems(true);
if (card.isLargeCard()) {
- cardHolder.sliceView.setShowHeaderDivider(true);
+ if (holder.getItemViewType() != VIEW_TYPE_STICKY) {
+ cardHolder.sliceView.setShowHeaderDivider(true);
+ }
cardHolder.sliceView.setShowActionDividers(true);
}
}