From 036d3ce1a9ceb42586568a553832738bb9b0a62d Mon Sep 17 00:00:00 2001 From: Guanyou Chen Date: Thu, 24 Feb 2022 19:01:12 +0000 Subject: [PATCH] [BugFix] acquireProvider maybe wait for timeout Test: manual Change-Id: Iaeb951ad8dda333e660a66a138e2cc80f9dbd6a0 --- core/java/android/app/ActivityThread.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 6d7835f84dc70..5fa65cc41ac6e 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) {