Convert Magnify controller to TogglePrefController
Convert below to TogglePreferenceController: MagnificationNavbarPreferenceController (Magnify with Button) MagnificationGesturesPreferenceController (Magnify with triple-tap) The two controllers share the same fragment, Add static method for set/get state in fragment, And use them in controllers and fragment. Change-Id: I2bdbdb36be71e1a3ffb557abc5a6115d48de53cf Merged-In: I2bdbdb36be71e1a3ffb557abc5a6115d48de53cf Fixes: 67997698 Fixes: 67997726 Test: make RunSettingsRoboTests
This commit is contained in:
committed by
Andrew Sapperstein
parent
8a9c47e1ba
commit
a92271c26d
@@ -19,9 +19,9 @@ import android.provider.Settings;
|
||||
import android.support.v7.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
|
||||
public class MagnificationGesturesPreferenceController extends BasePreferenceController {
|
||||
public class MagnificationGesturesPreferenceController extends TogglePreferenceController {
|
||||
|
||||
private boolean mIsFromSUW = false;
|
||||
|
||||
@@ -29,6 +29,18 @@ public class MagnificationGesturesPreferenceController extends BasePreferenceCon
|
||||
super(context, key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isChecked() {
|
||||
return MagnificationPreferenceFragment.isChecked(mContext.getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setChecked(boolean isChecked) {
|
||||
return MagnificationPreferenceFragment.setChecked(mContext.getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, isChecked);
|
||||
}
|
||||
|
||||
public void setIsFromSUW(boolean fromSUW) {
|
||||
mIsFromSUW = fromSUW;
|
||||
}
|
||||
@@ -38,6 +50,7 @@ public class MagnificationGesturesPreferenceController extends BasePreferenceCon
|
||||
if (getPreferenceKey().equals(preference.getKey())) {
|
||||
Bundle extras = preference.getExtras();
|
||||
populateMagnificationGesturesPreferenceExtras(extras, mContext);
|
||||
extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
|
||||
extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
|
||||
}
|
||||
return false;
|
||||
@@ -54,8 +67,7 @@ public class MagnificationGesturesPreferenceController extends BasePreferenceCon
|
||||
if (mIsFromSUW) {
|
||||
resId = R.string.accessibility_screen_magnification_short_summary;
|
||||
} else {
|
||||
final boolean enabled = Settings.Secure.getInt(mContext.getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1;
|
||||
final boolean enabled = isChecked();
|
||||
resId = (enabled ? R.string.accessibility_feature_state_on :
|
||||
R.string.accessibility_feature_state_off);
|
||||
}
|
||||
@@ -69,9 +81,6 @@ public class MagnificationGesturesPreferenceController extends BasePreferenceCon
|
||||
R.string.accessibility_screen_magnification_gestures_title);
|
||||
extras.putInt(AccessibilitySettings.EXTRA_SUMMARY_RES,
|
||||
R.string.accessibility_screen_magnification_summary);
|
||||
extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED,
|
||||
Settings.Secure.getInt(context.getContentResolver(),
|
||||
Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1);
|
||||
extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID,
|
||||
R.raw.accessibility_screen_magnification);
|
||||
}
|
||||
|
Reference in New Issue
Block a user