summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Rohde <codelogic@google.com>2015-05-27 23:36:28 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-27 23:36:28 +0000
commit14d92c346e1890cf3eeb0fb9c846d834e2c59179 (patch)
tree92198d4ef6daf68439cb837387318471dfa1f915 /src
parentd927492ade2e253ccc620effd5602582eaa6dd2d (diff)
parent646e84f85a3f463ce094ad5a9caca261277f0d0e (diff)
downloadandroid_packages_apps_Camera2-14d92c346e1890cf3eeb0fb9c846d834e2c59179.tar.gz
android_packages_apps_Camera2-14d92c346e1890cf3eeb0fb9c846d834e2c59179.tar.bz2
android_packages_apps_Camera2-14d92c346e1890cf3eeb0fb9c846d834e2c59179.zip
Merge "Log capture session canceled events." into ub-camera-haleakala
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CaptureModule.java14
-rw-r--r--src/com/android/camera/session/CaptureSession.java6
-rw-r--r--src/com/android/camera/session/CaptureSessionImpl.java3
3 files changed, 22 insertions, 1 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index afc4a1492..79dfe09d7 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -456,7 +456,7 @@ public class CaptureModule extends CameraModule implements
new CaptureSession.CaptureSessionCreator() {
@Override
public CaptureSession createAndStartEmpty() {
- return createAndStartCaptureSession();
+ return createAndStartUntrackedCaptureSession();
}
},
deviceOrientation,
@@ -562,6 +562,18 @@ public class CaptureModule extends CameraModule implements
return session;
}
+ private CaptureSession createAndStartUntrackedCaptureSession() {
+ long sessionTime = getSessionTime();
+ Location location = mLocationManager.getCurrentLocation();
+ String title = CameraUtil.instance().createJpegName(sessionTime);
+ CaptureSession session = getServices().getCaptureSessionManager()
+ .createNewSession(title, sessionTime, location);
+
+ session.startEmpty(null,
+ new Size((int) mPreviewArea.width(), (int) mPreviewArea.height()));
+ return session;
+ }
+
private long getSessionTime() {
// TODO: Replace with a mockable TimeProvider interface.
return System.currentTimeMillis();
diff --git a/src/com/android/camera/session/CaptureSession.java b/src/com/android/camera/session/CaptureSession.java
index 0dff1a1b3..a7f8885cd 100644
--- a/src/com/android/camera/session/CaptureSession.java
+++ b/src/com/android/camera/session/CaptureSession.java
@@ -99,6 +99,12 @@ public interface CaptureSession {
* This occurs after all the bytes are physically on disk.
*/
public void onCapturePersisted();
+
+ /**
+ * This occurs if a capture session is created but is later canceled for
+ * some reason.
+ */
+ public void onCaptureCanceled();
}
/** Returns the title/name of this session. */
diff --git a/src/com/android/camera/session/CaptureSessionImpl.java b/src/com/android/camera/session/CaptureSessionImpl.java
index 559f04074..6166a33f0 100644
--- a/src/com/android/camera/session/CaptureSessionImpl.java
+++ b/src/com/android/camera/session/CaptureSessionImpl.java
@@ -282,6 +282,9 @@ public class CaptureSessionImpl implements CaptureSession {
if (isStarted()) {
mSessionManager.removeSession(mUri);
mSessionNotifier.notifyTaskCanceled(mUri);
+ if (mImageLifecycleListener != null) {
+ mImageLifecycleListener.onCaptureCanceled();
+ }
}
if (mPlaceHolder != null) {