Prevent ringing gesture uses master switch

Test: make ROBOTEST_FILTER=PreventRingingGesturePreferenceControllerTest RunSettingsRoboTests
Test: make ROBOTEST_FILTER=PreventRingingSwitchPreferenceControllerTest RunSettingsRoboTests
Change-Id: Iaf356ccd3623e67c39810955093fc353ae0d10a0
Fixes: 119787033
This commit is contained in:
Beverly
2019-01-02 18:25:00 -05:00
parent ce380bdeef
commit 8b4d3c3f0c
6 changed files with 267 additions and 42 deletions

View File

@@ -46,7 +46,7 @@ public class PreventRingingGesturePreferenceController extends AbstractPreferenc
OnResume, OnPause, OnCreate, PreferenceControllerMixin {
@VisibleForTesting static final String KEY_VIBRATE = "prevent_ringing_option_vibrate";
@VisibleForTesting static final String KEY_NONE = "prevent_ringing_option_none";
@VisibleForTesting static final String KEY_MUTE = "prevent_ringing_option_mute";
private final String KEY_VIDEO_PAUSED = "key_video_paused";
@@ -57,9 +57,8 @@ public class PreventRingingGesturePreferenceController extends AbstractPreferenc
private VideoPreference mVideoPreference;
private boolean mVideoPaused;
private PreferenceCategory mPreferenceCategory;
@VisibleForTesting PreferenceCategory mPreferenceCategory;
@VisibleForTesting RadioButtonPreference mVibratePref;
@VisibleForTesting RadioButtonPreference mNonePref;
@VisibleForTesting RadioButtonPreference mMutePref;
private SettingObserver mSettingObserver;
@@ -80,7 +79,6 @@ public class PreventRingingGesturePreferenceController extends AbstractPreferenc
mPreferenceCategory = (PreferenceCategory) screen.findPreference(getPreferenceKey());
mVibratePref = makeRadioPreference(KEY_VIBRATE, R.string.prevent_ringing_option_vibrate);
mMutePref = makeRadioPreference(KEY_MUTE, R.string.prevent_ringing_option_mute);
mNonePref = makeRadioPreference(KEY_NONE, R.string.prevent_ringing_option_none);
if (mPreferenceCategory != null) {
mSettingObserver = new SettingObserver(mPreferenceCategory);
@@ -124,19 +122,21 @@ public class PreventRingingGesturePreferenceController extends AbstractPreferenc
public void updateState(Preference preference) {
int preventRingingSetting = Settings.Secure.getInt(mContext.getContentResolver(),
Settings.Secure.VOLUME_HUSH_GESTURE, Settings.Secure.VOLUME_HUSH_VIBRATE);
final boolean isVibrate = preventRingingSetting == Settings.Secure.VOLUME_HUSH_VIBRATE;
final boolean isMute = preventRingingSetting == Settings.Secure.VOLUME_HUSH_MUTE;
final boolean isOff = preventRingingSetting == Settings.Secure.VOLUME_HUSH_OFF
|| (!isVibrate && !isMute);
if (mVibratePref != null && mVibratePref.isChecked() != isVibrate) {
mVibratePref.setChecked(isVibrate);
}
if (mMutePref != null && mMutePref.isChecked() != isMute) {
mMutePref.setChecked(isMute);
}
if (mNonePref != null && mNonePref.isChecked() != isOff) {
mNonePref.setChecked(isOff);
if (preventRingingSetting == Settings.Secure.VOLUME_HUSH_OFF) {
mVibratePref.setEnabled(false);
mMutePref.setEnabled(false);
} else {
mVibratePref.setEnabled(true);
mMutePref.setEnabled(true);
}
}
@@ -173,13 +173,12 @@ public class PreventRingingGesturePreferenceController extends AbstractPreferenc
private int keyToSetting(String key) {
switch (key) {
case KEY_NONE:
return Settings.Secure.VOLUME_HUSH_OFF;
case KEY_MUTE:
return Settings.Secure.VOLUME_HUSH_MUTE;
case KEY_VIBRATE:
default:
return Settings.Secure.VOLUME_HUSH_VIBRATE;
default:
return Settings.Secure.VOLUME_HUSH_OFF;
}
}