diff options
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r-- | src/com/android/gallery3d/app/AlbumPage.java | 9 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/MovieActivity.java | 28 | ||||
-rw-r--r-- | src/com/android/gallery3d/data/ComboAlbum.java | 5 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/ActionModeHandler.java | 39 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/MenuExecutor.java | 22 |
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 { |