diff options
10 files changed, 113 insertions, 125 deletions
diff --git a/core/proto/android/companion/telecom.proto b/core/proto/android/companion/telecom.proto index 3a9e5eeb4877..02ba7c5e39ff 100644 --- a/core/proto/android/companion/telecom.proto +++ b/core/proto/android/companion/telecom.proto @@ -25,7 +25,7 @@ message Telecom { // Next index: 6 message Call { // UUID representing this call - int64 id = 1; + string id = 1; message Origin { // Caller's name and/or phone number; what a user would see displayed when receiving an @@ -48,22 +48,23 @@ message Telecom { } Status status = 3; - enum Control { - UNKNOWN_CONTROL = 0; - ACCEPT = 1; - REJECT = 2; - SILENCE = 3; - MUTE = 4; - UNMUTE = 5; - END = 6; - PUT_ON_HOLD = 7; - TAKE_OFF_HOLD = 8; - REJECT_AND_BLOCK = 9; - IGNORE = 10; - } repeated Control controls = 4; } + enum Control { + UNKNOWN_CONTROL = 0; + ACCEPT = 1; + REJECT = 2; + SILENCE = 3; + MUTE = 4; + UNMUTE = 5; + END = 6; + PUT_ON_HOLD = 7; + TAKE_OFF_HOLD = 8; + REJECT_AND_BLOCK = 9; + IGNORE = 10; + } + // The list of active calls. repeated Call calls = 1; // The list of requested calls or call changes. diff --git a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncConnectionService.java b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncConnectionService.java index 6f99d8677646..e436e9300fb5 100644 --- a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncConnectionService.java +++ b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncConnectionService.java @@ -128,9 +128,9 @@ public class CallMetadataSyncConnectionService extends ConnectionService { private static final class CallMetadataSyncConnectionIdentifier { private final int mAssociationId; - private final long mCallId; + private final String mCallId; - CallMetadataSyncConnectionIdentifier(int associationId, long callId) { + CallMetadataSyncConnectionIdentifier(int associationId, String callId) { mAssociationId = associationId; mCallId = callId; } @@ -139,7 +139,7 @@ public class CallMetadataSyncConnectionService extends ConnectionService { return mAssociationId; } - public long getCallId() { + public String getCallId() { return mCallId; } @@ -161,9 +161,7 @@ public class CallMetadataSyncConnectionService extends ConnectionService { private abstract static class CallMetadataSyncConnectionCallback { - abstract void sendCallAction(int associationId, long callId, int action); - - abstract void sendStateChange(int associationId, long callId, int newState); + abstract void sendCallAction(int associationId, String callId, int action); } private static class CallMetadataSyncConnection extends Connection { @@ -184,7 +182,7 @@ public class CallMetadataSyncConnectionService extends ConnectionService { mCallback = callback; } - public long getCallId() { + public String getCallId() { return mCall.getId(); } @@ -205,22 +203,22 @@ public class CallMetadataSyncConnectionService extends ConnectionService { } final Bundle extras = new Bundle(); - extras.putLong(CrossDeviceCall.EXTRA_CALL_ID, mCall.getId()); + extras.putString(CrossDeviceCall.EXTRA_CALL_ID, mCall.getId()); putExtras(extras); int capabilities = getConnectionCapabilities(); - if (mCall.hasControl(android.companion.Telecom.Call.PUT_ON_HOLD)) { + if (mCall.hasControl(android.companion.Telecom.PUT_ON_HOLD)) { capabilities |= CAPABILITY_HOLD; } else { capabilities &= ~CAPABILITY_HOLD; } - if (mCall.hasControl(android.companion.Telecom.Call.MUTE)) { + if (mCall.hasControl(android.companion.Telecom.MUTE)) { capabilities |= CAPABILITY_MUTE; } else { capabilities &= ~CAPABILITY_MUTE; } mAudioManager.setMicrophoneMute( - mCall.hasControl(android.companion.Telecom.Call.UNMUTE)); + mCall.hasControl(android.companion.Telecom.UNMUTE)); if (capabilities != getConnectionCapabilities()) { setConnectionCapabilities(capabilities); } @@ -248,8 +246,8 @@ public class CallMetadataSyncConnectionService extends ConnectionService { int capabilities = getConnectionCapabilities(); final boolean hasHoldControl = mCall.hasControl( - android.companion.Telecom.Call.PUT_ON_HOLD) - || mCall.hasControl(android.companion.Telecom.Call.TAKE_OFF_HOLD); + android.companion.Telecom.PUT_ON_HOLD) + || mCall.hasControl(android.companion.Telecom.TAKE_OFF_HOLD); if (hasHoldControl != ((getConnectionCapabilities() & CAPABILITY_HOLD) == CAPABILITY_HOLD)) { if (hasHoldControl) { @@ -258,7 +256,7 @@ public class CallMetadataSyncConnectionService extends ConnectionService { capabilities &= ~CAPABILITY_HOLD; } } - final boolean hasMuteControl = mCall.hasControl(android.companion.Telecom.Call.MUTE); + final boolean hasMuteControl = mCall.hasControl(android.companion.Telecom.MUTE); if (hasMuteControl != ((getConnectionCapabilities() & CAPABILITY_MUTE) == CAPABILITY_MUTE)) { if (hasMuteControl) { @@ -268,7 +266,7 @@ public class CallMetadataSyncConnectionService extends ConnectionService { } } mAudioManager.setMicrophoneMute( - mCall.hasControl(android.companion.Telecom.Call.UNMUTE)); + mCall.hasControl(android.companion.Telecom.UNMUTE)); if (capabilities != getConnectionCapabilities()) { setConnectionCapabilities(capabilities); } @@ -276,12 +274,12 @@ public class CallMetadataSyncConnectionService extends ConnectionService { @Override public void onAnswer(int videoState) { - sendCallAction(android.companion.Telecom.Call.ACCEPT); + sendCallAction(android.companion.Telecom.ACCEPT); } @Override public void onReject() { - sendCallAction(android.companion.Telecom.Call.REJECT); + sendCallAction(android.companion.Telecom.REJECT); } @Override @@ -296,33 +294,28 @@ public class CallMetadataSyncConnectionService extends ConnectionService { @Override public void onSilence() { - sendCallAction(android.companion.Telecom.Call.SILENCE); + sendCallAction(android.companion.Telecom.SILENCE); } @Override public void onHold() { - sendCallAction(android.companion.Telecom.Call.PUT_ON_HOLD); + sendCallAction(android.companion.Telecom.PUT_ON_HOLD); } @Override public void onUnhold() { - sendCallAction(android.companion.Telecom.Call.TAKE_OFF_HOLD); + sendCallAction(android.companion.Telecom.TAKE_OFF_HOLD); } @Override public void onMuteStateChanged(boolean isMuted) { - sendCallAction(isMuted ? android.companion.Telecom.Call.MUTE - : android.companion.Telecom.Call.UNMUTE); + sendCallAction(isMuted ? android.companion.Telecom.MUTE + : android.companion.Telecom.UNMUTE); } @Override public void onDisconnect() { - sendCallAction(android.companion.Telecom.Call.END); - } - - @Override - public void onStateChanged(int state) { - mCallback.sendStateChange(mAssociationId, mCall.getId(), state); + sendCallAction(android.companion.Telecom.END); } private void sendCallAction(int action) { diff --git a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncData.java b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncData.java index 1e4bb9a504ba..5b0c745a7173 100644 --- a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncData.java +++ b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncData.java @@ -33,14 +33,14 @@ import java.util.Set; /** A read-only snapshot of an {@link ContextSyncMessage}. */ class CallMetadataSyncData { - final Map<Long, CallMetadataSyncData.Call> mCalls = new HashMap<>(); + final Map<String, CallMetadataSyncData.Call> mCalls = new HashMap<>(); final List<CallMetadataSyncData.Call> mRequests = new ArrayList<>(); public void addCall(CallMetadataSyncData.Call call) { mCalls.put(call.getId(), call); } - public boolean hasCall(long id) { + public boolean hasCall(String id) { return mCalls.containsKey(id); } @@ -57,7 +57,7 @@ class CallMetadataSyncData { } public static class Call implements Parcelable { - private long mId; + private String mId; private String mCallerId; private byte[] mAppIcon; private String mAppName; @@ -67,7 +67,7 @@ class CallMetadataSyncData { public static Call fromParcel(Parcel parcel) { final Call call = new Call(); - call.setId(parcel.readLong()); + call.setId(parcel.readString()); call.setCallerId(parcel.readString()); call.setAppIcon(parcel.readBlob()); call.setAppName(parcel.readString()); @@ -82,7 +82,7 @@ class CallMetadataSyncData { @Override public void writeToParcel(Parcel parcel, int parcelableFlags) { - parcel.writeLong(mId); + parcel.writeString(mId); parcel.writeString(mCallerId); parcel.writeBlob(mAppIcon); parcel.writeString(mAppName); @@ -94,7 +94,7 @@ class CallMetadataSyncData { } } - void setId(long id) { + void setId(String id) { mId = id; } @@ -122,7 +122,7 @@ class CallMetadataSyncData { mControls.add(control); } - long getId() { + String getId() { return mId; } @@ -157,7 +157,7 @@ class CallMetadataSyncData { @Override public boolean equals(Object other) { if (other instanceof CallMetadataSyncData.Call) { - return ((Call) other).getId() == getId(); + return mId != null && mId.equals(((Call) other).getId()); } return false; } diff --git a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallService.java b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallService.java index 443a732eb6f1..0c2373023177 100644 --- a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallService.java +++ b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallService.java @@ -41,7 +41,6 @@ import java.util.stream.Collectors; public class CallMetadataSyncInCallService extends InCallService { private static final String TAG = "CallMetadataIcs"; - private static final long NOT_VALID = -1L; private CompanionDeviceManagerServiceInternal mCdmsi; @@ -71,7 +70,7 @@ public class CallMetadataSyncInCallService extends InCallService { callMetadataSyncData.getRequests().iterator(); while (iterator.hasNext()) { final CallMetadataSyncData.Call call = iterator.next(); - if (call.getId() != 0) { + if (call.getId() != null) { // The call is already assigned an id; treat as control invocations. for (int control : call.getControls()) { processCallControlAction(call.getId(), control); @@ -81,41 +80,41 @@ public class CallMetadataSyncInCallService extends InCallService { } } - private void processCallControlAction(long crossDeviceCallId, + private void processCallControlAction(String crossDeviceCallId, int callControlAction) { final CrossDeviceCall crossDeviceCall = getCallForId(crossDeviceCallId, mCurrentCalls.values()); switch (callControlAction) { - case android.companion.Telecom.Call.ACCEPT: + case android.companion.Telecom.ACCEPT: if (crossDeviceCall != null) { crossDeviceCall.doAccept(); } break; - case android.companion.Telecom.Call.REJECT: + case android.companion.Telecom.REJECT: if (crossDeviceCall != null) { crossDeviceCall.doReject(); } break; - case android.companion.Telecom.Call.SILENCE: + case android.companion.Telecom.SILENCE: doSilence(); break; - case android.companion.Telecom.Call.MUTE: + case android.companion.Telecom.MUTE: doMute(); break; - case android.companion.Telecom.Call.UNMUTE: + case android.companion.Telecom.UNMUTE: doUnmute(); break; - case android.companion.Telecom.Call.END: + case android.companion.Telecom.END: if (crossDeviceCall != null) { crossDeviceCall.doEnd(); } break; - case android.companion.Telecom.Call.PUT_ON_HOLD: + case android.companion.Telecom.PUT_ON_HOLD: if (crossDeviceCall != null) { crossDeviceCall.doPutOnHold(); } break; - case android.companion.Telecom.Call.TAKE_OFF_HOLD: + case android.companion.Telecom.TAKE_OFF_HOLD: if (crossDeviceCall != null) { crossDeviceCall.doTakeOffHold(); } @@ -171,12 +170,12 @@ public class CallMetadataSyncInCallService extends InCallService { @Nullable @VisibleForTesting - CrossDeviceCall getCallForId(long crossDeviceCallId, Collection<CrossDeviceCall> calls) { - if (crossDeviceCallId == NOT_VALID) { + CrossDeviceCall getCallForId(String crossDeviceCallId, Collection<CrossDeviceCall> calls) { + if (crossDeviceCallId == null) { return null; } for (CrossDeviceCall crossDeviceCall : calls) { - if (crossDeviceCall.getId() == crossDeviceCallId) { + if (crossDeviceCallId.equals(crossDeviceCall.getId())) { return crossDeviceCall; } } diff --git a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceCall.java b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceCall.java index ac981d45561b..168068ec6497 100644 --- a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceCall.java +++ b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceCall.java @@ -23,7 +23,6 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.os.Bundle; import android.telecom.Call; import android.telecom.CallAudioState; import android.telecom.VideoProfile; @@ -34,7 +33,7 @@ import com.android.internal.annotations.VisibleForTesting; import java.io.ByteArrayOutputStream; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.atomic.AtomicLong; +import java.util.UUID; /** Data holder for a telecom call and additional metadata. */ public class CrossDeviceCall { @@ -45,9 +44,7 @@ public class CrossDeviceCall { "com.android.companion.datatransfer.contextsync.extra.CALL_ID"; private static final int APP_ICON_BITMAP_DIMENSION = 256; - private static final AtomicLong sNextId = new AtomicLong(1); - - private final long mId; + private final String mId; private Call mCall; @VisibleForTesting boolean mIsEnterprise; @VisibleForTesting boolean mIsOtt; @@ -64,14 +61,14 @@ public class CrossDeviceCall { CallAudioState callAudioState) { this(packageManager, call.getDetails(), callAudioState); mCall = call; - final Bundle extras = new Bundle(); - extras.putLong(EXTRA_CALL_ID, mId); - call.putExtras(extras); + call.putExtra(EXTRA_CALL_ID, mId); } CrossDeviceCall(PackageManager packageManager, Call.Details callDetails, CallAudioState callAudioState) { - mId = sNextId.getAndIncrement(); + final String predefinedId = callDetails.getIntentExtras() != null + ? callDetails.getIntentExtras().getString(EXTRA_CALL_ID) : null; + mId = predefinedId != null ? predefinedId : UUID.randomUUID().toString(); mCallingAppPackageName = callDetails.getAccountHandle().getComponentName().getPackageName(); mIsOtt = (callDetails.getCallCapabilities() & Call.Details.PROPERTY_SELF_MANAGED) @@ -145,7 +142,7 @@ public class CrossDeviceCall { if (mStatus == android.companion.Telecom.Call.RINGING) { mStatus = android.companion.Telecom.Call.RINGING_SILENCED; } - mControls.remove(android.companion.Telecom.Call.SILENCE); + mControls.remove(android.companion.Telecom.SILENCE); } @VisibleForTesting @@ -156,26 +153,26 @@ public class CrossDeviceCall { mControls.clear(); if (mStatus == android.companion.Telecom.Call.RINGING || mStatus == android.companion.Telecom.Call.RINGING_SILENCED) { - mControls.add(android.companion.Telecom.Call.ACCEPT); - mControls.add(android.companion.Telecom.Call.REJECT); + mControls.add(android.companion.Telecom.ACCEPT); + mControls.add(android.companion.Telecom.REJECT); if (mStatus == android.companion.Telecom.Call.RINGING) { - mControls.add(android.companion.Telecom.Call.SILENCE); + mControls.add(android.companion.Telecom.SILENCE); } } if (mStatus == android.companion.Telecom.Call.ONGOING || mStatus == android.companion.Telecom.Call.ON_HOLD) { - mControls.add(android.companion.Telecom.Call.END); + mControls.add(android.companion.Telecom.END); if (callDetails.can(Call.Details.CAPABILITY_HOLD)) { mControls.add( mStatus == android.companion.Telecom.Call.ON_HOLD - ? android.companion.Telecom.Call.TAKE_OFF_HOLD - : android.companion.Telecom.Call.PUT_ON_HOLD); + ? android.companion.Telecom.TAKE_OFF_HOLD + : android.companion.Telecom.PUT_ON_HOLD); } } if (mStatus == android.companion.Telecom.Call.ONGOING && callDetails.can( Call.Details.CAPABILITY_MUTE)) { - mControls.add(mIsMuted ? android.companion.Telecom.Call.UNMUTE - : android.companion.Telecom.Call.MUTE); + mControls.add(mIsMuted ? android.companion.Telecom.UNMUTE + : android.companion.Telecom.MUTE); } } @@ -212,7 +209,7 @@ public class CrossDeviceCall { } } - public long getId() { + public String getId() { return mId; } diff --git a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController.java b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController.java index adc5faf24f2c..e5ab963b6cbb 100644 --- a/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController.java +++ b/services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncController.java @@ -270,7 +270,7 @@ public class CrossDeviceSyncController { while (pis.nextField() != ProtoInputStream.NO_MORE_FIELDS) { switch (pis.getFieldNumber()) { case (int) Telecom.Call.ID: - call.setId(pis.readLong(Telecom.Call.ID)); + call.setId(pis.readString(Telecom.Call.ID)); break; case (int) Telecom.Call.ORIGIN: final long originToken = pis.start(Telecom.Call.ORIGIN); @@ -336,7 +336,7 @@ public class CrossDeviceSyncController { } /** Create a call control message. */ - public static byte[] createCallControlMessage(long callId, int control) { + public static byte[] createCallControlMessage(String callId, int control) { final ProtoOutputStream pos = new ProtoOutputStream(); pos.write(ContextSyncMessage.VERSION, CURRENT_VERSION); final long telecomToken = pos.start(ContextSyncMessage.TELECOM); diff --git a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncDataTest.java b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncDataTest.java index c5a9af7d909d..dcd06c9cc716 100644 --- a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncDataTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncDataTest.java @@ -30,7 +30,7 @@ public class CallMetadataSyncDataTest { @Test public void call_writeToParcel_fromParcel_reconstructsSuccessfully() { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); - final long id = 5; + final String id = "5"; final String callerId = "callerId"; final byte[] appIcon = "appIcon".getBytes(); final String appName = "appName"; diff --git a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallServiceTest.java b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallServiceTest.java index a488ab446aff..afddf3c9be29 100644 --- a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CallMetadataSyncInCallServiceTest.java @@ -47,24 +47,24 @@ public class CallMetadataSyncInCallServiceTest { @Test public void getCallForId_invalid() { - when(mMockCrossDeviceCall.getId()).thenReturn(-1L); - final CrossDeviceCall call = mSyncInCallService.getCallForId(-1L, + when(mMockCrossDeviceCall.getId()).thenReturn(null); + final CrossDeviceCall call = mSyncInCallService.getCallForId(null, List.of(mMockCrossDeviceCall)); assertWithMessage("Unexpectedly found a match for call id").that(call).isNull(); } @Test public void getCallForId_noMatch() { - when(mMockCrossDeviceCall.getId()).thenReturn(5L); - final CrossDeviceCall call = mSyncInCallService.getCallForId(1L, + when(mMockCrossDeviceCall.getId()).thenReturn("123abc"); + final CrossDeviceCall call = mSyncInCallService.getCallForId("abc123", List.of(mMockCrossDeviceCall)); assertWithMessage("Unexpectedly found a match for call id").that(call).isNull(); } @Test public void getCallForId_hasMatch() { - when(mMockCrossDeviceCall.getId()).thenReturn(5L); - final CrossDeviceCall call = mSyncInCallService.getCallForId(5L, + when(mMockCrossDeviceCall.getId()).thenReturn("123abc"); + final CrossDeviceCall call = mSyncInCallService.getCallForId("123abc", List.of(mMockCrossDeviceCall)); assertWithMessage("Unexpectedly did not find a match for call id").that(call).isNotNull(); } diff --git a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceCallTest.java b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceCallTest.java index 9d42a5bf05d2..5a0646c0e0e5 100644 --- a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceCallTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceCallTest.java @@ -62,9 +62,9 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.RINGING); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.ACCEPT, - android.companion.Telecom.Call.REJECT, - android.companion.Telecom.Call.SILENCE)); + .isEqualTo(Set.of(android.companion.Telecom.ACCEPT, + android.companion.Telecom.REJECT, + android.companion.Telecom.SILENCE)); } @Test @@ -77,9 +77,9 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.ONGOING); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.END, - android.companion.Telecom.Call.MUTE, - android.companion.Telecom.Call.PUT_ON_HOLD)); + .isEqualTo(Set.of(android.companion.Telecom.END, + android.companion.Telecom.MUTE, + android.companion.Telecom.PUT_ON_HOLD)); } @Test @@ -92,8 +92,8 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.ON_HOLD); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.END, - android.companion.Telecom.Call.TAKE_OFF_HOLD)); + .isEqualTo(Set.of(android.companion.Telecom.END, + android.companion.Telecom.TAKE_OFF_HOLD)); } @Test @@ -106,8 +106,8 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.ONGOING); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.END, - android.companion.Telecom.Call.MUTE)); + .isEqualTo(Set.of(android.companion.Telecom.END, + android.companion.Telecom.MUTE)); } @Test @@ -120,8 +120,8 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.ONGOING); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.END, - android.companion.Telecom.Call.PUT_ON_HOLD)); + .isEqualTo(Set.of(android.companion.Telecom.END, + android.companion.Telecom.PUT_ON_HOLD)); } @Test @@ -134,17 +134,17 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status for ringing state").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.RINGING); assertWithMessage("Wrong controls for ringing state").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.ACCEPT, - android.companion.Telecom.Call.REJECT, - android.companion.Telecom.Call.SILENCE)); + .isEqualTo(Set.of(android.companion.Telecom.ACCEPT, + android.companion.Telecom.REJECT, + android.companion.Telecom.SILENCE)); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status for active state").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.ONGOING); assertWithMessage("Wrong controls for active state").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.END, - android.companion.Telecom.Call.MUTE, - android.companion.Telecom.Call.PUT_ON_HOLD)); + .isEqualTo(Set.of(android.companion.Telecom.END, + android.companion.Telecom.MUTE, + android.companion.Telecom.PUT_ON_HOLD)); } @Test @@ -158,8 +158,8 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.RINGING_SILENCED); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.ACCEPT, - android.companion.Telecom.Call.REJECT)); + .isEqualTo(Set.of(android.companion.Telecom.ACCEPT, + android.companion.Telecom.REJECT)); } @Test @@ -173,9 +173,9 @@ public class CrossDeviceCallTest { assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.ONGOING); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.END, - android.companion.Telecom.Call.MUTE, - android.companion.Telecom.Call.PUT_ON_HOLD)); + .isEqualTo(Set.of(android.companion.Telecom.END, + android.companion.Telecom.MUTE, + android.companion.Telecom.PUT_ON_HOLD)); } @Test diff --git a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncControllerTest.java b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncControllerTest.java index eec026ccfc8a..25b0ae486230 100644 --- a/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceSyncControllerTest.java @@ -81,7 +81,7 @@ public class CrossDeviceSyncControllerTest { @Test public void processTelecomDataFromSync_createCallUpdateMessage_hasCalls() { - when(mMockCrossDeviceCall.getId()).thenReturn(5L); + when(mMockCrossDeviceCall.getId()).thenReturn("123abc"); final String callerId = "Firstname Lastname"; when(mMockCrossDeviceCall.getReadableCallerId(anyBoolean())).thenReturn(callerId); final String appName = "AppName"; @@ -90,9 +90,9 @@ public class CrossDeviceSyncControllerTest { when(mMockCrossDeviceCall.getCallingAppIcon()).thenReturn(appIcon.getBytes()); when(mMockCrossDeviceCall.getStatus()).thenReturn(android.companion.Telecom.Call.RINGING); final Set<Integer> controls = Set.of( - android.companion.Telecom.Call.ACCEPT, - android.companion.Telecom.Call.REJECT, - android.companion.Telecom.Call.SILENCE); + android.companion.Telecom.ACCEPT, + android.companion.Telecom.REJECT, + android.companion.Telecom.SILENCE); when(mMockCrossDeviceCall.getControls()).thenReturn(controls); final byte[] data = mCrossDeviceSyncController.createCallUpdateMessage( new HashSet<>(List.of(mMockCrossDeviceCall)), @@ -103,35 +103,33 @@ public class CrossDeviceSyncControllerTest { callMetadataSyncData.getCalls()).hasSize(1); final CallMetadataSyncData.Call call = callMetadataSyncData.getCalls().stream().findAny().orElseThrow(); - assertWithMessage("Wrong id").that(call.getId()).isEqualTo(5L); + assertWithMessage("Wrong id").that(call.getId()).isEqualTo("123abc"); assertWithMessage("Wrong app icon").that(new String(call.getAppIcon())).isEqualTo(appIcon); assertWithMessage("Wrong app name").that(call.getAppName()).isEqualTo(appName); assertWithMessage("Wrong caller id").that(call.getCallerId()).isEqualTo(callerId); assertWithMessage("Wrong status").that(call.getStatus()) .isEqualTo(android.companion.Telecom.Call.RINGING); assertWithMessage("Wrong controls").that(call.getControls()).isEqualTo(controls); - assertWithMessage("Unexpectedly has requests").that( - callMetadataSyncData.getRequests()).isEmpty(); } @Test public void processTelecomDataFromMessage_createCallControlMessage_hasCallControlRequest() { final byte[] data = CrossDeviceSyncController.createCallControlMessage( - /* callId= */ 5L, /* status= */ android.companion.Telecom.Call.ACCEPT); + /* callId= */ "123abc", /* status= */ android.companion.Telecom.ACCEPT); final CallMetadataSyncData callMetadataSyncData = mCrossDeviceSyncController.processTelecomDataFromSync(data); assertWithMessage("Wrong number of requests").that( callMetadataSyncData.getRequests()).hasSize(1); final CallMetadataSyncData.Call call = callMetadataSyncData.getRequests().stream().findAny().orElseThrow(); - assertWithMessage("Wrong id").that(call.getId()).isEqualTo(5L); + assertWithMessage("Wrong id").that(call.getId()).isEqualTo("123abc"); assertWithMessage("Wrong app icon").that(call.getAppIcon()).isNull(); assertWithMessage("Wrong app name").that(call.getAppName()).isNull(); assertWithMessage("Wrong caller id").that(call.getCallerId()).isNull(); assertWithMessage("Wrong status").that(call.getStatus()) .isEqualTo(android.companion.Telecom.Call.UNKNOWN_STATUS); assertWithMessage("Wrong controls").that(call.getControls()) - .isEqualTo(Set.of(android.companion.Telecom.Call.ACCEPT)); + .isEqualTo(Set.of(android.companion.Telecom.ACCEPT)); assertWithMessage("Unexpectedly has active calls").that( callMetadataSyncData.getCalls()).isEmpty(); } |