Commit Graph

11553 Commits

Author SHA1 Message Date
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
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
Lyn Han
29559b1645 Disable bubbles for low ram devices
Fixes: 167677013
Test: set low ram true => bubble settings hidden
Test: make -j80 RunSettingsRoboTests ROBOTEST_FILTER="Bubble"

Change-Id: I1c40a05404ea7c78cc82102b33e4bc3cb3528075
2020-09-21 15:11:07 -07:00
TreeHugger Robot
101308bc39 Merge "Fix the device on "Media devices" not updated issue" into rvc-qpr-dev am: ca04ccd911
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12634109

Change-Id: I5efb4653490d20f3c3fafd69ac1c3e7373921774
2020-09-21 10:17:24 +00:00
Hugh Chen
ec597c220e Fix the device on "Media devices" not updated issue
- This CL uses new CachedBluetoothDevice callback instance
  in construct to avoid unregister wrong callback.
- This CL uses flag to make sure preference will register callback
  on onAttached() when preference remove callback on
  onPrepareForRemoval() or onDetached().
- Update test case

Bug: 168682778
Bug: 157653997
Test: make -j42 RunSettingsRoboTests
Change-Id: I7a0d9f5332153ee80634e191847b84cd7c380b7d
Merged-In: I7a0d9f5332153ee80634e191847b84cd7c380b7d
(cherry picked from commit cafeab2813)
2020-09-21 09:58:33 +00:00
Hugh Chen
db0aa6541a Hide the icon if there is no media session or album art.
- Before this CL, the output switch panel will show a default
  icon if there is no media session or album art.

  This CL will hide the icon if there is no media session
  or album art.
- Add test case

Bug: 161495909
Test: make -j42 RunSettingsRoboTests
Change-Id: I5f80158b12f89c8499fb97d0b203ebeffefbc18b
Merged-In: I5f80158b12f89c8499fb97d0b203ebeffefbc18b
(cherry picked from commit 30805af9de)
2020-09-21 09:48:46 +00:00
Jason Chiu
4753adfb52 [DO NOT MERGE] Fix the blank space on contextual card loading timeout
Root cause:
Sometimes loading contextual cards exceeds 1 second and a timeout
expires. In the past, we used the timeout in order not to update
homepage UI and to avoid screen scrolling. But we've introduced a
mechanism of card space pre-allocation to avoid flickering, so when the
timeout expires, the pre-allocated space will be always blank.

Solution:
Display a card on timeout if the one-card space is pre-allocated.

Fixes: 165886791
Test: robotest
Change-Id: I79b29c5fd6d9c4fe6b53dd4f5eab4cd3a606d76d
2020-09-21 09:47:19 +00:00
Beth Thibodeau
51499b2f51 [DO NOT MERGE] Revert "Allow user to block individual apps from resuming." am: 70920bd9ff
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12597795

Change-Id: I4019b79c2ee725d518ff9c7b6714bda772133d47
2020-09-17 19:12:14 +00:00
Beth Thibodeau
7ca988cab1 Merge "[DO NOT MERGE] Revert "Allow user to block individual apps from resuming."" into rvc-qpr-dev 2020-09-17 17:56:29 +00:00
Beth Thibodeau
70920bd9ff [DO NOT MERGE] Revert "Allow user to block individual apps from resuming."
Revert submission 12392268-cherrypick-mediaappsettings-5fxuo164a2

Bug: 161813143

Reason for revert: no longer want change in QPR
Reverted Changes:
Id3de52419:Allow user to block individual apps from resuming....
I8c85bc937:Allow user to block individual apps from resuming

Change-Id: Ieacef217587476532246b466d680219351bc1657
2020-09-17 17:55:56 +00:00
TreeHugger Robot
cdf6fb31f0 Merge "Fix settings crash" into rvc-qpr-dev am: 19af143fe7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12523486

Change-Id: I3de2dab20767ae2e3a132cf611b85b77cbe1fc56
2020-09-16 03:43:32 +00:00
TreeHugger Robot
e8b47df453 Merge "Show just disconnected device on previously connected" into rvc-qpr-dev am: 2b52c56eac
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12493714

