Merge "Fix NullPointerException issue due to threads race" into main
diff --git a/src/com/android/server/telecom/Ringer.java b/src/com/android/server/telecom/Ringer.java
index bfaadf0..995e606 100644
--- a/src/com/android/server/telecom/Ringer.java
+++ b/src/com/android/server/telecom/Ringer.java
@@ -304,6 +304,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
@@ -313,7 +315,6 @@
RingerAttributes attributes = null;
try {
- mAttributesLatch = new CountDownLatch(1);
attributes = ringerAttributesFuture.get(
RINGER_ATTRIBUTES_TIMEOUT, TimeUnit.MILLISECONDS);
} catch (ExecutionException | InterruptedException | TimeoutException e) {
@@ -831,7 +832,9 @@
call.setUserMissed(USER_MISSED_DND_MODE);
}
- mAttributesLatch.countDown();
+ if (mAttributesLatch != null) {
+ mAttributesLatch.countDown();
+ }
return builder.setEndEarly(endEarly)
.setLetDialerHandleRinging(letDialerHandleRinging)
.setAcquireAudioFocus(shouldAcquireAudioFocus)