Loading res/xml/accessibility_tap_assistance.xml +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ android:entries="@array/long_press_timeout_selector_list_titles" android:entryValues="@array/long_press_timeout_selector_values" android:key="select_long_press_timeout_preference" android:summary="%s" android:persistent="false" android:title="@string/accessibility_long_press_timeout_preference_title" settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"/> Loading src/com/android/settings/accessibility/AccessibilityButtonGesturePreferenceController.java +21 −19 Original line number Diff line number Diff line Loading @@ -19,21 +19,30 @@ package com.android.settings.accessibility; import android.content.Context; import android.provider.Settings; import androidx.annotation.IntDef; import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.google.common.primitives.Ints; import java.util.Optional; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** Preference controller that controls the button or gesture in accessibility button page. */ public class AccessibilityButtonGesturePreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private Optional<Integer> mDefaultGesture = Optional.empty(); @Retention(RetentionPolicy.SOURCE) @IntDef({ Mode.BUTTON, Mode.GESTURE, }) private @interface Mode { int BUTTON = 1; int GESTURE = 2; } public AccessibilityButtonGesturePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); Loading @@ -47,12 +56,9 @@ public class AccessibilityButtonGesturePreferenceController extends BasePreferen @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final Integer value = Ints.tryParse((String) newValue); if (value != null) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, value); updateState(listPreference); putCurrentAccessibilityButtonMode(value); } return true; } Loading @@ -62,21 +68,17 @@ public class AccessibilityButtonGesturePreferenceController extends BasePreferen super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; listPreference.setValue(getCurrentAccessibilityButtonMode()); listPreference.setValue(String.valueOf(getCurrentAccessibilityButtonMode())); } private String getCurrentAccessibilityButtonMode() { final int mode = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, getDefaultGestureValue()); return String.valueOf(mode); @Mode private int getCurrentAccessibilityButtonMode() { return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, Mode.BUTTON); } private int getDefaultGestureValue() { if (!mDefaultGesture.isPresent()) { final String[] valuesList = mContext.getResources().getStringArray( R.array.accessibility_button_gesture_selector_values); mDefaultGesture = Optional.of(Integer.parseInt(valuesList[0])); } return mDefaultGesture.get(); private void putCurrentAccessibilityButtonMode(@Mode int mode) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, mode); } } src/com/android/settings/accessibility/AccessibilityButtonLocationPreferenceController.java +21 −19 Original line number Diff line number Diff line Loading @@ -19,21 +19,30 @@ package com.android.settings.accessibility; import android.content.Context; import android.provider.Settings; import androidx.annotation.IntDef; import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.google.common.primitives.Ints; import java.util.Optional; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** Preference controller that controls the preferred location in accessibility button page. */ public class AccessibilityButtonLocationPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private Optional<Integer> mDefaultLocation = Optional.empty(); @Retention(RetentionPolicy.SOURCE) @IntDef({ Location.FLOATING_MENU, Location.NAVIGATION_BAR, }) private @interface Location { int FLOATING_MENU = 1; int NAVIGATION_BAR = 0; } public AccessibilityButtonLocationPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); Loading @@ -47,12 +56,9 @@ public class AccessibilityButtonLocationPreferenceController extends BasePrefere @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final Integer value = Ints.tryParse((String) newValue); if (value != null) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, value); updateState(listPreference); putCurrentAccessibilityButtonMode(value); } return true; } Loading @@ -62,21 +68,17 @@ public class AccessibilityButtonLocationPreferenceController extends BasePrefere super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; listPreference.setValue(getCurrentAccessibilityButtonMode()); listPreference.setValue(String.valueOf(getCurrentAccessibilityButtonMode())); } private String getCurrentAccessibilityButtonMode() { final int mode = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, getDefaultLocationValue()); return String.valueOf(mode); @Location private int getCurrentAccessibilityButtonMode() { return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, Location.FLOATING_MENU); } private int getDefaultLocationValue() { if (!mDefaultLocation.isPresent()) { final String[] valuesList = mContext.getResources().getStringArray( R.array.accessibility_button_location_selector_values); mDefaultLocation = Optional.of(Integer.parseInt(valuesList[0])); } return mDefaultLocation.get(); private void putCurrentAccessibilityButtonMode(@Location int location) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, location); } } src/com/android/settings/accessibility/CaptioningFontSizeController.java +6 −10 Original line number Diff line number Diff line Loading @@ -16,14 +16,12 @@ package com.android.settings.accessibility; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import android.view.accessibility.CaptioningManager; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; Loading @@ -46,22 +44,20 @@ public class CaptioningFontSizeController extends BasePreferenceController } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); final ListPreference listPreference = screen.findPreference(getPreferenceKey()); public void updateState(Preference preference) { super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; final float fontSize = mCaptioningManager.getFontScale(); listPreference.setValue(Float.toString(fontSize)); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final ContentResolver cr = mContext.getContentResolver(); Settings.Secure.putFloat( cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE, mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE, Float.parseFloat((String) newValue)); listPreference.setValue((String) newValue); mCaptionHelper.setEnabled(true); return false; return true; } } src/com/android/settings/accessibility/CaptioningTypefaceController.java +8 −12 Original line number Diff line number Diff line Loading @@ -16,14 +16,12 @@ package com.android.settings.accessibility; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import android.view.accessibility.CaptioningManager.CaptionStyle; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; Loading @@ -44,23 +42,21 @@ public class CaptioningTypefaceController extends BasePreferenceController } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); final ListPreference listPreference = screen.findPreference(getPreferenceKey()); final ContentResolver cr = mContext.getContentResolver(); final CaptionStyle attrs = CaptionStyle.getCustomStyle(cr); public void updateState(Preference preference) { super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; final CaptionStyle attrs = CaptionStyle.getCustomStyle(mContext.getContentResolver()); final String rawTypeface = attrs.mRawTypeface; listPreference.setValue(rawTypeface == null ? "" : rawTypeface); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final ContentResolver cr = mContext.getContentResolver(); Settings.Secure.putString( cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) newValue); listPreference.setValue((String) newValue); mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) newValue); mCaptionHelper.setEnabled(true); return false; return true; } } Loading
res/xml/accessibility_tap_assistance.xml +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ android:entries="@array/long_press_timeout_selector_list_titles" android:entryValues="@array/long_press_timeout_selector_values" android:key="select_long_press_timeout_preference" android:summary="%s" android:persistent="false" android:title="@string/accessibility_long_press_timeout_preference_title" settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"/> Loading
src/com/android/settings/accessibility/AccessibilityButtonGesturePreferenceController.java +21 −19 Original line number Diff line number Diff line Loading @@ -19,21 +19,30 @@ package com.android.settings.accessibility; import android.content.Context; import android.provider.Settings; import androidx.annotation.IntDef; import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.google.common.primitives.Ints; import java.util.Optional; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** Preference controller that controls the button or gesture in accessibility button page. */ public class AccessibilityButtonGesturePreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private Optional<Integer> mDefaultGesture = Optional.empty(); @Retention(RetentionPolicy.SOURCE) @IntDef({ Mode.BUTTON, Mode.GESTURE, }) private @interface Mode { int BUTTON = 1; int GESTURE = 2; } public AccessibilityButtonGesturePreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); Loading @@ -47,12 +56,9 @@ public class AccessibilityButtonGesturePreferenceController extends BasePreferen @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final Integer value = Ints.tryParse((String) newValue); if (value != null) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, value); updateState(listPreference); putCurrentAccessibilityButtonMode(value); } return true; } Loading @@ -62,21 +68,17 @@ public class AccessibilityButtonGesturePreferenceController extends BasePreferen super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; listPreference.setValue(getCurrentAccessibilityButtonMode()); listPreference.setValue(String.valueOf(getCurrentAccessibilityButtonMode())); } private String getCurrentAccessibilityButtonMode() { final int mode = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, getDefaultGestureValue()); return String.valueOf(mode); @Mode private int getCurrentAccessibilityButtonMode() { return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, Mode.BUTTON); } private int getDefaultGestureValue() { if (!mDefaultGesture.isPresent()) { final String[] valuesList = mContext.getResources().getStringArray( R.array.accessibility_button_gesture_selector_values); mDefaultGesture = Optional.of(Integer.parseInt(valuesList[0])); } return mDefaultGesture.get(); private void putCurrentAccessibilityButtonMode(@Mode int mode) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, mode); } }
src/com/android/settings/accessibility/AccessibilityButtonLocationPreferenceController.java +21 −19 Original line number Diff line number Diff line Loading @@ -19,21 +19,30 @@ package com.android.settings.accessibility; import android.content.Context; import android.provider.Settings; import androidx.annotation.IntDef; import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.google.common.primitives.Ints; import java.util.Optional; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /** Preference controller that controls the preferred location in accessibility button page. */ public class AccessibilityButtonLocationPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private Optional<Integer> mDefaultLocation = Optional.empty(); @Retention(RetentionPolicy.SOURCE) @IntDef({ Location.FLOATING_MENU, Location.NAVIGATION_BAR, }) private @interface Location { int FLOATING_MENU = 1; int NAVIGATION_BAR = 0; } public AccessibilityButtonLocationPreferenceController(Context context, String preferenceKey) { super(context, preferenceKey); Loading @@ -47,12 +56,9 @@ public class AccessibilityButtonLocationPreferenceController extends BasePrefere @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final Integer value = Ints.tryParse((String) newValue); if (value != null) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, value); updateState(listPreference); putCurrentAccessibilityButtonMode(value); } return true; } Loading @@ -62,21 +68,17 @@ public class AccessibilityButtonLocationPreferenceController extends BasePrefere super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; listPreference.setValue(getCurrentAccessibilityButtonMode()); listPreference.setValue(String.valueOf(getCurrentAccessibilityButtonMode())); } private String getCurrentAccessibilityButtonMode() { final int mode = Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, getDefaultLocationValue()); return String.valueOf(mode); @Location private int getCurrentAccessibilityButtonMode() { return Settings.Secure.getInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, Location.FLOATING_MENU); } private int getDefaultLocationValue() { if (!mDefaultLocation.isPresent()) { final String[] valuesList = mContext.getResources().getStringArray( R.array.accessibility_button_location_selector_values); mDefaultLocation = Optional.of(Integer.parseInt(valuesList[0])); } return mDefaultLocation.get(); private void putCurrentAccessibilityButtonMode(@Location int location) { Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, location); } }
src/com/android/settings/accessibility/CaptioningFontSizeController.java +6 −10 Original line number Diff line number Diff line Loading @@ -16,14 +16,12 @@ package com.android.settings.accessibility; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import android.view.accessibility.CaptioningManager; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; Loading @@ -46,22 +44,20 @@ public class CaptioningFontSizeController extends BasePreferenceController } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); final ListPreference listPreference = screen.findPreference(getPreferenceKey()); public void updateState(Preference preference) { super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; final float fontSize = mCaptioningManager.getFontScale(); listPreference.setValue(Float.toString(fontSize)); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final ContentResolver cr = mContext.getContentResolver(); Settings.Secure.putFloat( cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE, mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE, Float.parseFloat((String) newValue)); listPreference.setValue((String) newValue); mCaptionHelper.setEnabled(true); return false; return true; } }
src/com/android/settings/accessibility/CaptioningTypefaceController.java +8 −12 Original line number Diff line number Diff line Loading @@ -16,14 +16,12 @@ package com.android.settings.accessibility; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; import android.view.accessibility.CaptioningManager.CaptionStyle; import androidx.preference.ListPreference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; Loading @@ -44,23 +42,21 @@ public class CaptioningTypefaceController extends BasePreferenceController } @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); final ListPreference listPreference = screen.findPreference(getPreferenceKey()); final ContentResolver cr = mContext.getContentResolver(); final CaptionStyle attrs = CaptionStyle.getCustomStyle(cr); public void updateState(Preference preference) { super.updateState(preference); final ListPreference listPreference = (ListPreference) preference; final CaptionStyle attrs = CaptionStyle.getCustomStyle(mContext.getContentResolver()); final String rawTypeface = attrs.mRawTypeface; listPreference.setValue(rawTypeface == null ? "" : rawTypeface); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final ListPreference listPreference = (ListPreference) preference; final ContentResolver cr = mContext.getContentResolver(); Settings.Secure.putString( cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) newValue); listPreference.setValue((String) newValue); mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) newValue); mCaptionHelper.setEnabled(true); return false; return true; } }