Commit Graph

34727 Commits

Author SHA1 Message Date
Hugh Chen
30805af9de Hide the icon if didn't have media session or album art
- This CL before, output switcher panel will show default
  icon if there are no media session or album art.

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

Bug: 161495909
Test: make -j42 RunSettingsRoboTests
Change-Id: I5f80158b12f89c8499fb97d0b203ebeffefbc18b
2020-09-14 17:17:04 +08:00
TreeHugger Robot
7fb5f93858 Merge "Add a feature flag for settings contextual home." 2020-09-14 04:57:46 +00:00
Treehugger Robot
9b5a2ff761 Merge "Add goldmanj to settings owners files." am: 56349f714d am: 26f8b54e38 am: 91286c4ec9 am: 368ae3f9b9 am: ae268ea40d
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425948

Change-Id: Ibae9c6fea5214fcd6f39be338ca31a5bb3725e48
2020-09-12 03:24:57 +00:00
Treehugger Robot
ae268ea40d Merge "Add goldmanj to settings owners files." am: 56349f714d am: 26f8b54e38 am: 91286c4ec9 am: 368ae3f9b9
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425948

Change-Id: I30981eb4d451fc77ba7ee08b9ad734a392c27fca
2020-09-12 03:02:52 +00:00
Treehugger Robot
368ae3f9b9 Merge "Add goldmanj to settings owners files." am: 56349f714d am: 26f8b54e38 am: 91286c4ec9
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425948

Change-Id: Idd7fbf0b35260a8146d029337cb3de7d29a14ed8
2020-09-12 02:21:21 +00:00
Treehugger Robot
91286c4ec9 Merge "Add goldmanj to settings owners files." am: 56349f714d am: 26f8b54e38
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425948

Change-Id: I5c0fe4b0b3be7191d42db14195791d8a8bee503c
2020-09-12 01:36:43 +00:00
Quang Luong
77e32049bd Merge "[Wi-Fi] Show Pie+x Wi-Fi icon when a connected Wi-Fi is not default route" into rvc-qpr-dev am: db667a8971 am: 8704114f02
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12444567

Change-Id: I95ac03dcb6a45fbc8c71aae0d7c9fcae20f36ff2
2020-09-11 23:50:57 +00: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
Jeremy Goldman
9e1e47fef7 Add goldmanj to settings owners files.
Test: N/A, code not edited.
Change-Id: I23a64e52d01ebeda1509d1e207200d868444d955
2020-09-11 18:55:46 +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
Bonian Chen
e68a8c4953 Merge "[Settings] subscription UI should be closed when SIM is removed" am: b3efa585f2 am: 5dba10a956 am: 5975853b18 am: 0f2bc3bad9
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425488

Change-Id: I2828a05151f0d5dc0a1ba314b15d0ec89710772f
2020-09-11 09:28:28 +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
Bonian Chen
07536baadf Merge "Fix NullPointerException, TelephonyManager.getServiceState is null" am: 11db11d236 am: e73b25e37b am: 42710f069d
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425489

Change-Id: Ic862e8fded74ab13e528874abd690e55d5fb2bfd
2020-09-11 08:42:31 +00:00
Bonian Chen
0f2bc3bad9 Merge "[Settings] subscription UI should be closed when SIM is removed" am: b3efa585f2 am: 5dba10a956 am: 5975853b18
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425488

Change-Id: I74e8fe4508bcafff0bc08a8d88eff771a1158ec3
2020-09-11 08:42:22 +00:00
TreeHugger Robot
168f468c92 Merge "Add permission to protect data when sending broadcast" 2020-09-11 08:20:43 +00:00
Bonian Chen
42710f069d Merge "Fix NullPointerException, TelephonyManager.getServiceState is null" am: 11db11d236 am: e73b25e37b
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425489

Change-Id: I6a0ebc1fadd409ad57933f5f2e6eb722187c6b40
2020-09-11 08:07:32 +00:00
Bonian Chen
5975853b18 Merge "[Settings] subscription UI should be closed when SIM is removed" am: b3efa585f2 am: 5dba10a956
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1425488

Change-Id: I32087c8910c01323c70eb124cff1247c4d60fed5
2020-09-11 08:04:23 +00:00
Hugh Chen
602e761ba0 Add permission to protect data when sending broadcast
This CL before, DevicePickerFragment didn't check the
whether 3rd-party app have Bluetooth permission before
sending broadcast. It's will cause the 3rd-party app can
get Bluetooth device information without request permission.

This CL will send broadcast with Bluetooth permission that
make sure the receiver who have Bluetooth permission can get
this Bluetooth device infomation.

