diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-11-12 02:41:49 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-11-12 02:41:49 +0000 |
| commit | 5aa16fb5b91344e65a393bcbf2083e2da084937a (patch) | |
| tree | 2fbb524e708624fe5b336e081174365cef882dcb /services/java/com/android | |
| parent | 88dd4d99f6a7c836d3232b6c4a27d6a51a461e39 (diff) | |
| parent | 13161747db9f9d698ed2de1041889d80771c8bef (diff) | |
Merge "Initialize AIDL biometric HALs after BiometricService is started"
Diffstat (limited to 'services/java/com/android')
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index a1607f4bc56e..10b3265cd081 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -102,6 +102,7 @@ import com.android.server.attention.AttentionManagerService; import com.android.server.audio.AudioService; import com.android.server.biometrics.AuthService; import com.android.server.biometrics.BiometricService; +import com.android.server.biometrics.sensors.BiometricServiceCallback; import com.android.server.biometrics.sensors.face.FaceService; import com.android.server.biometrics.sensors.fingerprint.FingerprintService; import com.android.server.biometrics.sensors.iris.IrisService; @@ -196,8 +197,10 @@ import java.io.File; import java.io.FileDescriptor; import java.io.IOException; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; +import java.util.List; import java.util.Locale; import java.util.Timer; import java.util.concurrent.CountDownLatch; @@ -2093,9 +2096,12 @@ public final class SystemServer implements Dumpable { final boolean hasFeatureFingerprint = mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT); + final List<BiometricServiceCallback> biometricServiceCallback = new ArrayList<>(); if (hasFeatureFace) { t.traceBegin("StartFaceSensor"); - mSystemServiceManager.startService(FaceService.class); + final FaceService faceService = + mSystemServiceManager.startService(FaceService.class); + biometricServiceCallback.add(faceService); t.traceEnd(); } @@ -2107,13 +2113,20 @@ public final class SystemServer implements Dumpable { if (hasFeatureFingerprint) { t.traceBegin("StartFingerprintSensor"); - mSystemServiceManager.startService(FingerprintService.class); + final FingerprintService fingerprintService = + mSystemServiceManager.startService(FingerprintService.class); + biometricServiceCallback.add(fingerprintService); t.traceEnd(); } - // Start this service after all biometric services. + // Start this service after all biometric sensor services are started. t.traceBegin("StartBiometricService"); mSystemServiceManager.startService(BiometricService.class); + for (BiometricServiceCallback service : biometricServiceCallback) { + Slog.d(TAG, "Notifying onBiometricServiceReady for: " + + service.getClass().getSimpleName()); + service.onBiometricServiceReady(); + } t.traceEnd(); t.traceBegin("StartAuthService"); |
