Loading src/com/android/settings/accessibility/AccessibilitySettings.java +14 −0 Original line number Diff line number Diff line Loading @@ -389,6 +389,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements // Display magnification. mDisplayMagnificationPreferenceScreen = findPreference( DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN); configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreferenceScreen); // Font size. mFontSizePreferenceScreen = findPreference(FONT_SIZE_PREFERENCE_SCREEN); Loading Loading @@ -682,6 +683,19 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements } } private static void configureMagnificationPreferenceIfNeeded(Preference preference) { // Some devices support only a single magnification mode. In these cases, we redirect to // the magnification mode's UI directly, rather than showing a PreferenceScreen with a // single list item. final Context context = preference.getContext(); if (!MagnificationPreferenceFragment.isApplicable(context.getResources())) { preference.setFragment(ToggleScreenMagnificationPreferenceFragment.class.getName()); final Bundle extras = preference.getExtras(); MagnificationPreferenceFragment.populateMagnificationGesturesPreferenceExtras(extras, context); } } public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override Loading src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java +16 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,9 @@ package com.android.settings.accessibility; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.pm.ServiceInfo; import android.os.Bundle; import android.provider.Settings; import android.support.v7.preference.Preference; import android.text.TextUtils; import android.view.accessibility.AccessibilityManager; Loading Loading @@ -79,6 +79,7 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm findService(SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME)); updateAccessibilityServicePreference(mSelectToSpeakPreference, findService(SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME)); configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreference); } @Override Loading Loading @@ -145,4 +146,18 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm } extras.putString(AccessibilitySettings.EXTRA_SUMMARY, description); } private static void configureMagnificationPreferenceIfNeeded(Preference preference) { // Some devices support only a single magnification mode. In these cases, we redirect to // the magnification mode's UI directly, rather than showing a PreferenceScreen with a // single list item. final Context context = preference.getContext(); if (!MagnificationPreferenceFragment.isApplicable(context.getResources())) { preference.setFragment( ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName()); final Bundle extras = preference.getExtras(); MagnificationPreferenceFragment.populateMagnificationGesturesPreferenceExtras(extras, context); } } } src/com/android/settings/accessibility/MagnificationPreferenceFragment.java +32 −15 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.accessibility; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.res.Resources; import android.os.Bundle; import android.provider.SearchIndexableResource; import android.provider.Settings; Loading @@ -34,6 +35,7 @@ import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import java.util.Arrays; import java.util.Collections; import java.util.List; public final class MagnificationPreferenceFragment extends SettingsPreferenceFragment implements Loading Loading @@ -123,18 +125,7 @@ public final class MagnificationPreferenceFragment extends SettingsPreferenceFra private void handleMagnificationGesturesPreferenceScreenClick() { Bundle extras = mMagnificationGesturesPreference.getExtras(); extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); extras.putString(AccessibilitySettings.EXTRA_TITLE, getString( R.string.accessibility_screen_magnification_gestures_title)); extras.putCharSequence(AccessibilitySettings.EXTRA_SUMMARY, getActivity().getResources().getText( R.string.accessibility_screen_magnification_summary)); extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, Settings.Secure.getInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1); extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID, R.raw.accessibility_screen_magnification); populateMagnificationGesturesPreferenceExtras(extras, getContext()); extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mLaunchedFromSuw); } Loading Loading @@ -188,14 +179,40 @@ public final class MagnificationPreferenceFragment extends SettingsPreferenceFra return null; } static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) { extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); extras.putString(AccessibilitySettings.EXTRA_TITLE, context.getString( R.string.accessibility_screen_magnification_gestures_title)); extras.putCharSequence(AccessibilitySettings.EXTRA_SUMMARY, context.getResources().getText( 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); } /** * @return {@code true} if this fragment should be shown, {@code false} otherwise. This * fragment is shown in the case that more than one magnification mode is available. */ static boolean isApplicable(Resources res) { return res.getBoolean(com.android.internal.R.bool.config_showNavigationBar); } public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override public List<SearchIndexableResource> getXmlResourcesToIndex(Context context, boolean enabled) { if (isApplicable(context.getResources())) { final SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.accessibility_magnification_settings; return Arrays.asList(sir); } else { return Collections.emptyList(); } } }; } Loading
src/com/android/settings/accessibility/AccessibilitySettings.java +14 −0 Original line number Diff line number Diff line Loading @@ -389,6 +389,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements // Display magnification. mDisplayMagnificationPreferenceScreen = findPreference( DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN); configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreferenceScreen); // Font size. mFontSizePreferenceScreen = findPreference(FONT_SIZE_PREFERENCE_SCREEN); Loading Loading @@ -682,6 +683,19 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements } } private static void configureMagnificationPreferenceIfNeeded(Preference preference) { // Some devices support only a single magnification mode. In these cases, we redirect to // the magnification mode's UI directly, rather than showing a PreferenceScreen with a // single list item. final Context context = preference.getContext(); if (!MagnificationPreferenceFragment.isApplicable(context.getResources())) { preference.setFragment(ToggleScreenMagnificationPreferenceFragment.class.getName()); final Bundle extras = preference.getExtras(); MagnificationPreferenceFragment.populateMagnificationGesturesPreferenceExtras(extras, context); } } public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override Loading
src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java +16 −1 Original line number Diff line number Diff line Loading @@ -18,9 +18,9 @@ package com.android.settings.accessibility; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.pm.ServiceInfo; import android.os.Bundle; import android.provider.Settings; import android.support.v7.preference.Preference; import android.text.TextUtils; import android.view.accessibility.AccessibilityManager; Loading Loading @@ -79,6 +79,7 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm findService(SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME)); updateAccessibilityServicePreference(mSelectToSpeakPreference, findService(SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME)); configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreference); } @Override Loading Loading @@ -145,4 +146,18 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm } extras.putString(AccessibilitySettings.EXTRA_SUMMARY, description); } private static void configureMagnificationPreferenceIfNeeded(Preference preference) { // Some devices support only a single magnification mode. In these cases, we redirect to // the magnification mode's UI directly, rather than showing a PreferenceScreen with a // single list item. final Context context = preference.getContext(); if (!MagnificationPreferenceFragment.isApplicable(context.getResources())) { preference.setFragment( ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName()); final Bundle extras = preference.getExtras(); MagnificationPreferenceFragment.populateMagnificationGesturesPreferenceExtras(extras, context); } } }
src/com/android/settings/accessibility/MagnificationPreferenceFragment.java +32 −15 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.accessibility; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; import android.content.Context; import android.content.res.Resources; import android.os.Bundle; import android.provider.SearchIndexableResource; import android.provider.Settings; Loading @@ -34,6 +35,7 @@ import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import java.util.Arrays; import java.util.Collections; import java.util.List; public final class MagnificationPreferenceFragment extends SettingsPreferenceFragment implements Loading Loading @@ -123,18 +125,7 @@ public final class MagnificationPreferenceFragment extends SettingsPreferenceFra private void handleMagnificationGesturesPreferenceScreenClick() { Bundle extras = mMagnificationGesturesPreference.getExtras(); extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); extras.putString(AccessibilitySettings.EXTRA_TITLE, getString( R.string.accessibility_screen_magnification_gestures_title)); extras.putCharSequence(AccessibilitySettings.EXTRA_SUMMARY, getActivity().getResources().getText( R.string.accessibility_screen_magnification_summary)); extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, Settings.Secure.getInt(getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0) == 1); extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID, R.raw.accessibility_screen_magnification); populateMagnificationGesturesPreferenceExtras(extras, getContext()); extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mLaunchedFromSuw); } Loading Loading @@ -188,14 +179,40 @@ public final class MagnificationPreferenceFragment extends SettingsPreferenceFra return null; } static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) { extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY, Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); extras.putString(AccessibilitySettings.EXTRA_TITLE, context.getString( R.string.accessibility_screen_magnification_gestures_title)); extras.putCharSequence(AccessibilitySettings.EXTRA_SUMMARY, context.getResources().getText( 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); } /** * @return {@code true} if this fragment should be shown, {@code false} otherwise. This * fragment is shown in the case that more than one magnification mode is available. */ static boolean isApplicable(Resources res) { return res.getBoolean(com.android.internal.R.bool.config_showNavigationBar); } public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override public List<SearchIndexableResource> getXmlResourcesToIndex(Context context, boolean enabled) { if (isApplicable(context.getResources())) { final SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.accessibility_magnification_settings; return Arrays.asList(sir); } else { return Collections.emptyList(); } } }; }