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

Commit e86b8a18 authored by Steve Block's avatar Steve Block Committed by Android (Google) Code Review
Browse files

Merge "Make sure that we send the DeviceOrientation error event only once"

parents c9d5b31f 8980343b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ final class DeviceOrientationService implements SensorEventListener {
    private Double mAlpha;
    private Double mBeta;
    private Double mGamma;
    private boolean mHaveSentErrorEvent;

    private static final double DELTA_DEGRESS = 1.0;

@@ -75,11 +76,16 @@ final class DeviceOrientationService implements SensorEventListener {

    private void sendErrorEvent() {
        assert WebViewCore.THREAD_NAME.equals(Thread.currentThread().getName());
        // The spec requires that each listener receives the error event only once.
        if (mHaveSentErrorEvent)
            return;
        mHaveSentErrorEvent = true;
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                assert WebViewCore.THREAD_NAME.equals(Thread.currentThread().getName());
                if (mIsRunning) {
                    // The special case of all nulls is used to signify a failure to get data.
                    mManager.onOrientationChange(null, null, null);
                }
            }
@@ -169,6 +175,8 @@ final class DeviceOrientationService implements SensorEventListener {
            mBeta = beta;
            mGamma = gamma;
            mManager.onOrientationChange(mAlpha, mBeta, mGamma);
            // Now that we have successfully sent some data, reset whether we've sent an error.
            mHaveSentErrorEvent = false;
        }
    }