OSDN Git Service

Fix 6385004 When video playback in gallery is launched from another app, Up should...
authorRay Chen <raychen@google.com>
Thu, 17 May 2012 04:15:08 +0000 (12:15 +0800)
committerRay Chen <raychen@google.com>
Mon, 21 May 2012 06:16:52 +0000 (14:16 +0800)
Change-Id: Id0c43872386cc0272bc76d37a9c866d5ffae700f
b: 6385004

src/com/android/gallery3d/app/MovieActivity.java
src/com/android/gallery3d/app/PhotoPage.java

index 629894a..8dd69e4 100644 (file)
@@ -51,11 +51,13 @@ import com.android.gallery3d.common.Utils;
 public class MovieActivity extends Activity {
     @SuppressWarnings("unused")
     private static final String TAG = "MovieActivity";
-    private static final String KEY_LOGO_BITMAP = "logo-bitmap";
+    public static final String KEY_LOGO_BITMAP = "logo-bitmap";
+    public static final String KEY_TREAT_UP_AS_BACK = "treat-up-as-back";
 
     private MoviePlayer mPlayer;
     private boolean mFinishOnCompletion;
     private Uri mUri;
+    private boolean mTreatUpAsBack;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -71,6 +73,7 @@ public class MovieActivity extends Activity {
         initializeActionBar(intent);
         mFinishOnCompletion = intent.getBooleanExtra(
                 MediaStore.EXTRA_FINISH_ON_COMPLETION, true);
+        mTreatUpAsBack = intent.getBooleanExtra(KEY_TREAT_UP_AS_BACK, false);
         mPlayer = new MoviePlayer(rootView, this, intent.getData(), savedInstanceState,
                 !mFinishOnCompletion) {
             @Override
@@ -159,7 +162,12 @@ public class MovieActivity extends Activity {
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (item.getItemId() == android.R.id.home) {
-            finish();
+            if (mTreatUpAsBack) {
+                finish();
+            } else {
+                startActivity(new Intent(this, Gallery.class));
+                finish();
+            }
             return true;
         }
         return false;
index eee7197..ea3badc 100644 (file)
@@ -695,8 +695,9 @@ public class PhotoPage extends ActivityState implements
     public static void playVideo(Activity activity, Uri uri, String title) {
         try {
             Intent intent = new Intent(Intent.ACTION_VIEW)
-                    .setDataAndType(uri, "video/*");
-            intent.putExtra(Intent.EXTRA_TITLE, title);
+                    .setDataAndType(uri, "video/*")
+                    .putExtra(Intent.EXTRA_TITLE, title)
+                    .putExtra(MovieActivity.KEY_TREAT_UP_AS_BACK, true);
             activity.startActivityForResult(intent, REQUEST_PLAY_VIDEO);
         } catch (ActivityNotFoundException e) {
             Toast.makeText(activity, activity.getString(R.string.video_err),