diff options
5 files changed, 28 insertions, 9 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 653580e72..5fd9c2978 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -929,7 +929,7 @@ public class PhotoModule eventprotos.NavigationChange.Mode.PHOTO_CAPTURE, name.title + ".jpg", exif, isCameraFrontFacing(), hdrOn, zoomValue, flashSetting, gridLinesOn, - (float) mTimerDuration, mShutterTouchCoordinate, mVolumeButtonClickedFlag); + (float) mTimerDuration, null, mShutterTouchCoordinate, mVolumeButtonClickedFlag); mShutterTouchCoordinate = null; mVolumeButtonClickedFlag = false; diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 742ce25b2..3ff104a82 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -1942,7 +1942,7 @@ public class VideoModule extends CameraModule UsageStatistics.instance().photoCaptureDoneEvent( eventprotos.NavigationChange.Mode.VIDEO_STILL, title + ".jpeg", exif, isCameraFrontFacing(), false, currentZoomValue(), flashSetting, gridLinesOn, - null, null, null); + null, null, null, null); getServices().getMediaSaver().addImage(data, title, dateTaken, loc, orientation, exif, mOnPhotoSavedListener); diff --git a/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java b/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java index feeb2852a..0ecb263b6 100644 --- a/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java +++ b/src/com/android/camera/processing/imagebackend/TaskCompressImageToJpeg.java @@ -93,6 +93,7 @@ public class TaskCompressImageToJpeg extends TaskJpegEncode { @Override public void run() { ImageToProcess img = mImage; + mSession.getCollector().markProcessingTimeStart(); final Rect safeCrop = guaranteedSafeCrop(img.proxy, img.crop); // For JPEG, it is the capture devices responsibility to get proper diff --git a/src/com/android/camera/stats/CaptureSessionStatsCollector.java b/src/com/android/camera/stats/CaptureSessionStatsCollector.java index 922c5de48..17683a2e6 100644 --- a/src/com/android/camera/stats/CaptureSessionStatsCollector.java +++ b/src/com/android/camera/stats/CaptureSessionStatsCollector.java @@ -1,5 +1,7 @@ package com.android.camera.stats; +import android.os.SystemClock; + import com.google.common.annotations.VisibleForTesting; import com.android.camera.exif.ExifInterface; @@ -14,8 +16,10 @@ import com.android.camera.ui.TouchCoordinate; */ public class CaptureSessionStatsCollector { - + /** Time when capture is completed in SystemClock.elapsedRealtime(). */ + protected long mCaptureTimeMillis; protected final UsageStatistics mUsageStatistics; + // Define all fields as Objects so that we know whether they were set or not. // A required field protected Integer mMode; @@ -103,14 +107,22 @@ public class CaptureSessionStatsCollector { } /** - * Send capture event to the UsageStatistic singleton. + * Called when image processing time begins. */ - public void photoCaptureDoneEvent(){ - if(isValidForPhotoCaptureEvent()) { + public void markProcessingTimeStart() { + mCaptureTimeMillis = getElapsedRealTime(); + } + + /** + * Send capture event to the UsageStatistics singleton. + */ + public void photoCaptureDoneEvent() { + Float processingTime = (getElapsedRealTime() - mCaptureTimeMillis) / 1000f; + if (isValidForPhotoCaptureEvent()) { mUsageStatistics.photoCaptureDoneEvent( mMode, mFilename, mExifInterface, mIsFrontFacing, mIsHdr, mZoom, mFlashSetting, mGridLinesOn, mTimerSeconds, - mTouchCoordinate, mVolumeButtonShutter); + processingTime, mTouchCoordinate, mVolumeButtonShutter); } } @@ -140,6 +152,11 @@ public class CaptureSessionStatsCollector { return (mMode != null); } - + /** + * Call to SystemClock.elapsedRealtime() that we can override for testing. + */ + public long getElapsedRealTime() { + return SystemClock.elapsedRealtime(); + } } diff --git a/src_pd/com/android/camera/stats/UsageStatistics.java b/src_pd/com/android/camera/stats/UsageStatistics.java index 558f13080..28d72d77a 100644 --- a/src_pd/com/android/camera/stats/UsageStatistics.java +++ b/src_pd/com/android/camera/stats/UsageStatistics.java @@ -65,7 +65,8 @@ public class UsageStatistics { public void photoCaptureDoneEvent(int mode, String fileRef, ExifInterface exifRef, boolean front, boolean isHDR, float zoom, String flashSetting, boolean gridLinesOn, - Float timerSeconds, TouchCoordinate touch, + Float timerSeconds, Float processingTime, + TouchCoordinate touch, Boolean volumeButtonShutter) { } |