Change-Id: Ic3f113e706c9fe3f74eb61a2b980df9a271d806a
2020-09-16 03:42:54 +00:00
TreeHugger Robot
19af143fe7 Merge "Fix settings crash" into rvc-qpr-dev 2020-09-16 03:09:38 +00:00
TreeHugger Robot
2b52c56eac Merge "Show just disconnected device on previously connected" into rvc-qpr-dev 2020-09-16 03:09:30 +00:00
TreeHugger Robot
9dc594b90d Merge "Show all devices, including connected ones, into "Previously connected" page" into rvc-qpr-dev am: a21c26df38
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12493713

Change-Id: I2bd0c2be1c9d9856f568df93339d526d1fed145a
2020-09-15 10:21:23 +00:00
TreeHugger Robot
a21c26df38 Merge "Show all devices, including connected ones, into "Previously connected" page" into rvc-qpr-dev 2020-09-15 09:54:08 +00:00
Bonian Chen
5d1da01e80 Merge "[Testing] Remove Robolectric import and use AndroidJUnit4 instead in MobileDataEnabledListenerTest" am: f5fa52884b am: 49936c5eb5 am: ccc406381a am: 3864e2f218
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1427810

Change-Id: I3223c2748176ebd6624ce3b7f66dbd76c4b0bd88
2020-09-15 09:34:01 +00:00
Bonian Chen
3864e2f218 Merge "[Testing] Remove Robolectric import and use AndroidJUnit4 instead in MobileDataEnabledListenerTest" am: f5fa52884b am: 49936c5eb5 am: ccc406381a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1427810

Change-Id: I65499d47dfa6b2905f65bcf6729f4f5e2ab02af9
2020-09-15 09:09:28 +00:00
TreeHugger Robot
2dfac98e04 Merge "Display "see all" option when bluetooth is off" into rvc-qpr-dev am: c21ad3649e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12392571

Change-Id: Idc4c231882c8868bf6970f19f5bc73b391302ef1
2020-09-15 08:40:43 +00:00
Bonian Chen
ccc406381a Merge "[Testing] Remove Robolectric import and use AndroidJUnit4 instead in MobileDataEnabledListenerTest" am: f5fa52884b am: 49936c5eb5
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1427810

Change-Id: Ifa4dc400eb8c87c2514a3629288657520476fbfd
2020-09-15 08:40:08 +00:00
TreeHugger Robot
c21ad3649e Merge "Display "see all" option when bluetooth is off" into rvc-qpr-dev 2020-09-15 08:01:48 +00:00
changbetty
8de635ea7b [Testing] Remove Robolectric import and use AndroidJUnit4 instead in MobileDataEnabledListenerTest
1. Use AndroidJunit4 instead of RobolectricTestRunner
2. Use ApplicationProvider instead of RuntimeEnvironment to get context

Bug: 162048313
Test: atest -c MobileDataEnabledListenerTest
Merged-In: I81b3d6ac075666a45649c8d811832a40bdb1b41b
Change-Id: I34687eb69ef62cd3b6ea6519cee608a7b95f242b
2020-09-15 12:24:10 +08:00
changbetty
5c46c0f881 [Testing] Use AndroidJUnit4 instead in TelephonyTogglePreferenceControllerTest
1. Use AndroidJunit4 instead of RobolectricTestRunner
2. Use ApplicationProvider instead of RuntimeEnvironment to get context
3. Change the Copy Right

Bug: 164986958
Test: atest -c TelephonyTogglePreferenceControllerTest
Merged-In: I3d6c39f45cb1efb1742148f20f03372214eb0cbe
Change-Id: Ie7343f8c6dd45add2832679d95372e750ce350ce
2020-09-15 12:20:10 +08:00
changbetty
2817fa8e44 [Testing] Use AndroidJUnit4 instead in TelephonyBasePreferenceControllerTest
1. Use AndroidJunit4 instead of RobolectricTestRunner
2. Use ApplicationProvider instead of RuntimeEnvironment to get context
3. Change Copy Right

