summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kevin Chyn <kchyn@google.com> 2019-04-03 18:12:48 -0700
committer Kevin Chyn <kchyn@google.com> 2019-04-04 13:17:56 -0700
commit7776536966335c0723d67d623bb998f8b328e8ae (patch)
tree67c2a59c49eea041765f543e4639c88d40d469e8
parentb13733024f463e69167c9dd249bb12fe36c3d312 (diff)
Do not updateActiveGroup on a handler
This method must not return to the caller until complete, otherwise weird race conditions may occur. Bug: 110907543 Test: Builds Change-Id: Ia82671b34fac3662928012d8c709143efdf92266
-rw-r--r--services/core/java/com/android/server/biometrics/BiometricServiceBase.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
index d8e7b7db7b75..b631a93d7739 100644
--- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
@@ -903,9 +903,8 @@ public abstract class BiometricServiceBase extends SystemService
}
protected void setActiveUserInternal(int userId) {
- mHandler.post(() -> {
- updateActiveGroup(userId, null /* clientPackage */);
- });
+ // Do not put on handler, since it should finish before returning to caller.
+ updateActiveGroup(userId, null /* clientPackage */);
}
protected void removeInternal(RemovalClient client) {