Commit Graph

10294 Commits

Author SHA1 Message Date
Alexander Dorokhine
94fa8e0921 Merge "Migrate away from deprecated Truth APIs." am: c5a500bf07 am: 1b69ab26e9
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1449661

Change-Id: I86b367dd8c072aeb8de4a610e7cf6c19fc5c8287
2020-10-06 11:05:22 +00:00
Hugh Chen
fa75a469da Implement advanced device battery prediction
This CL implements prediction of advanced device to
let users know what time their advanced device will
be out of battery.

Bug: 153706138
Test: make -j42 SettingsGoogle
Change-Id: Iadf2f1fa425ff5f0fa1abed681d82d13c392db62
2020-10-06 17:38:08 +08:00
TreeHugger Robot
1ae5e59c32 Merge "Move isMediaOutputDisabled() from Utils to LocalMediaManager" 2020-10-06 08:40:15 +00:00
Alexander Dorokhine
6decca7890 Migrate away from deprecated Truth APIs.
This is a transitional step towards truth 1.0.1, where these APIs have
been completely removed.

Bug: 168765701
Test: m checkbuild
Merged-In: I76f9c37cb699ce6ab8715ffe35d11668ccbceea1
Change-Id: I76f9c37cb699ce6ab8715ffe35d11668ccbceea1
(cherry picked from commit 46e85a2fad)
2020-10-06 00:25:04 -07:00
Alexander Dorokhine
7aadf2da70 Merge "Migrate away from deprecated Truth APIs." 2020-10-06 07:06:00 +00:00
Tom Hsu
272c21911d Merge "[Settings] Refractor ApnSettings code to independent package folder." 2020-10-06 03:30:10 +00:00
TreeHugger Robot
fafe12056c Merge "Hide tethering option when in a guest account" into rvc-qpr-dev am: ab41be5607
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12723406

Change-Id: I4caa8937deae9bc104c9c6c3446b7f793cac1f80
2020-10-06 02:25:09 +00:00
Martijn Coenen
98c7ad9953 Revert "Kill uid when REQUEST_INSTALL_PACKAGES is denied"
This reverts commit 732edc3e39.
The kill is already done by StorageManagerService these days.

Bug: 133504844
Test: flip toggle, verify app is still killed.
Change-Id: I1de15108e1e214478c2b67701e95208f280195b6
2020-10-05 14:15:31 +02:00
PETER LIANG
4866b0ae7c Merge "Add test cases for legacy components." 2020-10-05 09:09:27 +00:00
Peter_Liang
7f0919aebe Add test cases for legacy components.
Bug: 168567356
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ColorPreferenceTest
&& make RunSettingsRoboTests ROBOTEST_FILTER=EdgeTypePreferenceTest

Change-Id: I7ffc0561c6124050fe8c37007e547facdf8ab278
2020-10-05 10:22:37 +08:00
Kevin Chyn
a8bf11979b Merge "Update settings together with frameworks/base" 2020-10-01 01:24:02 +00:00
tom hsu
2fd7c9ffd1 [Settings] Refractor ApnSettings code to independent package folder.
Bug: 169750507
Test: make RunSettingsRoboTests
Change-Id: I8b2709ba8d16c625863d8a17abc3d0ab5d019bb8
2020-09-30 15:56:01 +00:00
TreeHugger Robot
5709f7a083 Merge "Do nothing when choosing file transfer when in accessory mode" 2020-09-30 06:54:29 +00:00
Hugh Chen
3251a04ba3 Do nothing when choosing file transfer when in accessory mode
- Before this CL, the device will be disconnected and reconnected
  to accessory mode when choosing "File transfer/Android Auto" in
  accessory mode. Because the USB menu didn't check state of
  function, it should do nothing when choosing
  "File transfer/Android Auto" in accessory mode.

  This CL add condition to check state of function, it will do
  nothing when choosing "File transfer/Android Auto" in
  accessory mode.

Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I1749c6c43d2a192e4ce1bf1ae5343ff8deafbe48
2020-09-30 11:19:31 +08:00
Kevin Chyn
587bd62dff Update settings together with frameworks/base
Bug: 169459906
Test: Builds

Exempt-From-Owner-Approval: Name change

