Commit Graph

29 Commits

Author SHA1 Message Date
Yi-Ling Chuang
0ce468965c Make Wifi and Bluetooth Slices not dismissable.
Wifi and Bluetooth are sticky, so remove its dismiss-ability.

Bug: 143055685
Test: robotests
Change-Id: Iff7724fbb261299e2107ff3b89bd5d7abe507532
2020-01-21 17:51:05 +08:00
Jason Chiu
1b0fbfeae6 Remove the specific UX of Deferred Setup card
Bug: 142927894
Test: visual, robotests
Change-Id: If93506fb11c6417967fab3d082b19947adef0d61
2020-01-21 11:47:13 +08:00
Yi-Ling Chuang
19c2a20d9a Add onErrorListner for SliceLiveData
SliceLiveData is changed in the framework, where the way it handles null
slices is different. Thus, we handle the case of null slices by adding
onSliceError() to make slice refreshing back to normal and to prevent
from non responding action on slices.

Fixes: 141293788
Test: visual
Change-Id: I4751d57ae478eec66a1a951841d36521556cacd7
2019-10-01 15:21:21 +08:00
Colin Cross
807e861105 Use if instead of switch for resources
Converting to Soong will move some code from directly compiled
into the app to compiled into an Android library and then
shared between the app and the tests.  This will cause resource
IDs in the library to become non-final, which means they can
no longer be used in case statements.  Convert affect case
statements to if blocks.

Test: m RunSettingsRoboTests
Change-Id: I25742a374f06d3fa4decbfc0d223a350acc50881
2019-05-13 13:42:01 -07:00
Yi-Ling Chuang
0f75eb550e Add null check before setting the visibility of swipe background
Some contextual cards does not allow card dismissal, so they won't have
swipe background declared in the layout file. Add null check to prevent
from NPE.

Fixes: 132209310
Test: robotests & launch Settings
Change-Id: I31f897f445c4901d007c8187fe69aea416b915d1
2019-05-08 12:04:36 +08:00
Yi-Ling Chuang
ce9903e8db Hide dismissal swipe background before slice gets ready
Only make swipe background visible once slice has a successfual binding.

Bug: 131843256
Test: robotests
Change-Id: I7866873a217e8ca882634a48108939022713c87b
2019-05-07 17:54:33 +08:00
Raff Tsai
000ba3fabe Remove error slice from Settings in rendering time
We filter error slice in EligibleCardChecker but not filter it in
SliceContextualCardRenderer, these two part should use the same
logic.

Fixes:128687331
Test: manual
Change-Id: I217bc6b578ceb36b0a67b44dc8a08ecd02771d82
2019-04-16 07:41:31 +08:00
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