diff options
author | Alan Viverette <alanv@google.com> | 2013-08-27 11:11:00 -0700 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2013-08-27 11:11:00 -0700 |
commit | 5ea751e48fc3d7c25cf4e44ef5926e8e70979b5a (patch) | |
tree | 5b957c33d4491d688268a30954727159553bc371 /src/com/android/settings/accessibility | |
parent | 9066b9140c376cb1b66a3eee830d9dfa177c6056 (diff) | |
download | packages_apps_Settings-5ea751e48fc3d7c25cf4e44ef5926e8e70979b5a.zip packages_apps_Settings-5ea751e48fc3d7c25cf4e44ef5926e8e70979b5a.tar.gz packages_apps_Settings-5ea751e48fc3d7c25cf4e44ef5926e8e70979b5a.tar.bz2 |
Update captioning settings to match revised API
BUG: 10461210
Change-Id: I44d1fdeaead4357ff2591db6d9dda1c8a231103c
Diffstat (limited to 'src/com/android/settings/accessibility')
4 files changed, 51 insertions, 21 deletions
diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java index c744a9f..b010ca8 100644 --- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java +++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java @@ -17,6 +17,7 @@ package com.android.settings.accessibility; import android.content.ContentResolver; +import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; @@ -38,6 +39,7 @@ import com.android.settings.accessibility.ListDialogPreference.OnValueChangedLis public class CaptionPropertiesFragment extends SettingsPreferenceFragment implements OnPreferenceChangeListener, OnValueChangedListener { private ToggleCaptioningPreferenceFragment mParent; + private CaptioningManager mCaptioningManager; // Standard options. private LocalePreference mLocale; @@ -58,6 +60,9 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); + + mCaptioningManager = (CaptioningManager) getSystemService(Context.CAPTIONING_SERVICE); + addPreferencesFromResource(R.xml.captioning_settings); initializeAllPreferences(); updateAllPreferences(); @@ -134,13 +139,13 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment } private void updateAllPreferences() { - final ContentResolver cr = getContentResolver(); - final int preset = CaptionStyle.getRawPreset(cr); + final int preset = mCaptioningManager.getRawUserStyle(); mPreset.setValue(preset); - final float fontSize = CaptioningManager.getFontSize(cr); + final float fontSize = mCaptioningManager.getFontScale(); mFontSize.setValue(Float.toString(fontSize)); + final ContentResolver cr = getContentResolver(); final CaptionStyle attrs = CaptionStyle.getCustomStyle(cr); mForegroundColor.setValue(attrs.foregroundColor); mEdgeType.setValue(attrs.edgeType); @@ -162,7 +167,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment final String rawTypeface = attrs.mRawTypeface; mTypeface.setValue(rawTypeface == null ? "" : rawTypeface); - final String rawLocale = CaptioningManager.getRawLocale(cr); + final String rawLocale = mCaptioningManager.getRawLocale(); mLocale.setValue(rawLocale == null ? "" : rawLocale); } @@ -220,7 +225,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, (String) value); } else if (mFontSize == preference) { Settings.Secure.putFloat( - cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SIZE, + cr, Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE, Float.parseFloat((String) value)); } else if (mLocale == preference) { Settings.Secure.putString( diff --git a/src/com/android/settings/accessibility/EdgeTypePreference.java b/src/com/android/settings/accessibility/EdgeTypePreference.java index 1d73e6c..ad71a76 100644 --- a/src/com/android/settings/accessibility/EdgeTypePreference.java +++ b/src/com/android/settings/accessibility/EdgeTypePreference.java @@ -21,7 +21,6 @@ import android.content.res.Resources; import android.graphics.Color; import android.util.AttributeSet; import android.view.View; -import android.view.accessibility.CaptioningManager; import android.view.accessibility.CaptioningManager.CaptionStyle; import android.widget.TextView; @@ -32,6 +31,11 @@ import com.android.settings.R; * Grid preference that allows the user to pick a captioning edge type. */ public class EdgeTypePreference extends ListDialogPreference { + private static final int DEFAULT_FOREGROUND_COLOR = Color.WHITE; + private static final int DEFAULT_BACKGROUND_COLOR = Color.TRANSPARENT; + private static final int DEFAULT_EDGE_COLOR = Color.BLACK; + private static final float DEFAULT_FONT_SIZE = 96f; + public EdgeTypePreference(Context context, AttributeSet attrs) { super(context, attrs); @@ -49,16 +53,15 @@ public class EdgeTypePreference extends ListDialogPreference { @Override protected void onBindListItem(View view, int index) { - final float fontSize = CaptioningManager.getFontSize(getContext().getContentResolver()); final SubtitleView preview = (SubtitleView) view.findViewById(R.id.preview); - preview.setForegroundColor(Color.WHITE); - preview.setBackgroundColor(Color.TRANSPARENT); - preview.setTextSize(fontSize); + preview.setForegroundColor(DEFAULT_FOREGROUND_COLOR); + preview.setBackgroundColor(DEFAULT_BACKGROUND_COLOR); + preview.setTextSize(DEFAULT_FONT_SIZE); final int value = getValueAt(index); preview.setEdgeType(value); - preview.setEdgeColor(Color.BLACK); + preview.setEdgeColor(DEFAULT_EDGE_COLOR); final CharSequence title = getTitleAt(index); if (title != null) { diff --git a/src/com/android/settings/accessibility/PresetPreference.java b/src/com/android/settings/accessibility/PresetPreference.java index 9ac7ef8..c091f71 100644 --- a/src/com/android/settings/accessibility/PresetPreference.java +++ b/src/com/android/settings/accessibility/PresetPreference.java @@ -19,6 +19,7 @@ package com.android.settings.accessibility; import android.content.Context; import android.util.AttributeSet; import android.view.View; +import android.view.accessibility.CaptioningManager; import android.view.accessibility.CaptioningManager.CaptionStyle; import android.widget.TextView; @@ -26,11 +27,18 @@ import com.android.internal.widget.SubtitleView; import com.android.settings.R; public class PresetPreference extends ListDialogPreference { + private static final float DEFAULT_FONT_SIZE = 96f; + + private final CaptioningManager mCaptioningManager; + public PresetPreference(Context context, AttributeSet attrs) { super(context, attrs); setDialogLayoutResource(R.layout.grid_picker_dialog); setListItemLayoutResource(R.layout.preset_picker_item); + + mCaptioningManager = (CaptioningManager) context.getSystemService( + Context.CAPTIONING_SERVICE); } @Override @@ -43,7 +51,10 @@ public class PresetPreference extends ListDialogPreference { protected void onBindListItem(View view, int index) { final SubtitleView previewText = (SubtitleView) view.findViewById(R.id.preview); final int value = getValueAt(index); - ToggleCaptioningPreferenceFragment.applyCaptionProperties(previewText, value); + ToggleCaptioningPreferenceFragment.applyCaptionProperties( + mCaptioningManager, previewText, value); + + previewText.setTextSize(DEFAULT_FONT_SIZE); final CharSequence title = getTitleAt(index); if (title != null) { diff --git a/src/com/android/settings/accessibility/ToggleCaptioningPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleCaptioningPreferenceFragment.java index a0835d2..3934646 100644 --- a/src/com/android/settings/accessibility/ToggleCaptioningPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleCaptioningPreferenceFragment.java @@ -29,7 +29,6 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.accessibility.CaptioningManager; -import android.view.accessibility.CaptioningManager.CaptionStyle; import com.android.internal.widget.SubtitleView; import com.android.settings.R; @@ -38,8 +37,19 @@ import com.android.settings.accessibility.ToggleSwitch.OnBeforeCheckedChangeList import java.util.Locale; public class ToggleCaptioningPreferenceFragment extends Fragment { + private static final float DEFAULT_FONT_SIZE = 48f; + private CaptionPropertiesFragment mPropsFragment; private SubtitleView mPreviewText; + private CaptioningManager mCaptioningManager; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mCaptioningManager = (CaptioningManager) getActivity() + .getSystemService(Context.CAPTIONING_SERVICE); + } @Override public View onCreateView( @@ -74,10 +84,10 @@ public class ToggleCaptioningPreferenceFragment extends Fragment { if (preview != null) { final Activity activity = getActivity(); final ContentResolver cr = activity.getContentResolver(); - final int styleId = CaptionStyle.getRawPreset(cr); - applyCaptionProperties(preview, styleId); + final int styleId = mCaptioningManager.getRawUserStyle(); + applyCaptionProperties(mCaptioningManager, preview, styleId); - final Locale locale = CaptioningManager.getLocale(cr); + final Locale locale = mCaptioningManager.getLocale(); if (locale != null) { final CharSequence localizedText = AccessibilityUtils.getTextForLocale( activity, locale, R.string.captioning_preview_text); @@ -86,15 +96,16 @@ public class ToggleCaptioningPreferenceFragment extends Fragment { } } - public static void applyCaptionProperties(SubtitleView previewText, int styleId) { + public static void applyCaptionProperties( + CaptioningManager manager, SubtitleView previewText, int styleId) { previewText.setStyle(styleId); final Context context = previewText.getContext(); final ContentResolver cr = context.getContentResolver(); - final float fontSize = CaptioningManager.getFontSize(cr); - previewText.setTextSize(fontSize); + final float fontScale = manager.getFontScale(); + previewText.setTextSize(fontScale * DEFAULT_FONT_SIZE); - final Locale locale = CaptioningManager.getLocale(cr); + final Locale locale = manager.getLocale(); if (locale != null) { final CharSequence localizedText = AccessibilityUtils.getTextForLocale( context, locale, R.string.captioning_preview_characters); @@ -118,7 +129,7 @@ public class ToggleCaptioningPreferenceFragment extends Fragment { Gravity.CENTER_VERTICAL | Gravity.END); actionBar.setCustomView(toggleSwitch, params); - final boolean enabled = CaptioningManager.isEnabled(getActivity().getContentResolver()); + final boolean enabled = mCaptioningManager.isEnabled(); mPropsFragment.getPreferenceScreen().setEnabled(enabled); mPreviewText.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); toggleSwitch.setCheckedInternal(enabled); |