Commit Graph

539 Commits

Author SHA1 Message Date
Yi-Ling Chuang
ac59ea8e23 Do not prebind sticky slices.
We have a precheck mechanism to filter out slices that are not eligible
to be displayed on the homepage. Since sticky cards are designed to
be always available, which implies they will never be null, so skip
prechecking on them.

This allows us to prevent from the precheck timeout which usually leads
to the disappearance of cards.

Fixes: 152365480
Test: robotests
Change-Id: Ic9e3df8b55609e9b5d1d3fd3a8d95e4086d3d7a4
2020-05-14 11:38:47 +08:00
Jason Chiu
8ac1e4d49d Update icon tint color when the user toggles Dark theme
- Reload theme in slice provider when Dark theme mode changes for slices
- Reload theme in onCreate of Panel activity for its non-slice header
- Remove applyTheme from individual slices

Test: robotest
Fixes: 153700819
Change-Id: I40a7d2817c4b9100d7b2f2962a69c8a9ce6f7906
2020-05-12 10:58:54 +08:00
Jason Chiu
e0327ee583 Reload homepage cards when necessary
Many users leave Settings app by pressing Home key, but Settings remains
in the same card status and doesn't update when users come back, which
may lead to a bad UX.

This change reloads cards and resets the UI session for some events,
including home key, recent app key, and screen off.

Fixes: 151789260
Test: robotest
Change-Id: Idb575cef4a58894984cb42238d7b3b43c49389a3
2020-05-05 10:03:49 +00:00
Jason Chiu
d304c20a15 Refine contextual Bluetooth card behavior when Bluetooth is off
When bluetooth is off, show the specific layout for enabling Bluetooth.

Bug: 154691520
Test: robotest
Change-Id: If3fd493558dcf2a47183345bbe175dfe257574d1
2020-04-29 16:29:41 +08:00
Yi-Ling Chuang
5a554ccbfa Add Dismiss action in Talkback Local Context Menu
- Add dismiss action for cards that can be dismissed.
- Remove importantForAccessibility from sliceView so Talkback can
recognise this view in order to generate Local Context Menu.

Fixes: 146910157
Test: Enable Talkback -> Move focus to removeable contextual card -> use
up-right gesture -> see Local Context Menu

Change-Id: I75a7394e94e6939d48cc379f62eab66f7903fd98
2020-04-14 14:02:04 +08:00
Jason Chiu
4e6841e7b5 Move sticky cards to the bottom
Sticky cards have higher scores and were on the top of homepage.

Bug: 149274976
Test: visual
Change-Id: I5fc2303ac42fff5bc4d44e355112ea4529253acd
2020-03-25 02:27:43 +00:00
Yi-Ling Chuang
6950877b7a Fix ContextualAdaptiveSleepSliceTest
ADAPTIVE_SLEEP has been moved from Settings.System to Settings.Secure
but the main logic hasn't synced with the change which leads to the
failure.

Fixes: 139319542
Test: robotests
Change-Id: I56f58cc3da5a4034e2bf2ed5a63ae3bc2fec2a21
2020-03-20 17:29:03 +08:00
TreeHugger Robot
b436d149e4 Merge "Update string for Adaptive sleep slice title." into rvc-dev 2020-03-20 01:16:53 +00:00
Yi-Ling Chuang
617e86c0a2 Update string for Adaptive sleep slice title.
The previous change of the slice title will also impact the title in
Display setting, so this CL creates a new string for the slice title and
revert the change of the normal preference.

Fixes: 151746621
Test: check the titile on Adaptive sleep slice and Display setting.
Change-Id: I2955f4c78b7bf689078deaabcc4148bd5e37b573
2020-03-19 18:21:51 +08:00
Hall Liu
45e4b8948c Rename NotificationChannel#setBlockableSystem
Rename the method to setBlockable. Also rename isBlockableSystem in the
same way.

