summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/strings.xml3
-rw-r--r--src/com/android/gallery3d/app/TrimVideo.java22
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() {