Commit Graph

108 Commits

Author SHA1 Message Date
Behnam Heydarshahi
f07e023302 Remove volume_separate_notification flag
Fully enable the feature

Bug: b/255363741, b/38477228

Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="NotificationVolumePreferenceControllerTest|SeparateRingVolumePreferenceControllerTest|RingerModeAffectedPreferenceControllerTest|SoundSettingsTest" RunSettingsRoboTests -j40
Change-Id: Iec490fc254f71b6461dbf9f9beb4a11645a4a497
2023-05-15 21:19:26 +00:00
Behnam Heydarshahi
d9c3cf855f Muting ring volume slider disables notification
With volume_separate_notification flag enbaled, muting ring volume
slice will cause notification volume slice to gray out.

There used to be a bug in which notification slice would not get
updated in response to a change in ring volume mute/unmute broadcast.
The resulting erroneous behavior was notification slider would get to
zero but not get grayed out. To fix that bug, VolumeSliceHelper listens
to ring stream mute/unmute broadcasts and forwards them to notification
slice.

Bug: b/266072907
Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER="NotificationVolumePreferenceControllerTest|VolumeSliceHelperTest" RunSettingsRoboTests -j40

Change-Id: I2ab51f1272bf99a0c3d9ca285354052d00910c90
2023-02-15 15:43:08 +00:00
Behnam Heydarshahi
4f87dd4b56 Implement a separate controller for ring volume
When ring volume is separated from notification, a new xml preferece and
controller is needed for it, so that the settings search can show/hide
the slice correctly.

1. Use a separate preference and controller for ring volume (vs ring &
notification combined)
2. Notification slice in settings no longer grays out when ringer mode
is set to mute or vibrate.
3. Introduce an abstract RingerModeAffected preference controller class
to factor out duplicate code among ring, notification, and separate-ring
controller classes.

Bug: b/259084354

Test:   make ROBOTEST_FILTER=RingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=SeparateRingVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=NotificationVolumePreferenceControllerTest
RunSettingsRoboTests -j40
        make ROBOTEST_FILTER=VolumePanelTest RunSettingsRoboTests -j40
	make
ROBOTEST_FILTER=RingerModeAffectedVolumePreferenceControllerTest -j40

Known Issue:
1. When streams are separate and ring volume set to mute/vibrate,
notification is set to zero, but not disabled. So it can be turned on
by user (and in settings the icon will stay mute/vibrate instead of
changing to the normal notification icon).

2. In the above scenario after notification is unmuted in settings,
the notification icon continues to stay vibrate/mute -- should change
to the normal notification icon.

Note: This feature is controlled using a boolean DeviceConfig flag:
systemui/"volume_separate_ring". The default value is 'false', which is
meant to keep the experience the same as before. It will be set to
'true' for teamfood and dogfood. Eventually the flag will be removed and
the code in the 'true' branch will prevail.


Change-Id: Ibec871eafeef4081e96c5e0dd04535565d50a077
2022-12-28 22:33:50 +00:00
Behnam Heydarshahi
3ac6aaf796 Add notification volume controller in settings
Separate notification and ring controllers based on the ring/volume
stream alias boolean in config.xml.

For both ring and volume controller: Not show vibrate icon when vibration is not supported on device. Show
silent icon instead.

Known issue: Add the notification volume slider only in Settings, and
not in VolumePanelDialog. When the alias is set to false and the streams
separated, the ring volume slider in VolumePanelDialog keeps its title
of "Ring & notification volume" instead of changing to "Ring volume".

Bug: b/38477228

Test: make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER=NotificationVolumePreferenceControllerTest RunSettingsRoboTests -j40
      make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER=RingVolumePreferenceControllerTest RunSettingsRoboTests -j40
      make DEBUG_ROBOLECTRIC=1 ROBOTEST_FILTER=SoundSettingsTest RunSettingsRoboTests

Change-Id: Id17523f49b291a5cf612b90f93c3b2ab6486c62f
2022-10-10 14:42:56 +00:00
Alan Huang
616b0925ac DO NOT MERGE Add setting page for the Spatial audio
The Spatial audio settings page control the state for the phone speaker
and the wired headphones

Test: make RunSettingsRoboTests