Bug: 151311073
Test: atest NotificationChannelTest
Change-Id: I0504f8043dc864fe6677f2e65783068ffa3437ba
2020-03-13 13:54:10 -07:00
Yi-Ling Chuang
a591d7a082 Fix NPE when coming back to settings homepage.
When users navigate back to the homepage, if there is a slice being
displayed, slice callback will be triggered. It will then check if this
slice has any error hint, where NPE would occur if the slice turns out
to be null. Hence, add a null check before checking slice hint.

Fixes: 148158780
Test: rebuild and navigate back to the homepage.
Change-Id: I2b04dc0d64a223cc85f6af55b2ae2dbc5f3e1f40
2020-03-11 16:52:44 +08:00
Jason Chiu
b85cfc812b Change sticky card UI back to homepage card style
Fixes: 149371123
Test: visual
Change-Id: Ie1c2bc7b806b818000e9a2e88753f9904a3f30f4
2020-03-10 11:17:28 +08:00
Jason Chiu
130629b1db Show paired devices on Bluetooth device slice card
- support tapping to activate for all available media devices including
  Hearing aid and Headset
- support tapping to connect for previously connected devices

Bug: 149667096
Test: robotest
Change-Id: I25f74b1b20fbb1876200a561775aa675ff60ac37
2020-03-09 17:43:29 +08:00
TreeHugger Robot
520cb5851c Merge "Keep contextual card dismissal info upon deletion" into rvc-dev 2020-02-24 11:07:19 +00:00
Yi-Ling Chuang
5f8a084909 Keep contextual card dismissal info upon deletion
Add a config for contextual dismissal. This config is used to
determine whether the existing dismissal timestamp should be
kept before an insertion.

The new dismissal behaviour design replaces the boolean
value(isDismissed) with a long value(dismissedTimestamp) to give
this behaviour more flexibility. Utilizing the timestamp allows
developers to define new criteria of card's display (e.g cards being
dismissed can be shown again after a period of time).

While newly inserted data from SettingsIntelligence or other clients
may not have dismissal timestamp recorded. Turning on the config gives
the capability to persist dismissal timestamp, and more customized
behaviour can be created.

Bug: 143055685
Test: robotests
Change-Id: I9d095955e9c51f2aa3332d49ee230d3ded9ae744
Merged-In: I9d095955e9c51f2aa3332d49ee230d3ded9ae744
(cherry picked from commit 377125bf96)
2020-02-24 07:14:12 +00:00
Jason Chiu
05f5b8e7c4 Bluetooth device slice improvement
- remove "Pair new device" row
- change the on/off toggle to a plus button for pairing new device
- roll back the title "Bluetooth devices"

Bug: 149667096
Test: robotest
Change-Id: I47e9c47b2ab0adacdbdbde34522d7c0172adda75
Merged-In: I47e9c47b2ab0adacdbdbde34522d7c0172adda75
(cherry picked from commit 5e462a852b)
2020-02-24 06:16:18 +00:00
Yi-Ling Chuang
deea015b65 Implement new dismissal behaviour of contextual card
Currently, if a contextual card gets dismissed, it will be gone forever.
After this change, all cards being dismissed can be shown again after a
certain amount of time(e.g one day). In order to calculate the amount of
time, CARD_DISMISSED column is replaced with DISMISSED_TIMESTAMP. Once a
card gets dismissed, a timestamp will be recorded for a corresponding
card.

In this change, some methods are moved from CardDatabaseHelper to
ContextualCardFeatureProvider. So OEMs could replace the providers with
their own ones to get cards and have different dismissal behaviours.

Bug: 143055685
Test: rototests
Change-Id: I00ace98991cabcbfcae4fc47a44e9448683d680c
2020-02-20 18:45:14 +08:00
Jason Chiu
3d510a2ac4 Merge "Card showing mechanism change in homepage" 2020-02-17 06:17:34 +00:00
Sunny Shao
f0b0d46106 Remove the isCustomCard and related codes
Bug: 143058171
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage
Change-Id: I9d9ab16f327aef65599150e2f58b23bcb9986b30
2020-02-15 13:46:22 +08:00
TreeHugger Robot
c6ad5f77e8 Merge "Clean up unused DB columns." 2020-02-14 15:15:51 +00:00
Yi-Ling Chuang
682a30f4c9 Clean up unused DB columns.
Remove some columns from Contextual Card DB as they are never used.