Bug: 161716630
Test: verify on test apk to confirm that not showing mac address.
Change-Id: I6662dc38b3491e5ee467058dd74863ecac27cdd7
2020-09-11 07:23:06 +00:00
Hugh Chen
75dea8ea80 Add permission to protect data when sending broadcast
This CL before, DevicePickerFragment didn't check the
whether 3rd-party app have Bluetooth permission before
sending broadcast. It's will cause the 3rd-party app can
get Bluetooth device information without request permission.

This CL will send broadcast with Bluetooth permission that
make sure the receiver who have Bluetooth permission can get
this Bluetooth device infomation.

Bug: 161716630
Test: verify on test apk to confirm that not showing mac address.
Change-Id: I6662dc38b3491e5ee467058dd74863ecac27cdd7
2020-09-11 15:15:34 +08:00
Bonian Chen
11db11d236 Merge "Fix NullPointerException, TelephonyManager.getServiceState is null" 2020-09-11 06:46:58 +00:00
Taesu Lee
99637baab2 Avoid unexpected state changes for enhanced preferences
Assigning current call state to mCallState right before registering
PhoneStateListener so that the preferences have correct state before
first onCallStateChanged() by initial registration even.

Bug: 166307650
Test: Check the preferences state when onStop() -> onStart()

Change-Id: I861a687497ba4da7a845540fd92ae2b865392d60
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
2020-09-11 14:36:26 +09:00
Taesu Lee
c6cc866d10 Highlight the MMS messages preference for ACTION_MMS_MESSAGE_SETTING
Bug: 165660739
Test: Manual

Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
Change-Id: Iba07c70cb18e8d9f748518d6d141191de5a3d422
2020-09-11 13:58:18 +09:00
SongFerngWang
0c2cabef6e Fix NullPointerException, TelephonyManager.getServiceState is null
Add the null protect for TelephonyManager.getServiceState.

Bug: 166676020
Test: 1. make RunSettingsRoboTests ROBOTEST_FILTER=\
RenameMobileNetworkDialogFragmentTest (PASS)
2. make RunSettingsRoboTests ROBOTEST_FILTER=\
AutoSelectPreferenceControllerTest (PASS)
3. make RunSettingsRoboTests ROBOTEST_FILTER=\
PreferredNetworkModePreferenceControllerTest (PASS)
4. make RunSettingsRoboTests ROBOTEST_FILTER=\
EnabledNetworkModePreferenceControllerTest (PASS)

Merged-In: I61e59f7ba9d6c64019d620d6cb80099ded41473f
Change-Id: Ib80e5e7498a078435185814d11c3b2bcc4318f59
2020-09-11 09:27:41 +08:00
Bonian Chen
22a70a5e15 [Settings] subscription UI should be closed when SIM is removed
When SIM is removed, subscription UI should actively be closed (instead of
waiting for user to leave UI).

Bug: 160197149
Test: manual
Merged-In: I2854147c956faa633a9682eee0028db6cd2d3912
Change-Id: I920b88879a225f1d6ce696c7784d1f6f279c16d9
2020-09-11 09:18:34 +08:00
Yi Jiang
f7b60ee566 Merge "Disable screen attention when DISALLOW_CONFIG_SCREEN_TIMEOUT" 2020-09-10 17:33:36 +00:00
Yi-Ling Chuang
5601bce8dc Add a feature flag for settings contextual home.
Bug: 168179764
Test: rebuild
Change-Id: Ib0a3c7ef9a80fe6fb0ddaa59a181af7dbb715db3
2020-09-10 17:16:24 +08:00
Yi Jiang
038d18ff73 Disable screen attention when DISALLOW_CONFIG_SCREEN_TIMEOUT
Test: atest AdaptiveSleepDetailPreferenceControllerTest
Bug: 161938926
Change-Id: I4ed96ad36efe67091a26cbfe2cde16c116f7c8fb
2020-09-10 00:58:03 -07:00
Ted Wang
47f2ebb1af 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
Change-Id: I8f468d1d99ed6d87f6cd8305ef56b0d7a5dec95b
2020-09-10 06:15:41 +00:00
Yanting Yang
5775d758e3 Add a feature flag for silky home
Bug: 168166015
Test: robotest & rebuild
Change-Id: I1096f046acc7d34c2658caa2691884dcf0be7cfc
2020-09-10 13:10:50 +08:00
Arc Wang
746176eb56 Create NetworkProviderSettings for provider model
Provider model is a feature which improves networks
Settings UX.

NetworkProviderSettings is the fragment which allow
users to choose a mobile network or a Wi-Fi network
to connect.

At this change, NetworkProviderSettings is a clone
of WifiSettings, mobile networks will be integrated
at later CLs.

