Use EmergencyNumberUtils to get/set emergency settings.

EmergencyNumberUtils now contains centralized logic for interacting with
emergency gesture settings. Settings UI does not need to pay attention
to underlying data access, permission controler, etc etc.

Bug: 180236600
Test: robotests

Change-Id: If641ee36f237d153f1d790251af408969379a57a
This commit is contained in:
Fan Zhang
2021-02-18 23:19:22 +00:00
parent a1615409c7
commit f5819fc80c
4 changed files with 33 additions and 38 deletions

View File

@@ -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);
}
}

View File

@@ -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;
}
}