Fixes: 143058171
Test: robotests
Change-Id: Ic618ccba16c3ed9f0a85b905535916e5d062d79e
2020-02-14 19:59:35 +08:00
Edgar Wang
77de405a5d Make TopLevelSettings un-searchable and direct result to relevant page.
Fixes: 149372187
Test: manual & robotest
Change-Id: I9daca03d1c11a262f8e3b55bb46aabbc035ece96
2020-02-14 17:58:38 +08:00
Jason Chiu
ca9ece1a0c Card showing mechanism change in homepage
- update contextual card proto interface to fit the new SettingsIntelligence
- show sticky cards at the tail of the card area

Bug: 149274976
Test: robotest
Change-Id: Icca167825c1c037ec12d8836d82c5fdff4331a8e
2020-02-14 17:44:11 +08:00
Jason Chiu
55563896be 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
2020-02-12 19:15:26 +08:00
Yi Jiang
8cbebabad6 Merge "Moves Adaptive Sleep's settings from Settings.System to Settings.Secure" 2020-02-12 00:48:59 +00:00
Yi Jiang
63f2c5963a Moves Adaptive Sleep's settings from Settings.System to Settings.Secure
Test: atest AdaptiveSleepPreferenceControllerTest
Test: atest ContextualAdaptiveSleepSliceTest
Bug: 139319542

Change-Id: I9923dc3b6995c89efc1c775ccd2f134af87fc202
2020-02-07 00:44:01 +00:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.

Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
2020-02-06 19:07:11 +08:00
TreeHugger Robot
1bfa4a8245 Merge "Revert "Revert "[Settings] Remove dependency of TelephonyIntents""" 2020-02-04 17:56:39 +00:00
Bonian Chen
106e52e021 Revert "Revert "[Settings] Remove dependency of TelephonyIntents""
This reverts commit 36d1c17c71.

Reason for revert: Fix has landed at ag/10241730

Change-Id: Iabde9194ed69b7bdb0a91058242bc0c239496dc5
2020-02-04 13:52:41 +00:00
Morten Krogh-Jespersen
36d1c17c71 Revert "[Settings] Remove dependency of TelephonyIntents"
This reverts commit 6a6b416c3d.

Reason for revert: b/148838390

Change-Id: I9be2c370c6923e9d7293e4eff5306bc54d49ade2
2020-02-04 13:10:59 +00:00
Sunny Shao
1f3429a25d Update dark theme slice for new display criteria
- Add "dark theme scheduling is off" as a new display creteria.

Fixes: 142476879
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage
Change-Id: Ib88edd0bd9d4b776cdf8ec93bac4e199e0da41de
2020-02-04 17:31:51 +08:00
Bonian Chen
6a6b416c3d [Settings] Remove dependency of TelephonyIntents
Remove the dependency of TelephonyIntents,
but monitoring the change of default data subscription and
PhoneStateListener.

Bug: 147101086
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=ContextualCardManagerTest
Change-Id: I140640c1eed645614e6ed05b24389f6fba36eb76
2020-02-03 17:16:54 +08:00
TreeHugger Robot
814e65adcb Merge "Make Wifi and Bluetooth Slices not dismissable." 2020-01-21 10:56:58 +00:00
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
4223902866 Merge "Implement new design of Bluetooth card" 2020-01-21 09:24:13 +00:00
Jason Chiu
75e8f5ea6c Implement new design of Bluetooth card
- show only up to 2 connected devices
- show the Bluetooth toggle only when it's off
- remove subtext
- when bluetooth is on but there is no connected device, show the row
  "Pair new device"

Test: robotest
Bug: 142927894
Fixes: 147892635
Change-Id: I1559fc0a4cb0b42bf447d25417ac454c29fe86c3
2020-01-21 13:52:20 +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
Yanting Yang
62fe52f292 Merge "Add bond state checking into BluetoothDevicesSlice" 2020-01-17 04:19:28 +00:00
Yanting Yang
9589041e1c Add bond state checking into BluetoothDevicesSlice
Make the Bluetooth device connected checking to be consistent with
BluetoothDeviceUpdater. Because it's more safe to check the bond state
and connected state together to handle abnoraml status from Bluetooth.

