Commit Graph

82 Commits

Author SHA1 Message Date
Ido Ben-Hur
d071bfebf5 Settings: Move custom vib pattern to its own preference
Also improve the code while at it

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
2025-12-10 00:41:31 +09:00
Joey
f401bbc5ad Settings: Add a preference controller for Volume steps settings
* Enable volume steps pref by default
2025-12-10 00:41:31 +09:00
Ido Ben-Hur
f7df878d2f Settings: Allow customizing volume stream steps [2/2]
only media, calls and alarms seem fit
the rest are pretty much set and forget and don't need vol button granularity

Change-Id: I6ce6fa79df7b94ae84912945f6129048895067b2
2025-12-10 00:41:31 +09:00
beanstown106
58864d1c1e Settings: Incall vibration option [3/3]
* allow setting vibration when call is connected
* allow setting vibration when call is disconnected
* allow setting vibration for call waiting
* this works with google and aosp dialer :)

Adapted to PE

[arrow-13.0]:
- Move inside accessibility_vibration_settings
  as all the aosp vibration toggles are there

includes:
fixup! Settings: incall vibration options [3/3]

[ghostrider-reborn]
- Enable by default
- Add to the slider-based prefs page as well

Change-Id: I55e99f501a3af07287c57a23939666351f4cef67
Signed-off-by: Karan Parashar <whyredfire@gmail.com>
Signed-off-by: Adithya R <gh0strider.2k18.reborn@gmail.com>
Signed-off-by: someone5678 <someone5678@users.noreply.github.com>
2025-12-10 00:41:30 +09:00
Sunny Shao
f0fdae9df2 [Catalyst] Implement metrics/tags for Media page
NO_IFTTT=Catalyst only

Bug: 389133530
Bug: 389133114
Flag: com.android.settings.flags.catalyst_media_controls
Test: build pass
Change-Id: I36b148d88e85b465296a3e773c47917e4405ec53
2025-03-11 08:58:46 +00:00
Jacky Wang
84f84ca8c0 [Catalyst] Use KeyValueStoreDelegate
NO_IFTTT=Catalyst only

Bug: 388167106
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: I3d04e1bf2620fe7f910fe63f22c17da290e9172d
2025-03-11 09:39:28 +08:00
Michael Mikhail
aec68e2372 [catalyst] migrate media controls settings
Flag: com.android.settings.flags.catalyst_media_controls
Fixes: 337243570
Fixes: 389133530
Fixes: 389133114
Test: atest MediaControlsLockScreenSwitchPreferenceTest
Test: atest MediaControlsSwitchPreferenceTest
Change-Id: Ibe8fed064cd6223085764f5125cff45a9bea734d
2025-03-03 22:50:05 +00:00
Matías Hernández
7235474792 Inline MODES_API flag
Bug: 310620812
Test: Preexisting
Flag: EXEMPT Inlining flag
Change-Id: I54ad81d87ea4ce85940400b0e8680a1bac0ca342
2025-02-11 15:14:24 +01:00
Beth Thibodeau
a7e709c07c Remove MEDIA_CONTROLS_RECOMMENDATION setting toggle
Bug: 382680767
Flag: EXEMPT removing deprecated code
Test: build, check media settings page
Change-Id: I6beaafc7b33e4cb0b29c89cc07ce421c32bf4563
2025-01-16 09:14:00 -06:00
Wenyu Zhang
830654aa85 Use media switcher dialog to control routing during call
When input routing is enabled and in desktop devices, allow use media
switcher dialog to control routing during call.

Change-Id: Id2587a1d33783a02a84cdc5c850b0a9c7908f159
Bug: b/355684672, b/357123258
Test: atest MediaOutputPreferenceControllerTest
Flag: com.android.media.flags.enable_audio_input_device_routing_and_volume_control
2024-10-10 02:23:23 +00:00
Treehugger Robot
96f76c33a8 Merge "Update the list of Take call on" into main 2024-09-18 09:01:11 +00:00
Mill Chen
b1f70dc330 Update the list of Take call on
To make sure that all connected devices can be shown in the list of Take
call on setting, we add a listener for local bluetooth profile change
and update the list when the profile is connected.

