OSDN Git Service

When video not seekable, don't show the scrubber
authorztenghui <ztenghui@google.com>
Wed, 17 Apr 2013 21:41:05 +0000 (14:41 -0700)
committerztenghui <ztenghui@google.com>
Wed, 17 Apr 2013 21:47:02 +0000 (14:47 -0700)
bug:7117365

Change-Id: I133ea68eaebf1d875a27336ac524d785efe71cc2

src/com/android/gallery3d/app/CommonControllerOverlay.java
src/com/android/gallery3d/app/MoviePlayer.java
src/com/android/gallery3d/app/TimeBar.java

index a4f5807..9adb4e7 100644 (file)
@@ -66,6 +66,10 @@ public abstract class CommonControllerOverlay extends FrameLayout implements
 
     protected boolean mCanReplay = true;
 
+    public void setSeekable(boolean canSeek) {
+        mTimeBar.setSeekable(canSeek);
+    }
+
     public CommonControllerOverlay(Context context) {
         super(context);
 
index 00e4cd6..ce91834 100644 (file)
@@ -25,7 +25,6 @@ import android.content.DialogInterface.OnCancelListener;
 import android.content.DialogInterface.OnClickListener;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.graphics.Color;
 import android.media.AudioManager;
 import android.media.MediaPlayer;
 import android.net.Uri;
@@ -135,6 +134,17 @@ public class MoviePlayer implements
                 return true;
             }
         });
+        mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
+            @Override
+            public void onPrepared(MediaPlayer player) {
+                if (!mVideoView.canSeekForward() || !mVideoView.canSeekBackward()) {
+                    mController.setSeekable(false);
+                } else {
+                    mController.setSeekable(true);
+                }
+                setProgress();
+            }
+        });
 
         // The SurfaceView is transparent before drawing the first frame.
         // This makes the UI flashing when open a video. (black -> old screen
index 402dfcf..246346a 100644 (file)
@@ -259,4 +259,8 @@ public class TimeBar extends View {
         }
     }
 
+    public void setSeekable(boolean canSeek) {
+        mShowScrubber = canSeek;
+    }
+
 }