Loading src/com/android/server/telecom/Call.java +85 −4 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.telecom; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; Loading Loading @@ -317,6 +318,8 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, private PhoneAccountHandle mTargetPhoneAccountHandle; private PhoneAccountHandle mRemotePhoneAccountHandle; private UserHandle mInitiatingUser; private final Handler mHandler = new Handler(Looper.getMainLooper()); Loading Loading @@ -844,19 +847,46 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, s.append(SimpleDateFormat.getDateTimeInstance().format(new Date(getCreationTimeMillis()))); s.append("]"); s.append(isIncoming() ? "(MT - incoming)" : "(MO - outgoing)"); s.append("\n\tVia PhoneAccount: "); s.append("\n\t"); PhoneAccountHandle targetPhoneAccountHandle = getTargetPhoneAccount(); PhoneAccountHandle remotePhoneAccountHandle = getRemotePhoneAccountHandle(); PhoneAccountHandle connectionMgrAccountHandle = getConnectionManagerPhoneAccount(); PhoneAccountHandle delegatePhoneAccountHandle = getDelegatePhoneAccountHandle(); boolean isTargetSameAsRemote = targetPhoneAccountHandle != null && targetPhoneAccountHandle.equals(remotePhoneAccountHandle); if (delegatePhoneAccountHandle.equals(targetPhoneAccountHandle)) { s.append(">>>"); } s.append("Target"); s.append(" PhoneAccount: "); if (targetPhoneAccountHandle != null) { s.append(targetPhoneAccountHandle); s.append(" ("); s.append(getTargetPhoneAccountLabel()); s.append(")"); if (isTargetSameAsRemote) { s.append("(remote)"); } } else { s.append("not set"); } if (getConnectionManagerPhoneAccount() != null) { if (!isTargetSameAsRemote && remotePhoneAccountHandle != null) { // This is a RARE case and will likely not be seen in practice but it is possible. if (delegatePhoneAccountHandle.equals(remotePhoneAccountHandle)) { s.append("\n\t>>>Remote PhoneAccount: "); } else { s.append("\n\tRemote PhoneAccount: "); } s.append(remotePhoneAccountHandle); } if (connectionMgrAccountHandle != null) { if (delegatePhoneAccountHandle.equals(connectionMgrAccountHandle)) { s.append("\n\t>>>Conn mgr: "); } else { s.append("\n\tConn mgr: "); s.append(getConnectionManagerPhoneAccount()); } s.append(connectionMgrAccountHandle); } s.append("\n\tTo address: "); Loading Loading @@ -1364,6 +1394,45 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, checkIfRttCapable(); } /** * @return the {@link PhoneAccountHandle} of the remote connection service which placing this * call was delegated to, or {@code null} if a remote connection service was not used. */ public @Nullable PhoneAccountHandle getRemotePhoneAccountHandle() { return mRemotePhoneAccountHandle; } /** * Sets the {@link PhoneAccountHandle} of the remote connection service which placing this * call was delegated to. * @param accountHandle The phone account handle. */ public void setRemotePhoneAccountHandle(PhoneAccountHandle accountHandle) { mRemotePhoneAccountHandle = accountHandle; } /** * Determines which {@link PhoneAccountHandle} is actually placing a call. * Where {@link #getRemotePhoneAccountHandle()} is non-null, the connection manager is placing * the call via a remote connection service, so the remote connection service's phone account * is the source. * Where {@link #getConnectionManagerPhoneAccount()} is non-null and * {@link #getRemotePhoneAccountHandle()} is null, the connection manager is placing the call * itself (even if the target specifies something else). * Finally, if neither of the above cases apply, the target phone account is the one actually * placing the call. * @return The {@link PhoneAccountHandle} which is actually placing a call. */ public @NonNull PhoneAccountHandle getDelegatePhoneAccountHandle() { if (mRemotePhoneAccountHandle != null) { return mRemotePhoneAccountHandle; } if (mConnectionManagerPhoneAccountHandle != null) { return mConnectionManagerPhoneAccountHandle; } return mTargetPhoneAccountHandle; } @VisibleForTesting public PhoneAccountHandle getTargetPhoneAccount() { return mTargetPhoneAccountHandle; Loading Loading @@ -2526,6 +2595,18 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, mWasVolte = true; } if (extras.containsKey(Connection.EXTRA_ORIGINAL_CONNECTION_ID)) { setOriginalConnectionId(extras.getString(Connection.EXTRA_ORIGINAL_CONNECTION_ID)); } // The remote connection service API can track the phone account which was originally // requested to create a connection via the remote connection service API; we store that so // we have some visibility into how a call was actually placed. if (mExtras.containsKey(Connection.EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE)) { setRemotePhoneAccountHandle(extras.getParcelable( Connection.EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE)); } // If the change originated from an InCallService, notify the connection service. if (source == SOURCE_INCALL_SERVICE) { if (mConnectionService != null) { Loading src/com/android/server/telecom/CallsManager.java +1 −6 Original line number Diff line number Diff line Loading @@ -4167,13 +4167,8 @@ public class CallsManager extends Call.ListenerBase call.setCallerDisplayName(connection.getCallerDisplayName(), connection.getCallerDisplayNamePresentation()); call.addListener(this); call.putExtras(Call.SOURCE_CONNECTION_SERVICE, connection.getExtras()); // In case this connection was added via a ConnectionManager, keep track of the original // Connection ID as created by the originating ConnectionService. Bundle extras = connection.getExtras(); if (extras != null && extras.containsKey(Connection.EXTRA_ORIGINAL_CONNECTION_ID)) { call.setOriginalConnectionId(extras.getString(Connection.EXTRA_ORIGINAL_CONNECTION_ID)); } Log.i(this, "createCallForExistingConnection: %s", connection); Call parentCall = null; if (!TextUtils.isEmpty(connection.getParentCallId())) { Loading src/com/android/server/telecom/ConnectionServiceWrapper.java +46 −39 Original line number Diff line number Diff line Loading @@ -74,7 +74,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void handleCreateConnectionComplete(String callId, ConnectionRequest request, ParcelableConnection connection, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -103,7 +104,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void handleCreateConferenceComplete(String callId, ConnectionRequest request, ParcelableConference conference, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -132,7 +134,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setActive(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ACTIVE); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ACTIVE, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -155,7 +158,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setRinging(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_RINGING); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_RINGING, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -178,7 +181,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void resetConnectionTime(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.rCCT"); Log.startSession(sessionInfo, "CSW.rCCT", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -199,7 +202,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setVideoProvider(String callId, IVideoProvider videoProvider, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sVP"); Log.startSession(sessionInfo, "CSW.sVP", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -220,7 +223,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setDialing(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DIALING); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DIALING, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -243,7 +246,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setPulling(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_PULLING); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_PULLING, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -265,7 +268,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setDisconnected(String callId, DisconnectCause disconnectCause, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DISCONNECTED); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DISCONNECTED, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -289,7 +293,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setOnHold(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ON_HOLD); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ON_HOLD, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -313,7 +317,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setRingbackRequested(String callId, boolean ringback, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.SRR"); Log.startSession(sessionInfo, "CSW.SRR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -336,7 +340,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void removeCall(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_REMOVE_CALL); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_REMOVE_CALL, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -363,7 +367,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConnectionCapabilities(String callId, int connectionCapabilities, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCC"); Log.startSession(sessionInfo, "CSW.sCC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -388,7 +392,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConnectionProperties(String callId, int connectionProperties, Session.Info sessionInfo) { Log.startSession("CSW.sCP"); Log.startSession("CSW.sCP", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -410,7 +414,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setIsConferenced(String callId, String conferenceCallId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_IS_CONFERENCED); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_IS_CONFERENCED, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -439,7 +444,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConferenceMergeFailed(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCMF"); Log.startSession(sessionInfo, "CSW.sCMF", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -466,7 +471,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void addConferenceCall(String callId, ParcelableConference parcelableConference, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL, mPackageAbbreviation); if (parcelableConference.getConnectElapsedTimeMillis() != 0 && mContext.checkCallingOrSelfPermission(MODIFY_PHONE_STATE) Loading Loading @@ -580,7 +586,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onPostDialWait(String callId, String remaining, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oPDW"); Log.startSession(sessionInfo, "CSW.oPDW", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -604,7 +610,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onPostDialChar(String callId, char nextChar, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oPDC"); Log.startSession(sessionInfo, "CSW.oPDC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -629,7 +635,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements public void queryRemoteConnectionServices(RemoteServiceCallback callback, String callingPackage, Session.Info sessionInfo) { final UserHandle callingUserHandle = Binder.getCallingUserHandle(); Log.startSession(sessionInfo, "CSW.qRCS"); Log.startSession(sessionInfo, "CSW.qRCS", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -649,7 +655,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setVideoState(String callId, int videoState, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sVS"); Log.startSession(sessionInfo, "CSW.sVS", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -670,7 +676,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setIsVoipAudioMode(String callId, boolean isVoip, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sIVAM"); Log.startSession(sessionInfo, "CSW.sIVAM", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -692,7 +698,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setAudioRoute(String callId, int audioRoute, String bluetoothAddress, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sAR"); Log.startSession(sessionInfo, "CSW.sAR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -712,7 +718,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setStatusHints(String callId, StatusHints statusHints, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sSH"); Log.startSession(sessionInfo, "CSW.sSH", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -733,7 +739,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void putExtras(String callId, Bundle extras, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.pE"); Log.startSession(sessionInfo, "CSW.pE", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -754,7 +760,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void removeExtras(String callId, List<String> keys, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.rE"); Log.startSession(sessionInfo, "CSW.rE", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -776,7 +782,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setAddress(String callId, Uri address, int presentation, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sA"); Log.startSession(sessionInfo, "CSW.sA", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { Loading @@ -799,7 +805,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setCallerDisplayName(String callId, String callerDisplayName, int presentation, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCDN"); Log.startSession(sessionInfo, "CSW.sCDN", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -822,7 +828,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConferenceableConnections(String callId, List<String> conferenceableCallIds, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCC"); Log.startSession(sessionInfo, "CSW.sCC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -854,7 +860,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void addExistingConnection(String callId, ParcelableConnection connection, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.aEC"); Log.startSession(sessionInfo, "CSW.aEC", mPackageAbbreviation); UserHandle userHandle = Binder.getCallingUserHandle(); // Check that the Calling Package matches PhoneAccountHandle's Component Package PhoneAccountHandle callingPhoneAccountHandle = connection.getPhoneAccount(); Loading Loading @@ -943,7 +949,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onConnectionEvent(String callId, String event, Bundle extras, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.oCE"); Log.startSession(sessionInfo, "CSW.oCE", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -971,7 +977,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onRttInitiationFailure(String callId, int reason, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oRIF"); Log.startSession(sessionInfo, "CSW.oRIF", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -998,7 +1004,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onRemoteRttRequest(String callId, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oRRR"); Log.startSession(sessionInfo, "CSW.oRRR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -1024,7 +1030,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements mAppOpsManager.checkPackage(Binder.getCallingUid(), pHandle.getComponentName().getPackageName()); } Log.startSession(sessionInfo, "CSW.oPAC"); Log.startSession(sessionInfo, "CSW.oPAC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -1045,7 +1051,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onConnectionServiceFocusReleased(Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oCSFR"); Log.startSession(sessionInfo, "CSW.oCSFR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -1064,7 +1070,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConferenceState(String callId, boolean isConference, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.sCS"); Log.startSession(sessionInfo, "CSW.sCS", mPackageAbbreviation); if (mContext.checkCallingOrSelfPermission(MODIFY_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { Loading Loading @@ -1092,7 +1098,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setCallDirection(String callId, int direction, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCD"); Log.startSession(sessionInfo, "CSW.sCD", mPackageAbbreviation); if (mContext.checkCallingOrSelfPermission(MODIFY_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { Loading Loading @@ -1251,7 +1257,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements */ @VisibleForTesting public void createConnection(final Call call, final CreateConnectionResponse response) { Log.d(this, "createConnection(%s) via %s.", call, getComponentName()); Log.i(this, "createConnection(%s) via %s.", call, getComponentName()); BindCallback callback = new BindCallback() { @Override public void onSuccess() { Loading Loading @@ -1290,7 +1296,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements } Log.addEvent(call, LogUtils.Events.START_CONNECTION, Log.piiHandle(call.getHandle())); Log.piiHandle(call.getHandle()) + " via:" + getComponentName().getPackageName()); ConnectionRequest connectionRequest = new ConnectionRequest.Builder() .setAccountHandle(call.getTargetPhoneAccount()) Loading src/com/android/server/telecom/InCallAdapter.java +34 −29 File changed.Preview size limit exceeded, changes collapsed. Show changes src/com/android/server/telecom/InCallController.java +4 −4 Original line number Diff line number Diff line Loading @@ -195,7 +195,7 @@ public class InCallController extends CallsManagerListenerBase { private final ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { Log.startSession("ICSBC.oSC"); Log.startSession("ICSBC.oSC", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onServiceConnected: %s %b %b", name, mIsBound, mIsConnected); Loading @@ -212,7 +212,7 @@ public class InCallController extends CallsManagerListenerBase { @Override public void onServiceDisconnected(ComponentName name) { Log.startSession("ICSBC.oSD"); Log.startSession("ICSBC.oSD", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onDisconnected: %s", name); Loading @@ -226,7 +226,7 @@ public class InCallController extends CallsManagerListenerBase { @Override public void onNullBinding(ComponentName name) { Log.startSession("ICSBC.oNB"); Log.startSession("ICSBC.oNB", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onNullBinding: %s", name); Loading @@ -241,7 +241,7 @@ public class InCallController extends CallsManagerListenerBase { @Override public void onBindingDied(ComponentName name) { Log.startSession("ICSBC.oBD"); Log.startSession("ICSBC.oBD", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onBindingDied: %s", name); Loading Loading
src/com/android/server/telecom/Call.java +85 −4 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.telecom; import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; Loading Loading @@ -317,6 +318,8 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, private PhoneAccountHandle mTargetPhoneAccountHandle; private PhoneAccountHandle mRemotePhoneAccountHandle; private UserHandle mInitiatingUser; private final Handler mHandler = new Handler(Looper.getMainLooper()); Loading Loading @@ -844,19 +847,46 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, s.append(SimpleDateFormat.getDateTimeInstance().format(new Date(getCreationTimeMillis()))); s.append("]"); s.append(isIncoming() ? "(MT - incoming)" : "(MO - outgoing)"); s.append("\n\tVia PhoneAccount: "); s.append("\n\t"); PhoneAccountHandle targetPhoneAccountHandle = getTargetPhoneAccount(); PhoneAccountHandle remotePhoneAccountHandle = getRemotePhoneAccountHandle(); PhoneAccountHandle connectionMgrAccountHandle = getConnectionManagerPhoneAccount(); PhoneAccountHandle delegatePhoneAccountHandle = getDelegatePhoneAccountHandle(); boolean isTargetSameAsRemote = targetPhoneAccountHandle != null && targetPhoneAccountHandle.equals(remotePhoneAccountHandle); if (delegatePhoneAccountHandle.equals(targetPhoneAccountHandle)) { s.append(">>>"); } s.append("Target"); s.append(" PhoneAccount: "); if (targetPhoneAccountHandle != null) { s.append(targetPhoneAccountHandle); s.append(" ("); s.append(getTargetPhoneAccountLabel()); s.append(")"); if (isTargetSameAsRemote) { s.append("(remote)"); } } else { s.append("not set"); } if (getConnectionManagerPhoneAccount() != null) { if (!isTargetSameAsRemote && remotePhoneAccountHandle != null) { // This is a RARE case and will likely not be seen in practice but it is possible. if (delegatePhoneAccountHandle.equals(remotePhoneAccountHandle)) { s.append("\n\t>>>Remote PhoneAccount: "); } else { s.append("\n\tRemote PhoneAccount: "); } s.append(remotePhoneAccountHandle); } if (connectionMgrAccountHandle != null) { if (delegatePhoneAccountHandle.equals(connectionMgrAccountHandle)) { s.append("\n\t>>>Conn mgr: "); } else { s.append("\n\tConn mgr: "); s.append(getConnectionManagerPhoneAccount()); } s.append(connectionMgrAccountHandle); } s.append("\n\tTo address: "); Loading Loading @@ -1364,6 +1394,45 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, checkIfRttCapable(); } /** * @return the {@link PhoneAccountHandle} of the remote connection service which placing this * call was delegated to, or {@code null} if a remote connection service was not used. */ public @Nullable PhoneAccountHandle getRemotePhoneAccountHandle() { return mRemotePhoneAccountHandle; } /** * Sets the {@link PhoneAccountHandle} of the remote connection service which placing this * call was delegated to. * @param accountHandle The phone account handle. */ public void setRemotePhoneAccountHandle(PhoneAccountHandle accountHandle) { mRemotePhoneAccountHandle = accountHandle; } /** * Determines which {@link PhoneAccountHandle} is actually placing a call. * Where {@link #getRemotePhoneAccountHandle()} is non-null, the connection manager is placing * the call via a remote connection service, so the remote connection service's phone account * is the source. * Where {@link #getConnectionManagerPhoneAccount()} is non-null and * {@link #getRemotePhoneAccountHandle()} is null, the connection manager is placing the call * itself (even if the target specifies something else). * Finally, if neither of the above cases apply, the target phone account is the one actually * placing the call. * @return The {@link PhoneAccountHandle} which is actually placing a call. */ public @NonNull PhoneAccountHandle getDelegatePhoneAccountHandle() { if (mRemotePhoneAccountHandle != null) { return mRemotePhoneAccountHandle; } if (mConnectionManagerPhoneAccountHandle != null) { return mConnectionManagerPhoneAccountHandle; } return mTargetPhoneAccountHandle; } @VisibleForTesting public PhoneAccountHandle getTargetPhoneAccount() { return mTargetPhoneAccountHandle; Loading Loading @@ -2526,6 +2595,18 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, mWasVolte = true; } if (extras.containsKey(Connection.EXTRA_ORIGINAL_CONNECTION_ID)) { setOriginalConnectionId(extras.getString(Connection.EXTRA_ORIGINAL_CONNECTION_ID)); } // The remote connection service API can track the phone account which was originally // requested to create a connection via the remote connection service API; we store that so // we have some visibility into how a call was actually placed. if (mExtras.containsKey(Connection.EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE)) { setRemotePhoneAccountHandle(extras.getParcelable( Connection.EXTRA_REMOTE_PHONE_ACCOUNT_HANDLE)); } // If the change originated from an InCallService, notify the connection service. if (source == SOURCE_INCALL_SERVICE) { if (mConnectionService != null) { Loading
src/com/android/server/telecom/CallsManager.java +1 −6 Original line number Diff line number Diff line Loading @@ -4167,13 +4167,8 @@ public class CallsManager extends Call.ListenerBase call.setCallerDisplayName(connection.getCallerDisplayName(), connection.getCallerDisplayNamePresentation()); call.addListener(this); call.putExtras(Call.SOURCE_CONNECTION_SERVICE, connection.getExtras()); // In case this connection was added via a ConnectionManager, keep track of the original // Connection ID as created by the originating ConnectionService. Bundle extras = connection.getExtras(); if (extras != null && extras.containsKey(Connection.EXTRA_ORIGINAL_CONNECTION_ID)) { call.setOriginalConnectionId(extras.getString(Connection.EXTRA_ORIGINAL_CONNECTION_ID)); } Log.i(this, "createCallForExistingConnection: %s", connection); Call parentCall = null; if (!TextUtils.isEmpty(connection.getParentCallId())) { Loading
src/com/android/server/telecom/ConnectionServiceWrapper.java +46 −39 Original line number Diff line number Diff line Loading @@ -74,7 +74,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void handleCreateConnectionComplete(String callId, ConnectionRequest request, ParcelableConnection connection, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -103,7 +104,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void handleCreateConferenceComplete(String callId, ConnectionRequest request, ParcelableConference conference, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -132,7 +134,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setActive(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ACTIVE); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ACTIVE, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -155,7 +158,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setRinging(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_RINGING); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_RINGING, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -178,7 +181,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void resetConnectionTime(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.rCCT"); Log.startSession(sessionInfo, "CSW.rCCT", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -199,7 +202,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setVideoProvider(String callId, IVideoProvider videoProvider, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sVP"); Log.startSession(sessionInfo, "CSW.sVP", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -220,7 +223,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setDialing(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DIALING); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DIALING, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -243,7 +246,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setPulling(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_PULLING); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_PULLING, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -265,7 +268,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setDisconnected(String callId, DisconnectCause disconnectCause, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DISCONNECTED); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_DISCONNECTED, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -289,7 +293,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setOnHold(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ON_HOLD); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_ON_HOLD, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -313,7 +317,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setRingbackRequested(String callId, boolean ringback, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.SRR"); Log.startSession(sessionInfo, "CSW.SRR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -336,7 +340,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void removeCall(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_REMOVE_CALL); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_REMOVE_CALL, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -363,7 +367,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConnectionCapabilities(String callId, int connectionCapabilities, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCC"); Log.startSession(sessionInfo, "CSW.sCC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -388,7 +392,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConnectionProperties(String callId, int connectionProperties, Session.Info sessionInfo) { Log.startSession("CSW.sCP"); Log.startSession("CSW.sCP", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -410,7 +414,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setIsConferenced(String callId, String conferenceCallId, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_IS_CONFERENCED); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_SET_IS_CONFERENCED, mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -439,7 +444,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConferenceMergeFailed(String callId, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCMF"); Log.startSession(sessionInfo, "CSW.sCMF", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -466,7 +471,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void addConferenceCall(String callId, ParcelableConference parcelableConference, Session.Info sessionInfo) { Log.startSession(sessionInfo, LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL); Log.startSession(sessionInfo, LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL, mPackageAbbreviation); if (parcelableConference.getConnectElapsedTimeMillis() != 0 && mContext.checkCallingOrSelfPermission(MODIFY_PHONE_STATE) Loading Loading @@ -580,7 +586,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onPostDialWait(String callId, String remaining, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oPDW"); Log.startSession(sessionInfo, "CSW.oPDW", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -604,7 +610,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onPostDialChar(String callId, char nextChar, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oPDC"); Log.startSession(sessionInfo, "CSW.oPDC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -629,7 +635,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements public void queryRemoteConnectionServices(RemoteServiceCallback callback, String callingPackage, Session.Info sessionInfo) { final UserHandle callingUserHandle = Binder.getCallingUserHandle(); Log.startSession(sessionInfo, "CSW.qRCS"); Log.startSession(sessionInfo, "CSW.qRCS", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -649,7 +655,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setVideoState(String callId, int videoState, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sVS"); Log.startSession(sessionInfo, "CSW.sVS", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -670,7 +676,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setIsVoipAudioMode(String callId, boolean isVoip, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sIVAM"); Log.startSession(sessionInfo, "CSW.sIVAM", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -692,7 +698,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setAudioRoute(String callId, int audioRoute, String bluetoothAddress, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sAR"); Log.startSession(sessionInfo, "CSW.sAR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -712,7 +718,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setStatusHints(String callId, StatusHints statusHints, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sSH"); Log.startSession(sessionInfo, "CSW.sSH", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -733,7 +739,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void putExtras(String callId, Bundle extras, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.pE"); Log.startSession(sessionInfo, "CSW.pE", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -754,7 +760,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void removeExtras(String callId, List<String> keys, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.rE"); Log.startSession(sessionInfo, "CSW.rE", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -776,7 +782,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setAddress(String callId, Uri address, int presentation, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sA"); Log.startSession(sessionInfo, "CSW.sA", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { Loading @@ -799,7 +805,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setCallerDisplayName(String callId, String callerDisplayName, int presentation, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCDN"); Log.startSession(sessionInfo, "CSW.sCDN", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -822,7 +828,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConferenceableConnections(String callId, List<String> conferenceableCallIds, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCC"); Log.startSession(sessionInfo, "CSW.sCC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -854,7 +860,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void addExistingConnection(String callId, ParcelableConnection connection, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.aEC"); Log.startSession(sessionInfo, "CSW.aEC", mPackageAbbreviation); UserHandle userHandle = Binder.getCallingUserHandle(); // Check that the Calling Package matches PhoneAccountHandle's Component Package PhoneAccountHandle callingPhoneAccountHandle = connection.getPhoneAccount(); Loading Loading @@ -943,7 +949,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onConnectionEvent(String callId, String event, Bundle extras, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.oCE"); Log.startSession(sessionInfo, "CSW.oCE", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading Loading @@ -971,7 +977,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onRttInitiationFailure(String callId, int reason, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oRIF"); Log.startSession(sessionInfo, "CSW.oRIF", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -998,7 +1004,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onRemoteRttRequest(String callId, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oRRR"); Log.startSession(sessionInfo, "CSW.oRRR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -1024,7 +1030,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements mAppOpsManager.checkPackage(Binder.getCallingUid(), pHandle.getComponentName().getPackageName()); } Log.startSession(sessionInfo, "CSW.oPAC"); Log.startSession(sessionInfo, "CSW.oPAC", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -1045,7 +1051,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void onConnectionServiceFocusReleased(Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.oCSFR"); Log.startSession(sessionInfo, "CSW.oCSFR", mPackageAbbreviation); long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { Loading @@ -1064,7 +1070,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setConferenceState(String callId, boolean isConference, Session.Info sessionInfo) throws RemoteException { Log.startSession(sessionInfo, "CSW.sCS"); Log.startSession(sessionInfo, "CSW.sCS", mPackageAbbreviation); if (mContext.checkCallingOrSelfPermission(MODIFY_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { Loading Loading @@ -1092,7 +1098,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements @Override public void setCallDirection(String callId, int direction, Session.Info sessionInfo) { Log.startSession(sessionInfo, "CSW.sCD"); Log.startSession(sessionInfo, "CSW.sCD", mPackageAbbreviation); if (mContext.checkCallingOrSelfPermission(MODIFY_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { Loading Loading @@ -1251,7 +1257,7 @@ public class ConnectionServiceWrapper extends ServiceBinder implements */ @VisibleForTesting public void createConnection(final Call call, final CreateConnectionResponse response) { Log.d(this, "createConnection(%s) via %s.", call, getComponentName()); Log.i(this, "createConnection(%s) via %s.", call, getComponentName()); BindCallback callback = new BindCallback() { @Override public void onSuccess() { Loading Loading @@ -1290,7 +1296,8 @@ public class ConnectionServiceWrapper extends ServiceBinder implements } Log.addEvent(call, LogUtils.Events.START_CONNECTION, Log.piiHandle(call.getHandle())); Log.piiHandle(call.getHandle()) + " via:" + getComponentName().getPackageName()); ConnectionRequest connectionRequest = new ConnectionRequest.Builder() .setAccountHandle(call.getTargetPhoneAccount()) Loading
src/com/android/server/telecom/InCallAdapter.java +34 −29 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/com/android/server/telecom/InCallController.java +4 −4 Original line number Diff line number Diff line Loading @@ -195,7 +195,7 @@ public class InCallController extends CallsManagerListenerBase { private final ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { Log.startSession("ICSBC.oSC"); Log.startSession("ICSBC.oSC", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onServiceConnected: %s %b %b", name, mIsBound, mIsConnected); Loading @@ -212,7 +212,7 @@ public class InCallController extends CallsManagerListenerBase { @Override public void onServiceDisconnected(ComponentName name) { Log.startSession("ICSBC.oSD"); Log.startSession("ICSBC.oSD", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onDisconnected: %s", name); Loading @@ -226,7 +226,7 @@ public class InCallController extends CallsManagerListenerBase { @Override public void onNullBinding(ComponentName name) { Log.startSession("ICSBC.oNB"); Log.startSession("ICSBC.oNB", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onNullBinding: %s", name); Loading @@ -241,7 +241,7 @@ public class InCallController extends CallsManagerListenerBase { @Override public void onBindingDied(ComponentName name) { Log.startSession("ICSBC.oBD"); Log.startSession("ICSBC.oBD", ServiceBinder.getPackageAbbreviation(name)); synchronized (mLock) { try { Log.d(this, "onBindingDied: %s", name); Loading