Commit Graph

94 Commits

Author SHA1 Message Date
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
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
Jonathan Scott
269f97d960 Allow overriding of strings referenced in XML files.
Test: manual
Bug: 188414370
Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
2022-02-07 21:00:05 +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
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
Yanting Yang
e14a3a3022 Make work profile sounds section as its own entry
Also rephrase the strings by request.

Bug: 174964721
Test: manual
Change-Id: I760249cd48832f2739ab7ca33706cd11dd34a6b5
2021-03-30 22:37:01 +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
Hugh Chen
432d0737e0 Stop the ringtone when other seek bar is adjust
- Stop the ringtone when other seek bar is adjust.
- Add test to verify when onStartTrackingTouch() is called,
  will call stopSample().

Bug: 80194851
Test: make -j42 RunSettingsRoboTests
Change-Id: I2300f0f56340c3698f62cc911bda7b7a94d23a7a
2020-08-26 14:49:06 +08:00
tim peng
9a924b03ca Merge "Settings > Sound crashes if no BT" into rvc-dev am: 0b60b3cc9f am: 20f3e0bf29
Change-Id: I45eda56fcfbd1aba23bc8068ad3a5f0bf511e379
2020-05-08 02:34:03 +00:00
Tim Peng
7fcfac49cf Settings > Sound crashes if no BT
-Replace androidx.lifecycle.LifecycleObserver with com.android.settingslib.core.lifecycle.LifecycleObserver
-Observer is added in DashboardFragment

Bug: 155195625
Test: make -j50 RunSettingsRoboTests
Change-Id: I99c587e4227e81ba521782f92b159051a1cba2d2
2020-05-07 07:06:36 +00:00
Vince Leung
7d6c329746 Use super method for Vibration preferences
onDisplayPreferenceDialog is overriden to handle BT related preferences
but VibrationPreferences require the super method of
onDisplayPreferenceDialog. Therefore if VibrationPreferences wants to
display a dialog, use the super method instead of the overriden method.

Bug: 150661723
Change-Id: I3f8e86e1d1f32fa6eae2798d3bad3cb48402db7b
Merged-In: I3f8e86e1d1f32fa6eae2798d3bad3cb48402db7b
(cherry picked from commit eb27aefa32)
2020-04-09 23:01:40 +00: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
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
Tsung-Mao Fang
14c80f8151 Move UpdatableListPreferenceDialogFragment to SettingsLib
Change-Id: Ide669e1f35715fc45b5e7fe4b0852860812d392c
Fix: 79459635
Test: robo test
2019-11-19 18:16:47 +08:00
Raff Tsai
1f30b1cd67 Merge similar BaseSearchIndexProvider code together
Bug: 135053028
Test: robolectric, check search_index.db contains the same items
Change-Id: If3c18a170b0e671690df1fdf26e59a421d2c48cd
2019-09-12 11:09:09 +08: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
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08: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
Fan Zhang
af32e726e6 Allow activity to delegate onActivityResult to fragments
Change-Id: Iac388f1726269239313d666f3123f28348e0c90a
Fixes: 111531567
Test: rototests
2018-07-17 10:59:02 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
This patch focused on fixing compile errors and some runtime errors.

Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
2018-07-11 18:24:51 -07: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
7d6539d09b Merge "Support Vibrate for calls in Settings Slices" 2018-05-16 17:22:29 +00:00
hughchen
acb6e89c52 Update DialogFragment UI when BT device is add/remove/rename
* For fix the "Automatic merge failed" in pi-dev, cherry pick the ag/3937781 in
  master. Change android.support.* to androidx.*
* Add AudioSwitchCallback() in AudioSwitchPreferenceController.
  This callback is used to notify SoudSettings to update the dialogFragment UI.
* Add UpdatableListPreferenceDialogFragment that updates the available
  options when dialog is shown
* Add test to verify the adapter count when
  onListPreferenceUpdated() is called.

Bug: 77783217
Test: make -j50 RunSettingsRoboTests
Change-Id: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
2018-05-16 22:13:24 +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
Ryan Lin
18aa25ea47 Merge "Add call volume in sound settings" into pi-dev am: b46389a588
am: 71b333f162

Change-Id: If69203fa5c4158f609484e6c3bbc0ca5bd6e0f58
2018-05-11 15:44:53 -07: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
bf9c07cb59 Merge "Revert "Get rid of charging sounds toggle"" into pi-dev am: 8e55299f98
am: 72cedc72a4

Change-Id: Ib15d341f90072be2fbe3d6b5cb1bfd9c4fcbb938
2018-04-30 14:29:58 -07: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
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Beverly
b74e635270 Merge "Get rid of charging sounds toggle" into pi-dev am: adec029f70
am: cbc6bd837d

Change-Id: Icbbcc62572671aab98a97fb7f28cd4a72a6875ba
2018-04-17 13:59:34 -07:00
TreeHugger Robot
adec029f70 Merge "Get rid of charging sounds toggle" into pi-dev 2018-04-17 19:13:11 +00:00
Julia Reynolds
7d5f0bb018 Merge "Show suppression msg under ringer slider" into pi-dev am: 68f331d452
am: 1351e761c8

Change-Id: I71b7a1ce25f3754ef2041419f2ddde33d48fa7e7
2018-04-17 11:22:04 -07:00
Julia Reynolds
0ddba4c119 Show suppression msg under ringer slider
Instead of replacing the rigner slider, because the stream
isn't actually muted.

