Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92054079 authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Add caption window color attribute"

parents 84c3d2a7 55d70620
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -29919,6 +29919,7 @@ package android.view.accessibility {
    field public final int edgeColor;
    field public final int edgeType;
    field public final int foregroundColor;
    field public final int windowColor;
  }
  public static abstract class CaptioningManager.CaptioningChangeListener {
+10 −0
Original line number Diff line number Diff line
@@ -3740,6 +3740,16 @@ public final class Settings {
        public static final String ACCESSIBILITY_CAPTIONING_EDGE_COLOR =
                "accessibility_captioning_edge_color";

        /**
         * Integer property that specifes the window color for captions as a
         * packed 32-bit color.
         *
         * @see android.graphics.Color#argb
         * @hide
         */
        public static final String ACCESSIBILITY_CAPTIONING_WINDOW_COLOR =
                "accessibility_captioning_window_color";

        /**
         * String property that specifies the typeface for captions, one of:
         * <ul>
+17 −11
Original line number Diff line number Diff line
@@ -293,6 +293,9 @@ public class CaptioningManager {
         */
        public final int edgeColor;

        /** The preferred window color for video captions. */
        public final int windowColor;

        /**
         * @hide
         */
@@ -301,11 +304,12 @@ public class CaptioningManager {
        private Typeface mParsedTypeface;

        private CaptionStyle(int foregroundColor, int backgroundColor, int edgeType, int edgeColor,
                String rawTypeface) {
                int windowColor, String rawTypeface) {
            this.foregroundColor = foregroundColor;
            this.backgroundColor = backgroundColor;
            this.edgeType = edgeType;
            this.edgeColor = edgeColor;
            this.windowColor = windowColor;

            mRawTypeface = rawTypeface;
        }
@@ -334,25 +338,27 @@ public class CaptioningManager {
                    cr, Secure.ACCESSIBILITY_CAPTIONING_EDGE_TYPE, defStyle.edgeType);
            final int edgeColor = Secure.getInt(
                    cr, Secure.ACCESSIBILITY_CAPTIONING_EDGE_COLOR, defStyle.edgeColor);
            final int windowColor = Secure.getInt(
                    cr, Secure.ACCESSIBILITY_CAPTIONING_WINDOW_COLOR, defStyle.windowColor);

            String rawTypeface = Secure.getString(cr, Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE);
            if (rawTypeface == null) {
                rawTypeface = defStyle.mRawTypeface;
            }

            return new CaptionStyle(
                    foregroundColor, backgroundColor, edgeType, edgeColor, rawTypeface);
            return new CaptionStyle(foregroundColor, backgroundColor, edgeType, edgeColor,
                    windowColor, rawTypeface);
        }

        static {
            WHITE_ON_BLACK = new CaptionStyle(
                    Color.WHITE, Color.BLACK, EDGE_TYPE_NONE, Color.BLACK, null);
            BLACK_ON_WHITE = new CaptionStyle(
                    Color.BLACK, Color.WHITE, EDGE_TYPE_NONE, Color.BLACK, null);
            YELLOW_ON_BLACK = new CaptionStyle(
                    Color.YELLOW, Color.BLACK, EDGE_TYPE_NONE, Color.BLACK, null);
            YELLOW_ON_BLUE = new CaptionStyle(
                    Color.YELLOW, Color.BLUE, EDGE_TYPE_NONE, Color.BLACK, null);
            WHITE_ON_BLACK = new CaptionStyle(Color.WHITE, Color.BLACK, EDGE_TYPE_NONE,
                    Color.BLACK, Color.TRANSPARENT, null);
            BLACK_ON_WHITE = new CaptionStyle(Color.BLACK, Color.WHITE, EDGE_TYPE_NONE,
                    Color.BLACK, Color.TRANSPARENT, null);
            YELLOW_ON_BLACK = new CaptionStyle(Color.YELLOW, Color.BLACK, EDGE_TYPE_NONE,
                    Color.BLACK, Color.TRANSPARENT, null);
            YELLOW_ON_BLUE = new CaptionStyle(Color.YELLOW, Color.BLUE, EDGE_TYPE_NONE,
                    Color.BLACK, Color.TRANSPARENT, null);

            PRESETS = new CaptionStyle[] {
                    WHITE_ON_BLACK, BLACK_ON_WHITE, YELLOW_ON_BLACK, YELLOW_ON_BLUE
+4 −0
Original line number Diff line number Diff line
@@ -1525,6 +1525,8 @@ class WebVttRenderingWidget extends ViewGroup implements SubtitleTrack.Rendering

            if (DEBUG) {
                setBackgroundColor(DEBUG_REGION_BACKGROUND);
            } else {
                setBackgroundColor(captionStyle.windowColor);
            }
        }

@@ -1537,6 +1539,8 @@ class WebVttRenderingWidget extends ViewGroup implements SubtitleTrack.Rendering
                final CueLayout cueBox = mRegionCueBoxes.get(i);
                cueBox.setCaptionStyle(captionStyle, fontSize);
            }

            setBackgroundColor(captionStyle.windowColor);
        }

        /**