diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2012-09-26 16:34:44 -0700 |
---|---|---|
committer | Teng-Hui Zhu <ztenghui@google.com> | 2012-09-27 12:19:00 -0700 |
commit | 028ecd4e3bbd68c3b5b2fb91d3e7a666bc151765 (patch) | |
tree | 3114413c4f24ce33a5ec5d7d6c560f5cac235722 | |
parent | 8f6dc9eab9feca563b08400a7ebd74fb5d0e3075 (diff) | |
download | android_packages_apps_Gallery2-028ecd4e3bbd68c3b5b2fb91d3e7a666bc151765.tar.gz android_packages_apps_Gallery2-028ecd4e3bbd68c3b5b2fb91d3e7a666bc151765.tar.bz2 android_packages_apps_Gallery2-028ecd4e3bbd68c3b5b2fb91d3e7a666bc151765.zip |
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
-rw-r--r-- | res/layout/trim_menu.xml | 30 | ||||
-rw-r--r-- | res/menu/trim.xml | 21 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/TrimVideo.java | 61 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/TrimVideoUtils.java (renamed from src/com/android/gallery3d/app/ShortenExample.java) | 4 |
4 files changed, 57 insertions, 59 deletions
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 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_centerVertical="true"> + <TextView + android:id="@+id/start_trim" + android:layout_marginLeft="8dp" + android:layout_width="wrap_content" + android:layout_height="match_parent" + android:text="@string/done" + android:gravity="left|center_vertical" + android:drawableLeft="@drawable/ic_menu_save_holo_light" + android:drawablePadding="8dp" /> +</FrameLayout> 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 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2012 Google Inc. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<menu xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:id="@+id/action_trim_video" - android:title="@string/done" - android:enabled="true" - android:showAsAction="ifRoom" /> -</menu> 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 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()); |