Change-Id: I453d743fe29c33776a784942863dcba19c67c26a
2020-09-29 18:19:16 -07:00
Hugh Chen
c07b475843 Move isMediaOutputDisabled() from Utils to LocalMediaManager
- Move isMediaOutputDisabled() from Utils to LocalMediaManager.
  The isMediaOutputDisabled() is used to check whether should
  disable the entry point of media output, it's not a general
  method for Settings. To reduce the usage of Utils.java,
  it's better to let LocalMediaManager handle this method.
- Add test cases.

Bug: 169378895
Test: make -j42 RunSettingsRoboTests
Change-Id: I5dbed2ad4de6dca8105414f8b7d7ce7141e258bd
2020-09-29 11:27:39 +08:00
Hugh Chen
a50f020c85 Hide tethering option when in a guest account
- Before this CL, users can share their mobile data through enabling
  tethering in the USB menu when in a guest account.
  It will cause main users to spend their money unexpectedly.

  This CL will hide the tethering option on the USB menu when in the
  guest account.
- Add test cases.

Bug: 166125765
Test: 1. make -j42 RunSettingsRoboTests. 2. Switch to a guest account
to verify whether the tethering option is hiding.

Change-Id: I7523b3f3c3a1372bb128a58a6a7fac973d27cfbe
Merged-In: I7523b3f3c3a1372bb128a58a6a7fac973d27cfbe
(cherry picked from commit bde627b263)
2020-09-29 01:57:37 +00:00
TreeHugger Robot
f0cdd9cdb4 Merge "Hide tethering option when in a guest account" 2020-09-28 09:11:39 +00:00
Hugh Chen
bde627b263 Hide tethering option when in a guest account
- Before this CL, users can share their mobile data through enabling
  tethering in the USB menu when in a guest account.
  It will cause main users to spend their money unexpectedly.

  This CL will hide the tethering option on the USB menu when in the
  guest account.
- Add test cases.

Bug: 166125765
Test: 1. make -j42 RunSettingsRoboTests. 2. Switch to a guest account
to verify whether the tethering option is hiding.

Change-Id: I7523b3f3c3a1372bb128a58a6a7fac973d27cfbe
2020-09-28 11:20:31 +08:00
PETER LIANG
24e31fa068 Merge "Add test cases for legacy components." 2020-09-26 09:22:01 +00:00
jasonwshsu
1a1ae82460 Modify flow in ToggleFeaturePreferenceFragment
* Show edit shortcut dialog should belong to the basic feature, so move
them back to ToggleFeaturePreferenceFragment
* Add test cases for UserShortcutType to prepare to further refactor

Bug: 158540780
Test: atest ToggleFeaturePreferenceFragmentTest
Change-Id: Ia84bea5581f85d199f395b2065652ce69738abbf
2020-09-26 04:30:04 +00:00
Peter_Liang
96ea49a38b Add test cases for legacy components.
Bug: 168567356
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AnimatedImagePreferenceTest
&& make RunSettingsRoboTests ROBOTEST_FILTER=DividerAllowedBelowPreferenceTest
&& make RunSettingsRoboTests ROBOTEST_FILTER=DividerSwitchPreference

Change-Id: Ibe1add4ac6509f456ea76a6053f43c894e410eeb
2020-09-26 11:03:13 +08:00
TreeHugger Robot
e71dc5640e Merge "Disable entry point of output switcher" into rvc-qpr-dev am: faf7a2ad78
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12686593

Change-Id: I981a5fdc4356e41ceaf353b005077765568c6944
2020-09-25 09:31:06 +00:00
TreeHugger Robot
faf7a2ad78 Merge "Disable entry point of output switcher" into rvc-qpr-dev 2020-09-25 09:04:36 +00:00
Jason Chiu
cad3c395da [DO NOT MERGE] Fix the blank space on contextual card loading timeout am: 4753adfb52
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12533604

Change-Id: I974883a20ebcac94cf72ccbfdd9cab18b23d1690
2020-09-25 07:18:13 +00:00
Jason Chiu
e8b34c64f4 Merge "[DO NOT MERGE] Fix the blank space on contextual card loading timeout" into rvc-qpr-dev 2020-09-25 07:05:25 +00:00
Hugh Chen
455a0a3186 Disable entry point of output switcher
It adds a minimum value if it shows only one available
cast device in the output switcher. Because users can only
change the volume slider or stop control in the output switcher.
It's too hidden to have the user stop cast in the UI.

