Loading src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java +11 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,17 @@ public class PreventRingingSwitchPreferenceController extends AbstractPreference LayoutPreference pref = screen.findPreference(getPreferenceKey()); if (pref != null) { mSettingObserver = new SettingObserver(pref); pref.setOnPreferenceClickListener(preference -> { int preventRinging = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE, Settings.Secure.VOLUME_HUSH_VIBRATE); boolean isChecked = preventRinging != Settings.Secure.VOLUME_HUSH_OFF; Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE, isChecked ? Settings.Secure.VOLUME_HUSH_OFF : Settings.Secure.VOLUME_HUSH_VIBRATE); return true; }); mSwitch = pref.findViewById(R.id.switch_bar); if (mSwitch != null) { mSwitch.addOnSwitchChangeListener(this); Loading tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; Loading @@ -29,8 +30,10 @@ import android.content.res.Resources; import android.provider.Settings; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.widget.SwitchBar; import com.android.settingslib.widget.LayoutPreference; import org.junit.Before; import org.junit.Test; Loading Loading @@ -95,4 +98,16 @@ public class PreventRingingSwitchPreferenceControllerTest { mController.updateState(mPreference); verify(mController.mSwitch, times(1)).setChecked(true); } @Test public void testPreferenceClickListenerAttached() { PreferenceScreen preferenceScreen = mock(PreferenceScreen.class); LayoutPreference mLayoutPreference = mock(LayoutPreference.class); when(preferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn( mLayoutPreference); mController.displayPreference(preferenceScreen); verify(mLayoutPreference, times(1)) .setOnPreferenceClickListener(any()); } } Loading
src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java +11 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,17 @@ public class PreventRingingSwitchPreferenceController extends AbstractPreference LayoutPreference pref = screen.findPreference(getPreferenceKey()); if (pref != null) { mSettingObserver = new SettingObserver(pref); pref.setOnPreferenceClickListener(preference -> { int preventRinging = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE, Settings.Secure.VOLUME_HUSH_VIBRATE); boolean isChecked = preventRinging != Settings.Secure.VOLUME_HUSH_OFF; Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE, isChecked ? Settings.Secure.VOLUME_HUSH_OFF : Settings.Secure.VOLUME_HUSH_VIBRATE); return true; }); mSwitch = pref.findViewById(R.id.switch_bar); if (mSwitch != null) { mSwitch.addOnSwitchChangeListener(this); Loading
tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; Loading @@ -29,8 +30,10 @@ import android.content.res.Resources; import android.provider.Settings; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.widget.SwitchBar; import com.android.settingslib.widget.LayoutPreference; import org.junit.Before; import org.junit.Test; Loading Loading @@ -95,4 +98,16 @@ public class PreventRingingSwitchPreferenceControllerTest { mController.updateState(mPreference); verify(mController.mSwitch, times(1)).setChecked(true); } @Test public void testPreferenceClickListenerAttached() { PreferenceScreen preferenceScreen = mock(PreferenceScreen.class); LayoutPreference mLayoutPreference = mock(LayoutPreference.class); when(preferenceScreen.findPreference(mController.getPreferenceKey())).thenReturn( mLayoutPreference); mController.displayPreference(preferenceScreen); verify(mLayoutPreference, times(1)) .setOnPreferenceClickListener(any()); } }