diff options
Diffstat (limited to 'src/com/android/gallery3d/app/PhotoPage.java')
-rwxr-xr-x | src/com/android/gallery3d/app/PhotoPage.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index fb2b4ae1f..07a07508d 100755 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.graphics.Rect; +import android.media.MediaFile; import android.net.Uri; import android.nfc.NfcAdapter; import android.nfc.NfcAdapter.CreateBeamUrisCallback; @@ -818,7 +819,7 @@ public abstract class PhotoPage extends ActivityState implements int supportedOperations = mCurrentPhoto.getSupportedOperations(); if (mReadOnlyView) { - supportedOperations ^= MediaObject.SUPPORT_EDIT; + supportedOperations &= ~MediaObject.SUPPORT_EDIT; } if (mSecureAlbum != null) { supportedOperations &= MediaObject.SUPPORT_DELETE; @@ -1108,8 +1109,15 @@ public abstract class PhotoPage extends ActivityState implements Intent intent = new Intent(mActivity, TrimVideo.class); intent.setData(manager.getContentUri(path)); // We need the file path to wrap this into a RandomAccessFile. - intent.putExtra(KEY_MEDIA_ITEM_PATH, current.getFilePath()); - mActivity.startActivityForResult(intent, REQUEST_TRIM); + String str = android.media.MediaFile.getMimeTypeForFile(current.getFilePath()); + if("video/mp4".equals(str) || "video/mpeg4".equals(str) + || "video/3gpp".equals(str) || "video/3gpp2".equals(str)) { + intent.putExtra(KEY_MEDIA_ITEM_PATH, current.getFilePath()); + mActivity.startActivityForResult(intent, REQUEST_TRIM); + } else { + Toast.makeText(mActivity,mActivity.getString(R.string.can_not_trim), + Toast.LENGTH_SHORT).show(); + } return true; } case R.id.action_mute: { |