Loading res/layout/homepage_slice_tile.xml +50 −8 Original line number Diff line number Diff line Loading @@ -21,6 +21,11 @@ android:layout_height="wrap_content" style="@style/ContextualCardStyle"> <ViewFlipper android:id="@+id/viewFlipper" android:layout_width="match_parent" android:layout_height="wrap_content"> <androidx.slice.widget.SliceView android:id="@+id/slice_view" android:layout_width="match_parent" Loading @@ -30,4 +35,41 @@ android:paddingStart="@dimen/homepage_card_padding_start" android:paddingEnd="@dimen/homepage_card_padding_end"/> <!--dismissal view--> <LinearLayout android:id="@+id/dismissal_view" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/homepage_card_padding_start" android:layout_marginTop="@dimen/homepage_card_padding_start" android:text="@string/contextual_card_dismiss_confirm_message" style="@style/TextAppearance.ContextualCardDismissalText"/> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom|end"> <Button android:id="@+id/keep" style="@style/ContextualCardDismissalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/contextual_card_dismiss_keep"/> <Button android:id="@+id/remove" style="@style/ContextualCardDismissalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/contextual_card_dismiss_remove"/> </LinearLayout> </LinearLayout> </ViewFlipper> </androidx.cardview.widget.CardView> No newline at end of file res/values/strings.xml +7 −1 Original line number Diff line number Diff line Loading @@ -10286,4 +10286,10 @@ <!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]--> <string name="privacy_dashboard_summary">Permission, permission usage</string> <!-- Label for button in contextual card for users to remove the card [CHAR LIMIT=30] --> <string name="contextual_card_dismiss_remove">Remove</string> <!-- Label for button in contextual card for users to keep the card [CHAR LIMIT=30] --> <string name="contextual_card_dismiss_keep">Keep</string> <!-- String for contextual card dismissal [CHAR LIMIT=NONE] --> <string name="contextual_card_dismiss_confirm_message">Remove this suggestion?</string> </resources> No newline at end of file res/values/styles.xml +36 −15 Original line number Diff line number Diff line Loading @@ -16,7 +16,8 @@ <resources> <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid"> <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid"> <item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item> </style> Loading Loading @@ -78,8 +79,11 @@ <item name="android:scrollbarStyle">outsideOverlay</item> </style> <style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal"> <item name="android:indeterminateDrawable">@drawable/progress_indeterminate_horizontal_material_trimmed</item> <style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal"> <item name="android:indeterminateDrawable"> @drawable/progress_indeterminate_horizontal_material_trimmed </item> <item name="android:minHeight">3dip</item> <item name="android:maxHeight">3dip</item> </style> Loading Loading @@ -162,7 +166,8 @@ <item name="android:layout_height">wrap_content</item> </style> <style name="ConfirmDeviceCredentialsAnimationStyle" parent="@*android:style/Animation.Material.Activity"> <style name="ConfirmDeviceCredentialsAnimationStyle" parent="@*android:style/Animation.Material.Activity"> <item name="android:activityOpenEnterAnimation">@anim/confirm_credential_open_enter</item> <item name="android:activityOpenExitAnimation">@anim/confirm_credential_open_exit</item> </style> Loading @@ -171,14 +176,16 @@ <item name="android:background">#ff000000</item> </style> <style name="SecurityPreferenceButtonContainer" parent="@android:style/Widget.Material.Light.SegmentedButton"> <style name="SecurityPreferenceButtonContainer" parent="@android:style/Widget.Material.Light.SegmentedButton"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:weightSum">2</item> <item name="android:dividerPadding">8dip</item> </style> <style name="SecurityPreferenceButton" parent="@android:style/Widget.Material.Light.Button.Borderless"> <style name="SecurityPreferenceButton" parent="@android:style/Widget.Material.Light.Button.Borderless"> <item name="android:layout_width">0dip</item> <item name="android:layout_weight">1</item> <item name="android:layout_height">wrap_content</item> Loading Loading @@ -258,7 +265,8 @@ <item name="android:textSize">18sp</item> </style> <style name="TextAppearance.CategoryTitle" parent="@android:style/TextAppearance.Material.Body2"> <style name="TextAppearance.CategoryTitle" parent="@android:style/TextAppearance.Material.Body2"> <item name="android:textColor">?android:attr/textColorSecondary</item> </style> Loading Loading @@ -293,12 +301,14 @@ <item name="android:textStyle">normal</item> </style> <style name="TextAppearance.RemoveDialogContent" parent="@android:style/TextAppearance.Material"> <style name="TextAppearance.RemoveDialogContent" parent="@android:style/TextAppearance.Material"> <item name="android:textSize">16sp</item> <item name="android:textColor">?android:attr/textColorPrimary</item> </style> <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle"> <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle"> <item name="android:textSize">@dimen/search_bar_text_size</item> </style> Loading Loading @@ -345,6 +355,12 @@ <item name="android:padding">8dp</item> </style> <style name="TextAppearance.ContextualCardDismissalText" parent="@android:style/TextAppearance.Material.Body1"> <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item> <item name="android:textSize">16sp</item> </style> <style name="SuggestionCardText"> <item name="android:textAlignment">viewStart</item> </style> Loading Loading @@ -391,7 +407,8 @@ <item name="android:lineSpacingMultiplier">1.2</item> </style> <style name="RingProgressBarStyle" parent="android:style/Widget.Material.ProgressBar.Horizontal"> <style name="RingProgressBarStyle" parent="android:style/Widget.Material.ProgressBar.Horizontal"> <item name="android:indeterminate">false</item> <item name="android:max">10000</item> <item name="android:mirrorForRtl">false</item> Loading Loading @@ -470,7 +487,6 @@ <item name="android:textColor">?android:attr/colorAccent</item> <item name="android:textSize">14sp</item> <item name="android:textAllCaps">false</item> <item name="android:fontFamily">sans-serif-medium</item> </style> <style name="ConditionHalfCardBorderlessButton" Loading @@ -483,4 +499,9 @@ <item name="android:textAlignment">viewEnd</item> </style> <style name="ContextualCardDismissalButton" parent="android:Widget.DeviceDefault.Button.Borderless.Colored"> <item name="android:textAllCaps">false</item> </style> </resources> src/com/android/settings/homepage/contextualcards/ContextualCardController.java +2 −0 Original line number Diff line number Diff line Loading @@ -28,5 +28,7 @@ public interface ContextualCardController { void onActionClick(ContextualCard card); void onDismissed(ContextualCard card); void setCardUpdateListener(ContextualCardUpdateListener listener); } src/com/android/settings/homepage/contextualcards/ContextualCardManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -146,14 +146,14 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo onContextualCardUpdated(cards.stream().collect(groupingBy(ContextualCard::getCardType))); } void setListener(ContextualCardUpdateListener listener) { mListener = listener; } public ControllerRendererPool getControllerRendererPool() { return mControllerRendererPool; } void setListener(ContextualCardUpdateListener listener) { mListener = listener; } static class CardContentLoaderCallbacks implements LoaderManager.LoaderCallbacks<List<ContextualCard>> { Loading Loading
res/layout/homepage_slice_tile.xml +50 −8 Original line number Diff line number Diff line Loading @@ -21,6 +21,11 @@ android:layout_height="wrap_content" style="@style/ContextualCardStyle"> <ViewFlipper android:id="@+id/viewFlipper" android:layout_width="match_parent" android:layout_height="wrap_content"> <androidx.slice.widget.SliceView android:id="@+id/slice_view" android:layout_width="match_parent" Loading @@ -30,4 +35,41 @@ android:paddingStart="@dimen/homepage_card_padding_start" android:paddingEnd="@dimen/homepage_card_padding_end"/> <!--dismissal view--> <LinearLayout android:id="@+id/dismissal_view" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/homepage_card_padding_start" android:layout_marginTop="@dimen/homepage_card_padding_start" android:text="@string/contextual_card_dismiss_confirm_message" style="@style/TextAppearance.ContextualCardDismissalText"/> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom|end"> <Button android:id="@+id/keep" style="@style/ContextualCardDismissalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/contextual_card_dismiss_keep"/> <Button android:id="@+id/remove" style="@style/ContextualCardDismissalButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/contextual_card_dismiss_remove"/> </LinearLayout> </LinearLayout> </ViewFlipper> </androidx.cardview.widget.CardView> No newline at end of file
res/values/strings.xml +7 −1 Original line number Diff line number Diff line Loading @@ -10286,4 +10286,10 @@ <!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]--> <string name="privacy_dashboard_summary">Permission, permission usage</string> <!-- Label for button in contextual card for users to remove the card [CHAR LIMIT=30] --> <string name="contextual_card_dismiss_remove">Remove</string> <!-- Label for button in contextual card for users to keep the card [CHAR LIMIT=30] --> <string name="contextual_card_dismiss_keep">Keep</string> <!-- String for contextual card dismissal [CHAR LIMIT=NONE] --> <string name="contextual_card_dismiss_confirm_message">Remove this suggestion?</string> </resources> No newline at end of file
res/values/styles.xml +36 −15 Original line number Diff line number Diff line Loading @@ -16,7 +16,8 @@ <resources> <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid"> <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid"> <item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item> </style> Loading Loading @@ -78,8 +79,11 @@ <item name="android:scrollbarStyle">outsideOverlay</item> </style> <style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal"> <item name="android:indeterminateDrawable">@drawable/progress_indeterminate_horizontal_material_trimmed</item> <style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal"> <item name="android:indeterminateDrawable"> @drawable/progress_indeterminate_horizontal_material_trimmed </item> <item name="android:minHeight">3dip</item> <item name="android:maxHeight">3dip</item> </style> Loading Loading @@ -162,7 +166,8 @@ <item name="android:layout_height">wrap_content</item> </style> <style name="ConfirmDeviceCredentialsAnimationStyle" parent="@*android:style/Animation.Material.Activity"> <style name="ConfirmDeviceCredentialsAnimationStyle" parent="@*android:style/Animation.Material.Activity"> <item name="android:activityOpenEnterAnimation">@anim/confirm_credential_open_enter</item> <item name="android:activityOpenExitAnimation">@anim/confirm_credential_open_exit</item> </style> Loading @@ -171,14 +176,16 @@ <item name="android:background">#ff000000</item> </style> <style name="SecurityPreferenceButtonContainer" parent="@android:style/Widget.Material.Light.SegmentedButton"> <style name="SecurityPreferenceButtonContainer" parent="@android:style/Widget.Material.Light.SegmentedButton"> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:weightSum">2</item> <item name="android:dividerPadding">8dip</item> </style> <style name="SecurityPreferenceButton" parent="@android:style/Widget.Material.Light.Button.Borderless"> <style name="SecurityPreferenceButton" parent="@android:style/Widget.Material.Light.Button.Borderless"> <item name="android:layout_width">0dip</item> <item name="android:layout_weight">1</item> <item name="android:layout_height">wrap_content</item> Loading Loading @@ -258,7 +265,8 @@ <item name="android:textSize">18sp</item> </style> <style name="TextAppearance.CategoryTitle" parent="@android:style/TextAppearance.Material.Body2"> <style name="TextAppearance.CategoryTitle" parent="@android:style/TextAppearance.Material.Body2"> <item name="android:textColor">?android:attr/textColorSecondary</item> </style> Loading Loading @@ -293,12 +301,14 @@ <item name="android:textStyle">normal</item> </style> <style name="TextAppearance.RemoveDialogContent" parent="@android:style/TextAppearance.Material"> <style name="TextAppearance.RemoveDialogContent" parent="@android:style/TextAppearance.Material"> <item name="android:textSize">16sp</item> <item name="android:textColor">?android:attr/textColorPrimary</item> </style> <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle"> <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle"> <item name="android:textSize">@dimen/search_bar_text_size</item> </style> Loading Loading @@ -345,6 +355,12 @@ <item name="android:padding">8dp</item> </style> <style name="TextAppearance.ContextualCardDismissalText" parent="@android:style/TextAppearance.Material.Body1"> <item name="android:fontFamily">@*android:string/config_headlineFontFamilyMedium</item> <item name="android:textSize">16sp</item> </style> <style name="SuggestionCardText"> <item name="android:textAlignment">viewStart</item> </style> Loading Loading @@ -391,7 +407,8 @@ <item name="android:lineSpacingMultiplier">1.2</item> </style> <style name="RingProgressBarStyle" parent="android:style/Widget.Material.ProgressBar.Horizontal"> <style name="RingProgressBarStyle" parent="android:style/Widget.Material.ProgressBar.Horizontal"> <item name="android:indeterminate">false</item> <item name="android:max">10000</item> <item name="android:mirrorForRtl">false</item> Loading Loading @@ -470,7 +487,6 @@ <item name="android:textColor">?android:attr/colorAccent</item> <item name="android:textSize">14sp</item> <item name="android:textAllCaps">false</item> <item name="android:fontFamily">sans-serif-medium</item> </style> <style name="ConditionHalfCardBorderlessButton" Loading @@ -483,4 +499,9 @@ <item name="android:textAlignment">viewEnd</item> </style> <style name="ContextualCardDismissalButton" parent="android:Widget.DeviceDefault.Button.Borderless.Colored"> <item name="android:textAllCaps">false</item> </style> </resources>
src/com/android/settings/homepage/contextualcards/ContextualCardController.java +2 −0 Original line number Diff line number Diff line Loading @@ -28,5 +28,7 @@ public interface ContextualCardController { void onActionClick(ContextualCard card); void onDismissed(ContextualCard card); void setCardUpdateListener(ContextualCardUpdateListener listener); }
src/com/android/settings/homepage/contextualcards/ContextualCardManager.java +4 −4 Original line number Diff line number Diff line Loading @@ -146,14 +146,14 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo onContextualCardUpdated(cards.stream().collect(groupingBy(ContextualCard::getCardType))); } void setListener(ContextualCardUpdateListener listener) { mListener = listener; } public ControllerRendererPool getControllerRendererPool() { return mControllerRendererPool; } void setListener(ContextualCardUpdateListener listener) { mListener = listener; } static class CardContentLoaderCallbacks implements LoaderManager.LoaderCallbacks<List<ContextualCard>> { Loading