Remove the exit transition on the homepage.
Fixes: 189390497
Test: robotest and launch search seeing the y-axis transition
Change-Id: Ia791757e0fef51eeefc7442e04369016a6200f84
Remove the silky condition and clean up redundant files.
Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: I9259108534935ed8551748b922098dd52043afc1
- remove the outer circle of the icons
- tint the icons including injected ones
Test: robotest, visual
Bug: 182870640
Change-Id: If72c37152f4f0d68e25149b11d497eef1c7ece91
Allows settings applications on other platforms to re-use values by
migrating to Settings.secure and moving HideNonSystemOverlayMixin to
SettingsLib.
Bug: 184967544
Test: atest SettingsUnitTests
Change-Id: If9aaeca29ebb8b481d75622934503e368d7435d3
This change applies Shared X-Axis transition across settings pages. For
injected settings, the injected apps have to also apply the same
transition to take effect.
Fixes: 177479937
Test: robotests and navigate through settings pages
Change-Id: I6241860766f5969428faf9a5b3730a7614fdcd92
- Support new suggestion design
- Search bar relayout
- Move avatar icon to the top right corner
Test: robotest
Bug: 178068045
Change-Id: I07f1577488d6d1827ee07d55db6759f02d655d5f
- Fine tune the header text size and position
- Fix the header overlapping problem on the homepage and collapsing
toolbar pages when configuration changes by adding android:id.
- New AppBarScrollingViewBehavior for the homepage to avoid manually
offsetting the IA
- Correct the formula of counting search box height
Test: robotest, manual
Fixes: 177967923
Fixes: 177968564
Change-Id: Id3ed44f4296fa2a19d6890b009d3881a5c140bbd
Since Android S, it's required to specify a mutability flag
when creating a PendingIntent.
Fixes: 172812025
Fixes: 172811729
Test: robotests
Change-Id: Ia77c189c99712eea524fb1bf68e39a087dcba95c
- add a suggestion layout
- add an interface to get fragment in suggestion feature provider
- remove the first preference category of homepage IA to align its top
with the bottom of the search box
Bug: 173768418
Test: robotest
Change-Id: I784e3eef29ca474c4c89f07b916c6500fabbf7d4
This test seems to be flaky for quite a while. The method tested runs
the check using a FutureTask which may sometimes hit the timeout issue,
so it seems not that suitable to do the test.
Fixes: 176274700
Test: robotest
Change-Id: I1bf979f4a792d76da01bfa82355ccf8f659dc6f8
This change do the 2 things:
1. Add new junit tests files which replace robolectric
RobolectricTestRunner & RuntimeEnvironment with
AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.
This change migrate 103 files, there are still 1209
files to go.
Bug: 174728471
Test: atest
make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
Starting Android S, all PendingIntent has to have a explicit mutability
flag set.
Fixes: 172207505
Fixes: 172811893
Test: Enable BluetoothDevicesSlice and play on it.
Play on the volume panel.
Change-Id: I618455de683d619fe300309e31864b3c64f12ad1
Implement a throttle in SliceBackgroundWorker to control slice updates.
Test: robotest
Fixes: 152366832
Change-Id: I8b65d1b57973e036b932172627aca506f4fae3a4
Slices should be pinned before being bound. The original design calls
registerSliceCallback() to pin a slice, and then calls bindSlice() and
passes the result to the callback directly. When the callback is
called, it executes unregisterSliceCallback() and unpins the slice.
However, registerSliceCallback() starts to observe the slice change and
then rebind it in an AsyncTask. If the slice is updating via its
background worker and the timing of the binding overlaps the callback
execution, it's possible to bind the slice right after unpinning it and
causes the error.
The solution is to remove the callback mechanism, and just to pin, bind
and unpin the slice directly.
Fixes: 157387583
Test: robotest
Change-Id: I8748dd3038a3662599935f07420d07cf254a4073
When contextual cards are being laid out, there are two separate layout
transitions, which brings users the feeling of slowness.
In the current design, we bind slices in the adapter's
onBindViewHolder(), where slice's binding is acutally done in the
background thread and it's time consuming. So before getting the
callback from the slice framework to have actual contents, the view is
empty but the viewholder is already created. So the RecyclerView would
treat it as completed and starts to lay them out. This introduces the
first time transition. Once we get the actual slice content, the view
will be refreshed and laid out, which is the second time transition.
To tackle this, this CL caches slices that are created at pre-check
time, and use them to render before getting updated slices to fill up
the gap.
Fixes: 156372414
Test: robotest and launch settings to see the transition being smooth.
Change-Id: Ic0a27ff36f1824de499b75ec73b2635de9cbe6b5
This reverts commit ac59ea8e23.
Reason for revert: Fix it using another approach in ag/11629780. The prebind part will be helpful to cache slice data.
Bug: 152365480
Change-Id: Iebed42027552a923907647b61480f135ac4f4097
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
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
- 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
These test failures may relate to change of PowerManager. Ignore them
first and will have people working on the fix.
Bug: 150914017
Test: robotests
Change-Id: Id4d3bb9945a993517964376b5d52e31dd293e634
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