Bug: 220811398
Change-Id: I49e3fab48186d09357a8481652bdccb4aa5d044a
2022-03-20 15:55:53 +00:00
Evan Laird
4871b2cf6a Add setting for showing the vibrate icon in status bar
Test: manual
Bug: 220144337
Change-Id: I2d389d71dd9402353b058039464495a1d33ef0e9
2022-02-23 15:42:57 +00:00
Lais Andrade
fe2ed12d26 Move vibrate for calls setting to "Vibration & haptics" screen
Move setting to configure "Vibrate for calls" into "Vibraiton & haptics"
screen. Also make this page accessible via both Accessibility and
"Sound & vibration" settings pages.

Bug: 185351540
Test: SoundSettingsTest
      manually using the settings app and checking updates
Change-Id: I7e40af3f332fdff8afd1a31d54a676f7e13a6678
2021-12-06 17:23:56 +00:00
TreeHugger Robot
58edb69d46 Merge "Add the Spatial audio toggle in SoundSettings" into sc-v2-dev am: a448a917eb am: edc5e940ef
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15884455

Change-Id: Iedbf25f530937ae35e7b772873df994036c1d237
2021-09-23 06:55:21 +00:00
Alan Huang
e303658f0d Add the Spatial audio toggle in SoundSettings
The Spatial audio toggle will be showed only on supported devices

Test: robotest, manual checked the UI, but not the actual functionality due to
doesn't have supported device in hand

Bug: 191870827
Change-Id: I7db264902b03fddb7808676d8cb98cbe045deda1
2021-09-23 04:45:46 +00:00
Wilson Wu
9edf79741d Update settings PrimarySwitchPreference reference
To make InputMethodPreference support 2 target
reference, CL[1] move the PrimarySwitchPreference
into SettingsLib.

Change all PrimarySwitchPreference reference to
Settingslib one and remove the original one.

[1]: Idea3935d95b8d22b00ca89313e9eb3e979e4aa74

Bug: 197705032
Test: Presubmit
Change-Id: I95d111522344bb7cbdd380382e48fe60a5ebc9a2
2021-09-02 13:10:19 +08:00
Yanting Yang
beb14dbfbc Remove silky flag from Sound for official release
Remove the silky condition and clean up redundant files.

Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: Ica8217b3921235c9e79cf8f8b531637180552f3b
2021-05-25 06:05:00 +08:00
Yi-Ling Chuang
b058221b62 Add inline toggle for Prevent Ringing gesture.
- Fork sound_settings_v2 for dev.
- Replace Preference with PrimarySwitchPreference for the Prevent
Ringing entry.
- When the toggle is on, only show the status text without the on/off
info.
- Remove unused codes.

Bug: 174964721
Test: robotests
Change-Id: I990f5c778436c8058d4a5953c7f15a9a7eb580d8
2021-01-12 12:48:41 +08:00
Beth Thibodeau
59cbd11c04 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-20 00:12:23 +00:00
Tsung-Mao Fang
6b73e0fc97 Add keywords for a few settings
Test: Rebuilt apk, and see the results in settings search.
Fix: 157978733
Change-Id: Ib02adf8b3fd11b619246a2bd050801b9fa5ec7d3
2020-06-04 17:16:23 +08: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
Yanting Yang
855f704eca Merge "Remove index for Take call on of Sound page" into rvc-dev 2020-04-30 12:30:53 +00:00
Sunny Shao
502a5eb1c5 Fix the preference index conflict problem
Bug: 153888035
Test: manual test
Change-Id: I6c67d2fea752487ceb5fa05c6537df980a0f8d6a
2020-04-29 11:53:55 +00:00
Yanting Yang
df5aaec663 Remove index for Take call on of Sound page
"Take call on" is only visible when there are multiple media devices
connected and phone call is incoming or answering. In general, this
preference is hard to see for users.

In reality, users usually change the phone call output on Phone app,
it's a rare case that user will go to Settings to search "Take call on"
to change the phone call output when they are answering call.

Intend to remove its index from Settings Search first since it's almost
invisible on Sound page. Users will confuse that why Sound page doesn't
show the corresponding preference when they found the "Take call on" and
tapped on it from Settings Search.

Fixes: 140392320
Test: visual and robotests
Change-Id: I87ec4fda2a3d8625c8f09beeffe348a302187d6d
2020-04-29 17:14:35 +08:00
Jason Chiu
26343b82ee Add metric logs for special cases in Display and Battery page
Bug: 137559984
Test: robotest
Change-Id: I60f6237ac2c533306879f46ee4c25d54002cf0e9
2020-03-26 11:31:39 +08:00
tim peng
b27db300eb Merge "Replace preference with remote media preference group in xml" 2020-02-18 00:57:30 +00:00
Edgar Wang
77de405a5d Make TopLevelSettings un-searchable and direct result to relevant page.
Fixes: 149372187
Test: manual & robotest
Change-Id: I9daca03d1c11a262f8e3b55bb46aabbc035ece96
2020-02-14 17:58:38 +08:00
timhypeng
716777d3ad Replace preference with remote media preference group in xml
-remove previous preference controller and its test cases
-update sound setting test case

