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

Commit 58649a6c authored by András Kurucz's avatar András Kurucz
Browse files

Don't skip falsing on non-foldable devices

In ag/20887962 we introduced a way to skip checking for false touches, when a foldable device is unfolded. The problem is that this CL also disabled the falsing checks on non-foldable devices.

Fixes: 269594643
Test: atest BrightLineClassifierTest BrightLineFalsingManagerTest FalsingDataProviderTest
Test: enable FalsingManager logs, check if falsing is skipped on foldable and non-foldable devices.
Change-Id: I99ee7b717f0a417065655ccc3a0602839f44e40a
parent c0e6f4e8
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -402,7 +402,7 @@ public class BrightLineFalsingManager implements FalsingManager {
                || mAccessibilityManager.isTouchExplorationEnabled()
                || mAccessibilityManager.isTouchExplorationEnabled()
                || mDataProvider.isA11yAction()
                || mDataProvider.isA11yAction()
                || (mFeatureFlags.isEnabled(Flags.FALSING_OFF_FOR_UNFOLDED)
                || (mFeatureFlags.isEnabled(Flags.FALSING_OFF_FOR_UNFOLDED)
                    && !mDataProvider.isFolded());
                    && mDataProvider.isUnfolded());
    }
    }


    @Override
    @Override
+2 −2
Original line number Original line Diff line number Diff line
@@ -380,8 +380,8 @@ public class FalsingDataProvider {
        return mBatteryController.isWirelessCharging() || mDockManager.isDocked();
        return mBatteryController.isWirelessCharging() || mDockManager.isDocked();
    }
    }


    public boolean isFolded() {
    public boolean isUnfolded() {
        return Boolean.TRUE.equals(mFoldStateListener.getFolded());
        return Boolean.FALSE.equals(mFoldStateListener.getFolded());
    }
    }


    /** Implement to be alerted abotu the beginning and ending of falsing tracking. */
    /** Implement to be alerted abotu the beginning and ending of falsing tracking. */
+1 −1
Original line number Original line Diff line number Diff line
@@ -106,7 +106,7 @@ public class BrightLineClassifierTest extends SysuiTestCase {
        mClassifiers.add(mClassifierB);
        mClassifiers.add(mClassifierB);
        when(mFalsingDataProvider.getRecentMotionEvents()).thenReturn(mMotionEventList);
        when(mFalsingDataProvider.getRecentMotionEvents()).thenReturn(mMotionEventList);
        when(mKeyguardStateController.isShowing()).thenReturn(true);
        when(mKeyguardStateController.isShowing()).thenReturn(true);
        when(mFalsingDataProvider.isFolded()).thenReturn(true);
        when(mFalsingDataProvider.isUnfolded()).thenReturn(false);
        mBrightLineFalsingManager = new BrightLineFalsingManager(mFalsingDataProvider,
        mBrightLineFalsingManager = new BrightLineFalsingManager(mFalsingDataProvider,
                mMetricsLogger, mClassifiers, mSingleTapClassfier, mLongTapClassifier,
                mMetricsLogger, mClassifiers, mSingleTapClassfier, mLongTapClassifier,
                mDoubleTapClassifier, mHistoryTracker, mKeyguardStateController,
                mDoubleTapClassifier, mHistoryTracker, mKeyguardStateController,
+2 −2
Original line number Original line Diff line number Diff line
@@ -89,7 +89,7 @@ public class BrightLineFalsingManagerTest extends SysuiTestCase {
        mClassifiers.add(mClassifierA);
        mClassifiers.add(mClassifierA);
        when(mFalsingDataProvider.getRecentMotionEvents()).thenReturn(mMotionEventList);
        when(mFalsingDataProvider.getRecentMotionEvents()).thenReturn(mMotionEventList);
        when(mKeyguardStateController.isShowing()).thenReturn(true);
        when(mKeyguardStateController.isShowing()).thenReturn(true);
        when(mFalsingDataProvider.isFolded()).thenReturn(true);
        when(mFalsingDataProvider.isUnfolded()).thenReturn(false);
        mBrightLineFalsingManager = new BrightLineFalsingManager(mFalsingDataProvider,
        mBrightLineFalsingManager = new BrightLineFalsingManager(mFalsingDataProvider,
                mMetricsLogger, mClassifiers, mSingleTapClassifier, mLongTapClassifier,
                mMetricsLogger, mClassifiers, mSingleTapClassifier, mLongTapClassifier,
                mDoubleTapClassifier, mHistoryTracker, mKeyguardStateController,
                mDoubleTapClassifier, mHistoryTracker, mKeyguardStateController,
@@ -185,7 +185,7 @@ public class BrightLineFalsingManagerTest extends SysuiTestCase {
    @Test
    @Test
    public void testSkipUnfolded() {
    public void testSkipUnfolded() {
        assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isTrue();
        assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isTrue();
        when(mFalsingDataProvider.isFolded()).thenReturn(false);
        when(mFalsingDataProvider.isUnfolded()).thenReturn(true);
        assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isFalse();
        assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isFalse();
    }
    }
}
}
+8 −2
Original line number Original line Diff line number Diff line
@@ -324,12 +324,18 @@ public class FalsingDataProviderTest extends ClassifierTest {
    @Test
    @Test
    public void test_FoldedState_Folded() {
    public void test_FoldedState_Folded() {
        when(mFoldStateListener.getFolded()).thenReturn(true);
        when(mFoldStateListener.getFolded()).thenReturn(true);
        assertThat(mDataProvider.isFolded()).isTrue();
        assertThat(mDataProvider.isUnfolded()).isFalse();
    }
    }


    @Test
    @Test
    public void test_FoldedState_Unfolded() {
    public void test_FoldedState_Unfolded() {
        when(mFoldStateListener.getFolded()).thenReturn(false);
        when(mFoldStateListener.getFolded()).thenReturn(false);
        assertThat(mDataProvider.isFolded()).isFalse();
        assertThat(mDataProvider.isUnfolded()).isTrue();
    }

    @Test
    public void test_FoldedState_NotFoldable() {
        when(mFoldStateListener.getFolded()).thenReturn(null);
        assertThat(mDataProvider.isUnfolded()).isFalse();
    }
    }
}
}