From d16f3bd2db9c027f3682c500cd602d212cf013fc Mon Sep 17 00:00:00 2001 From: Joe Bolinger Date: Fri, 30 Apr 2021 13:48:18 -0700 Subject: [PATCH] Fix oneway complaints for fingerprint auth. Fix: 186047141 Test: adb logcat -s Binder:E -e "I.*getSensorProps" (is blank) Change-Id: Ib8a3ebe274a3421814bffdad290ea2d0e417af28 --- .../biometrics/sensors/fingerprint/FingerprintService.java | 2 +- .../sensors/fingerprint/aidl/FingerprintProvider.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java index 39b7a74caa52b..ce06d06afe4e0 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java @@ -811,7 +811,7 @@ public class FingerprintService extends SystemService { for (String instance : instances) { final String fqName = IFingerprint.DESCRIPTOR + "/" + instance; final IFingerprint fp = IFingerprint.Stub.asInterface( - ServiceManager.waitForDeclaredService(fqName)); + Binder.allowBlocking(ServiceManager.waitForDeclaredService(fqName))); if (fp == null) { Slog.e(TAG, "Unable to get declared service: " + fqName); continue; diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java index c23c113b56722..083df1929326b 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java @@ -37,6 +37,7 @@ import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintSensorPropertiesInternal; import android.hardware.fingerprint.IFingerprintServiceReceiver; import android.hardware.fingerprint.IUdfpsOverlayController; +import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.os.Looper; @@ -186,8 +187,9 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi Slog.d(getTag(), "Daemon was null, reconnecting"); mDaemon = IFingerprint.Stub.asInterface( - ServiceManager.waitForDeclaredService(IFingerprint.DESCRIPTOR - + "/" + mHalInstanceName)); + Binder.allowBlocking( + ServiceManager.waitForDeclaredService( + IFingerprint.DESCRIPTOR + "/" + mHalInstanceName))); if (mDaemon == null) { Slog.e(getTag(), "Unable to get daemon"); return null;