Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e930c935 authored by Shuzhen Wang's avatar Shuzhen Wang Committed by Android (Google) Code Review
Browse files

Merge "Camera: Propogate deviceError in more scenarios"

parents 32176e4c 2b6862dc
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -247,7 +247,7 @@ public class CameraServiceProxy extends SystemService
        private long mDurationOrStartTimeMs;  // Either start time, or duration once completed
        private long mDurationOrStartTimeMs;  // Either start time, or duration once completed


        CameraUsageEvent(String cameraId, int facing, String clientName, int apiLevel,
        CameraUsageEvent(String cameraId, int facing, String clientName, int apiLevel,
                boolean isNdk, int action, int latencyMs, int operatingMode) {
                boolean isNdk, int action, int latencyMs, int operatingMode, boolean deviceError) {
            mCameraId = cameraId;
            mCameraId = cameraId;
            mCameraFacing = facing;
            mCameraFacing = facing;
            mClientName = clientName;
            mClientName = clientName;
@@ -258,6 +258,7 @@ public class CameraServiceProxy extends SystemService
            mAction = action;
            mAction = action;
            mLatencyMs = latencyMs;
            mLatencyMs = latencyMs;
            mOperatingMode = operatingMode;
            mOperatingMode = operatingMode;
            mDeviceError = deviceError;
        }
        }


        public void markCompleted(int internalReconfigure, long requestCount,
        public void markCompleted(int internalReconfigure, long requestCount,
@@ -1108,7 +1109,7 @@ public class CameraServiceProxy extends SystemService
                    CameraUsageEvent openEvent = new CameraUsageEvent(
                    CameraUsageEvent openEvent = new CameraUsageEvent(
                            cameraId, facing, clientName, apiLevel, isNdk,
                            cameraId, facing, clientName, apiLevel, isNdk,
                            FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__OPEN,
                            FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__OPEN,
                            latencyMs, sessionType);
                            latencyMs, sessionType, deviceError);
                    mCameraUsageHistory.add(openEvent);
                    mCameraUsageHistory.add(openEvent);
                    break;
                    break;
                case CameraSessionStats.CAMERA_STATE_ACTIVE:
                case CameraSessionStats.CAMERA_STATE_ACTIVE:
@@ -1135,7 +1136,7 @@ public class CameraServiceProxy extends SystemService
                    CameraUsageEvent newEvent = new CameraUsageEvent(
                    CameraUsageEvent newEvent = new CameraUsageEvent(
                            cameraId, facing, clientName, apiLevel, isNdk,
                            cameraId, facing, clientName, apiLevel, isNdk,
                            FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__SESSION,
                            FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__SESSION,
                            latencyMs, sessionType);
                            latencyMs, sessionType, deviceError);
                    CameraUsageEvent oldEvent = mActiveCameraUsage.put(cameraId, newEvent);
                    CameraUsageEvent oldEvent = mActiveCameraUsage.put(cameraId, newEvent);
                    if (oldEvent != null) {
                    if (oldEvent != null) {
                        Slog.w(TAG, "Camera " + cameraId + " was already marked as active");
                        Slog.w(TAG, "Camera " + cameraId + " was already marked as active");
@@ -1154,6 +1155,8 @@ public class CameraServiceProxy extends SystemService
                                resultErrorCount, deviceError, streamStats, userTag,
                                resultErrorCount, deviceError, streamStats, userTag,
                                videoStabilizationMode);
                                videoStabilizationMode);
                        mCameraUsageHistory.add(doneEvent);
                        mCameraUsageHistory.add(doneEvent);
                        // Do not double count device error
                        deviceError = false;


                        // Check current active camera IDs to see if this package is still
                        // Check current active camera IDs to see if this package is still
                        // talking to some camera
                        // talking to some camera
@@ -1177,7 +1180,7 @@ public class CameraServiceProxy extends SystemService
                        CameraUsageEvent closeEvent = new CameraUsageEvent(
                        CameraUsageEvent closeEvent = new CameraUsageEvent(
                                cameraId, facing, clientName, apiLevel, isNdk,
                                cameraId, facing, clientName, apiLevel, isNdk,
                                FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__CLOSE,
                                FrameworkStatsLog.CAMERA_ACTION_EVENT__ACTION__CLOSE,
                                latencyMs, sessionType);
                                latencyMs, sessionType, deviceError);
                        mCameraUsageHistory.add(closeEvent);
                        mCameraUsageHistory.add(closeEvent);
                    }
                    }