Fixes: 352236362
Test: manual test
Flag: EXEMPT bugfix
Change-Id: I76476d4e6201b6c5c2726747410d225ff1ade9da
2024-09-12 07:59:53 +00:00
Matías Hernández
dd9b17b083 Remove "Do Not Disturb" from Sound summary in Settings top screen
Bug: 361140177
Test: manual
Flag: android.app.modes_ui
Change-Id: I11f808319bbcc2645e593f70003611f70a3fc930
2024-09-10 18:23:24 +02:00
Chris Antol
7ac80f0a0a Fix NPE in AudioSwitchPreferenceController
Change-Id: Ic97d1a6269a6d98ffd15a9b512f6ae24ff1c5b5e
Test: Unit Test to verify nullness
Bug: 338892614
2024-05-09 01:25:24 +00:00
Haijie Hong
c1a5a7c9b1 Disable media output switcher in Settings when audio sharing
Bug: 327080094
Test: atest MediaOutputPreferenceControllerTest
Change-Id: I1e81d507c5c92c2b6f21494551931b359d5043cb
2024-03-25 14:01:35 +08:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
Jasmine Cha
9e45469833 Show the output switcher when no media is playing
- Support output switcher for system routing.
- Add an new string to indicate the device that
  audio will output to.

Bug: 284227163
Test: device/host atest
 atest MediaOutputPreferenceControllerTest
 atest AudioOutputSwitchPreferenceControllerTest
 atest MediaOutputIndicatorSliceTest

Change-Id: I94bcf84e7e93b3e4f5db1d95d5380a54a3e0c460
Signed-off-by: Jasmine Cha <chajasmine@google.com>
2023-12-04 08:19:05 +00:00
changbetty
abc69c34de [LE Audio] Only add main device for LE Audio devices in Take call on
list

Bug: 254212589
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AudioOutputSwitchPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HandsFreeProfileOutputPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaOutputPreferenceControllerTest
Change-Id: I7831f12ca259aac3d60f4370ffc659a32fed3296
2022-10-24 06:52:03 +00:00
changbetty
1096417464 [LE Audio] Add LE Audio Devices in Sound Settings
- When connected to the LE Audio Device, it will display "Play XXX on
    LEAduioDeviceName" in Sound Settings.

  - When connected to the LE Audio Device, it will display the LE Audio
    device name in the "Take call on" list for you having a active call(Hands Free).

  - Remove the @Ignore annotation for all the tests and make test
    cases pass.

Bug: 240911615
Bug: 243494881
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AudioOutputSwitchPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HandsFreeProfileOutputPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaOutputPreferenceControllerTest
Change-Id: I10db59b33623495a9e9933556c78e20d81e405ea
2022-10-14 06:10:52 +00:00
Michael Mikhail
56e5b3da96 Add media on lock screen setting
Add a new setting that controls whether media on lock screen is enabled,
disregarding the notifications status. The new setting is available
under media and privacy settings.

Bug: 229915240
Test: atest MediaControlsLockScreenPreferenceControllerTest
Change-Id: I054f36efd635dc0535551d3058f9faf92196349d
2022-08-18 11:57:13 +00:00
William Escande
8ccfd6da23 Use allowed system value
Test: build
Change-Id: I84d87024423869515937ab87381be572fed0ba65
2022-01-29 00:39:02 +01:00
Lais Andrade
141b5bb3bc Update Settings to use intensity settings as main preference keys
Updating the Settings app to allow setting the value off for key
HAPTIC_FEEDBACK_INTENSITY. This setting state is also copied onto
HAPTIC_FEEDBACK_ENABLED setting, so both should be in sync after this
change.

Similar logic is applied between RING_VIBRATION_INTENSITY and
VIBRATE_WHEN_RINGING.

This will not disable the hardware feedback since that one is controlled
by a separate setting key now.

The "vibrate for calls" was also removed and the single toggle for
"vibrate first then ring gradually" was moved into the "Vibration &
haptics" page.

Bug: 185351540
Test: [HapticFeedback|NotificationVibration|RingVibration][Intensity|Toggle]PreferenceControllerTest
      and manual testing of the AOSP settings app
Change-Id: I9c94cef331a1500a1272a601ba32667ca995ddab
2022-01-12 22:59:29 +00:00
Lais Andrade
24b2d9e5a1 Move APPLY_RAMPING_RINGER from Global to System
This configuration should be user-scoped.

Bug: 184165158
Test: AccessibilitySettingsTest
      RingVibrationPreferenceFragmentTest
      VibrateForCallsPreferenceControllerTest
      VibrateForCallsPreferenceFragmentTest
