diff options
| -rw-r--r-- | res/values/strings.xml | 3 | ||||
| -rw-r--r-- | src/com/android/gallery3d/app/MuteVideo.java | 37 |
2 files changed, 40 insertions, 0 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 570014e3e..13027efd7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -522,6 +522,9 @@ <!-- Toast if the trimmed video is too short to trim. [CHAR LIMIT=80] --> <string name="trim_too_short">Can not trim : target video is too short</string> + <!-- Toast if the muted video is not supported. [CHAR LIMIT=80] --> + <string name="mute_nosupport">Can not mute : not supported video</string> + <!-- Text to show with progress bar while stitching in Gallery --> <string name="pano_progress_text">Rendering panorama</string> diff --git a/src/com/android/gallery3d/app/MuteVideo.java b/src/com/android/gallery3d/app/MuteVideo.java index d3f3aa594..a385fbb9f 100644 --- a/src/com/android/gallery3d/app/MuteVideo.java +++ b/src/com/android/gallery3d/app/MuteVideo.java @@ -16,6 +16,8 @@ package com.android.gallery3d.app; +import java.util.ArrayList; + import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; @@ -40,6 +42,13 @@ public class MuteVideo { private SaveVideoFileInfo mDstFileInfo = null; private Activity mActivity = null; private final Handler mHandler = new Handler(); + private String mMimeType; + ArrayList<String> mUnsupportedMuteFileTypes = new ArrayList<String>(); + private final String FILE_TYPE_DIVX = "video/divx"; + private final String FILE_TYPE_AVI = "video/avi"; + private final String FILE_TYPE_WMV = "video/x-ms-wmv"; + private final String FILE_TYPE_ASF = "video/x-ms-asf"; + private final String FILE_TYPE_WEBM = "video/webm"; final String TIME_STAMP_NAME = "'MUTE'_yyyyMMdd_HHmmss"; @@ -47,6 +56,13 @@ public class MuteVideo { mUri = uri; mFilePath = filePath; mActivity = activity; + if (mUnsupportedMuteFileTypes != null) { + mUnsupportedMuteFileTypes.add(FILE_TYPE_DIVX); + mUnsupportedMuteFileTypes.add(FILE_TYPE_AVI); + mUnsupportedMuteFileTypes.add(FILE_TYPE_WMV); + mUnsupportedMuteFileTypes.add(FILE_TYPE_ASF); + mUnsupportedMuteFileTypes.add(FILE_TYPE_WEBM); + } } public void muteInBackground() { @@ -54,6 +70,15 @@ public class MuteVideo { mActivity.getContentResolver(), mUri, mActivity.getString(R.string.folder_download)); + mMimeType = mActivity.getContentResolver().getType(mUri); + if(!isValidFileForMute(mMimeType)) { + Toast.makeText(mActivity.getApplicationContext(), + mActivity.getString(R.string.mute_nosupport), + Toast.LENGTH_SHORT) + .show(); + return; + } + showProgressDialog(); new Thread(new Runnable() { @Override @@ -101,4 +126,16 @@ public class MuteVideo { mMuteProgress.setCanceledOnTouchOutside(false); mMuteProgress.show(); } + private boolean isValidFileForMute(String mimeType) { + if (mimeType != null) { + for (String fileType : mUnsupportedMuteFileTypes) { + if (mimeType.equals(fileType)) { + return false; + } + } + return true; + } else { + return false; + } + } } |
