diff options
Diffstat (limited to 'telecomm/java/android/telecom/ConnectionService.java')
-rwxr-xr-x | telecomm/java/android/telecom/ConnectionService.java | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index e941101b9903..ce9ce7b6c092 100755 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -759,6 +759,8 @@ public abstract class ConnectionService extends Service { @Override public void onCallFilteringCompleted(String callId, boolean isBlocked, boolean isInContacts, + CallScreeningService.ParcelableCallResponse callScreeningResponse, + boolean isResponseFromSystemDialer, Session.Info sessionInfo) { Log.startSession(sessionInfo, SESSION_CALL_FILTERING_COMPLETED); try { @@ -766,7 +768,9 @@ public abstract class ConnectionService extends Service { args.arg1 = callId; args.arg2 = isBlocked; args.arg3 = isInContacts; - args.arg4 = Log.createSubsession(); + args.arg4 = callScreeningResponse; + args.arg5 = isResponseFromSystemDialer; + args.arg6 = Log.createSubsession(); mHandler.obtainMessage(MSG_ON_CALL_FILTERING_COMPLETED, args).sendToTarget(); } finally { Log.endSession(); @@ -1437,12 +1441,16 @@ public abstract class ConnectionService extends Service { case MSG_ON_CALL_FILTERING_COMPLETED: { SomeArgs args = (SomeArgs) msg.obj; try { - Log.continueSession((Session) args.arg4, + Log.continueSession((Session) args.arg6, SESSION_HANDLER + SESSION_CALL_FILTERING_COMPLETED); String callId = (String) args.arg1; boolean isBlocked = (boolean) args.arg2; boolean isInContacts = (boolean) args.arg3; - onCallFilteringCompleted(callId, isBlocked, isInContacts); + CallScreeningService.ParcelableCallResponse callScreeningResponse = + (CallScreeningService.ParcelableCallResponse) args.arg4; + boolean isResponseFromSystemDialer = (boolean) args.arg5; + onCallFilteringCompleted(callId, isBlocked, isInContacts, + callScreeningResponse, isResponseFromSystemDialer); } finally { args.recycle(); Log.endSession(); @@ -2024,7 +2032,7 @@ public abstract class ConnectionService extends Service { boolean isHandover = request.getExtras() != null && request.getExtras().getBoolean( TelecomManager.EXTRA_IS_HANDOVER_CONNECTION, false); boolean addSelfManaged = request.getExtras() != null && request.getExtras().getBoolean( - PhoneAccount.EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE, false); + PhoneAccount.EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE, true); Log.i(this, "createConnection, callManagerAccount: %s, callId: %s, request: %s, " + "isIncoming: %b, isUnknown: %b, isLegacyHandover: %b, isHandover: %b, " + " addSelfManaged: %b", callManagerAccount, callId, request, isIncoming, @@ -2462,11 +2470,16 @@ public abstract class ConnectionService extends Service { } } - private void onCallFilteringCompleted(String callId, boolean isBlocked, boolean isInContacts) { - Log.i(this, "onCallFilteringCompleted(%b, %b)", isBlocked, isInContacts); + private void onCallFilteringCompleted(String callId, boolean isBlocked, boolean isInContacts, + CallScreeningService.ParcelableCallResponse callScreeningResponse, + boolean isResponseFromSystemDialer) { + Log.i(this, "onCallFilteringCompleted(%s, %b, %b, %s, %b)", callId, + isBlocked, isInContacts, callScreeningResponse, isResponseFromSystemDialer); Connection connection = findConnectionForAction(callId, "onCallFilteringCompleted"); if (connection != null) { - connection.onCallFilteringCompleted(isBlocked, isInContacts); + connection.onCallFilteringCompleted(isBlocked, isInContacts, + callScreeningResponse == null ? null : callScreeningResponse.toCallResponse(), + isResponseFromSystemDialer); } } |