diff options
author | leozwang <leozwang@google.com> | 2015-02-07 00:11:28 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-02-07 00:11:28 +0000 |
commit | fe619b536938e7c2835c4858b96983ff7d297932 (patch) | |
tree | 3d4623221405f6054425942c7c7dc6bc40b2aed8 /src/com/android/providers | |
parent | 91a80e32495a825afc3bb13428d3154bf394d747 (diff) | |
parent | 1baeeea4c716b650346030e6da7bee38609028cf (diff) | |
download | android_packages_providers_MediaProvider-fe619b536938e7c2835c4858b96983ff7d297932.tar.gz android_packages_providers_MediaProvider-fe619b536938e7c2835c4858b96983ff7d297932.tar.bz2 android_packages_providers_MediaProvider-fe619b536938e7c2835c4858b96983ff7d297932.zip |
am 1baeeea4: am d1f37448: Check mCurrentThumbRequest.mPath to prevent crash.
* commit '1baeeea4c716b650346030e6da7bee38609028cf':
Check mCurrentThumbRequest.mPath to prevent crash.
Diffstat (limited to 'src/com/android/providers')
-rwxr-xr-x | src/com/android/providers/media/MediaProvider.java | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java index 6044d996..0e8259bd 100755 --- a/src/com/android/providers/media/MediaProvider.java +++ b/src/com/android/providers/media/MediaProvider.java @@ -619,24 +619,26 @@ public class MediaProvider extends ContentProvider { Log.w(TAG, "Have message but no request?"); } else { try { - File origFile = new File(mCurrentThumbRequest.mPath); - if (origFile.exists() && origFile.length() > 0) { - mCurrentThumbRequest.execute(); - // Check if more requests for the same image are queued. - synchronized (mMediaThumbQueue) { - for (MediaThumbRequest mtq : mMediaThumbQueue) { - if ((mtq.mOrigId == mCurrentThumbRequest.mOrigId) && - (mtq.mIsVideo == mCurrentThumbRequest.mIsVideo) && - (mtq.mMagic == 0) && - (mtq.mState == MediaThumbRequest.State.WAIT)) { - mtq.mMagic = mCurrentThumbRequest.mMagic; + if (mCurrentThumbRequest.mPath != null) { + File origFile = new File(mCurrentThumbRequest.mPath); + if (origFile.exists() && origFile.length() > 0) { + mCurrentThumbRequest.execute(); + // Check if more requests for the same image are queued. + synchronized (mMediaThumbQueue) { + for (MediaThumbRequest mtq : mMediaThumbQueue) { + if ((mtq.mOrigId == mCurrentThumbRequest.mOrigId) && + (mtq.mIsVideo == mCurrentThumbRequest.mIsVideo) && + (mtq.mMagic == 0) && + (mtq.mState == MediaThumbRequest.State.WAIT)) { + mtq.mMagic = mCurrentThumbRequest.mMagic; + } } } - } - } else { - // original file hasn't been stored yet - synchronized (mMediaThumbQueue) { - Log.w(TAG, "original file hasn't been stored yet: " + mCurrentThumbRequest.mPath); + } else { + // original file hasn't been stored yet + synchronized (mMediaThumbQueue) { + Log.w(TAG, "original file hasn't been stored yet: " + mCurrentThumbRequest.mPath); + } } } } catch (IOException ex) { |