Commit Graph

22 Commits

Author SHA1 Message Date
Fan Zhang
4cb25ed087 Batch rename: homepage_* to contextual_* or condtion_*
Contextual cards are not bound to homepage. Remove prefix homepage from
layout and theme names.

Next step: update names for some resource values (dimen/color etc)

Bug: 130250419
Test: rebuild

Change-Id: I5e901268462aaa37e00493080ae09af001784823
2019-04-10 00:08:18 +00:00
Yi-Ling Chuang
734d826117 Remove viewFlipper used in contextual card dismissal.
- Use view's visibility to control which view we should show.
- Slice view can be built with normal height after removing viewFlipper.

Bug: 129438972
Bug: 128689305
Test: robotests
Change-Id: If7e9bd30d5cb5bcd3b9ff9f09cc2eae36543b9e9
2019-04-09 10:24:10 +00:00
Yi-Ling Chuang
eeea6676d4 Add implementation of homepage swipe to dismiss.
- Only enable swipe for slice full/half card.
- Add isPendingDismiss in ContextualCard to determine if we should show
dismissal view.
- Take out long press feature.

Bug: 126214056
Test: robotests
Change-Id: Ib03e605347b2f50d3c62fcd4f95875a21cc9ef1c
2019-03-28 11:59:45 +08:00
Raff Tsai
682763974d Log RecyclerView click position
Test: rebuild, robolectric
Fixes: 127881281
Change-Id: Idddbbf9c1159e0e5b280178e98f9258cbd7864f9
2019-03-28 07:04:50 +08:00
Yi-Ling Chuang
78fbb3cb98 Take out debugging log for blank suggestions
Fixes: 120629936
Test: rebuild
Change-Id: Icabfea8e636bf20bed7b174fc3082949ac37721c
2019-03-26 15:02:35 +08:00
Yanting Yang
52367e8c65 Remove dismissal behavior from deferred setup card
Deferred setup is not skippable as user will need to review all SUW
screens at least one time.

Fixes: 126225957
Test: visual, robotests
Change-Id: I7b32c2382f459690d3b136cf9faa543d04aa8d3d
2019-03-05 17:08:51 +08:00
Raff Tsai
3881e2986c Do not log Contextual card display when card is dismissed
If the db change comes from dismiss card uri. We don't
need to log card display again.

Fixes: 121196921
Test: Robolectric
Change-Id: I4e222187fafa8325e803fa6ee17ebb0b51fb8cb2
2019-02-27 10:36:03 +08:00
Yanting Yang
2784da75a2 Improve UX of Deferred Setup
Change-Id: I3d0735ef1196b04abaef454529664a8daea53967
Bug: 120485678
Test: visual, robotests
2019-01-29 07:43:46 +00:00
Mill Chen
1c3ed19a09 Remove mIsHalfWidth field from ContextualCard
mIsHalfWidth in ContextualCard is too generic to identify its
responsibility, it is used to hold the value of is_support_half from
database and used to decide the card width. Also, it limits the
relationship of CardType-to-Renderer not to be extended to one-to-many.

To deal with this, we replaced mIsHalfWidth with mViewType to implement
one-to-many relationship of CardType-to-Renderer, and removed all
related logic of mIsHalfWidth.

Bug: 121303357
Test: robotests, visual

Change-Id: I03e14392272194424f317d11bf9d0d794a6133f4
2019-01-16 04:01:45 +00:00
Mill Chen
497b3529dc Refactor slice renderer to handle different card width
- Refactor SliceContextualCardRenderer to support for displaying slice
in half/full width card.
- Add two helper classes to separately deal with different card width.

Only the skeleton of the half card helper is put in this CL, the
implementation hasn't been filled in yet. Will implement the detail in
next CL.

Bug: 119655434
Test: visual, robotests
Change-Id: Iacdc90c23bf41cfa7ccae3c0c70a3b663e89307d
2019-01-07 13:34:03 +08:00
TreeHugger Robot
9d3eddcb66 Merge "Add new layout for Slice half card" 2018-12-20 08:00:33 +00:00
Mill Chen
3f3823e456 Add new layout for Slice half card
- Extract dismissal view as a layout xml and reuse it in half card
- fixed minor naming convention

