Commit Graph

299 Commits

Author SHA1 Message Date
Yi-Ling Chuang
b684a8dbdf Improve the animation while opening search
Remove the exit transition on the homepage.

Fixes: 189390497
Test: robotest and launch search seeing the y-axis transition
Change-Id: Ia791757e0fef51eeefc7442e04369016a6200f84
2021-06-17 17:26:43 +08:00
Yanting Yang
be4c5f078f Remove silky flag from homepage for official release
Remove the silky condition and clean up redundant files.

Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: I9259108534935ed8551748b922098dd52043afc1
2021-05-14 17:52:53 +08:00
Jason Chiu
7d9dceadb7 Redesign homepage IA icon
- remove the outer circle of the icons
- tint the icons including injected ones

Test: robotest, visual
Bug: 182870640
Change-Id: If72c37152f4f0d68e25149b11d497eef1c7ece91
2021-05-12 08:37:37 +00:00
Curtis Belmonte
5ece4babd3 Merge "Revert "Turn on the transition flag"" into sc-dev 2021-05-08 07:38:45 +00:00
Curtis Belmonte
1e1b259445 Revert "Turn on the transition flag"
This reverts commit 1be773da62.

Reason for revert: b/187517936

Fixes: 187517936
Change-Id: I57d0a7a16bdb76e105b0febd43bdf81521e69e3a
2021-05-07 22:43:05 +00:00
Alex Stetson
413893244d Merge "Use shared model for non-system overlay toggle" into sc-dev 2021-05-07 14:08:52 +00:00
Yi-Ling Chuang
1be773da62 Turn on the transition flag
Test: robotests
Bug: 186701900
Change-Id: I09c821e17fca88ee532f6535031a52c4c832a1e8
2021-05-07 13:21:42 +08:00
Alex Stetson
aff80d1e14 Use shared model for non-system overlay toggle
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
2021-05-06 08:28:19 -07:00
Yi-Ling Chuang
58813f7b6c Apply settings page transition
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
2021-04-28 17:29:49 +08:00
Wesley.CW Wang
6d836d2d51 Update low battery tips string
- Screenshot: https://screenshot.googleplex.com/33zJkqsTex8r49W.png

Bug: 183689347
Test: make RunSettingsRoboTests
Change-Id: I864c555c3e500bf4ae5364db8dd6c86be564b883
2021-04-01 06:30:08 +00:00
Jason Chiu
c37dd71260 Settings homepage redesign
- Support new suggestion design
- Search bar relayout
- Move avatar icon to the top right corner

Test: robotest
Bug: 178068045

Change-Id: I07f1577488d6d1827ee07d55db6759f02d655d5f
2021-03-24 18:53:27 +08:00
Dmitri Plotnikov
313dbc0355 Remove references to BatteryStatsHelper from PowerUsageBase
Bug: 180630447
Bug: 173745486

Test: make RunSettingsRoboTests
Test: male RunSettingsGoogleRoboTests
Change-Id: Ifed69c4fdd741f75b0b962f9d3200f0ed533358f
2021-03-18 06:07:29 +00:00
Dmitri Plotnikov
8f6c946c82 Transition HighUsageDetector to BatteryUsageStats API
Bug: 173745486
Test: make RunSettingsRoboTests
Test: male RunSettingsGoogleRoboTests

Change-Id: Ie8f90a67e4dd16fa67cf4f44a3678a789b3da18a
2021-03-18 03:32:43 +00:00
Yanting Yang
6778fe74bd Fix robotests fail if turning on silky home by default
Bug: 179136903
Test: robotests
Change-Id: Ic620a5061fe7b778076970fd01f212a7aa95bf9e
2021-02-03 03:36:08 +08:00
Jason Chiu
b56ea7e9e3 Adjust homepage styles and layouts
- 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
2021-01-22 13:27:22 +00:00
Mill Chen
63c4595b65 Add the mutability flag to the pendingIntent
Since Android S, it's required to specify a mutability flag
when creating a PendingIntent.

Fixes: 172812025
Fixes: 172811729
Test: robotests
Change-Id: Ia77c189c99712eea524fb1bf68e39a087dcba95c
2021-01-07 20:31:44 +08:00
Jason Chiu
bd854ccd10 Support contextual suggestion
- 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
2020-12-27 01:37:30 +08:00
Yi-Ling Chuang
54d84c56b5 Remove the flaky Conditionals test.
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
2020-12-24 17:11:22 +08:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
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
2020-12-16 11:17:57 +08:00
Yi-Ling Chuang
32e7118161 Add the mutability flag to BluetoothDevicesSlice.
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
2020-12-11 15:32:23 +08:00
Mill Chen
1406e1820f Remove unused StorageSlice
Remove StorageSlice since it's never been used.

