Commit Graph

54460 Commits

Author SHA1 Message Date
Yiyi Shen
adbdc16113 [Audiosharing] Handle device volume when volume bar is changed without touch
Fix volume control when user use talk back swipe up/down or use Switch
Access to change the volume bar progress

Fix: 357028436
Fix: 357028435
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Iab7d48ab8713a3a809cc8f7b28381a2b86b9be5f
2024-08-07 15:17:18 +08:00
Angela Wang
73fd3c1e3f Merge "Update UI for Flash notifications" into main 2024-08-07 07:11:40 +00:00
Chelsea Hao
5473fa04f5 Merge "[Audiosharing] When landscape mode, collapse app bar to make more space. Also refined fragments and make them scrollable." into main 2024-08-07 05:07:00 +00:00
Treehugger Robot
87778221d3 Merge "Fix the charging string while charging wirelessly" into main 2024-08-07 03:55:07 +00:00
Chaohui Wang
aa0d63ce40 Check ims for isVoImsOptInEnabled
If the device does not have PackageManager.FEATURE_TELEPHONY_IMS,
ProvisioningManager.getProvisioningIntValue() could not be called.

Fix: 346708541
Flag: EXEMPT bug fix
Test: manual - SIM settings
Change-Id: I52b5a62d20ee7df14ecf93c9b0dbbed6f7dc0f0d
2024-08-07 11:45:28 +08:00
Chaohui Wang
e2f0a6b2d3 Fix the sorting order for restricted
Set the category for the restricted item to fix.

Fix: 357275199
Flag: EXEMPT bug fix
Test: manual - on DataUsageList
Test: atest AppDataUsageRepositoryTest
Change-Id: I63d3fd2ac85748d67ff6194cd60adeadae2aa984
2024-08-07 02:23:23 +00:00
Matías Hernández
377939483c Merge "Skip updating mode list entries for unchanged modes" into main 2024-08-07 00:18:34 +00:00
Yuri Lin
eb6dd8432b Merge changes from topic "yl-interstitial" into main
* changes:
  Resize & round corners on a placeholder interstitial image
  Add interstitial for modes that are disabled but not by user
2024-08-06 19:38:45 +00:00
Matías Hernández
f0952bef52 Update Priority Modes segment summary
* Display active modes regardless of DND status
* Only consider actually automatic rules for the "x rules can activate automatically" text.
* Also removed the duplicate settings observer in favor of ZenSettingsObserver.

Bug: 355615361
Test: atest ZenModesSummaryHelperTest
Flag: android.app.modes_ui
Change-Id: I39acb785e7b27c95ed664261640c42032acca9d1
2024-08-06 19:48:01 +02:00
Matías Hernández
6737cbf68a Skip updating mode list entries for unchanged modes
Bug: 357861830
Test: manual, with debugger
Flag: android.app.modes_ui
Change-Id: Ieaea5053d1e8e3bc4052af1f961470eb8211192f
2024-08-06 18:39:21 +02:00
Nikhil Kumar
c05f058083 SettingsApp Implement DISALLOW_GRANT_ADMIN in user creation flow
In the process of creating a user through the Settings app, if the current user has the DISALLOW_GRANT_ADMIN restriction, the dialogue for granting ADMIN privileges will be hidden after this implementation. This action ensures that even if child users can create SECONDARY users, they cannot create ADMIN users.

Design doc: go/unicorn-hsum

Bug: 357819541
Test: manually verified the user is not allowed to create ADMIN user when DISALLOW_GRANT_ADMIN restriction is applied.
Flag: android.multiuser.unicorn_mode_refactoring_for_hsum_read_only
Change-Id: I4b40f83b50d4de0af103d4f5ca400e42345144e0
2024-08-06 13:53:46 +00:00
Ming-Shin Lu
55102216e1 Merge "Delete keyboard_category_enabled flag (2/2)" into main 2024-08-06 11:38:41 +00:00
Yiling Chuang
9e2bda0c87 Fix the charging string while charging wirelessly
Move the null check of the charging remaining time after the wireless charging check, so when the time to full is not available, there's still a chance to show the customized wireless charging state.