Bug: 164986221
Test: atest -c TelephonyBasePreferenceControllerTest
Merged-In: Iabe24aef0b7a5c3aa9d7be275f0c4ed552cdd2e8
Change-Id: I96e99506b534dbe7fc9e66739295e09fc543663f
2020-09-15 12:12:31 +08:00
Jeremy Goldman
0c48f53cfe [Testing] use AndroidJUnit4 in new EuiccPreferenceControllerTest
Test: atest -c EuiccPreferenceControllerTest
Merged-In: I028ca81d38252beb3abccef9e938988510f3f55e
Change-Id: I5fcd2f3e9d2e845ec9e1e2693c10330e4292fb7a
2020-09-15 12:05:44 +08:00
Jeremy Goldman
ca5aa8786d [Testing] use AndroidJUnit4 in new MobileDataPreferenceControllerTest
Diff: https://diff.googleplex.com/#key=OYsSkuGzJNkP
Test: atest -c MobileDataPreferenceControllerTest
Merged-In: I1a2d7b38023681f3db3320aa9f315109280cfbd0
Change-Id: Ica6625bb924ad0e813b4f9cdca62b0126b63214e
2020-09-15 10:36:14 +08:00
Jeremy Goldman
d713cc6873 [Testing] use AndroidJUnit4 in new MultiNetworkHeaderControllerTest
1. Rather than mocking the PreferenceScreen, create an instance via
PreferenceManager. Rather than stubbing PreferenceScreen functions to
return the PreferenceCategory mock, the mock is inserted using public
functions.
2. PreferenceCategory active state is checked rather than verifying the
arguments of function calls.
3. mHeaderController test superclass overrides functions which use the
Lifecycle, because doReturn+when on Spy objects has undesired side
effects.
4. Looper message queue prepared for the PreferenceScreen.

Bug: 168130550
Diff: https://diff.googleplex.com/#key=w7a7L3seOowE
Test: atest -c MultiNetworkHeaderControllerTest
Merged-In: Ic66425aca4047d2eacd04509f3bfb315f6dd57fc
Change-Id: I07925cfbb05636bdf7f0efe1811405a01dcf6523
2020-09-15 10:34:24 +08:00
Quang Luong
8704114f02 Merge "[Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route" into rvc-qpr-dev am: db667a8971
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12444567

Change-Id: I655406b69ef689a1b604ed6fc6c9e4d2bbf8bf82
2020-09-11 18:57:42 +00:00
Quang Luong
db667a8971 Merge "[Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route" into rvc-qpr-dev 2020-09-11 18:30:32 +00:00
Ted Wang
3876d72b7c Update state when there is Bluetooth tethering state changed
Monitor Bluetooth Tethering state and update preference when there is
Bluetooth tethering state change.
Add test case to verify when recieve
BluetoothPan.TETHERING_STATE_CHANGED will update bluetooth state

Bug: 138688805
Test: make RunSettingsRoboTests
Merged-Id: I8f468d1d99ed6d87f6cd8305ef56b0d7a5dec95b
Change-Id: I8f468d1d99ed6d87f6cd8305ef56b0d7a5dec95b
2020-09-11 09:09:46 +00:00
Hugh Chen
194dd88e7d Fix settings crash
- This CL before, "Previously connected device" didn't
  handle dock device. If user have disconnected dock
  device will cause Settings crash.

  This CL add condition to handle dock device to avoid crash.
- Update test case.

Bug: 157653997
Bug: 167054620
Test: make -j42 RunSettingsRoboTests
Change-Id: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
Merged-In: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
2020-09-07 02:59:15 +00:00
Hugh Chen
cb057d6e9e Show just disconnected device on previously connected
- This CL before, previously connected devices will show most
  recently connected devices and the maximum is 3.
  In this time, if next most recently connected device is disconnected.
  It's will not show on "previously connected devices", user needs go to
  "see all" page to found that device.
  This CL add rule to compare the priority of most recently connected
  device. If priority of next disconnected device is higher than
  currnect devices that on "previously connected devices".
  Let next disconnected device show on "previously connected devices".
- Update test case.

Bug: 157653997
Test: make -j42 RunSettingsRoboTests
Change-Id: I684501a20a67755b2196ba9d4b5565add01a5d01
Merged-In: I684501a20a67755b2196ba9d4b5565add01a5d01
2020-09-07 02:59:06 +00:00
Hugh Chen
30a97a9cc5 Display "see all" option when bluetooth is off
- This CL before, Bluetooth settings will hide the "see all"
  option when bluetooth is off. For the UX improvement, this
  CL will show the "see all" button when bluetooth is off. And
  turn on the BT when user press "see all" button to let user to
  quick pair their disconnected devices.
- Update and add test case

