From 634248d313c88f14ff851e7b6769b432ce45e15e Mon Sep 17 00:00:00 2001 From: ztenghui Date: Tue, 16 Apr 2013 13:52:07 -0700 Subject: [PATCH] Add accessibility to video player controller. bug:5714277 Change-Id: If0de1ec250a211890e1914d89e8b61780542a675 --- res/values/strings.xml | 9 +++++++++ .../gallery3d/app/CommonControllerOverlay.java | 23 +++++++++++++++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 7f8e083f5..8fa8f3471 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -921,6 +921,15 @@ Review retake + + Play video + + Pause video + + Reload video + + Video player time bar + " " diff --git a/src/com/android/gallery3d/app/CommonControllerOverlay.java b/src/com/android/gallery3d/app/CommonControllerOverlay.java index a5aa805ef..a4f5807ae 100644 --- a/src/com/android/gallery3d/app/CommonControllerOverlay.java +++ b/src/com/android/gallery3d/app/CommonControllerOverlay.java @@ -17,6 +17,7 @@ package com.android.gallery3d.app; import android.content.Context; +import android.content.res.Resources; import android.graphics.Rect; import android.view.Gravity; import android.view.KeyEvent; @@ -83,7 +84,8 @@ public abstract class CommonControllerOverlay extends FrameLayout implements // multiple ones for trimming. createTimeBar(context); addView(mTimeBar, wrapContent); - + mTimeBar.setContentDescription( + context.getResources().getString(R.string.accessibility_time_bar)); mLoadingView = new LinearLayout(context); mLoadingView.setOrientation(LinearLayout.VERTICAL); mLoadingView.setGravity(Gravity.CENTER_HORIZONTAL); @@ -97,6 +99,8 @@ public abstract class CommonControllerOverlay extends FrameLayout implements mPlayPauseReplayView = new ImageView(context); mPlayPauseReplayView.setImageResource(R.drawable.ic_vidcontrol_play); + mPlayPauseReplayView.setContentDescription( + context.getResources().getString(R.string.accessibility_play_video)); mPlayPauseReplayView.setBackgroundResource(R.drawable.bg_vidcontrol); mPlayPauseReplayView.setScaleType(ScaleType.CENTER); mPlayPauseReplayView.setFocusable(true); @@ -299,10 +303,19 @@ public abstract class CommonControllerOverlay extends FrameLayout implements protected void updateViews() { mBackground.setVisibility(View.VISIBLE); mTimeBar.setVisibility(View.VISIBLE); - mPlayPauseReplayView.setImageResource( - mState == State.PAUSED ? R.drawable.ic_vidcontrol_play : - mState == State.PLAYING ? R.drawable.ic_vidcontrol_pause : - R.drawable.ic_vidcontrol_reload); + Resources resources = getContext().getResources(); + int imageResource = R.drawable.ic_vidcontrol_reload; + String contentDescription = resources.getString(R.string.accessibility_reload_video); + if (mState == State.PAUSED) { + imageResource = R.drawable.ic_vidcontrol_play; + contentDescription = resources.getString(R.string.accessibility_play_video); + } else if (mState == State.PLAYING) { + imageResource = R.drawable.ic_vidcontrol_pause; + contentDescription = resources.getString(R.string.accessibility_pause_video); + } + + mPlayPauseReplayView.setImageResource(imageResource); + mPlayPauseReplayView.setContentDescription(contentDescription); mPlayPauseReplayView.setVisibility( (mState != State.LOADING && mState != State.ERROR && !(mState == State.ENDED && !mCanReplay)) -- 2.11.0