Loading src/com/android/server/telecom/TransactionalServiceWrapper.java +6 −19 Original line number Diff line number Diff line Loading @@ -188,7 +188,7 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.sA"); createTransactions(callId, callback, SET_ACTIVE, 0); createTransactions(callId, callback, SET_ACTIVE); } finally { Log.endSession(); } Loading @@ -199,7 +199,7 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.sI"); createTransactions(callId, callback, SET_INACTIVE, 0); createTransactions(callId, callback, SET_INACTIVE); } finally { Log.endSession(); } Loading @@ -211,19 +211,7 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.d"); createTransactions(callId, callback, DISCONNECT, disconnectCause.getCode()); } finally { Log.endSession(); } } @Override public void rejectCall(String callId, android.os.ResultReceiver callback) throws RemoteException { try { Log.startSession("TSW.rC"); createTransactions(callId, callback, REJECT, android.telecom.Call.REJECT_REASON_DECLINED); createTransactions(callId, callback, DISCONNECT, disconnectCause); } finally { Log.endSession(); } Loading @@ -234,14 +222,14 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.sCS"); createTransactions(callId, callback, START_STREAMING, 0); createTransactions(callId, callback, START_STREAMING); } finally { Log.endSession(); } } private void createTransactions(String callId, ResultReceiver callback, String action, int code) { Object... objects) { Log.d(TAG, "createTransactions: callId=" + callId); Call call = mTrackedCalls.get(callId); if (call != null) { Loading @@ -249,10 +237,9 @@ public class TransactionalServiceWrapper implements case SET_ACTIVE: addTransactionsToManager(createSetActiveTransactions(call), callback); break; case REJECT: case DISCONNECT: addTransactionsToManager(new EndCallTransaction(mCallsManager, action.equals(DISCONNECT), code, call), callback); (DisconnectCause) objects[0], call), callback); break; case SET_INACTIVE: addTransactionsToManager( Loading src/com/android/server/telecom/voip/EndCallTransaction.java +12 −12 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.telecom.DisconnectCause; import android.util.Log; import com.android.server.telecom.Call; import com.android.server.telecom.CallState; import com.android.server.telecom.CallsManager; import java.util.concurrent.CompletableFuture; Loading @@ -31,31 +32,30 @@ import java.util.concurrent.CompletionStage; public class EndCallTransaction extends VoipCallTransaction { private static final String TAG = EndCallTransaction.class.getSimpleName(); private final CallsManager mCallsManager; private final boolean mIsDisconnect; private final int mCode; private final Call mCall; private DisconnectCause mCause; public EndCallTransaction(CallsManager callsManager, boolean isDisconnect, int code, Call call) { public EndCallTransaction(CallsManager callsManager, DisconnectCause cause, Call call) { mCallsManager = callsManager; mIsDisconnect = isDisconnect; mCode = code; mCause = cause; mCall = call; } @Override public CompletionStage<VoipCallTransactionResult> processTransaction(Void v) { Log.d(TAG, String.format("processTransaction: isDisconnect=[%b]", mIsDisconnect)); int code = mCause.getCode(); Log.d(TAG, String.format("processTransaction: mCode=[%d], mCall=[%s]", code, mCall)); if (mIsDisconnect) { mCallsManager.markCallAsDisconnected(mCall, new DisconnectCause(mCode)); } else { mCallsManager.rejectCall(mCall, mCode); if (mCall.getState() == CallState.RINGING && code == DisconnectCause.LOCAL) { mCause = new DisconnectCause(DisconnectCause.REJECTED, "overrode cause in EndCallTransaction"); } mCallsManager.markCallAsDisconnected(mCall, mCause); mCallsManager.markCallAsRemoved(mCall); return CompletableFuture.completedFuture( new VoipCallTransactionResult(VoipCallTransactionResult.RESULT_SUCCEED, "endCallTransaction complete")); "EndCallTransaction: RESULT_SUCCEED")); } } tests/src/com/android/server/telecom/tests/TransactionTests.java +1 −19 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ public class TransactionTests extends TelecomTestCase { public void testEndCallTransactionWithDisconnect() throws Exception { // GIVEN EndCallTransaction transaction = new EndCallTransaction(mCallsManager, true, 0, mMockCall1); new EndCallTransaction(mCallsManager, new DisconnectCause(0), mMockCall1); // WHEN transaction.processTransaction(null); Loading @@ -116,24 +116,6 @@ public class TransactionTests extends TelecomTestCase { .markCallAsRemoved(mMockCall1); } @Test public void testEndCallTransactionWithReject() throws Exception { // GIVEN EndCallTransaction transaction = new EndCallTransaction(mCallsManager, false, 0, mMockCall1); // WHEN transaction.processTransaction(null); // THEN verify(mCallsManager, never()) .markCallAsDisconnected(mMockCall1, new DisconnectCause(0)); verify(mCallsManager, times(1)) .rejectCall(mMockCall1, 0); verify(mCallsManager, times(1)) .markCallAsRemoved(mMockCall1); } @Test public void testHoldCallTransaction() throws Exception { // GIVEN Loading tests/src/com/android/server/telecom/tests/TransactionalServiceWrapperTest.java +2 −5 Original line number Diff line number Diff line Loading @@ -121,7 +121,6 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlSetActive() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); Loading @@ -136,11 +135,11 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlRejectCall() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); callControl.rejectCall(CALL_ID_1, new ResultReceiver(null)); callControl.disconnect(CALL_ID_1, new DisconnectCause(DisconnectCause.REJECTED), new ResultReceiver(null)); //THEN verify(mTransactionManager, times(1)) Loading @@ -151,7 +150,6 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlDisconnectCall() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); Loading @@ -167,7 +165,6 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlSetInactive() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); Loading Loading
src/com/android/server/telecom/TransactionalServiceWrapper.java +6 −19 Original line number Diff line number Diff line Loading @@ -188,7 +188,7 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.sA"); createTransactions(callId, callback, SET_ACTIVE, 0); createTransactions(callId, callback, SET_ACTIVE); } finally { Log.endSession(); } Loading @@ -199,7 +199,7 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.sI"); createTransactions(callId, callback, SET_INACTIVE, 0); createTransactions(callId, callback, SET_INACTIVE); } finally { Log.endSession(); } Loading @@ -211,19 +211,7 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.d"); createTransactions(callId, callback, DISCONNECT, disconnectCause.getCode()); } finally { Log.endSession(); } } @Override public void rejectCall(String callId, android.os.ResultReceiver callback) throws RemoteException { try { Log.startSession("TSW.rC"); createTransactions(callId, callback, REJECT, android.telecom.Call.REJECT_REASON_DECLINED); createTransactions(callId, callback, DISCONNECT, disconnectCause); } finally { Log.endSession(); } Loading @@ -234,14 +222,14 @@ public class TransactionalServiceWrapper implements throws RemoteException { try { Log.startSession("TSW.sCS"); createTransactions(callId, callback, START_STREAMING, 0); createTransactions(callId, callback, START_STREAMING); } finally { Log.endSession(); } } private void createTransactions(String callId, ResultReceiver callback, String action, int code) { Object... objects) { Log.d(TAG, "createTransactions: callId=" + callId); Call call = mTrackedCalls.get(callId); if (call != null) { Loading @@ -249,10 +237,9 @@ public class TransactionalServiceWrapper implements case SET_ACTIVE: addTransactionsToManager(createSetActiveTransactions(call), callback); break; case REJECT: case DISCONNECT: addTransactionsToManager(new EndCallTransaction(mCallsManager, action.equals(DISCONNECT), code, call), callback); (DisconnectCause) objects[0], call), callback); break; case SET_INACTIVE: addTransactionsToManager( Loading
src/com/android/server/telecom/voip/EndCallTransaction.java +12 −12 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.telecom.DisconnectCause; import android.util.Log; import com.android.server.telecom.Call; import com.android.server.telecom.CallState; import com.android.server.telecom.CallsManager; import java.util.concurrent.CompletableFuture; Loading @@ -31,31 +32,30 @@ import java.util.concurrent.CompletionStage; public class EndCallTransaction extends VoipCallTransaction { private static final String TAG = EndCallTransaction.class.getSimpleName(); private final CallsManager mCallsManager; private final boolean mIsDisconnect; private final int mCode; private final Call mCall; private DisconnectCause mCause; public EndCallTransaction(CallsManager callsManager, boolean isDisconnect, int code, Call call) { public EndCallTransaction(CallsManager callsManager, DisconnectCause cause, Call call) { mCallsManager = callsManager; mIsDisconnect = isDisconnect; mCode = code; mCause = cause; mCall = call; } @Override public CompletionStage<VoipCallTransactionResult> processTransaction(Void v) { Log.d(TAG, String.format("processTransaction: isDisconnect=[%b]", mIsDisconnect)); int code = mCause.getCode(); Log.d(TAG, String.format("processTransaction: mCode=[%d], mCall=[%s]", code, mCall)); if (mIsDisconnect) { mCallsManager.markCallAsDisconnected(mCall, new DisconnectCause(mCode)); } else { mCallsManager.rejectCall(mCall, mCode); if (mCall.getState() == CallState.RINGING && code == DisconnectCause.LOCAL) { mCause = new DisconnectCause(DisconnectCause.REJECTED, "overrode cause in EndCallTransaction"); } mCallsManager.markCallAsDisconnected(mCall, mCause); mCallsManager.markCallAsRemoved(mCall); return CompletableFuture.completedFuture( new VoipCallTransactionResult(VoipCallTransactionResult.RESULT_SUCCEED, "endCallTransaction complete")); "EndCallTransaction: RESULT_SUCCEED")); } }
tests/src/com/android/server/telecom/tests/TransactionTests.java +1 −19 Original line number Diff line number Diff line Loading @@ -102,7 +102,7 @@ public class TransactionTests extends TelecomTestCase { public void testEndCallTransactionWithDisconnect() throws Exception { // GIVEN EndCallTransaction transaction = new EndCallTransaction(mCallsManager, true, 0, mMockCall1); new EndCallTransaction(mCallsManager, new DisconnectCause(0), mMockCall1); // WHEN transaction.processTransaction(null); Loading @@ -116,24 +116,6 @@ public class TransactionTests extends TelecomTestCase { .markCallAsRemoved(mMockCall1); } @Test public void testEndCallTransactionWithReject() throws Exception { // GIVEN EndCallTransaction transaction = new EndCallTransaction(mCallsManager, false, 0, mMockCall1); // WHEN transaction.processTransaction(null); // THEN verify(mCallsManager, never()) .markCallAsDisconnected(mMockCall1, new DisconnectCause(0)); verify(mCallsManager, times(1)) .rejectCall(mMockCall1, 0); verify(mCallsManager, times(1)) .markCallAsRemoved(mMockCall1); } @Test public void testHoldCallTransaction() throws Exception { // GIVEN Loading
tests/src/com/android/server/telecom/tests/TransactionalServiceWrapperTest.java +2 −5 Original line number Diff line number Diff line Loading @@ -121,7 +121,6 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlSetActive() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); Loading @@ -136,11 +135,11 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlRejectCall() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); callControl.rejectCall(CALL_ID_1, new ResultReceiver(null)); callControl.disconnect(CALL_ID_1, new DisconnectCause(DisconnectCause.REJECTED), new ResultReceiver(null)); //THEN verify(mTransactionManager, times(1)) Loading @@ -151,7 +150,6 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlDisconnectCall() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); Loading @@ -167,7 +165,6 @@ public class TransactionalServiceWrapperTest extends TelecomTestCase { public void testCallControlSetInactive() throws RemoteException { // GIVEN mTransactionalServiceWrapper.trackCall(mMockCall1); //when(mCallsManager.getCallObjectFromCallId(CALL_ID_1)).thenReturn(mMockCall1); // WHEN ICallControl callControl = mTransactionalServiceWrapper.getICallControl(); Loading