Bug: 147150367
Test: make -j42 RunSettingsRoboTests
Change-Id: I7a1451a36a31253b6be2203341bea4e59fed7c2b
Merged-In: I7a1451a36a31253b6be2203341bea4e59fed7c2b
(cherry picked from commit bde100849e)
2020-09-07 02:58:39 +00:00
Anton Hansson
0e5e0c77d4 Add explicit dep on framework-wifi.impl
android_robolectric_test is having some implicit deps removed
from it, so add in what we depend on directly.

Bug: 157451444
Bug: 161767237
Bug: 167568930
Test: m RunSettingsRoboTests
Exempt-From-Owner-Approval:‌ ‌Cherry-pick
Merged-In: I847cbeaab7aab6e3cb109df7cafd8a63d63c6acb
Change-Id: I847cbeaab7aab6e3cb109df7cafd8a63d63c6acb
2020-09-02 15:41:40 +00:00
timhypeng
2f32da41ba Show all devices, including connected ones, into "Previously connected" page
-Add connected devices in "Previously connected" page
-Set active when clicking a connected device

Bug: 147150246
Test: make -j50 RunSettingsRoboTests
Change-Id: I4422cd63c360a4387cedc4f80f34474b42f82a1f
(cherry picked from commit 9743fed57d)
2020-09-01 07:52:16 +00:00
Xin Li
748efff856 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ie9d2c4d6d4618a167af1c5627d5d7918a404f398
Change-Id: I2ae428e37fd96226ce4e06032e2c0beaacbd0301
2020-08-28 23:35:54 -07:00
Arc Wang
20680c254c [Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route
This change shows Pie+x Wi-Fi icon in Wi-Fi Details for a connected Wi-Fi
network which is not the default network when

  1. It's connection speed quality is bad.
  or
  2. It has certain internet connection problem.

Bug: 163627176
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiDetailPreferenceController2Test
      manual visual
Change-Id: I1f102471426a55c7dabd9110afba20f802abedbe
2020-08-28 11:43:55 +08:00
TreeHugger Robot
98dd4491b7 Merge "Hide conversation bubble switch if app bubbles are off" into rvc-qpr-dev am: 794482fb92
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12410582

Change-Id: I84db13dbe58d05cb8639515e302b927c00342662
2020-08-25 18:58:11 +00:00
TreeHugger Robot
794482fb92 Merge "Hide conversation bubble switch if app bubbles are off" into rvc-qpr-dev 2020-08-25 18:14:50 +00:00
TreeHugger Robot
6a23ee5d37 Merge "Add 'Adaptive connectivity' UI" into rvc-qpr-dev am: b75d2f6009
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12391062

Change-Id: Ib275c7ce10f274d815a155cf9d95af03757e1a7c
2020-08-24 16:05:10 +00:00
TreeHugger Robot
b75d2f6009 Merge "Add 'Adaptive connectivity' UI" into rvc-qpr-dev 2020-08-24 15:47:38 +00:00
Arc Wang
e4ba98cebe Add 'Adaptive connectivity' UI
'Adaptive connectivity' toggle button controls whether
network connection is automatically managed.

Bug: 162871294
Test: make RunSettingsRoboTests
      manual
      Switch the toggle button and reboot device, observe
      if the state is retained.
Change-Id: I4499a3639abab356e8faa6316bfa45541efd63ac
Merged-In: I4499a3639abab356e8faa6316bfa45541efd63ac
2020-08-21 16:44:06 +08:00
Lyn Han
aea66dcc96 Hide conversation bubble switch if app bubbles are off
Fixes: 159340745

Test: BubblePreferenceControllerTest

Test: priority conversation bubble
=> app bubbles OFF => toggle hidden
=> selected bubbles ON => toggle checked
=> app bubbles ON => toggle checked

Test: default/silent conversation bubble
=> app bubbles OFF => toggle hidden
=> selected bubbles ON => toggle NOT checked
=> app bubbles ON => toggle NOT checked

Change-Id: Ia5759c2a06c1da4d84b3dafed95e52c3aa30ad56
(cherry picked from commit 9af95dae7d)
2020-08-20 16:59:33 +00:00
Beth Thibodeau
ee7da79fbf Allow user to block individual apps from resuming. am: 48ce5892e8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12392268

Change-Id: I131ff7c33871d858a63824fc17ba168ba590f6e2
2020-08-18 14:39:26 +00:00