summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/accessibility
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2013-08-27 11:11:00 -0700
committerAlan Viverette <alanv@google.com>2013-08-27 11:11:00 -0700
commit5ea751e48fc3d7c25cf4e44ef5926e8e70979b5a (patch)
tree5b957c33d4491d688268a30954727159553bc371 /src/com/android/settings/accessibility
parent9066b9140c376cb1b66a3eee830d9dfa177c6056 (diff)
downloadpackages_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')
-rw-r--r--src/com/android/settings/accessibility/CaptionPropertiesFragment.java15
-rw-r--r--src/com/android/settings/accessibility/EdgeTypePreference.java15
-rw-r--r--src/com/android/settings/accessibility/PresetPreference.java13
-rw-r--r--src/com/android/settings/accessibility/ToggleCaptioningPreferenceFragment.java29
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);