Ignore AlternateTouchProvider for UDFPS_NEW_TOUCH_DETECTION

Bug: 250710937
Test: atest UdfpsControllerTest
Test: adb shell cmd statusbar flag 2200 on
Change-Id: I706c8afd0e9222e82f7cb0e580ba26f6d7bfdd96
This commit is contained in:
Ilya Matyukhin
2022-12-05 09:05:31 +00:00
parent b60de628ba
commit 53b031cdfd
2 changed files with 11 additions and 5 deletions

View File

@@ -96,6 +96,7 @@ import java.util.Set;
import java.util.concurrent.Executor;
import javax.inject.Inject;
import javax.inject.Provider;
import kotlin.Unit;
@@ -714,7 +715,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
@NonNull SystemUIDialogManager dialogManager,
@NonNull LatencyTracker latencyTracker,
@NonNull ActivityLaunchAnimator activityLaunchAnimator,
@NonNull Optional<AlternateUdfpsTouchProvider> alternateTouchProvider,
@NonNull Optional<Provider<AlternateUdfpsTouchProvider>> alternateTouchProvider,
@NonNull @BiometricsBackground Executor biometricsExecutor,
@NonNull PrimaryBouncerInteractor primaryBouncerInteractor,
@NonNull SinglePointerTouchProcessor singlePointerTouchProcessor) {
@@ -746,7 +747,7 @@ public class UdfpsController implements DozeReceiver, Dumpable {
mUnlockedScreenOffAnimationController = unlockedScreenOffAnimationController;
mLatencyTracker = latencyTracker;
mActivityLaunchAnimator = activityLaunchAnimator;
mAlternateTouchProvider = alternateTouchProvider.orElse(null);
mAlternateTouchProvider = alternateTouchProvider.map(Provider::get).orElse(null);
mSensorProps = new FingerprintSensorPropertiesInternal(
-1 /* sensorId */,
SensorProperties.STRENGTH_CONVENIENCE,

View File

@@ -110,6 +110,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import javax.inject.Provider;
@SmallTest
@RunWith(AndroidTestingRunner.class)
@RunWithLooper(setAsMainLooper = true)
@@ -261,6 +263,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
initUdfpsController(true /* hasAlternateTouchProvider */);
}
private void initUdfpsController(boolean hasAlternateTouchProvider) {
initUdfpsController(mOpticalProps, hasAlternateTouchProvider);
}
@@ -270,8 +273,10 @@ public class UdfpsControllerTest extends SysuiTestCase {
reset(mFingerprintManager);
reset(mScreenLifecycle);
final Optional<AlternateUdfpsTouchProvider> alternateTouchProvider =
hasAlternateTouchProvider ? Optional.of(mAlternateTouchProvider) : Optional.empty();
final Optional<Provider<AlternateUdfpsTouchProvider>> alternateTouchProvider =
hasAlternateTouchProvider ? Optional.of(
(Provider<AlternateUdfpsTouchProvider>) () -> mAlternateTouchProvider)
: Optional.empty();
mUdfpsController = new UdfpsController(mContext, new FakeExecution(), mLayoutInflater,
mFingerprintManager, mWindowManager, mStatusBarStateController, mFgExecutor,
@@ -1140,7 +1145,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
}
@Test
public void onTouch_withNewTouchDetection_shouldCallOldFingerprintManagerPath()
public void onTouch_withNewTouchDetection_shouldCallNewFingerprintManagerPath()
throws RemoteException {
final NormalizedTouchData touchData = new NormalizedTouchData(0, 0f, 0f, 0f, 0f, 0f, 0L,
0L);