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

Commit f68d2b93 authored by Emilian Peev's avatar Emilian Peev Committed by Automerger Merge Worker
Browse files

Merge "Camera: Move the device state listener to CameraManagerGlobal" into udc-dev am: 1949caea

parents 9b7852b6 1949caea
Loading
Loading
Loading
Loading
+18 −21
Original line number Diff line number Diff line
@@ -152,21 +152,8 @@ public final class CameraManager {
                    mContext.checkSelfPermission(CAMERA_OPEN_CLOSE_LISTENER_PERMISSION) ==
                    PackageManager.PERMISSION_GRANTED;
        }

        mFoldStateListener = new FoldStateListener(context);
        try {
            context.getSystemService(DeviceStateManager.class).registerCallback(
                    new HandlerExecutor(CameraManagerGlobal.get().getDeviceStateHandler()),
                    mFoldStateListener);
        } catch (IllegalStateException e) {
            Log.v(TAG, "Failed to register device state listener!");
            Log.v(TAG, "Device state dependent characteristics updates will not be functional!");
            mFoldStateListener = null;
        }
    }

    private FoldStateListener mFoldStateListener;

    /**
     * @hide
     */
@@ -228,12 +215,7 @@ public final class CameraManager {
     * @hide
     */
    public void registerDeviceStateListener(@NonNull CameraCharacteristics chars) {
        synchronized (mLock) {
            DeviceStateListener listener = chars.getDeviceStateListener();
            if (mFoldStateListener != null) {
                mFoldStateListener.addDeviceStateListener(listener);
            }
        }
        CameraManagerGlobal.get().registerDeviceStateListener(chars, mContext);
    }

    /**
@@ -1781,6 +1763,7 @@ public final class CameraManager {

        private HandlerThread mDeviceStateHandlerThread;
        private Handler mDeviceStateHandler;
        private FoldStateListener mFoldStateListener;

        // Singleton, don't allow construction
        private CameraManagerGlobal() { }
@@ -1795,7 +1778,8 @@ public final class CameraManager {
            return gCameraManager;
        }

        public Handler getDeviceStateHandler() {
        public void registerDeviceStateListener(@NonNull CameraCharacteristics chars,
                @NonNull Context ctx) {
            synchronized(mLock) {
                if (mDeviceStateHandlerThread == null) {
                    mDeviceStateHandlerThread = new HandlerThread(TAG);
@@ -1803,7 +1787,20 @@ public final class CameraManager {
                    mDeviceStateHandler = new Handler(mDeviceStateHandlerThread.getLooper());
                }

                return mDeviceStateHandler;
                if (mFoldStateListener == null) {
                    mFoldStateListener = new FoldStateListener(ctx);
                    try {
                        ctx.getSystemService(DeviceStateManager.class).registerCallback(
                                new HandlerExecutor(mDeviceStateHandler), mFoldStateListener);
                    } catch (IllegalStateException e) {
                        Log.v(TAG, "Failed to register device state listener!");
                        Log.v(TAG, "Device state dependent characteristics updates will not be" +
                                "functional!");
                        return;
                    }
                }

                mFoldStateListener.addDeviceStateListener(chars.getDeviceStateListener());
            }
        }