Merge "Use EmergencyNumberUtils to get/set emergency settings." into sc-dev
diff --git a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
index a966ab3..b6135ab 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 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 @@
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 @@
@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 d5896d8..f9fb647 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 @@
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 @@
@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 542301c..bf30ebb 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 @@
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 @@
@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 @@
@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 @@
@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 6f3884e..f8f2ed1 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 @@
@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 @@
@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();
}