Change-Id: I7b8684fb1cf03d41872a700fd8732c76422e37c3
2021-11-23 14:51:55 +00:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08:00
Beth Thibodeau
b7993699ba Add recommendation setting and remove app settings
- Add a new setting to control whether smartspace recommendations are
enabled
- Remove setting to block individual apps from resumption
- Update strings for existing resume setting

Bug: 187925818
Test: atest SettingsProviderTest
Test: atest MediaControlsRecommendationControllerTest
Test: atest MediaControlsPreferenceControllerTest
Change-Id: I4bd6a420e01e8c44f4db8be477557501648cc8d7
2021-05-26 11:00:25 -04:00
Edgar Wang
da4d4b2e3b Update apps icon in Sound > Media page to correct size.
- MediaSwitchPreference should inherit AppSwitchPreference

Fix: 186609222
Test: visual
Change-Id: I18a8c42a9eab9601acc792117928a121a3c4b436
2021-05-04 00:08:59 +08:00
Beth Thibodeau
643eb42323 Update style of main media setting toggle
Bug: 183347608
Test: visual
Test: atest MediaControlsPreferenceControllerTest
Change-Id: I0a882b769af93914ff01e428f9c07d3ab22cc36a
2021-03-31 12:12:27 -04:00
timhypeng
a7a73c4c92 Rename MediaOutputSliceConstants to MediaOutputConstants
-Slice is not used and it is better to remove the slice string

Bug: 165772904
Test: build pass
Change-Id: I38b26187f03509d0d9f5cdb8ef30f3f3ef8779d8
2020-12-24 01:07:24 +00:00
timhypeng
deb93069c3 Remove MediaOutputPanel and MediaOutputSlice
Bug: 174192979
Test: build pass
Change-Id: Ibbbb9e7865ae991d13cd7a2d4fb9c5c75a689dea
2020-12-17 13:37:39 +08:00
Hugh Chen
e16a8077b5 Fix output switcher will show 2 media session when remote playing
Before this CL, output switcher will show 2 media sessions when
some apps are remote playing. The root cause is some apps will
also create local media sessions when they cast media to remote
playing.

This CL add condition to only show remote sessions on output switcher
if apps both have remote and local sessions.

Bug: 169052790
Test: make -j42 RunSettingsRoboTests
Change-Id: I80479d35b2bb2e353cf41f41f457f2dfd15cadbf
2020-10-14 17:58:47 +08:00
timhypeng
eee759ea29 Update rule of launching media output dialog
-Do not hide Media Output Dialog in Settings, and let dialog handles
-Hide Media output slice panel when launching dialog

Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Change-Id: I16732f625f100b259d6e53c85db40af0ec1652c5
2020-10-08 16:29:28 +08:00
timhypeng
3084d063f3 Update OutputSwitcher from MediaOutputSlice to MediaOutputDialog in Settings
-Update entry point at media indicator in volume panel
-Update entry point at remote media slice in volume panel
-Update entry point at remote volume group in Sound Settings
-Update entry point at media output preference in Sound Settings
-Hide Media output dialog when the caller is not active

Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib6c86067522925c439f336644e4d027dbae3379c
2020-10-08 16:18:43 +08:00
Beth Thibodeau
f01cce88fc Allow user to block individual apps from resuming
This adds a new section to the media controls settings screen with a
list of apps that could potentially be used for resumption. If an app is
toggled off it will be added to a list of apps which will not persist in
QS, even when resumption is on.

Also updated the strings on this setting page to match UX
recommendation, so the default toggle state is now on.

Bug: 161813143
Bug: 159852516
Test: manual
Test: atest SettingsProviderTests
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER="ResumableMedia"
Change-Id: Id3de52419ffba233469396dd47439428201e5e00
2020-08-13 09:46:27 -04:00
Lucas Dupin
42219fb395 Delete media feature flag
The feature will always be available, even for users who disabled it
on Beta 1.

Bug: 160826507
Test: manual
Test: MediaControlsParentPreferenceControllerTest
Test: MediaControlsPreferenceControllerTest
Change-Id: Ia2835e7c8156d753a8f8fbf248f2509003309fd2
2020-07-09 11:57:27 -07:00
Beth Thibodeau
13f3e8f04b [DO NOT MERGE] Add toggle for media resumption
Adds a toggle under Settings > Sound > Media to toggle media resumption

Bug: 154039093
Test: manual
Test: atest SettingsProviderTest
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER="MediaControls"

Change-Id: I803c57031bc3252cab35c06ea124d1c22a3c3aeb
2020-06-18 23:58:34 +00:00
Tim Peng
f392eae213 Update "Play media to" in Sound Settings
-Change string to "Play <APP Label> on"
-Hide it when there is no local playback
-Disable search index
-Add test cases

