diff options
| author | Guanyou Chen <chenguanyou@xiaomi.com> | 2022-02-24 19:01:12 +0000 |
|---|---|---|
| committer | Guanyou Chen <chenguanyou@xiaomi.com> | 2022-03-09 08:36:41 +0000 |
| commit | 036d3ce1a9ceb42586568a553832738bb9b0a62d (patch) | |
| tree | 88fb49f1a52dd8677816fd9d09a3fd659b631a51 /core/java/android/app/ActivityThread.java | |
| parent | b667621f8bcbc16c2f5706fdf018465f7ef3bb0c (diff) | |
[BugFix] acquireProvider maybe wait for timeout
Test: manual
Change-Id: Iaeb951ad8dda333e660a66a138e2cc80f9dbd6a0
Diffstat (limited to 'core/java/android/app/ActivityThread.java')
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 6d7835f84dc7..5fa65cc41ac6 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -6989,7 +6989,13 @@ public final class ActivityThread extends ClientTransactionHandler // local, we'll need to wait for the publishing of the provider. if (holder != null && holder.provider == null && !holder.mLocal) { synchronized (key.mLock) { - key.mLock.wait(ContentResolver.CONTENT_PROVIDER_READY_TIMEOUT_MILLIS); + if (key.mHolder != null) { + if (DEBUG_PROVIDER) { + Slog.i(TAG, "already received provider: " + auth); + } + } else { + key.mLock.wait(ContentResolver.CONTENT_PROVIDER_READY_TIMEOUT_MILLIS); + } holder = key.mHolder; } if (holder != null && holder.provider == null) { |
