summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorzdi <zdi@codeaurora.org>2016-03-24 19:51:13 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-04-14 22:12:31 -0700
commit18d26cb32c2051ac38de63c9cf79fbee63d048a5 (patch)
tree5da4966b950fcb10da2d2ee30b59263f0a05824c /src
parent0e760ee5222ade8f3d0aaa4321d707fb76b90552 (diff)
downloadandroid_packages_apps_Gallery2-18d26cb32c2051ac38de63c9cf79fbee63d048a5.tar.gz
android_packages_apps_Gallery2-18d26cb32c2051ac38de63c9cf79fbee63d048a5.tar.bz2
android_packages_apps_Gallery2-18d26cb32c2051ac38de63c9cf79fbee63d048a5.zip
Gallery2: Modify live stream view according to UI spec.
Modify the UI of live stream according to UX specification document. Change-Id: Ibe13499288ab1896c0901825c556b4e9ad01bcd2 CRs-Fixed: 988695
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/app/MovieActivity.java9
-rw-r--r--src/com/android/gallery3d/app/MovieControllerOverlay.java7
-rw-r--r--src/com/android/gallery3d/app/MovieControllerOverlayNew.java61
-rwxr-xr-xsrc/com/android/gallery3d/app/MoviePlayer.java3
-rw-r--r--src/com/android/gallery3d/app/TimeBarNew.java10
5 files changed, 84 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/app/MovieActivity.java b/src/com/android/gallery3d/app/MovieActivity.java
index 01d8d26b7..8767248ff 100644
--- a/src/com/android/gallery3d/app/MovieActivity.java
+++ b/src/com/android/gallery3d/app/MovieActivity.java
@@ -61,6 +61,7 @@ import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.CompoundButton;
+import android.widget.ImageView;
import android.widget.ShareActionProvider;
import android.widget.ToggleButton;
import android.widget.Toast;
@@ -100,6 +101,7 @@ public class MovieActivity extends Activity {
private MoviePlayer mPlayer;
private boolean mFinishOnCompletion;
private Uri mUri;
+ private ImageView mLiveImg;
private static final short BASSBOOST_MAX_STRENGTH = 1000;
private static final short VIRTUALIZER_MAX_STRENGTH = 1000;
@@ -180,6 +182,8 @@ public class MovieActivity extends Activity {
setSystemUiVisibility(rootView);
+ mLiveImg = (ImageView) findViewById(R.id.img_live);
+
Intent intent = getIntent();
mMovieHooker = ExtensionHelper.getHooker(this);
@@ -262,6 +266,10 @@ public class MovieActivity extends Activity {
}
}
+ public ImageView getLiveImage() {
+ return mLiveImg;
+ }
+
private void initializeActionBar(Intent intent) {
mUri = intent.getData();
final ActionBar actionBar = getActionBar();
@@ -322,6 +330,7 @@ public class MovieActivity extends Activity {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.movie, menu);
MenuItem shareMenu = menu.findItem(R.id.action_share);
+ shareMenu.setVisible(false);
ShareActionProvider provider = (ShareActionProvider) shareMenu.getActionProvider();
mShareProvider = provider;
if (mShareProvider != null) {
diff --git a/src/com/android/gallery3d/app/MovieControllerOverlay.java b/src/com/android/gallery3d/app/MovieControllerOverlay.java
index 72b95fd38..82b01812e 100644
--- a/src/com/android/gallery3d/app/MovieControllerOverlay.java
+++ b/src/com/android/gallery3d/app/MovieControllerOverlay.java
@@ -66,7 +66,7 @@ public class MovieControllerOverlay extends CommonControllerOverlay implements
private ScreenModeManager mScreenModeManager;
protected ScreenModeExt mScreenModeExt = new ScreenModeExt();
- private ControllerRewindAndForwardExt mControllerRewindAndForwardExt = new ControllerRewindAndForwardExt();
+ protected ControllerRewindAndForwardExt mControllerRewindAndForwardExt = new ControllerRewindAndForwardExt();
private OverlayExtension mOverlayExt = new OverlayExtension();
private boolean hidden;
@@ -781,6 +781,10 @@ public class MovieControllerOverlay extends CommonControllerOverlay implements
private static final int BUTTON_PADDING = 40;
private int mTimeBarHeight = 0;
+ public ImageView getStopBtn() {
+ return mStop;
+ }
+
void init(Context context) {
Log.v(TAG, "ControllerRewindAndForwardExt init");
mTimeBarHeight = mTimeBar.getPreferredHeight();
@@ -815,7 +819,6 @@ public class MovieControllerOverlay extends CommonControllerOverlay implements
LinearLayout.LayoutParams stopLayoutParam = new LinearLayout.LayoutParams(
mTimeBarHeight, mTimeBarHeight);
stopLayoutParam.setMargins(BUTTON_PADDING, 0, BUTTON_PADDING, 0);
- mContollerButtons.addView(mStop, stopLayoutParam);
mForward = new ImageView(context);
mForward.setImageResource(R.drawable.icn_media_forward);
diff --git a/src/com/android/gallery3d/app/MovieControllerOverlayNew.java b/src/com/android/gallery3d/app/MovieControllerOverlayNew.java
index a11a74a51..135591c05 100644
--- a/src/com/android/gallery3d/app/MovieControllerOverlayNew.java
+++ b/src/com/android/gallery3d/app/MovieControllerOverlayNew.java
@@ -33,11 +33,27 @@ import android.content.Context;
import android.graphics.Rect;
import android.view.MotionEvent;
import android.view.View;
+import android.widget.ImageView;
+
+import com.android.gallery3d.R;
+
+import org.codeaurora.gallery3d.video.IControllerRewindAndForward;
public class MovieControllerOverlayNew extends MovieControllerOverlay {
+ private boolean mIsLive = false;
+ private ImageView mLiveImage;
+ private ImageView mStopBtn;
+
+ private int mLiveMargin;
+
public MovieControllerOverlayNew(Context context) {
super(context);
+ mLiveImage = ((MovieActivity) mContext).getLiveImage();
+ mStopBtn = mControllerRewindAndForwardExt.getStopBtn();
+ mLiveMargin = context.getResources().getDimensionPixelSize(
+ R.dimen.livestream_icon_padding);
+ addView(mStopBtn);
}
@Override
@@ -64,7 +80,7 @@ public class MovieControllerOverlayNew extends MovieControllerOverlay {
Rect insets = mWindowInsets;
int pr = insets.right;
int pb = insets.bottom;
-
+ int pt = insets.top;
int h = bottom - top;
int w = right - left;
@@ -72,11 +88,50 @@ public class MovieControllerOverlayNew extends MovieControllerOverlay {
mBackground.layout(0, y - mTimeBar.getPreferredHeight(), w, y);
mScreenModeExt.onLayout(w, pr, y);
+ if (mIsLive && mState != State.ENDED) {
+ if (mLiveImage != null) {
+ mLiveImage.setVisibility(View.VISIBLE);
+ mLiveImage.layout(width - mLiveImage.getWidth() - mLiveMargin, pt + mLiveMargin,
+ width - mLiveMargin, pt + mLiveMargin + mLiveImage.getHeight());
+ }
+ if (isPrepared()) {
+ mPlayPauseReplayView.setVisibility(View.GONE);
- mPlayPauseReplayView.layout(0, y - mTimeBar.getPreferredHeight(),
- mTimeBar.getPreferredHeight(), y);
+ if (mStopBtn != null) {
+ mStopBtn.setVisibility(View.VISIBLE);
+ mStopBtn.layout(0, y - mTimeBar.getPreferredHeight(),
+ mTimeBar.getPreferredHeight(), y);
+ }
+ }
+ } else {
+ mPlayPauseReplayView.setVisibility(View.VISIBLE);
+ if (mLiveImage != null) {
+ mLiveImage.setVisibility(View.GONE);
+ }
+ if (mStopBtn != null) {
+ mStopBtn.setVisibility(View.GONE);
+ }
+ mPlayPauseReplayView.layout(0, y - mTimeBar.getPreferredHeight(),
+ mTimeBar.getPreferredHeight(), y);
+ }
mTimeBar.layout(mTimeBar.getPreferredHeight(), y - mTimeBar.getPreferredHeight(),
width - mScreenModeExt.getAddedRightPadding(), y);
}
+ public void setLive(boolean live) {
+ mIsLive = live;
+ mTimeBar.setClickable(!mIsLive);
+ }
+
+ public IControllerRewindAndForward getControllerRewindAndForwardExt() {
+ return mControllerRewindAndForwardExt;
+ }
+
+ private boolean isPrepared() {
+ if ((mState == State.PLAYING || mState == State.BUFFERING || mState == State.LOADING)) {
+ return true;
+ }
+ return false;
+ }
+
}
diff --git a/src/com/android/gallery3d/app/MoviePlayer.java b/src/com/android/gallery3d/app/MoviePlayer.java
index 0ecc8bf20..1f6401ee5 100755
--- a/src/com/android/gallery3d/app/MoviePlayer.java
+++ b/src/com/android/gallery3d/app/MoviePlayer.java
@@ -121,7 +121,7 @@ public class MoviePlayer implements
private final Bookmarker mBookmarker;
private final Handler mHandler = new Handler();
private final AudioBecomingNoisyReceiver mAudioBecomingNoisyReceiver;
- private final MovieControllerOverlay mController;
+ private final MovieControllerOverlayNew mController;
private long mResumeableTime = Long.MAX_VALUE;
private int mVideoPosition = 0;
@@ -617,6 +617,7 @@ public class MoviePlayer implements
if ("http".equalsIgnoreCase(scheme) || "rtsp".equalsIgnoreCase(scheme)
|| "https".equalsIgnoreCase(scheme)) {
mController.showLoading();
+ mController.setLive(isLiveStreaming());
mOverlayExt.setPlayingInfo(isLiveStreaming());
mHandler.removeCallbacks(mPlayingChecker);
mHandler.postDelayed(mPlayingChecker, 250);
diff --git a/src/com/android/gallery3d/app/TimeBarNew.java b/src/com/android/gallery3d/app/TimeBarNew.java
index 9f57ef692..74a2b5cb6 100644
--- a/src/com/android/gallery3d/app/TimeBarNew.java
+++ b/src/com/android/gallery3d/app/TimeBarNew.java
@@ -30,6 +30,7 @@
package com.android.gallery3d.app;
import android.content.Context;
+import android.view.MotionEvent;
import com.android.gallery3d.R;
@@ -40,6 +41,7 @@ public class TimeBarNew extends TimeBar {
public TimeBarNew(Context context, Listener listener) {
super(context, listener);
mTimeBarHeight = context.getResources().getDimensionPixelSize(R.dimen.timebar_height);
+ this.setClickable(true);
}
@Override
@@ -51,4 +53,12 @@ public class TimeBarNew extends TimeBar {
public void setInfo(String info) {
// Do nothing here, show nothing in timeBar's info.
}
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ if (!isClickable()) {
+ return true;
+ }
+ return super.dispatchTouchEvent(event);
+ }
} \ No newline at end of file