User arg object in onCallFilteringCompleted

In Connection#onCallFilteringCompleted, use a single data class argument
instead of making a hodgepodge of args.

Fixes: 180616846
Test: atest CtsTelecomTestCases
Change-Id: I33e80e3f59418c5d87799661c0764da029cc9f62
This commit is contained in:
Hall Liu
2021-02-18 18:41:41 -08:00
parent 0aa410feb9
commit 7390314002
6 changed files with 176 additions and 58 deletions

View File

@@ -758,19 +758,15 @@ public abstract class ConnectionService extends Service {
}
@Override
public void onCallFilteringCompleted(String callId, boolean isBlocked, boolean isInContacts,
CallScreeningService.ParcelableCallResponse callScreeningResponse,
boolean isResponseFromSystemDialer,
public void onCallFilteringCompleted(String callId,
Connection.CallFilteringCompletionInfo completionInfo,
Session.Info sessionInfo) {
Log.startSession(sessionInfo, SESSION_CALL_FILTERING_COMPLETED);
try {
SomeArgs args = SomeArgs.obtain();
args.arg1 = callId;
args.arg2 = isBlocked;
args.arg3 = isInContacts;
args.arg4 = callScreeningResponse;
args.arg5 = isResponseFromSystemDialer;
args.arg6 = Log.createSubsession();
args.arg2 = completionInfo;
args.arg3 = Log.createSubsession();
mHandler.obtainMessage(MSG_ON_CALL_FILTERING_COMPLETED, args).sendToTarget();
} finally {
Log.endSession();
@@ -1441,16 +1437,12 @@ public abstract class ConnectionService extends Service {
case MSG_ON_CALL_FILTERING_COMPLETED: {
SomeArgs args = (SomeArgs) msg.obj;
try {
Log.continueSession((Session) args.arg6,
Log.continueSession((Session) args.arg3,
SESSION_HANDLER + SESSION_CALL_FILTERING_COMPLETED);
String callId = (String) args.arg1;
boolean isBlocked = (boolean) args.arg2;
boolean isInContacts = (boolean) args.arg3;
CallScreeningService.ParcelableCallResponse callScreeningResponse =
(CallScreeningService.ParcelableCallResponse) args.arg4;
boolean isResponseFromSystemDialer = (boolean) args.arg5;
onCallFilteringCompleted(callId, isBlocked, isInContacts,
callScreeningResponse, isResponseFromSystemDialer);
Connection.CallFilteringCompletionInfo completionInfo =
(Connection.CallFilteringCompletionInfo) args.arg2;
onCallFilteringCompleted(callId, completionInfo);
} finally {
args.recycle();
Log.endSession();
@@ -2466,16 +2458,12 @@ public abstract class ConnectionService extends Service {
}
}
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);
private void onCallFilteringCompleted(String callId, Connection.CallFilteringCompletionInfo
callFilteringCompletionInfo) {
Log.i(this, "onCallFilteringCompleted(%s, %s)", callId, callFilteringCompletionInfo);
Connection connection = findConnectionForAction(callId, "onCallFilteringCompleted");
if (connection != null) {
connection.onCallFilteringCompleted(isBlocked, isInContacts,
callScreeningResponse == null ? null : callScreeningResponse.toCallResponse(),
isResponseFromSystemDialer);
connection.onCallFilteringCompleted(callFilteringCompletionInfo);
}
}