Merge "Fix NullPointerException issue due to threads race" into main am: 766788dd0c am: 2bca896019
Original change: https://android-review.googlesource.com/c/platform/packages/services/Telecomm/+/3542210
Change-Id: Ib2a9d1321f0a84fe194549dae4b70353b9ff5782
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/server/telecom/Ringer.java b/src/com/android/server/telecom/Ringer.java
index d0fd201..5904689 100644
--- a/src/com/android/server/telecom/Ringer.java
+++ b/src/com/android/server/telecom/Ringer.java
@@ -305,6 +305,8 @@
return false;
}
+ mAttributesLatch = new CountDownLatch(1);
+
// Use completable future to establish a timeout, not intent to make these work outside
// the main thread asynchronously
// TODO: moving these RingerAttributes calculation out of Telecom lock to avoid blocking
@@ -314,7 +316,6 @@
RingerAttributes attributes = null;
try {
- mAttributesLatch = new CountDownLatch(1);
attributes = ringerAttributesFuture.get(
RINGER_ATTRIBUTES_TIMEOUT, TimeUnit.MILLISECONDS);
} catch (ExecutionException | InterruptedException | TimeoutException e) {
@@ -852,7 +853,9 @@
call.setUserMissed(USER_MISSED_DND_MODE);
}
- mAttributesLatch.countDown();
+ if (mAttributesLatch != null) {
+ mAttributesLatch.countDown();
+ }
return builder.setEndEarly(endEarly)
.setLetDialerHandleRinging(letDialerHandleRinging)
.setAcquireAudioFocus(shouldAcquireAudioFocus)