Let tether preference controllers extend TogglePreferenceController
Refactored USBTether, BluetoothTether and WifiTetherDisable preference controllers to extend TogglePreferenceControllers, since they are all SwitchPreference. Bug: 150634051 Test: UsbTetherPreferenceControllerTest, BluetoothTetherPreferenceControllerTest, WifiTetherDisablePreferenceControllerTest, CodeInspectionTest Change-Id: I3b1d1c4e678c65ced8dd506a87c3c43ed300d64f
This commit is contained in:
@@ -31,7 +31,7 @@ import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
import com.android.settingslib.TetherUtil;
|
||||
|
||||
/**
|
||||
@@ -43,9 +43,8 @@ import com.android.settingslib.TetherUtil;
|
||||
* @see BluetoothTetherPreferenceController
|
||||
* @see UsbTetherPreferenceController
|
||||
*/
|
||||
public final class WifiTetherDisablePreferenceController extends BasePreferenceController
|
||||
implements LifecycleObserver, Preference.OnPreferenceChangeListener,
|
||||
SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
public final class WifiTetherDisablePreferenceController extends TogglePreferenceController
|
||||
implements LifecycleObserver, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
|
||||
private static final String TAG = "WifiTetherDisablePreferenceController";
|
||||
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
|
||||
@@ -68,6 +67,24 @@ public final class WifiTetherDisablePreferenceController extends BasePreferenceC
|
||||
TetherEnabler.BLUETOOTH_TETHER_KEY, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return !mSharedPreferences.getBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setChecked(boolean isChecked) {
|
||||
// The shared preference's value is in the opposite of this preference's value.
|
||||
final boolean enableWifi = !isChecked;
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "check state changing to " + isChecked);
|
||||
}
|
||||
final SharedPreferences.Editor editor = mSharedPreferences.edit();
|
||||
editor.putBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, enableWifi);
|
||||
editor.apply();
|
||||
return true;
|
||||
}
|
||||
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
|
||||
public void onResume() {
|
||||
mSharedPreferences.registerOnSharedPreferenceChangeListener(this);
|
||||
@@ -119,12 +136,6 @@ public final class WifiTetherDisablePreferenceController extends BasePreferenceC
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
|
||||
if (preference instanceof SwitchPreference) {
|
||||
((SwitchPreference) preference)
|
||||
.setChecked(!mSharedPreferences.getBoolean(
|
||||
TetherEnabler.KEY_ENABLE_WIFI_TETHERING, true));
|
||||
}
|
||||
setVisible(mScreen, mPreferenceKey, shouldShow());
|
||||
}
|
||||
|
||||
@@ -167,17 +178,4 @@ public final class WifiTetherDisablePreferenceController extends BasePreferenceC
|
||||
updateState(mPreference);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object o) {
|
||||
// The shared preference's value is in the opposite of this preference's value.
|
||||
final boolean enableWifi = !(boolean) o;
|
||||
if (DEBUG) {
|
||||
Log.d(TAG, "check state changing to " + o);
|
||||
}
|
||||
final SharedPreferences.Editor editor = mSharedPreferences.edit();
|
||||
editor.putBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, enableWifi);
|
||||
editor.apply();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user