Bug: 155720628
Test: make -j50 RunSettingsRoboTests
Change-Id: Id104d5b49c069a761e4cf82385bf1225d494c95e
2020-05-08 12:15:11 +08:00
Tim Peng
9d3092cb7f Add zero state in output switcher
-Update visibility of switcher preference in SoundSetting
-Update visibility of indicator slice in Volume Panel
-Add test case

Bug: 152357002
Test: make -j50 RunSettingsRoboTests
Change-Id: I8aa4e960b72f2c3c26ced78153c4ff620a123f40
2020-03-27 12:31:26 +00:00
Rahul Sabnis
5bce75f0fb Verify BluetoothDevice is not null before calling BluetoothHearingAid
System APIs

Bug: 149238489
Test: Manual
Change-Id: Ic6de2ccd81dc66ce79afcd91f18e92e959c8b12b
2020-03-24 18:03:13 -07:00
Yiwen Chen
4b4c6c2c7b Implement new vibrate for calls in Settings.
Test: built and tested on device
Change-Id: Ia6ca7eb54472d44a9934d7f125a9f71e42c616a3
2020-02-03 13:32:58 -08:00
Rahul Sabnis
c96469f2bd Refactor usages of getAliasName to use getAlias in Settings
Bug: 142352567
Test: Manual
Change-Id: I40af1b1e0453900fd888317ae46b20ef359db473
2019-10-22 15:34:40 -07:00
Tim Peng
7b0f887000 Update "Play media to" display rule in SoundSetting
- show under Casting mode
- hide under no connected Bluetooth devices
- update test case

Bug: 131143025
Test: make -j42 RunSettingsRoboTests
Change-Id: I0eac856970043ecd9a1975fbe382241078ece924
2019-04-24 04:23:44 +00:00
timhypeng
abdf739071 Sound + Output Switcher on Sound Setting
1. Show "play media to" item when Previously Connected device is available
2. Click "Play media to" to launch output slice
3. Update test case

Bug: 126475101
Test: make -j50 RunSettingsRoboTests
Change-Id: Id8afd1a2407acb78c11e81d2420ae8c16130a321
2019-03-12 03:07:36 +00:00
wengsu
e205be9bd0 Clean up updateState()
1. It's to set preference always even no available Bluetooth device.
  2. Remove redundant code in if (numDevices == 0) {...} condition.

Bug: 123000252
Test: make -j56 RunSettingsRoboTests ROBOTEST_FILTER=MediaOutputPreferenceControllerTest
Change-Id: I9061428375f6097fde60498bf19eae2edafa5959
2019-01-19 18:01:20 +08:00
jackqdyulei
1bf730093c Fix incorrect API invoke for BT profiles
When hearing aid device has been set active, we shouldn't invoke
1. a2dpProfile.setActiveDevice()
2. hfpProfile.setActiveDevice()

Change-Id: Ie13dea041dd98d0cb9d913e1f28574b300095db9
Fixes: 113625278
Test: RunSettingsRoboTests
2018-09-18 15:19:32 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
hughchen
de6d3202e1 Remove the function that not used in BluetoothCallback
Bug: 111811266
Test: Build pass
Change-Id: Ib33ec31607931f5e67d5119cf9b0cb6b894794a0
2018-08-06 17:53:08 +08:00
hughchen
244c7586f9 Use corresponding profile to get active bluetooth device
- Do not use streamType to decide which active device should return.
  Base on b/80453878 comment#6, the steamType intent will only be sent
  if an action is made on stream volume or a media route is changed:
  For instance when a call to setStreamVolume() or getDeviceForStream() is made.
  It is not broadcast on actual routing changes.
  It should not be used as an indicator that the route changed during a call.
  There is no callback API and the only option is polling with getDeviceForStream().
- Use corresponding profile to get active bluetooth device
  instead of streamType
- Add test to verify the result of findActiveDevice()
  eg:
  1. A2dp device active, hearing aid device not active : return a2dp device
  2. A2dp device not active, hearing aid device not active : return null
  3. hfp device active, hearing aid device not active : return hfp device
  4. hfp device not active, hearing aid device not active : return null

Bug: 80453878
Test: make -j42 RunSettingsRoboTests
Change-Id: I5bd94899a5d508e60ce911da9689b727ad1fc20c
2018-07-13 09:11:04 +00:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00