Fixes: 147351883
Test: visual, robotests
Change-Id: I4e34b73f16b44972fbb7273a5e13be1f3096835e
2020-01-16 18:38:14 +08:00
Yi-Ling Chuang
72da4a81f4 Make contextual card count configurable.
Decide how many card we should show at once on the homepage based on the
value in Settings Global for more flexibility. Fall back to the default
value if there is nothing set up.

Bug: 138754406
Test: robotests
Change-Id: I8d31d98eafb636a5e72af76ffec7e3dae0be3cbc
2020-01-16 16:20:56 +08:00
Sunny Shao
31c5f39d57 Update Dark theme slice for new behavior
- Add an broadcast receiver to monitor the Home key.
- Add the sClickedInSlice flag to verify Dark theme is changed by slice or not.

Bug: 142476879
Fixes: 146149658
Fixes: 146652692
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.homepage
Change-Id: I174d0c861ea3b3f793201e3b2e0ff65a1e690f4e
2020-01-10 20:12:38 +08:00
TreeHugger Robot
5df80504c3 Merge "Change DEFAULT_CARD_COUNT for settings homepage." 2020-01-02 07:39:24 +00:00
Stanley Wang
5ce5349167 Remove the unused slices.
Remove the DataUsageSlice, DeviceInfoSlice and EmergencyInfoSlice.

Fixes: 146994847
Test: robotest
Change-Id: Ic840e9cc93e99b3c0a34eb6536401db34c98eca8
2019-12-30 19:04:49 +08:00
Automerger Merge Worker
1a33a04433 Merge "Update the behavior of the Dark theme slice" into qt-qpr1-dev am: bc96cf54cd am: 17bc83209f
Change-Id: I99ef0de75926ba951dd27154f0651e97ea826945
2019-12-20 15:56:50 +00:00
Automerger Merge Worker
17bc83209f Merge "Update the behavior of the Dark theme slice" into qt-qpr1-dev am: bc96cf54cd
Change-Id: I9f59dac9b64f2cb0acf31448c10cb0ef5c04da62
2019-12-20 15:35:13 +00:00
Yi-Ling Chuang
288200c27d Change DEFAULT_CARD_COUNT for settings homepage.
In the new design, we only show up to three cards at a time.

Bug: 138754406
Test: robotests
Change-Id: Ie38c3ee4b33068b9ecb4d6dcd3fa71df3fbd7d07
2019-12-20 17:57:33 +08:00
Sunny Shao
5f42f2f7a7 Update the behavior of the Dark theme slice
- Dark theme slice disappear when battery saver is ON.

Bug: 146149658
Fixes: 142476879
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=ROBOTEST_FILTER=com.android.settings.homepage.contextualcards.slices.DarkThemeSliceTest
Change-Id: I071014d7f0658db2098e353717afda905f162ecd
2019-12-20 13:25:49 +08:00
TreeHugger Robot
d04ad97133 Merge "Only show Condtionals when the feature flag is on." 2019-12-16 10:36:49 +00:00
Yi-Ling Chuang
9bda9af186 Only show Condtionals when the feature flag is on.
We plan to deprecate Settings Conditionals as it seems
duplicated with quick settings. For now, we set the default
value of this flag to false to disalbe it. OEMs could still
enalbe this feature by setting the flag on.

Bug: 142927361
Test: robotests
Change-Id: Ifaf710caf0045cb185b3a8c3b04f1ce537f67896
2019-12-16 17:13:21 +08:00
Automerger Merge Worker
107cd136a3 Merge "[Settings] Adopting public API" am: 8ddd0da0a1 am: 40d2a2dd8d am: 11fa77b023
Change-Id: I87282b78a9db6eb3611591f0c4702447b8470db4
2019-12-16 08:31:03 +00:00