Fixes: 342046505
Test: atest SettingsRoboTests
Flag: EXEMPT bugfix
Change-Id: I8a6104c46222e9f27d488035a218856f51e30430
2024-08-06 10:56:07 +00:00
Angela Wang
3146a9a08a Merge "Fix LE Audio toggle missing issue for dual mode hearing device" into main 2024-08-06 09:31:28 +00:00
Nikhil Kumar
bf420bbe7c Merge "Restrict admin status change when DISALLOW_GRANT_ADMIN is present" into main 2024-08-06 09:21:11 +00:00
chelseahao
e7a1762ef3 [Audiosharing] When landscape mode, collapse app bar to make more space. Also refined fragments and make them scrollable.
Bug: b/356302527, b/356300387, b/356297148
Flag: com.android.settingslib.flags.enable_le_audio_qr_code_private_broadcast_sharing
Test: atest
Change-Id: I5d94f0d05afc78c13cab5b75ad662af72ffa0350
2024-08-06 09:09:11 +00:00
Chaohui Wang
d66e3de46d Merge "Settings search for W-Fi calling" into main 2024-08-06 08:32:18 +00:00
Chaohui Wang
8140e7f2b6 Merge "Speed up BasePreferenceController.updateNonIndexableKeys" into main 2024-08-06 03:13:17 +00:00
Daniel Norman
2a8c60ff6f Merge "Never restricts Accessibility Activities based on ECM/admin." into main 2024-08-05 22:59:40 +00:00
Treehugger Robot
6b6b9c10ff Merge "Restrict MobileDataSlice" into main 2024-08-05 21:25:59 +00:00
Weng Su
75a070f3f0 Restrict MobileDataSlice
- Hide MobileDataSlice if the user is not allowed to configure mobile networks.

Bug: 310630794
Flag: EXEMPT bugfix
Test: manual test
atest -c MobileDataSliceTest

Change-Id: I35814733a915f011e284b082ce7a94898ce8a6fb
2024-08-06 04:14:12 +08:00
Nikhil Kumar
01b7062b34 Restrict admin status change when DISALLOW_GRANT_ADMIN is present
This change addresses a security gap where users with the "DISALLOW_GRANT_ADMIN" restriction could still grant admin privileges to others, potentially undermining supervised user models.  We've extended the existing logic to ensure that restricted users cannot grant or receive admin privileges when the DISALLOW_GRANT_ADMIN restriction is in place. This prevents scenarios where supervised users could create new admins to bypass restrictions and factory reset the device.

In addition to the core functionality improvement, significant code refactoring has been done to untangle complex multiple if conditions. The logic for determining when admin status changes are allowed is now clearer and more readable, taking into account both the "current user" (initiating the change) and the "target user" (whose privileges are being modified).

Bug: 357056776
Test: atest UserDetailsSettingsTest and manually verified the user having DISALLOW_GRANT_ADMIN restriction is not allowed to change admin status of any other user.
Flag: android.multiuser.unicorn_mode_refactoring_for_hsum_read_only
Change-Id: If02c9355ee7ce285b5b7bcddae630d716d5bf333
2024-08-05 18:16:33 +00:00
Jason Chang
34adbf0bb5 Merge "Fix the option to set a different screen lock in the "Set a PIN" screen is displayed off the screen when the device language is set to Arabic" into main 2024-08-05 16:47:06 +00:00
Ming-Shin Lu
bc79a1e074 Delete keyboard_category_enabled flag (2/2)
As keyboard_category_enabled feature has launched, remove the feature
flag since it's unnessary.

And, this CL is the preparation of removing CATEGORY_KEYBOARD vibration
attribute and logic, remove the flag usage ing settings since no longer
need this flag.

Flag: EXEMPT flag removal
Bug: 332661766
Test: build
Test: atest KeyboardVibrationTogglePreferenceControllerTest
Change-Id: I19cecb977d52a74b26eea1f494052e0e852359c4
2024-08-05 14:06:24 +00:00
Joseph Vincent
7038ee8d24 Merge "Show different error screen for PS creation based on error" into main 2024-08-05 13:21:29 +00:00
Chaohui Wang
103e90636f Settings search for W-Fi calling
Fix: 299641035
Flag: EXEMPT bug fix
Test: manual - search wifi calling
Test: atest WifiCallingPreferenceControllerTest
Change-Id: I230531000d7fe01f3295cf2dd7ced698e5346a0b
2024-08-05 17:33:48 +08:00
Jason Chang
58bc2e3dca Fix the option to set a different screen lock in the "Set a PIN"
screen is displayed off the screen when the device language is set
to Arabic

To call optButton's MarginLayoutParams setMarginStart() instead of
set leftMargin.

Flag: EXEMPT bugfix

Bug: 355422248

Test: build Forrest ROM and verify the UI
Change-Id: I700b83937ecd8509864fa3c80826de0ba0437ca2
2024-08-05 08:55:10 +00:00
Angela Wang
711d0b269c Rename CachedBluetoothDevice.getConnectableProfiles()
The original method name implied that the returned profiles were guaranteed to be connectable. However, it actually filters profiles based on user can access the profile in the UI and initiate the connection. Change the method name to getUiAccessibleProfiles() aligns the name with the actual behavior.

