Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb2c6bf3 authored by Fan Zhang's avatar Fan Zhang Committed by Android (Google) Code Review
Browse files

Merge "Use EmergencyNumberUtils to get/set emergency settings." into sc-dev

parents 44e53efb f5819fc8
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -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);
    }
}
+6 −9
Original line number Diff line number Diff line
@@ -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;
    }
}
+11 −10
Original line number Diff line number Diff line
@@ -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();
    }
+11 −11
Original line number Diff line number Diff line
@@ -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();
    }