summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/ui/FilmStripView.java
diff options
context:
space:
mode:
authorVasantha Balla <vballa@codeaurora.org>2013-11-14 12:13:33 +0530
committerVasantha Balla <vballa@codeaurora.org>2013-11-14 12:13:33 +0530
commit9097d0424607dc2ee4c3d0608f4fc7f70a902586 (patch)
treee7a6a9251abe1909a98ee971829576532b21dcf4 /src/com/android/camera/ui/FilmStripView.java
parent77fc9f7bd9c94ed673d847b71d681c14c3f07177 (diff)
downloadandroid_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.java6
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.