Bug: 147395289
Test: make -j42 RunSettingsRoboTests
Change-Id: I9e383e11370a13868fdbcb76eafef5aedad895c5
2020-02-12 04:57:18 +00:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.

Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
2020-02-06 19:07:11 +08: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
Julia Reynolds
aceccce75c Reorganize notification Settings classes
The notification package was getting too big.

Test: make -j64 RunSettingsRoboTests
Fixes: 145224451
Change-Id: I25ba82f42f7a137d8adcce72dcf8089d0e018bdc
2019-11-27 10:02:13 -05:00
Fan Zhang
7df6445c3e Clean up DND slice in search.
- Remove the controller in SoundSettings, just use the common one.
- Update a bunch of IDs so ZenModeSliceBuilder maps to the toggle
  button in zen_mode_settings.xml

This is needed so the slice intent (left target when shown in search)
is the same as what we index from search side. Previously the search
indexer is finding zen_mode from sound page but the slice itself is
reporting a deep link into zenModeSettings page.

Fixes: 130437726
Test: robotest

Change-Id: Ic41d2d93afa1f748e3282e23010199a0fa078645
2019-04-12 16:11:31 -07:00
Stanley Wang
bae490bc85 DND should be displayed on search as slice.
Add ZenModeSoundSettingsPreferenceController extends ZenModePreferenceController,
and update availability status to AVAILABLE.

This is cherry-picked from ag/6897872

Change-Id: I8dcb6808cc21c4f5c06548a363c998e369646487
Bug: 129320642
Test: manual & robotests
2019-04-05 02:53:04 +00:00
Fan Zhang
b1b07e2030 Convert xml based API allowDynamicSummaryInSlice to java
- Add boolean useDynamicSliceSummary() in Sliceable interface. This is
  the switch equivalent to android:allowDynamicSummaryInSlice in xml. It
  moves the setter closer to regular Sliceable APIs, thus less easily to
  miss.
