summaryrefslogtreecommitdiffstats
path: root/telecomm/java/android/telecom/ConnectionService.java
diff options
context:
space:
mode:
Diffstat (limited to 'telecomm/java/android/telecom/ConnectionService.java')
-rw-r--r--telecomm/java/android/telecom/ConnectionService.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java
index 13497d7..019839f 100644
--- a/telecomm/java/android/telecom/ConnectionService.java
+++ b/telecomm/java/android/telecom/ConnectionService.java
@@ -625,6 +625,13 @@ public abstract class ConnectionService extends Service {
mAdapter.setExtras(id, extras);
}
}
+
+ @Override
+ public void onPhoneAccountChanged(Connection c, PhoneAccountHandle pHandle) {
+ String id = mIdByConnection.get(c);
+ Log.i(this, "Adapter onPhoneAccountChanged %s, %s", c, pHandle);
+ mAdapter.setPhoneAccountHandle(id, pHandle);
+ }
};
/** {@inheritDoc} */
@@ -680,7 +687,7 @@ public abstract class ConnectionService extends Service {
callId,
request,
new ParcelableConnection(
- request.getAccountHandle(),
+ getAccountHandle(request, connection),
connection.getState(),
connection.getConnectionCapabilities(),
connection.getAddress(),
@@ -702,6 +709,18 @@ public abstract class ConnectionService extends Service {
}
}
+ /** @hide */
+ public PhoneAccountHandle getAccountHandle(
+ final ConnectionRequest request, Connection connection) {
+ PhoneAccountHandle pHandle = connection.getPhoneAccountHandle();
+ if (pHandle != null) {
+ Log.i(this, "getAccountHandle, return account handle from local, %s", pHandle);
+ return pHandle;
+ } else {
+ return request.getAccountHandle();
+ }
+ }
+
private void abort(String callId) {
Log.d(this, "abort %s", callId);
findConnectionForAction(callId, "abort").onAbort();