Change-Id: Id2c60d6c570084ed8febcaeb3b096a487f572312
Fixes: 77641315
Test: robotests
2018-04-17 10:46:47 -04: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
Julia Reynolds
61478b7049 Merge "Make volume sliders sliceable" into pi-dev am: 4ef7b5f97b
am: 3fa5b4fad4

Change-Id: Idcbc7acf0343ff74f198ea960b8e6ca3d2e16a20
2018-04-06 15:09:22 -07:00
Julia Reynolds
4ef7b5f97b Merge "Make volume sliders sliceable" into pi-dev 2018-04-06 20:48:31 +00:00
Julia Reynolds
560637970f Make volume sliders sliceable
Test: make -j RunSettingsRoboTests
Change-Id: I8495770792dfdada54174ca61937f336e4fc219c
Fixes: 67997207
2018-04-05 14:47:44 -04:00
Doris Ling
a658391502 Merge "Fix issue in ring volume sample not always being played." into pi-dev am: 1b899f2a0a
am: 284d10d112

Change-Id: I52f03ddd0686125263bc0c5e59bcc2355b7cca72
2018-04-05 11:16:42 -07:00
Doris Ling
de08eaf437 Fix issue in ring volume sample not always being played.
- when we adjust the sound volme in Sound settings, we only re-post the
stop sample message when we receive the onSampleStarting callback.
However, if we change the volume while a sample is still playing,
onSampleStarting will not be called as it's already started. This
results in shortened sample duration, which in extreme case, the new
sample will not be played at all if the new volume change is made almost
towards the end of the previous sample period. So, everytime user change
the volume, we should re-post the stop sample message, so that the
sample playing duration would be extended properly.

- also removed the original calls to the onStreamValueChanged() during
init, as the original implementation is empty, and during init, we do
not need any handling to start/stop the sample.

Change-Id: I9f35ddfb6d809eeb83b1a732a09362286ff6ed77
Fixes: 77514234
Test: make RunSettingsRoboTests
2018-04-04 17:35:41 -07:00
Tony Mantler
0fcd6cbaa8 Autogenerate SearchIndexableResources subclass
Bug: 77148954
Test: RunSettingsLibRoboTests RunSettingsRoboTests RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I842c42c55014c3310070ef22bd4f0d9a70dfd804
2018-04-03 10:26:55 -07:00
Fan Zhang
b5c651c939 Register most app info related controllers in xml
Bug: 77216595
Test: robotests
Change-Id: I79afa38820b7518d8b3112148802797ebcf6d184
2018-03-29 17:55:41 -07:00
Julia Reynolds
c35d9b613e Link to dnd settings from notification settings
Test: make -j20 RunSettingsRoboTests
Change-Id: Idf70155134b2e78bd410468497cabe8faf1557ce
Fixes: 74319354
2018-03-16 13:14:03 -04:00
Fan Zhang
f7843adabd More renaming in DashboardFragment
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936

Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
2018-02-23 16:56:30 -08:00
Fan Zhang
aed8994f6f Rename Indexable::getAllPreferenceControllers.
To getPreferenceControllers. "all" is redundant. Then internally, the
old getPreferenceControllers() is renamed to
createPreferenceControllers() to emphasize the controllers are created
from code (versus the ones created from xml).

Bug: 73668763
Test: robotest
Change-Id: Ifec46aefdc2a418031c8e152028b30bdcd396fc7
2018-02-23 16:37:28 -08:00
Beverly
036d7e0bd9 DND ixD changes
- Subtext in Settings > Sound updated
- new icons for automatic dnd rules
- no toast when toggling on/off dnd rules
- dnd dialog has a warning if dnd will cause user to miss next alarm

Test: make ROBOTEST_FILTER=ZenModePreferenceControllerTest RunSettingsRoboTests -j40
Fixes: 72494029
Fixes: 72655216
Fixes: 72655609
Change-Id: I9d86d82529079f35e362f93e10914f0a60229cd8
2018-02-06 14:15:40 +00:00
Fan Zhang
33d5a76c6f Remove "emergency alert" from Sound settings
It's already in "App & notification" page

Change-Id: I858999f8e097d5712eee1b8d34f47e0e900bf859
Fixes: 71813931
Test: rebuild/visual/atest UniquePreferenceTest
2018-01-16 14:04:18 -08:00
Ben Lin
921e3d14b8 Add ability to show/hide individual settings in Sounds page.
This adds the following 7 new boolean flags:
config_show_alarm_volume
config_show_charging_sounds
config_show_media_volume
config_show_notification_ringtone
config_show_notification_volume
config_show_screen_locking_sounds
config_show_touch_sounds

Which when set to false, will hide the respective preferences in Sounds
page.

Bug: 69813881
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.notification all pass.

Change-Id: I84a2ce66b07c00d658422ce1a0eacaf9a01fae8a
2018-01-10 13:58:58 -08:00
Fan Zhang
e0b0e9f902 Refactor help menu stuff into a controller
This is a clean up to action bar menu item pattern, we will use the same
pattern to build search icon on all pages in a later change.

Bug: 68814716
Test: robotests
Change-Id: Iedd3ec263e8ccb63ed75ec7a95b28c00878b1de4
2017-11-29 15:51:04 -08:00