- This CL will disable the entry point of the output switcher
  if there is only one available cast device in the list.
- Update test cases.

Bug: 163095048
Test: make -j42 RunSettingsRoboTests
Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
Merged-In: I8906878e1ba769d6940041f17d83b5de6b2a32c0
(cherry picked from commit b6840ced0d)
2020-09-25 03:18:05 +00:00
Hugh Chen
b6840ced0d Disable entry point of output switcher
It adds a minimum value if it shows only one available
cast device in the output switcher. Because users can only
change the volume slider or stop control in the output switcher.
It's too hidden to have the user stop cast in the UI.

- This CL will disable the entry point of the output switcher
  if there is only one available cast device in the list.
- Update test cases.

Bug: 163095048
Test: make -j42 RunSettingsRoboTests
Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
2020-09-25 02:38:19 +00:00
Alexander Dorokhine
46e85a2fad Migrate away from deprecated Truth APIs.
This is a transitional step towards truth 1.0.1, where these APIs have
been completely removed.

Bug: 168765701
Test: m checkbuild
Change-Id: I76f9c37cb699ce6ab8715ffe35d11668ccbceea1
2020-09-24 23:09:41 +00:00
tim peng
0c786c8321 Merge "Set highest priority as default value to Bluetooth codec" am: 594849082b am: d3a9f472a2 am: f01d260512 am: 3501adcc86
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1435258

Change-Id: I336bae8e93101a682eea6b51f08c52fb83cc1fc9
2020-09-24 13:21:55 +00:00
tim peng
3501adcc86 Merge "Set highest priority as default value to Bluetooth codec" am: 594849082b am: d3a9f472a2 am: f01d260512
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1435258

Change-Id: Iaaef48f2af763fb1905596205bedd6b33574750e
2020-09-24 13:05:41 +00:00
tim peng
f01d260512 Merge "Set highest priority as default value to Bluetooth codec" am: 594849082b am: d3a9f472a2
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1435258

Change-Id: I92cf2605c1e9ee48abedc483a1e461d196b09ef2
2020-09-24 12:39:06 +00:00
timhypeng
a45a0e8980 Set highest priority as default value to Bluetooth codec
-To set highest priority when codec modification comes from development setting

Bug: 165442632
Test: make -j42 RunSettingsRoboTests
Change-Id: I8cfbaa276f3b3e269f4a80e8aae987fbb90f646e
2020-09-24 12:01:01 +08:00
Kevin Chyn
9096f09405 Merge "Update settings together with frameworks/base" 2020-09-23 21:33:35 +00:00
Wesley.CW Wang
ff0e65c7f7 Add intent extra when launching WallpaperPicker from SUW and Settings
- Add extra to these intents to help WallpaperPicker log the launch
 source

Bug: 154781896
Test: make SettingsRoboTests
Change-Id: Ifb0ed22ab8ebfbb3c2ad24e9b7bad80007162b6e
2020-09-23 08:06:52 +00:00
Kevin Chyn
8d63b98272 Update settings together with frameworks/base
Bug: 169195610
Test: Builds
Change-Id: I2c732dba78eb8c90ef71351562415e06949b31bb
2020-09-23 00:17:56 -07:00
Jason Chiu
8c26c4f2f7 Merge "Fix the ANR in panel when changing volume continuously" into rvc-qpr-dev am: c3ed62e3ae
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12652533

Change-Id: I72df2a31695885198f89d1406d31f6e434a827c1
2020-09-23 03:27:48 +00:00
Jason Chiu
c0468c4814 Merge "Fix the endless panel loading" into rvc-qpr-dev am: a78af692c6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12652532

Change-Id: Iad7b84e6fe3a5c3d19048b5d0c9daf95c26465ec
2020-09-23 03:27:33 +00:00
Jason Chiu
c3ed62e3ae Merge "Fix the ANR in panel when changing volume continuously" into rvc-qpr-dev 2020-09-23 03:01:56 +00:00
Jason Chiu
a78af692c6 Merge "Fix the endless panel loading" into rvc-qpr-dev 2020-09-23 03:01:53 +00:00
TreeHugger Robot
89cc479bd8 Merge "Disable bubbles for low ram devices" into rvc-qpr-dev am: f9469f109a am: 3bce073370
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12620222

