diff --git a/res/layout/captioning_preview.xml b/res/layout/captioning_preview.xml index b90c3a5c296..d8d2e4fbc5d 100644 --- a/res/layout/captioning_preview.xml +++ b/res/layout/captioning_preview.xml @@ -15,41 +15,32 @@ limitations under the License. --> - + android:layout_height="wrap_content"> + + + android:layout_height="wrap_content" + android:layout_gravity="bottom|start" + android:padding="16dp"> - - - - - - + android:text="@string/captioning_preview_text"/> - - - - + diff --git a/res/layout/magnification_video_preference.xml b/res/layout/magnification_video_preference.xml index fe7f26fe2de..ff7089c8389 100644 --- a/res/layout/magnification_video_preference.xml +++ b/res/layout/magnification_video_preference.xml @@ -16,7 +16,9 @@ + android:layout_height="wrap_content" + android:clipChildren="true" + android:clipToPadding="true"> + + diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java index ae7e3fdb4fb..bddca9cead7 100644 --- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java +++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java @@ -22,13 +22,8 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.os.Bundle; -import android.preference.PreferenceFrameLayout; import android.provider.Settings; -import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnLayoutChangeListener; -import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; import android.view.accessibility.CaptioningManager; import android.view.accessibility.CaptioningManager.CaptionStyle; @@ -46,6 +41,7 @@ import com.android.settings.widget.SwitchBar; import com.android.settings.widget.ToggleSwitch; import com.android.settings.widget.ToggleSwitch.OnBeforeCheckedChangeListener; import com.android.settingslib.accessibility.AccessibilityUtils; +import com.android.settingslib.widget.LayoutPreference; import java.util.Locale; @@ -54,6 +50,7 @@ import java.util.Locale; */ public class CaptionPropertiesFragment extends SettingsPreferenceFragment implements OnPreferenceChangeListener, OnValueChangedListener { + private static final String PREF_CAPTION_PREVIEW = "caption_preview"; private static final String PREF_BACKGROUND_COLOR = "captioning_background_color"; private static final String PREF_BACKGROUND_OPACITY = "captioning_background_opacity"; private static final String PREF_FOREGROUND_COLOR = "captioning_foreground_color"; @@ -115,43 +112,6 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment installUpdateListeners(); } - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - final View rootView = inflater.inflate(R.layout.captioning_preview, container, false); - - // We have to do this now because PreferenceFrameLayout looks at it - // only when the view is added. - if (container instanceof PreferenceFrameLayout) { - ((PreferenceFrameLayout.LayoutParams) rootView.getLayoutParams()).removeBorders = true; - } - - final View content = super.onCreateView(inflater, container, savedInstanceState); - ((ViewGroup) rootView.findViewById(R.id.properties_fragment)).addView( - content, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); - - return rootView; - } - - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - - final boolean enabled = mCaptioningManager.isEnabled(); - mPreviewText = (SubtitleView) view.findViewById(R.id.preview_text); - mPreviewText.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); - - mPreviewWindow = view.findViewById(R.id.preview_window); - mPreviewViewport = view.findViewById(R.id.preview_viewport); - mPreviewViewport.addOnLayoutChangeListener(new OnLayoutChangeListener() { - @Override - public void onLayoutChange(View v, int left, int top, int right, int bottom, - int oldLeft, int oldTop, int oldRight, int oldBottom) { - refreshPreviewText(); - } - }); - } - @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); @@ -263,6 +223,19 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment } private void initializeAllPreferences() { + final LayoutPreference captionPreview = findPreference(PREF_CAPTION_PREVIEW); + + final boolean enabled = mCaptioningManager.isEnabled(); + mPreviewText = captionPreview.findViewById(R.id.preview_text); + mPreviewText.setVisibility(enabled ? View.VISIBLE : View.INVISIBLE); + + mPreviewWindow = captionPreview.findViewById(R.id.preview_window); + + mPreviewViewport = captionPreview.findViewById(R.id.preview_viewport); + mPreviewViewport.addOnLayoutChangeListener( + (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) + -> refreshPreviewText()); + mLocale = (LocalePreference) findPreference(PREF_LOCALE); mFontSize = (ListPreference) findPreference(PREF_FONT_SIZE); @@ -370,9 +343,9 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment /** * Unpack the specified color value and update the preferences. * - * @param color color preference + * @param color color preference * @param opacity opacity preference - * @param value packed value + * @param value packed value */ private void parseColorOpacity(ColorPreference color, ColorPreference opacity, int value) { final int colorValue;