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
- 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
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
When bluetooth is off, show the specific layout for enabling Bluetooth.
Bug: 154691520
Test: robotest
Change-Id: If3fd493558dcf2a47183345bbe175dfe257574d1
- 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
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
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
Rename the method to setBlockable. Also rename isBlockableSystem in the
same way.
Bug: 151311073
Test: atest NotificationChannelTest
Change-Id: I0504f8043dc864fe6677f2e65783068ffa3437ba
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
- 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
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)
- 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)
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
Remove some columns from Contextual Card DB as they are never used.
Fixes: 143058171
Test: robotests
Change-Id: Ic618ccba16c3ed9f0a85b905535916e5d062d79e
- 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
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
- 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
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
- 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
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
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
- 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
- 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
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