Fixes: 172208815
Test: robotest
Change-Id: Ib8eecc27b9ebdf9a741b36369e4dfaa245461939
2020-11-06 17:04:20 +08:00
Yanting Yang
4dd4567bfc Preliminary classification for homepage IA grouping
Bug: 168166015
Test: robotest & visual
Change-Id: If02639d8a5b8886e036b30c5c654c27db5837b62
2020-10-06 20:40:53 +08:00
TreeHugger Robot
e8e4e4bafc Merge "Remove the feature flag of contextual home V2" into rvc-dev 2020-06-19 05:06:12 +00:00
Jason Chiu
d489acb2e3 Remove the feature flag of contextual home V2
Bug: 159393461
Test: robotest & rebuild
Change-Id: If5f030b4c8bd5ef61bb722da9ae7f3ace0ac6e0e
2020-06-19 11:23:57 +08:00
Jason Chiu
0625bb4815 Fix the overlapping problem of the burst of slice updates
Implement a throttle in SliceBackgroundWorker to control slice updates.

Test: robotest
Fixes: 152366832
Change-Id: I8b65d1b57973e036b932172627aca506f4fae3a4
2020-06-18 02:18:38 +08:00
Jason Chiu
f7afded1d1 Fix Slice not pinned error
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
2020-06-12 04:14:46 +08:00
TreeHugger Robot
55b7890150 Merge "Fix contextual card robotests." into rvc-dev 2020-06-02 05:10:02 +00:00
Yi-Ling Chuang
5e082cb401 Fix contextual card robotests.
We have to set SUPPORTED_SPECS for slice to test.

Fixes: 157904094
Test: robotests
Change-Id: I9f8edd7232d772b2376d4e6ec1e4738bc01ee4aa
2020-06-02 10:21:24 +08:00
Yi-Ling Chuang
3e9fb7c765 Remove High usage battery tip from Settings homepage.
Remove this card since it is not actionable.

Fixes: 157131344
Test: robotests
Change-Id: I562e4bec84429f885911bd99461edbe10bad537a
2020-06-01 19:06:16 +08:00
TreeHugger Robot
ff35a3e641 Merge "Fix the janky transition of contextual cards." into rvc-dev 2020-05-29 11:51:51 +00:00
Yi-Ling Chuang
bed0f23940 Fix the janky transition of contextual cards.
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
2020-05-29 18:28:45 +08:00
Jason Chiu
d06333167d Cleanup notification channel slice
Fixes: 144897605
Test: robotest

Change-Id: I1b654f31c6b001ef6f1eed95a87ca0b2dd1afc2e
2020-05-29 17:35:22 +08:00
Yi-Ling Chuang
740db33c5c Revert "Do not prebind sticky slices."
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
2020-05-28 15:42:15 +00:00
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
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
Jeff Sharkey
1a703c4846 Revert "Ignore a lot of failed test cases on Settings"
This reverts commit d9d08ebd4f.

Bug: 154727109
Test: make RunSettingsRoboTests
Exempt-From-Owner-Approval: re-enabling tests
Change-Id: I4ed490f0199683ee84d687be17f7e90091deb7f1
2020-04-22 18:08:41 +00:00
Sunny Shao
d9d08ebd4f Ignore a lot of failed test cases on Settings
Bug: 154667181
Bug: 154667917
Bug: 154667745
Bug: 154668517
Bug: 154667730
Bug: 154668805
Bug: 154669079
Bug: 154668589
Bug: 154670012
Bug: 154669528
Bug: 154668369
Bug: 154670613
Bug: 154669869

Test: make RunSettingsRoboTests
Change-Id: I37bf61fcd965b821e0198c695720ff826c8417b9
2020-04-22 12:51:30 +08:00
Yi Jiang
80d0fa1c5e Fixes incorrect Settings usages in ContextualAdaptiveSleepSliceTest
Bug: 139319542
Test: atest ContextualAdaptiveSleepSliceTest
Change-Id: Ie10e8c06382594fe417d9d495b8b071afb717723
2020-03-19 15:39:34 -07:00
TreeHugger Robot
6aa40f6ea7 Merge "Revert "Ignore some failed tests."" into rvc-dev 2020-03-11 03:16:49 +00:00
Yi-Ling Chuang
ef4550c504 Revert "Ignore some failed tests."
This reverts commit db4fd2b1c3.

Reason for revert: Test failures are fixed.

Fixes: 150914017
Change-Id: I561816d51427f1141aae42128659b42cc25221dd
2020-03-11 03:16:33 +00: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
Yi-Ling Chuang
db4fd2b1c3 Ignore some failed tests.
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
2020-03-06 15:20:09 +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
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