Loading packages/SystemUI/multivalentTests/src/com/android/systemui/classifier/BrightLineFalsingManagerTest.java +7 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,13 @@ public class BrightLineFalsingManagerTest extends SysuiTestCase { assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isFalse(); } @Test public void testSkipDesktopDevices() { assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isTrue(); when(mFalsingDataProvider.isDesktop()).thenReturn(true); assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isFalse(); } @Test @DisableFlags(Flags.FLAG_NON_TOUCHSCREEN_DEVICES_BYPASS_FALSING) public void testTrackpadGesture() { Loading packages/SystemUI/multivalentTests/src/com/android/systemui/classifier/ClassifierTest.java +5 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.view.MotionEvent; import androidx.test.uiautomator.Configurator; import com.android.systemui.SysuiTestCase; import com.android.systemui.desktop.domain.interactor.DesktopInteractor; import com.android.systemui.dock.DockManagerFake; import com.android.systemui.statusbar.policy.BatteryController; Loading @@ -44,7 +45,8 @@ public class ClassifierTest extends SysuiTestCase { private BatteryController mBatteryController; private FoldStateListener mFoldStateListener = new FoldStateListener(mContext); private final DockManagerFake mDockManager = new DockManagerFake(); @Mock private DesktopInteractor mDesktopInteractor; public void setup() { MockitoAnnotations.initMocks(this); DisplayMetrics displayMetrics = new DisplayMetrics(); Loading @@ -53,7 +55,8 @@ public class ClassifierTest extends SysuiTestCase { displayMetrics.widthPixels = 1000; displayMetrics.heightPixels = 1000; mDataProvider = new FalsingDataProvider( displayMetrics, mBatteryController, mFoldStateListener, mDockManager, false); displayMetrics, mBatteryController, mFoldStateListener, mDockManager, mDesktopInteractor, false); } @After Loading packages/SystemUI/src/com/android/systemui/classifier/BrightLineFalsingManager.java +1 −0 Original line number Diff line number Diff line Loading @@ -395,6 +395,7 @@ public class BrightLineFalsingManager implements FalsingManager { || mDataProvider.isFromTrackpad() || mDataProvider.isFromKeyboard() || !mDataProvider.isTouchScreenSource() || mDataProvider.isDesktop() || mDataProvider.isUnfolded() || mDataProvider.isShowingCommunalHub(); } Loading packages/SystemUI/src/com/android/systemui/classifier/FalsingDataProvider.java +9 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.view.MotionEvent.PointerProperties; import com.android.systemui.Flags; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.desktop.domain.interactor.DesktopInteractor; import com.android.systemui.dock.DockManager; import com.android.systemui.statusbar.policy.BatteryController; Loading @@ -53,6 +54,8 @@ public class FalsingDataProvider { private BatteryController mBatteryController; private final FoldStateListener mFoldStateListener; private final DockManager mDockManager; private final DesktopInteractor mDesktopInteractor; private boolean mIsFoldableDevice; private final float mXdpi; private final float mYdpi; Loading Loading @@ -82,6 +85,7 @@ public class FalsingDataProvider { BatteryController batteryController, FoldStateListener foldStateListener, DockManager dockManager, DesktopInteractor desktopInteractor, @Named(IS_FOLDABLE_DEVICE) boolean isFoldableDevice) { mXdpi = displayMetrics.xdpi; mYdpi = displayMetrics.ydpi; Loading @@ -90,6 +94,7 @@ public class FalsingDataProvider { mBatteryController = batteryController; mFoldStateListener = foldStateListener; mDockManager = dockManager; mDesktopInteractor = desktopInteractor; mIsFoldableDevice = isFoldableDevice; FalsingClassifier.logInfo("xdpi, ydpi: " + getXdpi() + ", " + getYdpi()); Loading Loading @@ -502,6 +507,10 @@ public class FalsingDataProvider { return mIsFoldableDevice && Boolean.FALSE.equals(mFoldStateListener.getFolded()); } public boolean isDesktop() { return mDesktopInteractor.isDesktopFeatureSetEnabled().getValue(); } /** Implement to be alerted abotu the beginning and ending of falsing tracking. */ public interface SessionListener { /** Called when the lock screen is shown and falsing-tracking begins. */ Loading packages/SystemUI/tests/src/com/android/systemui/classifier/FalsingDataProviderTest.java +15 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.systemui.classifier; import static com.google.common.truth.Truth.assertThat; import static kotlinx.coroutines.flow.StateFlowKt.MutableStateFlow; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.mock; Loading @@ -41,6 +43,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.Flags; import com.android.systemui.classifier.FalsingDataProvider.GestureFinalizedListener; import com.android.systemui.desktop.domain.interactor.DesktopInteractor; import com.android.systemui.dock.DockManagerFake; import com.android.systemui.statusbar.policy.BatteryController; Loading @@ -62,6 +65,8 @@ public class FalsingDataProviderTest extends ClassifierTest { private BatteryController mBatteryController; @Mock private FoldStateListener mFoldStateListener; @Mock private DesktopInteractor mDesktopInteractor; private final DockManagerFake mDockManager = new DockManagerFake(); private DisplayMetrics mDisplayMetrics; private IInputManager mIInputManager; Loading Loading @@ -343,6 +348,15 @@ public class FalsingDataProviderTest extends ClassifierTest { assertThat(mDataProvider.isDocked()).isTrue(); } @Test public void test_isDesktop() { when(mDesktopInteractor.isDesktopFeatureSetEnabled()).thenReturn(MutableStateFlow(false)); assertThat(mDataProvider.isDesktop()).isFalse(); when(mDesktopInteractor.isDesktopFeatureSetEnabled()).thenReturn(MutableStateFlow(true)); assertThat(mDataProvider.isDesktop()).isTrue(); } @Test public void test_GestureFinalizedListener() { GestureFinalizedListener listener = mock(GestureFinalizedListener.class); Loading Loading @@ -501,6 +515,6 @@ public class FalsingDataProviderTest extends ClassifierTest { private FalsingDataProvider createWithFoldCapability(boolean foldable) { return new FalsingDataProvider(mDisplayMetrics, mBatteryController, mFoldStateListener, mDockManager, foldable); mDockManager, mDesktopInteractor, foldable); } } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/classifier/BrightLineFalsingManagerTest.java +7 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,13 @@ public class BrightLineFalsingManagerTest extends SysuiTestCase { assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isFalse(); } @Test public void testSkipDesktopDevices() { assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isTrue(); when(mFalsingDataProvider.isDesktop()).thenReturn(true); assertThat(mBrightLineFalsingManager.isFalseTouch(Classifier.GENERIC)).isFalse(); } @Test @DisableFlags(Flags.FLAG_NON_TOUCHSCREEN_DEVICES_BYPASS_FALSING) public void testTrackpadGesture() { Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/classifier/ClassifierTest.java +5 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.view.MotionEvent; import androidx.test.uiautomator.Configurator; import com.android.systemui.SysuiTestCase; import com.android.systemui.desktop.domain.interactor.DesktopInteractor; import com.android.systemui.dock.DockManagerFake; import com.android.systemui.statusbar.policy.BatteryController; Loading @@ -44,7 +45,8 @@ public class ClassifierTest extends SysuiTestCase { private BatteryController mBatteryController; private FoldStateListener mFoldStateListener = new FoldStateListener(mContext); private final DockManagerFake mDockManager = new DockManagerFake(); @Mock private DesktopInteractor mDesktopInteractor; public void setup() { MockitoAnnotations.initMocks(this); DisplayMetrics displayMetrics = new DisplayMetrics(); Loading @@ -53,7 +55,8 @@ public class ClassifierTest extends SysuiTestCase { displayMetrics.widthPixels = 1000; displayMetrics.heightPixels = 1000; mDataProvider = new FalsingDataProvider( displayMetrics, mBatteryController, mFoldStateListener, mDockManager, false); displayMetrics, mBatteryController, mFoldStateListener, mDockManager, mDesktopInteractor, false); } @After Loading
packages/SystemUI/src/com/android/systemui/classifier/BrightLineFalsingManager.java +1 −0 Original line number Diff line number Diff line Loading @@ -395,6 +395,7 @@ public class BrightLineFalsingManager implements FalsingManager { || mDataProvider.isFromTrackpad() || mDataProvider.isFromKeyboard() || !mDataProvider.isTouchScreenSource() || mDataProvider.isDesktop() || mDataProvider.isUnfolded() || mDataProvider.isShowingCommunalHub(); } Loading
packages/SystemUI/src/com/android/systemui/classifier/FalsingDataProvider.java +9 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.view.MotionEvent.PointerProperties; import com.android.systemui.Flags; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.desktop.domain.interactor.DesktopInteractor; import com.android.systemui.dock.DockManager; import com.android.systemui.statusbar.policy.BatteryController; Loading @@ -53,6 +54,8 @@ public class FalsingDataProvider { private BatteryController mBatteryController; private final FoldStateListener mFoldStateListener; private final DockManager mDockManager; private final DesktopInteractor mDesktopInteractor; private boolean mIsFoldableDevice; private final float mXdpi; private final float mYdpi; Loading Loading @@ -82,6 +85,7 @@ public class FalsingDataProvider { BatteryController batteryController, FoldStateListener foldStateListener, DockManager dockManager, DesktopInteractor desktopInteractor, @Named(IS_FOLDABLE_DEVICE) boolean isFoldableDevice) { mXdpi = displayMetrics.xdpi; mYdpi = displayMetrics.ydpi; Loading @@ -90,6 +94,7 @@ public class FalsingDataProvider { mBatteryController = batteryController; mFoldStateListener = foldStateListener; mDockManager = dockManager; mDesktopInteractor = desktopInteractor; mIsFoldableDevice = isFoldableDevice; FalsingClassifier.logInfo("xdpi, ydpi: " + getXdpi() + ", " + getYdpi()); Loading Loading @@ -502,6 +507,10 @@ public class FalsingDataProvider { return mIsFoldableDevice && Boolean.FALSE.equals(mFoldStateListener.getFolded()); } public boolean isDesktop() { return mDesktopInteractor.isDesktopFeatureSetEnabled().getValue(); } /** Implement to be alerted abotu the beginning and ending of falsing tracking. */ public interface SessionListener { /** Called when the lock screen is shown and falsing-tracking begins. */ Loading
packages/SystemUI/tests/src/com/android/systemui/classifier/FalsingDataProviderTest.java +15 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.systemui.classifier; import static com.google.common.truth.Truth.assertThat; import static kotlinx.coroutines.flow.StateFlowKt.MutableStateFlow; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.mock; Loading @@ -41,6 +43,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.Flags; import com.android.systemui.classifier.FalsingDataProvider.GestureFinalizedListener; import com.android.systemui.desktop.domain.interactor.DesktopInteractor; import com.android.systemui.dock.DockManagerFake; import com.android.systemui.statusbar.policy.BatteryController; Loading @@ -62,6 +65,8 @@ public class FalsingDataProviderTest extends ClassifierTest { private BatteryController mBatteryController; @Mock private FoldStateListener mFoldStateListener; @Mock private DesktopInteractor mDesktopInteractor; private final DockManagerFake mDockManager = new DockManagerFake(); private DisplayMetrics mDisplayMetrics; private IInputManager mIInputManager; Loading Loading @@ -343,6 +348,15 @@ public class FalsingDataProviderTest extends ClassifierTest { assertThat(mDataProvider.isDocked()).isTrue(); } @Test public void test_isDesktop() { when(mDesktopInteractor.isDesktopFeatureSetEnabled()).thenReturn(MutableStateFlow(false)); assertThat(mDataProvider.isDesktop()).isFalse(); when(mDesktopInteractor.isDesktopFeatureSetEnabled()).thenReturn(MutableStateFlow(true)); assertThat(mDataProvider.isDesktop()).isTrue(); } @Test public void test_GestureFinalizedListener() { GestureFinalizedListener listener = mock(GestureFinalizedListener.class); Loading Loading @@ -501,6 +515,6 @@ public class FalsingDataProviderTest extends ClassifierTest { private FalsingDataProvider createWithFoldCapability(boolean foldable) { return new FalsingDataProvider(mDisplayMetrics, mBatteryController, mFoldStateListener, mDockManager, foldable); mDockManager, mDesktopInteractor, foldable); } }