diff options
author | Alan Viverette <alanv@google.com> | 2013-09-25 15:26:57 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-09-25 15:26:57 -0700 |
commit | e4b0a9a940a122a37dafd79fc3c251c450b0519d (patch) | |
tree | e307905b0e155b82f027499c9c26268d7a98a57f /media | |
parent | a18b561dee13b6da5d309720c1c7b6c0bd47174c (diff) | |
parent | 607ea331ebe6f133a7e95a0e37d4c00085646708 (diff) | |
download | frameworks_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.java | 17 |
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); |