Merge "Improve remote connection logging."
This commit is contained in:
@@ -1859,9 +1859,25 @@ public abstract class ConnectionService extends Service {
|
||||
new DisconnectCause(DisconnectCause.ERROR, "IMPL_RETURNED_NULL_CONFERENCE"),
|
||||
request.getAccountHandle());
|
||||
}
|
||||
if (conference.getExtras() != null) {
|
||||
conference.getExtras().putString(Connection.EXTRA_ORIGINAL_CONNECTION_ID, callId);
|
||||
|
||||
Bundle extras = request.getExtras();
|
||||
Bundle newExtras = new Bundle();
|
||||
newExtras.putString(Connection.EXTRA_ORIGINAL_CONNECTION_ID, callId);
|
||||
if (extras != null) {
|
||||
// If the request originated from a remote connection service, we will add some
|
||||
// tracking information that Telecom can use to keep informed of which package
|
||||
// made the remote request, and which remote connection service was used.
|
||||
if (extras.containsKey(Connection.EXTRA_REMOTE_CONNECTION_ORIGINATING_PACKAGE_NAME)) {
|
||||
newExtras.putString(
|
||||
Connection.EXTRA_REMOTE_CONNECTION_ORIGINATING_PACKAGE_NAME,
|
||||
extras.getString(
|
||||
Connection.EXTRA_REMOTE_CONNECTION_ORIGINATING_PACKAGE_NAME));
|
||||
newExtras.putParcelable(Connection.EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE,
|
||||
request.getAccountHandle());
|
||||
}
|
||||
}
|
||||
conference.putExtras(newExtras);
|
||||
|
||||
mConferenceById.put(callId, conference);
|
||||
mIdByConference.put(conference, callId);
|
||||
|
||||
@@ -1937,6 +1953,30 @@ public abstract class ConnectionService extends Service {
|
||||
Log.i(this, "createConnection, implementation returned null connection.");
|
||||
connection = Connection.createFailedConnection(
|
||||
new DisconnectCause(DisconnectCause.ERROR, "IMPL_RETURNED_NULL_CONNECTION"));
|
||||
} else {
|
||||
try {
|
||||
Bundle extras = request.getExtras();
|
||||
if (extras != null) {
|
||||
// If the request originated from a remote connection service, we will add some
|
||||
// tracking information that Telecom can use to keep informed of which package
|
||||
// made the remote request, and which remote connection service was used.
|
||||
if (extras.containsKey(
|
||||
Connection.EXTRA_REMOTE_CONNECTION_ORIGINATING_PACKAGE_NAME)) {
|
||||
Bundle newExtras = new Bundle();
|
||||
newExtras.putString(
|
||||
Connection.EXTRA_REMOTE_CONNECTION_ORIGINATING_PACKAGE_NAME,
|
||||
extras.getString(
|
||||
Connection.EXTRA_REMOTE_CONNECTION_ORIGINATING_PACKAGE_NAME
|
||||
));
|
||||
newExtras.putParcelable(Connection.EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE,
|
||||
request.getAccountHandle());
|
||||
connection.putExtras(newExtras);
|
||||
}
|
||||
}
|
||||
} catch (UnsupportedOperationException ose) {
|
||||
// Do nothing; if the ConnectionService reported a failure it will be an instance
|
||||
// of an immutable Connection which we cannot edit, so we're out of luck.
|
||||
}
|
||||
}
|
||||
|
||||
boolean isSelfManaged =
|
||||
|
||||
Reference in New Issue
Block a user