diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2013-12-07 11:10:36 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2013-12-07 11:10:36 -0800 |
commit | 444ba7367f7aa98de1a23b2ea3d5e4557c326e85 (patch) | |
tree | 037586659218d993bc8c8f8d3eb60760e4100e90 /src/com/android/camera/data | |
parent | 9e266d2ccdb2a369e22f843dad043869437f4dfa (diff) | |
parent | 7539f9e5bc6386e0812becfd8c4763b24b0f1ee6 (diff) | |
download | android_packages_apps_Snap-444ba7367f7aa98de1a23b2ea3d5e4557c326e85.tar.gz android_packages_apps_Snap-444ba7367f7aa98de1a23b2ea3d5e4557c326e85.tar.bz2 android_packages_apps_Snap-444ba7367f7aa98de1a23b2ea3d5e4557c326e85.zip |
Merge "Camera: Check file existence before update"
Diffstat (limited to 'src/com/android/camera/data')
-rw-r--r-- | src/com/android/camera/data/CameraDataAdapter.java | 14 | ||||
-rw-r--r-- | src/com/android/camera/data/LocalMediaData.java | 8 |
2 files changed, 17 insertions, 5 deletions
diff --git a/src/com/android/camera/data/CameraDataAdapter.java b/src/com/android/camera/data/CameraDataAdapter.java index 99bde4181..5744d6b96 100644 --- a/src/com/android/camera/data/CameraDataAdapter.java +++ b/src/com/android/camera/data/CameraDataAdapter.java @@ -142,12 +142,16 @@ public class CameraDataAdapter implements LocalDataAdapter { } int pos = findDataByContentUri(uri); LocalMediaData.VideoData newData = LocalMediaData.VideoData.buildFromCursor(c); - if (pos != -1) { - // A duplicate one, just do a substitute. - updateData(pos, newData); + if (newData != null) { + if (pos != -1) { + // A duplicate one, just do a substitute. + updateData(pos, newData); + } else { + // A new data. + insertData(newData); + } } else { - // A new data. - insertData(newData); + Log.e(TAG, "video data not found"); } } diff --git a/src/com/android/camera/data/LocalMediaData.java b/src/com/android/camera/data/LocalMediaData.java index 1f9c725d0..bb451fa0f 100644 --- a/src/com/android/camera/data/LocalMediaData.java +++ b/src/com/android/camera/data/LocalMediaData.java @@ -636,6 +636,14 @@ public abstract class LocalMediaData implements LocalData { int height = c.getInt(COL_HEIGHT); MediaMetadataRetriever retriever = new MediaMetadataRetriever(); String rotation = null; + + File origFile = new File(path); + if (!origFile.exists() || origFile.length() <= 0) { + Log.e(TAG, "Invalid video file"); + retriever.release(); + return null; + } + try { retriever.setDataSource(path); } catch (RuntimeException ex) { |