summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r--src/com/android/gallery3d/app/AlbumPage.java9
-rw-r--r--src/com/android/gallery3d/app/MovieActivity.java28
-rw-r--r--src/com/android/gallery3d/data/ComboAlbum.java5
-rw-r--r--src/com/android/gallery3d/ui/ActionModeHandler.java39
-rw-r--r--src/com/android/gallery3d/ui/MenuExecutor.java22
5 files changed, 65 insertions, 38 deletions
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java
index faaa800b5..eecb8e285 100644
--- a/src/com/android/gallery3d/app/AlbumPage.java
+++ b/src/com/android/gallery3d/app/AlbumPage.java
@@ -104,8 +104,8 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
private Future<Integer> mSyncTask = null;
- private GLView mRootPane = new GLView() {
- private float mMatrix[] = new float[16];
+ private final GLView mRootPane = new GLView() {
+ private final float mMatrix[] = new float[16];
@Override
protected void onLayout(
@@ -195,6 +195,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
}
} else {
mSelectionManager.toggle(item.getPath());
+ mDetailsSource.findIndex(slotIndex);
mAlbumView.invalidate();
}
}
@@ -288,7 +289,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
final PositionRepository repository =
PositionRepository.getInstance(mActivity);
mAlbumView.startTransition(new PositionProvider() {
- private Position mTempPosition = new Position();
+ private final Position mTempPosition = new Position();
public Position getPosition(long identity, Position target) {
Position p = repository.get(identity);
if (p != null) return p;
@@ -307,7 +308,7 @@ public class AlbumPage extends ActivityState implements GalleryActionBar.Cluster
: data.getIntArray(KEY_SET_CENTER);
final Random random = new Random();
mAlbumView.startTransition(new PositionProvider() {
- private Position mTempPosition = new Position();
+ private final Position mTempPosition = new Position();
public Position getPosition(long identity, Position target) {
Position p = repository.get(identity);
if (p != null) return p;
diff --git a/src/com/android/gallery3d/app/MovieActivity.java b/src/com/android/gallery3d/app/MovieActivity.java
index 1950549e3..95e0c74d3 100644
--- a/src/com/android/gallery3d/app/MovieActivity.java
+++ b/src/com/android/gallery3d/app/MovieActivity.java
@@ -16,21 +16,24 @@
package com.android.gallery3d.app;
-import com.android.gallery3d.R;
-
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.database.Cursor;
import android.media.AudioManager;
+import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.provider.MediaStore.Video.VideoColumns;
+import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
+import android.widget.ShareActionProvider;
+
+import com.android.gallery3d.R;
/**
* This activity plays a video from a specified URI.
@@ -41,6 +44,7 @@ public class MovieActivity extends Activity {
private MoviePlayer mPlayer;
private boolean mFinishOnCompletion;
+ private Uri mUri;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -84,10 +88,11 @@ public class MovieActivity extends Activity {
actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP,
ActionBar.DISPLAY_HOME_AS_UP);
String title = intent.getStringExtra(Intent.EXTRA_TITLE);
+ mUri = intent.getData();
if (title == null) {
Cursor cursor = null;
try {
- cursor = getContentResolver().query(intent.getData(),
+ cursor = getContentResolver().query(mUri,
new String[] {VideoColumns.TITLE}, null, null, null);
if (cursor != null && cursor.moveToNext()) {
title = cursor.getString(0);
@@ -102,6 +107,23 @@ public class MovieActivity extends Activity {
}
@Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ super.onCreateOptionsMenu(menu);
+
+ getMenuInflater().inflate(R.menu.movie, menu);
+ ShareActionProvider provider = GalleryActionBar.initializeShareActionProvider(menu);
+
+ if (provider != null) {
+ Intent intent = new Intent(Intent.ACTION_SEND);
+ intent.setType("video/*");
+ intent.putExtra(Intent.EXTRA_STREAM, mUri);
+ provider.setShareIntent(intent);
+ }
+
+ return true;
+ }
+
+ @Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
finish();
diff --git a/src/com/android/gallery3d/data/ComboAlbum.java b/src/com/android/gallery3d/data/ComboAlbum.java
index 69ab62e53..1918453b6 100644
--- a/src/com/android/gallery3d/data/ComboAlbum.java
+++ b/src/com/android/gallery3d/data/ComboAlbum.java
@@ -67,6 +67,11 @@ public class ComboAlbum extends MediaSet implements ContentListener {
}
@Override
+ public boolean isLeafAlbum() {
+ return true;
+ }
+
+ @Override
public String getName() {
return mName;
}
diff --git a/src/com/android/gallery3d/ui/ActionModeHandler.java b/src/com/android/gallery3d/ui/ActionModeHandler.java
index b8d049b22..b96932ec2 100644
--- a/src/com/android/gallery3d/ui/ActionModeHandler.java
+++ b/src/com/android/gallery3d/ui/ActionModeHandler.java
@@ -16,20 +16,6 @@
package com.android.gallery3d.ui;
-import com.android.gallery3d.R;
-import com.android.gallery3d.app.GalleryActionBar;
-import com.android.gallery3d.app.GalleryActivity;
-import com.android.gallery3d.common.Utils;
-import com.android.gallery3d.data.DataManager;
-import com.android.gallery3d.data.MediaObject;
-import com.android.gallery3d.data.Path;
-import com.android.gallery3d.ui.CustomMenu.DropDownMenu;
-import com.android.gallery3d.ui.MenuExecutor.ProgressListener;
-import com.android.gallery3d.util.Future;
-import com.android.gallery3d.util.GalleryUtils;
-import com.android.gallery3d.util.ThreadPool.Job;
-import com.android.gallery3d.util.ThreadPool.JobContext;
-
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
@@ -42,9 +28,23 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
+import android.widget.ShareActionProvider;
import android.widget.PopupMenu.OnMenuItemClickListener;
import android.widget.ShareActionProvider.OnShareTargetSelectedListener;
-import android.widget.ShareActionProvider;
+
+import com.android.gallery3d.R;
+import com.android.gallery3d.app.GalleryActionBar;
+import com.android.gallery3d.app.GalleryActivity;
+import com.android.gallery3d.common.Utils;
+import com.android.gallery3d.data.DataManager;
+import com.android.gallery3d.data.MediaObject;
+import com.android.gallery3d.data.Path;
+import com.android.gallery3d.ui.CustomMenu.DropDownMenu;
+import com.android.gallery3d.ui.MenuExecutor.ProgressListener;
+import com.android.gallery3d.util.Future;
+import com.android.gallery3d.util.GalleryUtils;
+import com.android.gallery3d.util.ThreadPool.Job;
+import com.android.gallery3d.util.ThreadPool.JobContext;
import java.util.ArrayList;
@@ -65,7 +65,7 @@ public class ActionModeHandler implements ActionMode.Callback {
private DropDownMenu mSelectionMenu;
private ActionModeListener mListener;
private Future<?> mMenuTask;
- private Handler mMainHandler;
+ private final Handler mMainHandler;
private ShareActionProvider mShareActionProvider;
public ActionModeHandler(
@@ -175,7 +175,6 @@ public class ActionModeHandler implements ActionMode.Callback {
// e.g. LocalImage can be rotated but collections of them (LocalAlbum) can't.
private void updateMenuOptions(JobContext jc) {
ArrayList<Path> paths = mSelectionManager.getSelected(false);
- if (paths.size() == 0) return;
int operation = MediaObject.SUPPORT_ALL;
DataManager manager = mActivity.getDataManager();
@@ -188,7 +187,9 @@ public class ActionModeHandler implements ActionMode.Callback {
}
final String mimeType = MenuExecutor.getMimeType(type);
- if (paths.size() == 1) {
+ if (paths.size() == 0) {
+ operation = 0;
+ } else if (paths.size() == 1) {
if (!GalleryUtils.isEditorAvailable((Context) mActivity, mimeType)) {
operation &= ~MediaObject.SUPPORT_EDIT;
}
@@ -286,6 +287,6 @@ public class ActionModeHandler implements ActionMode.Callback {
}
public void resume() {
- updateSupportedOperation();
+ if (mSelectionManager.inSelectionMode()) updateSupportedOperation();
}
}
diff --git a/src/com/android/gallery3d/ui/MenuExecutor.java b/src/com/android/gallery3d/ui/MenuExecutor.java
index 54c4e7693..918feead9 100644
--- a/src/com/android/gallery3d/ui/MenuExecutor.java
+++ b/src/com/android/gallery3d/ui/MenuExecutor.java
@@ -16,6 +16,16 @@
package com.android.gallery3d.ui;
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
+import android.os.Message;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.widget.Toast;
+
import com.android.gallery3d.R;
import com.android.gallery3d.app.CropImage;
import com.android.gallery3d.app.GalleryActivity;
@@ -29,18 +39,6 @@ import com.android.gallery3d.util.GalleryUtils;
import com.android.gallery3d.util.ThreadPool.Job;
import com.android.gallery3d.util.ThreadPool.JobContext;
-import android.app.Activity;
-import android.app.ProgressDialog;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Message;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.widget.Toast;
-
import java.util.ArrayList;
public class MenuExecutor {