Bug: 167474581
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.network.NetworkProviderSettingsTest
Change-Id: I185639a8f2469e9ec76ad18b6c2bc2e8a4d079e3
2020-09-10 11:03:48 +08:00
Kevin Chyn
3c3450e656 Merge "1/n: Clean up BiometricEnrollActivity" 2020-09-10 01:25:23 +00:00
Kevin Chyn
eb8c0f14ea 1/n: Clean up BiometricEnrollActivity
Test: fingerprint and face enroll via
      adb shell am start -a android.settings.BIOMETRIC_ENROLL
Test: credential enroll via
      adb shell am start -a android.settings.BIOMETRIC_ENROLL --ei android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED 32768

Bug: 162341940
Bug: 152242790
Change-Id: Idfdf96891ba9a2394f61eedb0adde2adf9fd85e6
2020-09-09 15:07:24 -07:00
Yanting Yang
7b8b881f8a Merge "Resolve tiles intent before prompting a dialog for profile selection" 2020-09-09 14:44:35 +00:00
Yanting Yang
552f340dda Resolve tiles intent before prompting a dialog for profile selection
Symptom:
Once the work profile component of the tile is disabled after Settings
preloaded tiles, Settings will crash when the user clicks the work
option from the profile selection dialog.

Root cause:
Settings just checks the users from the preloaded tiles to prompt
profile selection dialog. It doesn’t check the activity for the work
profile user before launching.

Solution:
Resolve the activity by intent as users before launching if the work
profile is enabled. Directly start activity if only one user is
resolvable, otherwise prompt a dialog for profile selection.

Fixes: 162227425
Test: make RunSettingsRoboTests
Change-Id: Idcc4e5a266ab2a2252db30bb97d4be002212c677
2020-09-09 18:12:42 +08:00
timhypeng
c3bd801a89 Add PairNewBluetoothReceiver to launch Bluetooth pairing page
-A new SystemUI dialog requires to launch Bluetooth pairing page
-Add receiver in manifest

Bug: 155822415
Test: build pass
Change-Id: I16767af3afb05eab7246be133011bc9148909d11
2020-09-08 06:24:08 +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
Jason Chiu
6a8d2c5e55 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.

Bug: 143889510
Bug: 160491854
Test: robotest, manual
Change-Id: I821faedeb62354929f3af9804cbbe44ee5bb8a53
2020-09-03 07:10:21 +00:00
Jason Chiu
2c7b77dad7 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
Bug: 144134209
Bug: 160489394
Change-Id: I780b9eee35802b19a5f0ab0a7d07bd3e081f5556
2020-09-03 14:12:10 +08:00
TreeHugger Robot
0e3c359888 Merge "Fix settings crash" 2020-09-03 00:46:02 +00:00
TreeHugger Robot
698b4eafa0 Merge "Set highest priority as default value to Bluetooth codec" 2020-09-02 10:14:55 +00:00
Hugh Chen
a6aae425bc 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: 167054620
Test: make -j42 RunSettingsRoboTests
Change-Id: I769cee3f589e14a993b00a0ae6ec3ddfba8ef281
2020-09-02 17:14:30 +08: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
timhypeng
44cc57cd9d Display "pair new" only when local output device is available.
-If media app does not support cast->phone transferring, local output
audio device is unavailable. "pair new" is for Bluetooth which should be
also unavilable.
-These types are local output audio devices:
TYPE_BUILTIN_SPEAKER
TYPE_WIRED_HEADSET
TYPE_WIRED_HEADPHONES
TYPE_USB_DEVICE
TYPE_USB_HEADSET
TYPE_USB_ACCESSORY
TYPE_DOCK
TYPE_HDMI

Bug: 163095048
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib844c7546e1946cb87fac04cb8b2b8f4acf06451
(cherry picked from commit 113ac8102a)
2020-09-01 07:48:28 +00:00
timhypeng
ce4dfc5c04 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-01 15:28:59 +08:00
TreeHugger Robot
3a64d5898b Merge "Fix cast volume control bar not work" 2020-09-01 06:53:15 +00:00
Hugh Chen
7f3efd4357 Fix cast volume control bar not work
Use hashcode as a requestCode id, since the
same requestCode will cause the intent be cached.

Bug: 163095633
Test: make -j42 RunSettingsRoboTests
Change-Id: I2c120f18e24a66aeff5565e952fa4064149ec540
2020-08-31 15:48:46 +08: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
SongFerngWang
34f35aff90 Fix NullPointerException, TelephonyManager.getServiceState is null am: a12327b5f3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12468773

Change-Id: I5baab79d81bd127d8bf1a5092c0821a576b21852
2020-08-28 10:35:58 +00:00