- Coverted all android:allowDynamicSummaryInSlice to use the java API.
  - Except 2 prefs in my_device_info. They incorrectly set this to true
  previously (controller is not sliceable, no point setting
  dynamicSliceSummary to true. They just won't do anything)

Fixes: 128446156
Test: robolectric
Change-Id: Ic57acd590dec3e87dcf4592df137321d14b854d9
2019-04-01 12:39:30 -07:00
Fan Zhang
bb679d4817 Update search keywords for some pages.
Fixes: 129016511
Test: reindex
Change-Id: I73f7094168b00ecd92958c1760fde0dbd634bef9
2019-03-26 09:57:37 -07: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
jackqdyulei
f25c9b0efc Add remote volume slider to sound settings
1. Add RemoteVolumePreferenceController to control volume through
MediaSessions.
2. Add related preference to skip calling AudioManager.

Bug: 126199571
Test: RunSettingsRoboTests
Change-Id: I9cb85ccf5f49be6d127cb61caf445b2ee7dfb579
2019-02-28 10:50:05 -08:00
Matthew Fritze
c999b088d2 Add Volume panel
Volume panel hosts each volume stream, including:
- Media volume
- Call Volume
- Ring volume
- Alarm volume

Change-Id: I1801d10d2304c57615e9499386c638c74ffcd7c3
Screenshot: https://screenshot.googleplex.com/m764j65ECto
Bug: 117804161
Test: Manual app
Test: robolectric
2018-12-03 11:26:58 -08:00
Fan Zhang
44931d1e96 Properly suppress zen mode entry from soundsetting page.
Change-Id: If2c033232b05753f3ba52bb986dd6c85cab6e452
Fixes: 72748524
Test: robotests
2018-06-05 15:10:45 -07:00
Fan Zhang
752350c8d8 Suppress prevent ringer gesture parent page in search.
The full page verion of prevent ringing is still searchable.

- Created a new controller for parent entry.
- On the child controller, inherit the same getAvailabilityStatus() but
  override AVILABLE_UNSEARCHABLE to AVAILABLE so it becomes searchable.

Fixes: 72748524
Test: existing robotests for PreventRingingPreferenceController

Change-Id: Id2454db110c81b59fa4a98338602b03de0812f8a
2018-06-05 15:10:45 -07:00
Antony Sargent
97e418f45c Merge "Update sound settings icons" into pi-dev am: 2e0709b3b8
am: 75ffd61ee3

Change-Id: I60c903d44a89e09eadd469d67d6351efcb2b9721
2018-05-24 23:50:12 -07:00
Antony Sargent
75ae43b5cc Update sound settings icons
In several places we were referencing private icons from
frameworks/base/core instead of versions we already had in
settings. Also add in a "media stream off" icon to match the one we
already had for "media stream on".

Bug: 77982107
Test: manual (Settings->Sound, then use hardware controls to modify
media and ring volumes)

Change-Id: I3a1d808b3028bb4f2feae4536194dc58c3177a66
2018-05-23 15:44:53 -07:00
Beverly
7e99c0d595 Merge "Get rid of divider above ringtone selector" into pi-dev am: 24bbc4bfe1
am: 976c1d9dd3

Change-Id: If38b79abb72a10cc7f42c5b8e8359682c3a0dc1d
2018-05-17 07:00:36 -07:00
TreeHugger Robot
24bbc4bfe1 Merge "Get rid of divider above ringtone selector" into pi-dev 2018-05-17 13:34:34 +00:00
TreeHugger Robot
a0f9241400 Merge "Support Vibrate for calls in Settings Slices" into pi-dev 2018-05-16 18:48:14 +00:00
Beverly
3f42a23816 Get rid of divider above ringtone selector
Change-Id: I939d1ab061fb55853fbc0505b8d9025715b9df97
Fixes: 79480349
Test: manual
2018-05-16 14:28:15 -04:00
Fan Zhang
7d6539d09b Merge "Support Vibrate for calls in Settings Slices" 2018-05-16 17:22:29 +00:00
joeshih
a025eb2b35 Support Vibrate for calls in Settings Slices
Use TogglePreferenceController instead of AbstractPreferenceController
for VibrateWhenRingPreferenceControllr

Bug:74915140
Test: make RunSettingsRoboTests
Change-Id: Ib06126324516826411a7d50a2bd8a790bfd477c7
Merged-In: I501a1470da7dc1ff582c2a90b5235b25036caefc
2018-05-16 11:36:45 +08:00
joeshih
5d772136e1 Support Vibrate for calls in Settings Slices
Use TogglePreferenceController instead of AbstractPreferenceController
for VibrateWhenRingPreferenceControllr

Bug:74915140
Test: make RunSettingsRoboTests
Change-Id: I501a1470da7dc1ff582c2a90b5235b25036caefc
2018-05-15 12:03:35 +08:00
Beverly
07724bdb18 Gets rid of dividers in sound settings
Change-Id: I71a5e37a48cb6366a161ccc6cf456960f1491eec
Fixes:79480349
Test: visual inspection (Settings > Sound)
2018-05-14 17:13:43 -04:00
ryanywlin
156fd91fbd Add call volume in sound settings
* Add call volume slider
* move "Take call" controller from "Ring volume" to "Call volume"

Bug: 77254162
Test: make -j50 RunSettingsRoboTests

Change-Id: I3443021c1557f42293e9b7772fe9072e5a966cf8
2018-05-11 17:56:16 +08:00
android-build-team Robot
8e55299f98 Merge "Revert "Get rid of charging sounds toggle"" into pi-dev 2018-04-30 21:08:51 +00:00
Beverly Tai
6761acdd33 Revert "Get rid of charging sounds toggle"
Bug: 77912907
This reverts commit fbe721b1b3.

Reason for revert: negative dogfood feedback

Change-Id: I8485a379eafee0a4fcd599e9b1c47aee7dd3c6ad
2018-04-30 20:01:40 +00:00
Katsiaryna Naliuka
79019e474d Increase number of lines before the fold to make sure Now Playing is visible.
Change-Id: Ic9a891f6b44f2b5e057b35f4dca6f2063231449f
Fixes: 64065365
Test: flashed locally built image and tested manually.
2018-04-18 20:03:10 +02:00
TreeHugger Robot
adec029f70 Merge "Get rid of charging sounds toggle" into pi-dev 2018-04-17 19:13:11 +00:00
Beverly
fbe721b1b3 Get rid of charging sounds toggle
Users can no longer toggle on/off the charging sound.

Test: manual
Bug: 77912907
Change-Id: Ie050acab3972cb1fa6716c70afb6403db4d9c887
2018-04-16 12:35:59 -04:00