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

Commit 9d884ccb authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Camera: Improve error handling of device state listeners" into udc-dev am: cbfa540d

parents 56d2ee4c cbfa540d
Loading
Loading
Loading
Loading
+13 −9
Original line number Original line Diff line number Diff line
@@ -212,14 +212,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
    @GuardedBy("mLock")
    @GuardedBy("mLock")
    private boolean mFoldedDeviceState;
    private boolean mFoldedDeviceState;


    private final CameraManager.DeviceStateListener mFoldStateListener =
    private CameraManager.DeviceStateListener mFoldStateListener;
            new CameraManager.DeviceStateListener() {
                @Override
                public final void onDeviceStateChanged(boolean folded) {
                    synchronized (mLock) {
                        mFoldedDeviceState = folded;
                    }
                }};


    private static final String TAG = "CameraCharacteristics";
    private static final String TAG = "CameraCharacteristics";


@@ -245,7 +238,18 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
    /**
    /**
     * Return the device state listener for this Camera characteristics instance
     * Return the device state listener for this Camera characteristics instance
     */
     */
    CameraManager.DeviceStateListener getDeviceStateListener() { return mFoldStateListener; }
    CameraManager.DeviceStateListener getDeviceStateListener() {
        if (mFoldStateListener == null) {
            mFoldStateListener = new CameraManager.DeviceStateListener() {
                        @Override
                        public final void onDeviceStateChanged(boolean folded) {
                            synchronized (mLock) {
                                mFoldedDeviceState = folded;
                            }
                        }};
        }
        return mFoldStateListener;
    }


    /**
    /**
     * Overrides the property value
     * Overrides the property value
+1 −0
Original line number Original line Diff line number Diff line
@@ -1836,6 +1836,7 @@ public final class CameraManager {
                        ctx.getSystemService(DeviceStateManager.class).registerCallback(
                        ctx.getSystemService(DeviceStateManager.class).registerCallback(
                                new HandlerExecutor(mDeviceStateHandler), mFoldStateListener);
                                new HandlerExecutor(mDeviceStateHandler), mFoldStateListener);
                    } catch (IllegalStateException e) {
                    } catch (IllegalStateException e) {
                        mFoldStateListener = null;
                        Log.v(TAG, "Failed to register device state listener!");
                        Log.v(TAG, "Failed to register device state listener!");
                        Log.v(TAG, "Device state dependent characteristics updates will not be" +
                        Log.v(TAG, "Device state dependent characteristics updates will not be" +
                                "functional!");
                                "functional!");