Snap for 4656203 from b851b049c1281b7308c0547d71339067b6c1b2c9 to pi-release
Change-Id: Iec6ac98e8af5531ccb897187b4d6825a4bbdcdd2
diff --git a/src/com/android/server/telecom/Call.java b/src/com/android/server/telecom/Call.java
index 6ff4fb7..d8f3fbc 100644
--- a/src/com/android/server/telecom/Call.java
+++ b/src/com/android/server/telecom/Call.java
@@ -1613,6 +1613,7 @@
setConnectionCapabilities(connection.getConnectionCapabilities());
setConnectionProperties(connection.getConnectionProperties());
+ setIsVoipAudioMode(connection.getIsVoipAudioMode());
setSupportedAudioRoutes(connection.getSupportedAudioRoutes());
setVideoProvider(connection.getVideoProvider());
setVideoState(connection.getVideoState());
diff --git a/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java b/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
index e02fd56..ec80911 100644
--- a/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
+++ b/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
@@ -66,6 +66,7 @@
import java.lang.Override;
import java.lang.String;
+import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
@@ -134,7 +135,7 @@
// Used to track the number of missed calls.
private ConcurrentMap<UserHandle, AtomicInteger> mMissedCallCounts;
- private UserHandle userToLoadAfterBootComplete;
+ private List<UserHandle> mUsersToLoadAfterBootComplete = new ArrayList<>();
public MissedCallNotifierImpl(Context context, PhoneAccountRegistrar phoneAccountRegistrar,
DefaultDialerCache defaultDialerCache) {
@@ -271,7 +272,7 @@
}
private void showMissedCallNotification(@NonNull CallInfo callInfo, UserHandle userHandle) {
- Log.i(this, "showMissedCallNotification()");
+ Log.i(this, "showMissedCallNotification: userHandle=%d", userHandle.getIdentifier());
mMissedCallCounts.putIfAbsent(userHandle, new AtomicInteger(0));
int missCallCounts = mMissedCallCounts.get(userHandle).incrementAndGet();
@@ -537,10 +538,14 @@
@Override
public void reloadAfterBootComplete(final CallerInfoLookupHelper callerInfoLookupHelper,
CallInfoFactory callInfoFactory) {
- if (userToLoadAfterBootComplete != null) {
- reloadFromDatabase(callerInfoLookupHelper,
- callInfoFactory, userToLoadAfterBootComplete);
- userToLoadAfterBootComplete = null;
+ if (!mUsersToLoadAfterBootComplete.isEmpty()) {
+ for (UserHandle handle : mUsersToLoadAfterBootComplete) {
+ Log.i(this, "reloadAfterBootComplete: user=%d", handle.getIdentifier());
+ reloadFromDatabase(callerInfoLookupHelper, callInfoFactory, handle);
+ }
+ mUsersToLoadAfterBootComplete.clear();
+ } else {
+ Log.i(this, "reloadAfterBootComplete: no user(s) to check; skipping reload.");
}
}
/**
@@ -549,11 +554,12 @@
@Override
public void reloadFromDatabase(final CallerInfoLookupHelper callerInfoLookupHelper,
CallInfoFactory callInfoFactory, final UserHandle userHandle) {
- Log.d(this, "reloadFromDatabase()...");
+ Log.d(this, "reloadFromDatabase: user=%d", userHandle.getIdentifier());
if (TelecomSystem.getInstance() == null || !TelecomSystem.getInstance().isBootComplete()) {
- Log.i(this, "Boot not yet complete -- call log db may not be available. Deferring " +
- "loading until boot complete.");
- userToLoadAfterBootComplete = userHandle;
+ Log.i(this, "reloadFromDatabase: Boot not yet complete -- call log db may not be "
+ + "available. Deferring loading until boot complete for user %d",
+ userHandle.getIdentifier());
+ mUsersToLoadAfterBootComplete.add(userHandle);
return;
}