From 028ecd4e3bbd68c3b5b2fb91d3e7a666bc151765 Mon Sep 17 00:00:00 2001 From: Teng-Hui Zhu Date: Wed, 26 Sep 2012 16:34:44 -0700 Subject: [PATCH] Trimming: clean up the UI for trimming. Get rid of the home button and use the done button only in the action bar. Switch back to use system actionbar / activity. Rename the ShortenExample. bug:7093240 Change-Id: I61684e9723af12cecc212bbd911c23aab0258463 --- res/layout/trim_menu.xml | 30 +++++++++++ res/menu/trim.xml | 21 -------- src/com/android/gallery3d/app/TrimVideo.java | 61 +++++++++------------- .../{ShortenExample.java => TrimVideoUtils.java} | 4 +- 4 files changed, 57 insertions(+), 59 deletions(-) create mode 100644 res/layout/trim_menu.xml delete mode 100644 res/menu/trim.xml rename src/com/android/gallery3d/app/{ShortenExample.java => TrimVideoUtils.java} (97%) diff --git a/res/layout/trim_menu.xml b/res/layout/trim_menu.xml new file mode 100644 index 000000000..d2af918aa --- /dev/null +++ b/res/layout/trim_menu.xml @@ -0,0 +1,30 @@ + + + + + + diff --git a/res/menu/trim.xml b/res/menu/trim.xml deleted file mode 100644 index 57de58924..000000000 --- a/res/menu/trim.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - diff --git a/src/com/android/gallery3d/app/TrimVideo.java b/src/com/android/gallery3d/app/TrimVideo.java index 1018ef691..23e56ba25 100644 --- a/src/com/android/gallery3d/app/TrimVideo.java +++ b/src/com/android/gallery3d/app/TrimVideo.java @@ -16,6 +16,8 @@ package com.android.gallery3d.app; +import android.app.ActionBar; +import android.app.Activity; import android.app.ProgressDialog; import android.content.ContentResolver; import android.content.ContentValues; @@ -29,17 +31,14 @@ import android.os.Environment; import android.os.Handler; import android.provider.MediaStore.Video; import android.provider.MediaStore.Video.VideoColumns; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; +import android.view.Window; +import android.widget.TextView; import android.widget.Toast; import android.widget.VideoView; -import com.actionbarsherlock.app.ActionBar; -import com.actionbarsherlock.app.SherlockActivity; -import com.actionbarsherlock.view.Menu; -import com.actionbarsherlock.view.MenuInflater; -import com.actionbarsherlock.view.MenuItem; -import com.actionbarsherlock.view.Window; import com.android.gallery3d.R; import com.android.gallery3d.util.BucketNames; @@ -48,7 +47,7 @@ import java.io.IOException; import java.sql.Date; import java.text.SimpleDateFormat; -public class TrimVideo extends SherlockActivity implements +public class TrimVideo extends Activity implements MediaPlayer.OnErrorListener, MediaPlayer.OnCompletionListener, ControllerOverlay.Listener { @@ -87,10 +86,23 @@ public class TrimVideo extends SherlockActivity implements requestWindowFeature(Window.FEATURE_ACTION_BAR); requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); - ActionBar actionBar = getSupportActionBar(); - int displayOptions = ActionBar.DISPLAY_HOME_AS_UP - | ActionBar.DISPLAY_SHOW_TITLE; + ActionBar actionBar = getActionBar(); + int displayOptions = ActionBar.DISPLAY_SHOW_HOME; + actionBar.setDisplayOptions(0, displayOptions); + displayOptions = ActionBar.DISPLAY_SHOW_CUSTOM; actionBar.setDisplayOptions(displayOptions, displayOptions); + actionBar.setCustomView(R.layout.trim_menu); + + TextView mSaveVideoTextView = (TextView) findViewById(R.id.start_trim); + mSaveVideoTextView.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + if (event.getAction() == MotionEvent.ACTION_UP) { + trimVideo(); + } + return true; + } + }); Intent intent = getIntent(); mUri = intent.getData(); @@ -212,14 +224,6 @@ public class TrimVideo extends SherlockActivity implements mController.showPaused(); } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - super.onCreateOptionsMenu(menu); - MenuInflater inflater = getSupportMenuInflater(); - inflater.inflate(R.menu.trim, menu); - return true; - }; - // Copy from SaveCopyTask.java in terms of how to handle the destination // path and filename : querySource() and getSaveDirectory(). private interface ContentResolverQueryCallback { @@ -246,9 +250,9 @@ public class TrimVideo extends SherlockActivity implements private File getSaveDirectory() { final File[] dir = new File[1]; querySource(new String[] { - VideoColumns.DATA }, new ContentResolverQueryCallback() { + VideoColumns.DATA }, new ContentResolverQueryCallback() { - @Override + @Override public void onCursorResult(Cursor cursor) { dir[0] = new File(cursor.getString(0)).getParentFile(); } @@ -256,19 +260,6 @@ public class TrimVideo extends SherlockActivity implements return dir[0]; } - @Override - public boolean onOptionsItemSelected(MenuItem item) { - int id = item.getItemId(); - if (id == android.R.id.home) { - finish(); - return true; - } else if (id == R.id.action_trim_video) { - trimVideo(); - return true; - } - return false; - } - private void trimVideo() { // Use the default save directory if the source directory cannot be // saved. @@ -292,7 +283,7 @@ public class TrimVideo extends SherlockActivity implements @Override public void run() { try { - ShortenExample.main(null, mSrcFile, mDstFile, mTrimStartTime, mTrimEndTime); + TrimVideoUtils.startTrim(mSrcFile, mDstFile, mTrimStartTime, mTrimEndTime); } catch (IOException e) { e.printStackTrace(); } @@ -354,7 +345,6 @@ public class TrimVideo extends SherlockActivity implements // Copy some info from the source file. querySource(projection, new ContentResolverQueryCallback() { - @Override public void onCursorResult(Cursor cursor) { values.put(Video.Media.DATE_TAKEN, cursor.getLong(0)); @@ -405,7 +395,6 @@ public class TrimVideo extends SherlockActivity implements public void onShown() { } - @Override public void onHidden() { } diff --git a/src/com/android/gallery3d/app/ShortenExample.java b/src/com/android/gallery3d/app/TrimVideoUtils.java similarity index 97% rename from src/com/android/gallery3d/app/ShortenExample.java rename to src/com/android/gallery3d/app/TrimVideoUtils.java index 0ac78d935..ae9b1e9ce 100644 --- a/src/com/android/gallery3d/app/ShortenExample.java +++ b/src/com/android/gallery3d/app/TrimVideoUtils.java @@ -39,9 +39,9 @@ import java.util.List; /** * Shortens/Crops a track */ -public class ShortenExample { +public class TrimVideoUtils { - public static void main(String[] args, File src, File dst, int startMs, int endMs) throws IOException { + public static void startTrim(File src, File dst, int startMs, int endMs) throws IOException { RandomAccessFile randomAccessFile = new RandomAccessFile(src, "r"); Movie movie = MovieCreator.build(randomAccessFile.getChannel()); -- 2.11.0