summaryrefslogtreecommitdiffstats
path: root/src/org/codeaurora/gallery3d/video/LoopVideoHooker.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/codeaurora/gallery3d/video/LoopVideoHooker.java')
-rw-r--r--src/org/codeaurora/gallery3d/video/LoopVideoHooker.java60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/org/codeaurora/gallery3d/video/LoopVideoHooker.java b/src/org/codeaurora/gallery3d/video/LoopVideoHooker.java
new file mode 100644
index 000000000..004254856
--- /dev/null
+++ b/src/org/codeaurora/gallery3d/video/LoopVideoHooker.java
@@ -0,0 +1,60 @@
+package org.codeaurora.gallery3d.video;
+
+import android.view.Menu;
+import android.view.MenuItem;
+
+import com.android.gallery3d.R;
+import org.codeaurora.gallery3d.ext.MovieUtils;
+
+public class LoopVideoHooker extends MovieHooker {
+
+ private static final String TAG = "LoopVideoHooker";
+ private static final boolean LOG = false;
+ private static final int MENU_LOOP = 1;
+
+ private MenuItem mMenuLoopButton;
+
+ @Override
+ public boolean onCreateOptionsMenu(final Menu menu) {
+ super.onCreateOptionsMenu(menu);
+ mMenuLoopButton = menu.add(0, getMenuActivityId(MENU_LOOP), 0, R.string.loop);
+ return true;
+ }
+
+ @Override
+ public boolean onPrepareOptionsMenu(final Menu menu) {
+ super.onPrepareOptionsMenu(menu);
+ updateLoop();
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(final MenuItem item) {
+ super.onOptionsItemSelected(item);
+ switch (getMenuOriginalId(item.getItemId())) {
+ case MENU_LOOP:
+ getPlayer().setLoop(!getPlayer().getLoop());
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ private void updateLoop() {
+ if (mMenuLoopButton != null) {
+ if (MovieUtils.isLocalFile(getMovieItem().getUri(), getMovieItem().getMimeType())) {
+ mMenuLoopButton.setVisible(true);
+ } else {
+ mMenuLoopButton.setVisible(false);
+ }
+ final boolean newLoop = getPlayer().getLoop();
+ if (newLoop) {
+ mMenuLoopButton.setTitle(R.string.single);
+ mMenuLoopButton.setIcon(R.drawable.ic_menu_unloop);
+ } else {
+ mMenuLoopButton.setTitle(R.string.loop);
+ mMenuLoopButton.setIcon(R.drawable.ic_menu_loop);
+ }
+ }
+ }
+}