Change-Id: I3485643cce554f1b028ed35d20b9ea4ed500cc73
2020-09-22 17:56:32 +00:00
TreeHugger Robot
3bce073370 Merge "Disable bubbles for low ram devices" into rvc-qpr-dev am: f9469f109a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12620222

Change-Id: I90731be022b3bc354cc1cb00e1b23a4cd1dd791f
2020-09-22 17:36:40 +00:00
TreeHugger Robot
f9469f109a Merge "Disable bubbles for low ram devices" into rvc-qpr-dev 2020-09-22 17:11:41 +00:00
PETER LIANG
ed3944ae64 Merge "Fix the Real Time Text option was shown in accessibility settings under active Fi." 2020-09-22 13:08:01 +00:00
TreeHugger Robot
e02dda0aab Merge "Hide the icon if there is no media session or album art." into rvc-qpr-dev am: e9d4e584d5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12613116

Change-Id: Id1ecd31b8ad1b6290ad7fda12a7752f55655ad2b
2020-09-22 03:50:01 +00:00
TreeHugger Robot
e9d4e584d5 Merge "Hide the icon if there is no media session or album art." into rvc-qpr-dev 2020-09-22 03:24:09 +00:00
TreeHugger Robot
a581b932c7 Merge "Update state when there is Bluetooth tethering state changed" into rvc-qpr-dev am: e0e283cb4c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12559490

Change-Id: If762b9aadc9f69e55a9e58400e6b92f44ba6a491
2020-09-22 03:22:13 +00:00
TreeHugger Robot
e0e283cb4c Merge "Update state when there is Bluetooth tethering state changed" into rvc-qpr-dev 2020-09-22 03:16:37 +00:00
Jason Chiu
f447cbbcb5 Fix the ANR in panel when changing volume continuously
When users open volume panel and keep on changing the volume slider for
a while, the panel starts to defer the slider updating, and finally gets
stuck and causes an ANR.

Root cause:
Volume panel has four volume adjusting slices. Each of them registers
a broadcast receiver to listen to the volume changed and muted events.
However, when the media volume changes, AudioManager will send four
broadcasts (music, assistant, accessibility, tts) to every receiver, and
each of them will reload slice four times. Thus, one media volume
changed event will lead to 16 (4*4) UI updates. Consequently, keeping on
sliding the volume bar will trigger hundreds of broadcasts and UI
updates, which makes the system busy and getting stuck.

Solution:
Introduce a VolumeSliceHelper to integrate the broadcasts of the volume
slices specifically.
1. Only register one broadcast receiver to reduce the broadcast loading
   since the four slices are listening to the same signal.
2. Filter the only one eligible broadcast among the multiple concurrent
   ones, and then relay it to the registered slice.
3. Listen to one more action STREAM_DEVICES_CHANGED_ACTION to update the
   volume panel when audio output device changes.

Test: robotest, visual
Fixes: 144134209
Fixes: 160489394
Change-Id: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
Merged-In: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
(cherry picked from commit 2c7b77dad7)
2020-09-22 02:58:01 +00:00
Jason Chiu
7db71ac87a Fix the endless panel loading
Re-launching volume panel continuously will trigger an endless panel
loading, show a transparent unfinished UI, and then block the user's
screen.

Root cause:
When the activity receives a new intent from user's clicking, it will
call PanelFragment#createPanelContent to update the current fragment.
The method triggers an animation and then loads the panel content. If
multiple invocations run concurrently before the animation or the
loading finish, the loader's countdown latch will be increased
abnormally and lead to the endless loading.

Solution:
1. Since the invocations are in UI thread, simply add a flag to avoid
reentrance when the panel is animating or loading.
2. Filter out the same panel's creation request when the panel is still
visible.
3. Do not force a panel's recreation when it's under construction.

Fixes: 143889510
Fixes: 160491854
Test: robotest, manual
Change-Id: I821faedeb62354929f3af9804cbbe44ee5bb8a53
Merged-In: I821faedeb62354929f3af9804cbbe44ee5bb8a53
(cherry picked from commit 6a8d2c5e55)
2020-09-22 02:55:22 +00:00