diff options
author | Vasantha Balla <vballa@codeaurora.org> | 2013-11-14 12:13:33 +0530 |
---|---|---|
committer | Vasantha Balla <vballa@codeaurora.org> | 2013-11-14 12:13:33 +0530 |
commit | 9097d0424607dc2ee4c3d0608f4fc7f70a902586 (patch) | |
tree | e7a6a9251abe1909a98ee971829576532b21dcf4 /src/com/android/camera/ui/FilmStripView.java | |
parent | 77fc9f7bd9c94ed673d847b71d681c14c3f07177 (diff) | |
download | android_packages_apps_Snap-9097d0424607dc2ee4c3d0608f4fc7f70a902586.tar.gz android_packages_apps_Snap-9097d0424607dc2ee4c3d0608f4fc7f70a902586.tar.bz2 android_packages_apps_Snap-9097d0424607dc2ee4c3d0608f4fc7f70a902586.zip |
Camera2:Fix crash on launch of camera after deleting camera folder.
- If video starts playing from camera and suddenly camera folder
is deleted from gallery, then crash is seen while launching camera.
- Film strip reload is not getting called for this case and trying to
access old data from data adapter which is null.Added reload function
if only camera preview is present and no other camera data.
CRs-Fixed: 567569
Change-Id: I9c6c7ebe63c553ccc68b985e00fa0ca722d77157
Diffstat (limited to 'src/com/android/camera/ui/FilmStripView.java')
-rw-r--r-- | src/com/android/camera/ui/FilmStripView.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/camera/ui/FilmStripView.java b/src/com/android/camera/ui/FilmStripView.java index d2695b5a4..9945952ee 100644 --- a/src/com/android/camera/ui/FilmStripView.java +++ b/src/com/android/camera/ui/FilmStripView.java @@ -1844,7 +1844,7 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { // Check the current one. ViewItem curr = mViewItem[mCurrentItem]; int dataId = curr.getId(); - if (reporter.isDataRemoved(dataId)) { + if (reporter.isDataRemoved(dataId) || mDataAdapter.getTotalNumber() == 1) { reload(); return; } @@ -1920,7 +1920,9 @@ public class FilmStripView extends ViewGroup implements BottomControlsListener { if (v != mCameraView) { removeView(v); } - mDataAdapter.getImageData(mViewItem[i].getId()).recycle(); + if (mDataAdapter.getImageData(mViewItem[i].getId()) != null) { + mDataAdapter.getImageData(mViewItem[i].getId()).recycle(); + } } // Clear out the mViewItems and rebuild with camera in the center. |