diff --git a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java index a966ab309e9..b6135ab2740 100644 --- a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java +++ b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java @@ -17,7 +17,6 @@ package com.android.settings.emergency; import android.content.Context; -import android.provider.Settings; import android.widget.Switch; import androidx.annotation.VisibleForTesting; @@ -26,6 +25,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; +import com.android.settingslib.emergencynumber.EmergencyNumberUtils; import com.android.settingslib.widget.MainSwitchPreference; import com.android.settingslib.widget.OnMainSwitchChangeListener; @@ -36,16 +36,13 @@ public class EmergencyGesturePreferenceController extends BasePreferenceControll OnMainSwitchChangeListener { @VisibleForTesting - static final int ON = 1; - @VisibleForTesting - static final int OFF = 0; - - private static final String SECURE_KEY = Settings.Secure.EMERGENCY_GESTURE_ENABLED; + EmergencyNumberUtils mEmergencyNumberUtils; private MainSwitchPreference mSwitchBar; public EmergencyGesturePreferenceController(Context context, String key) { super(context, key); + mEmergencyNumberUtils = new EmergencyNumberUtils(context); } @Override @@ -71,11 +68,11 @@ public class EmergencyGesturePreferenceController extends BasePreferenceControll @VisibleForTesting public boolean isChecked() { - return Settings.Secure.getInt(mContext.getContentResolver(), SECURE_KEY, ON) == ON; + return mEmergencyNumberUtils.getEmergencyGestureEnabled(); } @Override public void onSwitchChanged(Switch switchView, boolean isChecked) { - Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, isChecked ? ON : OFF); + mEmergencyNumberUtils.setEmergencyGestureEnabled(isChecked); } } diff --git a/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java b/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java index d5896d8b111..f9fb647cbb6 100644 --- a/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java +++ b/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java @@ -17,12 +17,12 @@ package com.android.settings.emergency; import android.content.Context; -import android.provider.Settings; import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.core.TogglePreferenceController; +import com.android.settingslib.emergencynumber.EmergencyNumberUtils; /** * Preference controller for emergency sos gesture setting @@ -30,14 +30,11 @@ import com.android.settings.core.TogglePreferenceController; public class EmergencyGestureSoundPreferenceController extends TogglePreferenceController { @VisibleForTesting - static final int ON = 1; - @VisibleForTesting - static final int OFF = 0; - - private static final String SECURE_KEY = Settings.Secure.EMERGENCY_GESTURE_SOUND_ENABLED; + EmergencyNumberUtils mEmergencyNumberUtils; public EmergencyGestureSoundPreferenceController(Context context, String key) { super(context, key); + mEmergencyNumberUtils = new EmergencyNumberUtils(context); } private static boolean isGestureAvailable(Context context) { @@ -57,12 +54,12 @@ public class EmergencyGestureSoundPreferenceController extends TogglePreferenceC @Override public boolean isChecked() { - return Settings.Secure.getInt(mContext.getContentResolver(), SECURE_KEY, ON) == ON; + return mEmergencyNumberUtils.getEmergencyGestureSoundEnabled(); } @Override public boolean setChecked(boolean isChecked) { - return Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, - isChecked ? ON : OFF); + mEmergencyNumberUtils.setEmergencySoundEnabled(isChecked); + return true; } } diff --git a/tests/robotests/src/com/android/settings/emergency/EmergencyGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/emergency/EmergencyGesturePreferenceControllerTest.java index 542301cc95b..bf30ebbaca1 100644 --- a/tests/robotests/src/com/android/settings/emergency/EmergencyGesturePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/emergency/EmergencyGesturePreferenceControllerTest.java @@ -18,24 +18,25 @@ package com.android.settings.emergency; import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE; -import static com.android.settings.emergency.EmergencyGesturePreferenceController.OFF; -import static com.android.settings.emergency.EmergencyGesturePreferenceController.ON; import static com.google.common.truth.Truth.assertThat; -import android.content.ContentResolver; +import static org.mockito.Mockito.when; + import android.content.Context; -import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; import com.android.settings.testutils.shadow.SettingsShadowResources; +import com.android.settingslib.emergencynumber.EmergencyNumberUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; @@ -43,16 +44,18 @@ import org.robolectric.annotation.Config; @Config(shadows = SettingsShadowResources.class) public class EmergencyGesturePreferenceControllerTest { + @Mock + private EmergencyNumberUtils mEmergencyNumberUtils; private Context mContext; - private ContentResolver mContentResolver; private EmergencyGesturePreferenceController mController; private static final String PREF_KEY = "gesture_emergency_button"; @Before public void setUp() { + MockitoAnnotations.initMocks(this); mContext = ApplicationProvider.getApplicationContext(); - mContentResolver = mContext.getContentResolver(); mController = new EmergencyGesturePreferenceController(mContext, PREF_KEY); + mController.mEmergencyNumberUtils = mEmergencyNumberUtils; } @After @@ -81,8 +84,7 @@ public class EmergencyGesturePreferenceControllerTest { @Test public void isChecked_configIsNotSet_shouldReturnTrue() { // Set the setting to be enabled. - Settings.Secure.putInt(mContentResolver, Settings.Secure.EMERGENCY_GESTURE_ENABLED, ON); - mController = new EmergencyGesturePreferenceController(mContext, PREF_KEY); + when(mEmergencyNumberUtils.getEmergencyGestureEnabled()).thenReturn(true); assertThat(mController.isChecked()).isTrue(); } @@ -90,8 +92,7 @@ public class EmergencyGesturePreferenceControllerTest { @Test public void isChecked_configIsSet_shouldReturnFalse() { // Set the setting to be disabled. - Settings.Secure.putInt(mContentResolver, Settings.Secure.EMERGENCY_GESTURE_ENABLED, OFF); - mController = new EmergencyGesturePreferenceController(mContext, PREF_KEY); + when(mEmergencyNumberUtils.getEmergencyGestureEnabled()).thenReturn(false); assertThat(mController.isChecked()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceControllerTest.java index 6f3884eb7be..f8f2ed1ff48 100644 --- a/tests/robotests/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceControllerTest.java @@ -16,40 +16,42 @@ package com.android.settings.emergency; -import static com.android.settings.emergency.EmergencyGestureSoundPreferenceController.OFF; -import static com.android.settings.emergency.EmergencyGestureSoundPreferenceController.ON; import static com.google.common.truth.Truth.assertThat; -import android.content.ContentResolver; +import static org.mockito.Mockito.when; + import android.content.Context; -import android.provider.Settings; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; import com.android.settings.testutils.shadow.SettingsShadowResources; +import com.android.settingslib.emergencynumber.EmergencyNumberUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) @Config(shadows = SettingsShadowResources.class) public class EmergencyGestureSoundPreferenceControllerTest { - + @Mock + private EmergencyNumberUtils mEmergencyNumberUtils; private Context mContext; - private ContentResolver mContentResolver; private EmergencyGestureSoundPreferenceController mController; @Before public void setUp() { + MockitoAnnotations.initMocks(this); mContext = ApplicationProvider.getApplicationContext(); - mContentResolver = mContext.getContentResolver(); mController = new EmergencyGestureSoundPreferenceController(mContext, "test_key"); + mController.mEmergencyNumberUtils = mEmergencyNumberUtils; } @After @@ -78,8 +80,7 @@ public class EmergencyGestureSoundPreferenceControllerTest { @Test public void isChecked_configIsSet_shouldReturnTrue() { // Set the setting to be enabled. - Settings.Secure.putInt(mContentResolver, Settings.Secure.EMERGENCY_GESTURE_SOUND_ENABLED, - ON); + when(mEmergencyNumberUtils.getEmergencyGestureSoundEnabled()).thenReturn(true); assertThat(mController.isChecked()).isTrue(); } @@ -87,8 +88,7 @@ public class EmergencyGestureSoundPreferenceControllerTest { @Test public void isChecked_configIsSetToFalse_shouldReturnFalse() { // Set the setting to be disabled. - Settings.Secure.putInt(mContentResolver, Settings.Secure.EMERGENCY_GESTURE_SOUND_ENABLED, - OFF); + when(mEmergencyNumberUtils.getEmergencyGestureSoundEnabled()).thenReturn(false); assertThat(mController.isChecked()).isFalse(); }