This new layout is composed of custom views and the purpose is to
show slice in half width form in contextual homepage.

Bug: 119655434
Test: visual
Change-Id: I224d8bc1b7f95f969f6a134a316bd80b4cd013ee
2018-12-20 14:32:22 +08:00
Jason Chiu
4bc29425d9 Add Icon at the start of the first row for all contextualcards
- set Icon as a title item rather than an end item in slice builders
- call showTitleItems in renderer

Test: robotest
Bug: 119639527
Change-Id: I043173968ceb3d34e38c2e43ad824b923e647d47
2018-12-20 03:07:19 +00:00
Raff Tsai
f7a6d94863 Add sliceUri in broadcast intent
Bug: 119748954
Test: robolectric
Change-Id: I24eb8d5a274be60ba3395d05d2b306e185e7dcab
2018-12-19 02:29:52 +08:00
Jason Chiu
c0c5511862 Add vertical and horizontal dividers for large cards of homepage
- Add a new field in ContextualCard to store whether this card is a large one
- Set dividers for large cards in renderer

Fixes: 119528161
Fixes: 119641839
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage
Change-Id: I5cb95214789f44ccfd8d9ce2177ca2b84835b7a4
2018-12-13 03:40:05 +00:00
Yi-Ling Chuang
ddfc085f2b Reload data if slice binding returns null at rendering time.
We are not able to guarantee the binding results in the pre-check and
real binding would always be the same sinc slice may decide what it
would be based on some conditions. Hence, we should reload data and
refresh UI when it comes to null to prevent from blank suggestion.

Bug: 120221527
Test: visual
Change-Id: I79790edfe7fc3af7b9c3b3a7df6a7ffa7d405d50
2018-12-07 09:54:15 +08:00
Yi-Ling Chuang
72e54c8f85 Stop observing a slice view when a slice is dismissed.
In order to receive updates of slices, we make sliceLiveData observes
slice views. When a slice is dismissed, it should stop observing
the view so the view can be recycled and reused.

Fixes: 120465506
Test: robotests
Change-Id: Ie4f12e9a3e6e0e7d59d3346ab17282707047bf16
2018-12-05 13:52:11 +08:00
Yi-Ling Chuang
2efa93460c Reset dismissal UI to the baseline when exiting the page.
Flip the card back to slice view if users exit the page instead of
getting the dismissal UI preserved. We should also reset the UI to the baseline
if users dismiss a card, so when the view is reused, slice view can
then be displayed correctly.

Change-Id: If5448c57dec44ef5c1d3472358d4ddc9398538b8
Fixes: 119820168
Test: robotests
2018-12-05 11:58:34 +08:00
Raff Tsai
da7a5d1171 Add log feature
- Add ContextualCardFeatureProvider to handle card interaction

Bug: 79698338
Test: manual
Change-Id: I2a76f5ccfd07072a98ee927bed7dc39731d4cb09
2018-11-30 06:41:22 +08:00
Emily Chuang
6cf3591645 Add dismissal mechanism for contextual cards.
In the homepage, we should allow cards to be dismissed.

- Implement card flipping upon card long pressing.

Bug: 113783548
Test: robotests, visual
Change-Id: I2ddb498321ba5c5078d6944aa2ef32f1386bdb10
2018-11-13 14:46:44 +08:00
Mill Chen
d20641059f Adjust lookup table mechanism to support new UI of conditional card
Use layout resource id as the return value of getItemViewType
in the ContextualCardsAdapter to make sure the RecyclerView could
work normally, and adjust the lookup table mechanism to meet the
current design as well.

Bug: 113451905, 112578070
Test: visual, robotest
Change-Id: I8fa299e44025a0b71b6990d020e7f0683c153337
2018-11-06 16:09:17 -08:00
Fan Zhang
5e6e6a14f2 Move all contextual card related classes.
... from homepage to contextualcards.

Test: rebuild
Change-Id: Id7889566ce1e7257eb699d963ae996906fdb58ff
2018-10-26 10:02:04 -07:00