Flag: EXEMPT simple renaming
Bug: 356530795
Test: m
Change-Id: Ib7d29a4bf9c213ddcecc567864583165ab97a099
2024-08-05 07:14:15 +00:00
Haijie Hong
094e040213 Merge "Remove duplicate "lifecycle.addObserver(this)"" into main 2024-08-05 06:58:35 +00:00
Chaohui Wang
e0f10543c5 Merge "Settings search for Roaming" into main 2024-08-05 06:54:41 +00:00
Angela Wang
4ad8e0c568 Update UI for Flash notifications
1. Hide the preview button when it's disabled
2. Change the text from “Done” to “Save” in the color selector dialog

Flag: EXEMPT simple UI change
Bug: 356978471
Test: manually, video attached on the bug
Test: atest FlashNotificationsPreviewPreferenceControllerTest
Change-Id: I2e6e697ad10f0207602d613085663cdd82521ea2
2024-08-05 06:46:50 +00:00
Yiyi Shen
b068edadf1 Merge "[Audiosharing] Returns BluetoothDevice when fetchConnectedDevicesByGroupId" into main 2024-08-05 06:11:47 +00:00
Haijie Hong
8e7b62c887 Remove duplicate "lifecycle.addObserver(this)"
It's already been added in superclass BluetoothDetailsController.

BUG: 343317785
FLAG: EXEMPT simple fix
Test: atest BluetoothDetailsProfilesControllerTest
Test: atest BluetoothDetailsPairOtherControllerTest
Change-Id: I7a9255cea5bb18b29562fa72898356c7a01cd31c
2024-08-05 13:38:00 +08:00
Chaohui Wang
b9db3c5395 Settings search for Roaming
Fix: 351740003
Flag: EXEMPT bug fix
Test: manual - search roaming
Change-Id: I260449bdea7dcaae6a2d44c6810cf2638c18d9a4
2024-08-05 12:58:51 +08:00
Chaohui Wang
45aa574b9b Merge "Show uncheck toggle when wep not supported" into main 2024-08-05 02:02:20 +00:00
Matías Hernández
7a1039fea4 Merge "Overhaul the message senders screen" into main 2024-08-02 12:43:31 +00:00
Matías Hernández
a4c99767b7 Overhaul the message senders screen
* Fix combinations of messages=all with other conversation values.
* Correctly display policies with CONVERSATION_SENDERS_ANYONE. An additional checkbox is included, but _only_ if the policy has CONVERSATION_SENDERS_ANYONE when shown.
* Changed updateState() to consider the possible cases one by one. Because multiple policies are mapped to the same checkbox states, the strategy of "checking whether the state matches what the checkbox wants to set" doesn't really work.
* Fix messages summary and circles to support CONVERSATION_SENDERS_ANYONE.
* Added a lot of tests (actually, hopefully ALL OF THEM) covering the user-visible behavior. :)

Fixes: 354658240
Test: atest ZenModesSummaryHelperTest ZenModePrioritySendersPreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: I727496ca3eb820e4baaab942b61d2e57cdb491fc
2024-08-02 12:36:44 +02:00
josephpv
af87233e1e Show different error screen for PS creation based on error
This contains the change to show a different fragment on private space
creation error based on the error code returned by UserManager.
On private space create error checks for the returned error code and if
PS is not supported on the device showns error screen containing a link to Help
Center atricle to find out more about the reason for profile creation
failure.

ACTION_PRIVATE_SPACE_SETUP_SPACE_ERRORS metric is logged with the error
code on create error else 0 on sucessful space creation.

Recording: b/340130375#comment17

Bug: 340130375
Test: Manual
Flag: android.multiuser.show_different_creation_error_for_unsupported_devices
Change-Id: Ifa0345fb6aad64599009f8aa79d168f57fd35c03
2024-08-02 10:03:12 +00:00
Angela Wang
a8297a313b Fix LE Audio toggle missing issue for dual mode hearing device
After the code change of ag/28283226, they hide the LE Audio toggle for
LE Audio only device since turning off the profile may cause this device
no functioning. But the dual mode hearing devices(LE Audio + Asha) are
wrongly recognized as LE Audio only devices since
HearingAidProfile.accessProfileEnabled() return false. This make the
users lost the ability to switch between profiles they preferred.

Make HearingAidProfile.accessProfileEnabled() return true and hide the
Hearing Aid toggle by default since it's also meaningless to turn off
the Asha profile for Asha-only devices.

Flag: com.android.settingslib.flags.asha_profile_access_profile_enabled_true
Bug: 356530795
Test: manual checking the UI
Test: atest BluetoothDetailsProfilesControllerTest
Change-Id: Ica350b4c16c1b07945399bfee1038f7b0824baed
2024-08-02 07:11:25 +00:00
Chaohui Wang
a7c152816d Speed up BasePreferenceController.updateNonIndexableKeys
By avoid unnecessary calls to getAvailabilityStatus(), which also avoid
unnecessary crash potential.
- When key already marked searchable="false" in xml, no need to check
  getAvailabilityStatus() again.
