diff options
-rw-r--r-- | res/values/strings.xml | 3 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/TrimVideo.java | 22 |
2 files changed, 25 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 13027efd7..e19f95082 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1118,4 +1118,7 @@ CHAR LIMIT = NONE] --> <item quantity="one">%1$d photo</item> <item quantity="other">%1$d photos</item> </plurals> + + <!-- The tips of trimming video --> + <string name="fail_trim">Sorry, this video file can not be trimmed</string> </resources> diff --git a/src/com/android/gallery3d/app/TrimVideo.java b/src/com/android/gallery3d/app/TrimVideo.java index b0ed8e635..a1fd26c4a 100644 --- a/src/com/android/gallery3d/app/TrimVideo.java +++ b/src/com/android/gallery3d/app/TrimVideo.java @@ -237,6 +237,7 @@ public class TrimVideo extends Activity implements new Thread(new Runnable() { @Override public void run() { + boolean hasError = false; try { VideoUtils.startTrim(mSrcFile, mDstFileInfo.mFile, mTrimStartTime, mTrimEndTime); @@ -244,7 +245,28 @@ public class TrimVideo extends Activity implements SaveVideoFileUtils.insertContent(mDstFileInfo, getContentResolver(), mUri); } catch (IOException e) { + hasError = true; e.printStackTrace(); + } catch (IllegalStateException e) { + hasError = true; + e.printStackTrace(); + } + //If the exception happens,just notify the UI and avoid the crash. + if (hasError){ + mHandler.post(new Runnable(){ + @Override + public void run(){ + Toast.makeText(getApplicationContext(), + getString(R.string.fail_trim), + Toast.LENGTH_SHORT) + .show(); + if (mProgress != null) { + mProgress.dismiss(); + mProgress = null; + } + } + }); + return; } // After trimming is done, trigger the UI changed. mHandler.post(new Runnable() { |