summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2013-09-25 15:26:57 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-25 15:26:57 -0700
commite4b0a9a940a122a37dafd79fc3c251c450b0519d (patch)
treee307905b0e155b82f027499c9c26268d7a98a57f /media
parenta18b561dee13b6da5d309720c1c7b6c0bd47174c (diff)
parent607ea331ebe6f133a7e95a0e37d4c00085646708 (diff)
downloadframeworks_base-e4b0a9a940a122a37dafd79fc3c251c450b0519d.zip
frameworks_base-e4b0a9a940a122a37dafd79fc3c251c450b0519d.tar.gz
frameworks_base-e4b0a9a940a122a37dafd79fc3c251c450b0519d.tar.bz2
am 607ea331: am 812b6426: Merge "Fix caption rendering" into klp-dev
* commit '607ea331ebe6f133a7e95a0e37d4c00085646708': Fix caption rendering
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/WebVttRenderer.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/media/java/android/media/WebVttRenderer.java b/media/java/android/media/WebVttRenderer.java
index f0bbdb1..b09c5bd 100644
--- a/media/java/android/media/WebVttRenderer.java
+++ b/media/java/android/media/WebVttRenderer.java
@@ -17,6 +17,7 @@
package android.media;
import android.content.Context;
+import android.text.Layout.Alignment;
import android.text.SpannableStringBuilder;
import android.util.ArrayMap;
import android.util.AttributeSet;
@@ -1587,6 +1588,7 @@ class WebVttRenderingWidget extends ViewGroup implements SubtitleTrack.Rendering
}
final CueLayout cueBox = new CueLayout(getContext(), cue, mCaptionStyle, mFontSize);
+ mRegionCueBoxes.add(cueBox);
addView(cueBox, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
if (getChildCount() > mRegion.mLines) {
@@ -1700,12 +1702,27 @@ class WebVttRenderingWidget extends ViewGroup implements SubtitleTrack.Rendering
removeAllViews();
+ final int cueAlignment = resolveCueAlignment(getLayoutDirection(), mCue.mAlignment);
+ final Alignment alignment;
+ switch (cueAlignment) {
+ case TextTrackCue.ALIGNMENT_LEFT:
+ alignment = Alignment.ALIGN_LEFT;
+ break;
+ case TextTrackCue.ALIGNMENT_RIGHT:
+ alignment = Alignment.ALIGN_RIGHT;
+ break;
+ case TextTrackCue.ALIGNMENT_MIDDLE:
+ default:
+ alignment = Alignment.ALIGN_CENTER;
+ }
+
final CaptionStyle captionStyle = mCaptionStyle;
final float fontSize = mFontSize;
final TextTrackCueSpan[][] lines = mCue.mLines;
final int lineCount = lines.length;
for (int i = 0; i < lineCount; i++) {
final SpanLayout lineBox = new SpanLayout(getContext(), lines[i]);
+ lineBox.setAlignment(alignment);
lineBox.setCaptionStyle(captionStyle, fontSize);
addView(lineBox, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);