- When getAvailabilityStatus() return AVAILABLE, no need to call it
  again to check it not equals to AVAILABLE_UNSEARCHABLE.

Bug: 352455031
Flag: EXEMPT refactor
Test: redo search index - by changing locale
Change-Id: Ic0c43b9bcd5974907b3a7d4aba73d4c7203f8af4
2024-08-02 13:35:42 +08:00
Yiyi Shen
7edad1c84a [Audiosharing] Returns BluetoothDevice when fetchConnectedDevicesByGroupId
CachedBluetoothDevice can change its member variable mDevice, so we can
not rely on the CachedBluetoothDevice#getDevice when we add source to
it. This change will return BluetoothDevice instead of
CachedBluetoothDevice when fetchConnectedDevicesByGroupId, so that we
won't add source to unintended BluetoothDevice via
CachedBluetoothDevice#getDevice.

Fix: 350877510
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I4ee41b8f1449e7176f0a05a7dd4e59034c161824
2024-08-02 05:20:31 +00:00
Chaohui Wang
c311354d10 Show uncheck toggle when wep not supported
When wep not supported, wep is always not allowed, so we should show
unchecked toggle for "Allow WEP networks"

Bug: 356326814
Flag: EXEMPT bug fix
Test: manual - on Network preferences
Test: atest WepNetworksPreferenceControllerTest
Change-Id: I408434fbbf48e1010710ecf3bf9f7988e521b076
2024-08-02 11:43:20 +08:00
Treehugger Robot
b6e0cd99c1 Merge "Add whether app optimization mode mutable in BatteryUsageDiff proto." into main 2024-08-02 03:36:39 +00:00
mxyyiyi
59e5dc720a Add whether app optimization mode mutable in BatteryUsageDiff proto.
Bug: 350657779
Test: atest ConvertUtilsTest
Flag: EXEMPT bug fix
Change-Id: I80a5e6513e1bee88f85caeed7661b10204df8a51
2024-08-02 10:41:24 +08:00
Yuri Lin
cb824ccbd9 Resize & round corners on a placeholder interstitial image
This isn't a real image yet (just draws a diagonal gradient), but should now be roughly ready for inserting the correct drawables based on the mode whenever those are available.

Bug: 332730534
Test: manual, SetupInterstitialActivityTest
Flag: android.app.modes_ui
Change-Id: I45a78950f671a989258a85525a7a8ee0c445a332
2024-08-01 18:44:27 -04:00
Yuri Lin
65548c0e56 Add interstitial for modes that are disabled but not by user
This covers both the case of navigating to the mode page through the mode aggregator menu as well as if an app sends an intent to go to the mode.

The interstitial visuals are not done yet; in particular, the image is just a gray box for now.

Manual tests done:
- visually verifying the interstitial page in both portrait and landscape
- accessing the mode page from modes list, confirming interstitial pops up
- accessing enabled and disabled-by-user mode page from modes list (no interstitial)
- getting to the mode page from intent through an app
- accessing enabled and disabled-by-user mode pages from app intent (no interstitial)
- adjusted display and font size (it looks bad with max display & font size, maybe not much to be done)

Bug: 332730534
Test: manual, ZenModeFragmentTest, SetupInterstitialActivityTest
Flag: android.app.modes_ui
Change-Id: I21f13b0842d5b118a341f7d85e8fcac947ca3a06
2024-08-01 18:44:22 -04:00
Abdelrahman Awadalla
f2d6fe9e32 Add "Touchpad visualizer" to input developer options
Bug: 286551975
Bug: 350039816
Test: atest TouchpadVisualizerPreferenceControllerTest
Test: Manual testing using
      $ adb shell settings get system touchpad_visualizer
Flag: com.android.hardware.input.touchpad_visualizer

Change-Id: Ic5de704c49aabf1a80d202aa890055f7337d45d4
2024-08-01 13:34:32 +00:00
Chaohui Wang
09fb13fd1c Merge "Settings search for Vo5G" into main 2024-08-01 07:19:08 +00:00
Chelsea Hao
09f62d72d2 Merge changes Id0882547,I427e08a3 into main
* changes:
  [Audiosharing] Change text color.
  [Audiosharing] When user enters a bad code, apply error color on summary.
2024-08-01 05:50:04 +00:00
Tom Hsu
d26c804af1 Merge "[Settings]Check the Satellite modem state instead of enabled state only." into main 2024-08-01 05:27:06 +00:00