summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rubin Xu <rubinxu@google.com> 2020-03-12 14:51:56 +0000
committer Rubin Xu <rubinxu@google.com> 2020-03-12 15:21:39 +0000
commit1f3fab1a37f5fe64fbded0ee30e3ec3880907f6c (patch)
tree4022e50a7b6d831af3e3741bf0419b98d1d2d353
parent5580360ba832eebd7f7f63817d818987b5cb72c4 (diff)
Fix deadlock of starting intent during turing on profile
Start the intent on a handler thread instead of the user start progress callback. Bug: 149220125 Test: atest QuietModeHostsideTest Test: turning on profile by tapping on some app launcher icon Change-Id: I44bc862c1d72aae3d2d79862c92ddbe4d3a58483
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index df3c83aec85a..7d0993b0ca0e 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -455,11 +455,13 @@ public class UserManagerService extends IUserManager.Stub {
@Override
public void onFinished(int id, Bundle extras) {
- try {
- mContext.startIntentSender(mTarget, null, 0, 0, 0);
- } catch (IntentSender.SendIntentException e) {
- Slog.e(LOG_TAG, "Failed to start the target in the callback", e);
- }
+ mHandler.post(() -> {
+ try {
+ mContext.startIntentSender(mTarget, null, 0, 0, 0);
+ } catch (IntentSender.SendIntentException e) {
+ Slog.e(LOG_TAG, "Failed to start the target in the callback", e);
+ }
+ });
}
}