diff options
13 files changed, 130 insertions, 19 deletions
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java index cacde7f4a547..9e97216ac632 100644 --- a/core/java/android/nfc/NfcAdapter.java +++ b/core/java/android/nfc/NfcAdapter.java @@ -711,6 +711,7 @@ public final class NfcAdapter { /* Stale sService pointer */ if (sIsInitialized) sIsInitialized = false; } + return null; } /* Try to initialize the service */ NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE); diff --git a/core/proto/android/companion/telecom.proto b/core/proto/android/companion/telecom.proto index 7fe2467032cb..73dd8dd23bf5 100644 --- a/core/proto/android/companion/telecom.proto +++ b/core/proto/android/companion/telecom.proto @@ -88,6 +88,8 @@ message Telecom { string name = 1; // Unique identifier for this facilitator, such as a package name. string identifier = 2; + // Extended identifier for this facilitator. + string extended_identifier = 3; } enum Control { 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 fac1c8981061..3187de548ea7 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 @@ -175,7 +175,8 @@ public class CallMetadataSyncConnectionService extends ConnectionService { : handle.getComponentName().getShortClassName(), phoneAccount != null ? phoneAccount.getExtras().getString( CrossDeviceSyncController.EXTRA_CALL_FACILITATOR_ID) - : handle.getComponentName().getPackageName()); + : handle.getComponentName().getPackageName(), + handle.getComponentName().flattenToString()); call.setFacilitator(callFacilitator); call.setDirection(android.companion.Telecom.Call.OUTGOING); call.setCallerId(connectionRequest.getAddress().getSchemeSpecificPart()); 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 74641a48c4dd..08811ba30d8d 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 @@ -75,13 +75,15 @@ class CallMetadataSyncData { public static class CallFacilitator { private String mName; private String mIdentifier; + private String mExtendedIdentifier; private boolean mIsTel; CallFacilitator() {} - CallFacilitator(String name, String identifier) { + CallFacilitator(String name, String identifier, String extendedIdentifier) { mName = name; mIdentifier = identifier; + mExtendedIdentifier = extendedIdentifier; } public String getName() { @@ -92,6 +94,10 @@ class CallMetadataSyncData { return mIdentifier; } + public String getExtendedIdentifier() { + return mExtendedIdentifier; + } + public boolean isTel() { return mIsTel; } @@ -104,6 +110,10 @@ class CallMetadataSyncData { mIdentifier = identifier; } + public void setExtendedIdentifier(String extendedIdentifier) { + mExtendedIdentifier = extendedIdentifier; + } + public void setIsTel(boolean isTel) { mIsTel = isTel; } @@ -170,6 +180,8 @@ class CallMetadataSyncData { "com.android.server.companion.datatransfer.contextsync.extra.FACILITATOR_NAME"; private static final String EXTRA_FACILITATOR_ID = "com.android.server.companion.datatransfer.contextsync.extra.FACILITATOR_ID"; + private static final String EXTRA_FACILITATOR_EXT_ID = + "com.android.server.companion.datatransfer.contextsync.extra.FACILITATOR_EXT_ID"; private static final String EXTRA_STATUS = "com.android.server.companion.datatransfer.contextsync.extra.STATUS"; private static final String EXTRA_DIRECTION = @@ -192,7 +204,10 @@ class CallMetadataSyncData { call.setAppIcon(bundle.getByteArray(EXTRA_APP_ICON)); final String facilitatorName = bundle.getString(EXTRA_FACILITATOR_NAME); final String facilitatorIdentifier = bundle.getString(EXTRA_FACILITATOR_ID); - call.setFacilitator(new CallFacilitator(facilitatorName, facilitatorIdentifier)); + final String facilitatorExtendedIdentifier = + bundle.getString(EXTRA_FACILITATOR_EXT_ID); + call.setFacilitator(new CallFacilitator(facilitatorName, facilitatorIdentifier, + facilitatorExtendedIdentifier)); call.setStatus(bundle.getInt(EXTRA_STATUS)); call.setDirection(bundle.getInt(EXTRA_DIRECTION)); call.setControls(new HashSet<>(bundle.getIntegerArrayList(EXTRA_CONTROLS))); @@ -207,6 +222,7 @@ class CallMetadataSyncData { bundle.putByteArray(EXTRA_APP_ICON, mAppIcon); bundle.putString(EXTRA_FACILITATOR_NAME, mFacilitator.getName()); bundle.putString(EXTRA_FACILITATOR_ID, mFacilitator.getIdentifier()); + bundle.putString(EXTRA_FACILITATOR_EXT_ID, mFacilitator.getExtendedIdentifier()); bundle.putInt(EXTRA_STATUS, mStatus); bundle.putInt(EXTRA_DIRECTION, mDirection); bundle.putIntegerArrayList(EXTRA_CONTROLS, new ArrayList<>(mControls)); 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 e8392d29365e..2a507990b0d5 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 @@ -48,6 +48,7 @@ public class CrossDeviceCall { private final int mUserId; @VisibleForTesting boolean mIsEnterprise; private final String mCallingAppPackageName; + private final String mSerializedPhoneAccountHandle; private String mCallingAppName; private byte[] mCallingAppIcon; private String mCallerDisplayName; @@ -89,6 +90,8 @@ public class CrossDeviceCall { .equals(handle.getComponentName()); mCallingAppPackageName = handle != null ? callDetails.getAccountHandle().getComponentName().getPackageName() : ""; + mSerializedPhoneAccountHandle = handle != null + ? handle.getId() + SEPARATOR + handle.getComponentName().flattenToString() : ""; mIsEnterprise = (callDetails.getCallProperties() & Call.Details.PROPERTY_ENTERPRISE_CALL) == Call.Details.PROPERTY_ENTERPRISE_CALL; final PackageManager packageManager = context.getPackageManager(); @@ -247,6 +250,10 @@ public class CrossDeviceCall { return mCallingAppPackageName; } + public String getSerializedPhoneAccountHandle() { + return mSerializedPhoneAccountHandle; + } + /** * Get a human-readable "caller id" to display as the origin of the call. * 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 31694590a930..9bd5af956a6e 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 @@ -280,7 +280,7 @@ public class CrossDeviceSyncController { mCallFacilitators.add( new CallMetadataSyncData.CallFacilitator( defaultOutgoingTelAccount.getLabel().toString(), - FACILITATOR_ID_SYSTEM)); + FACILITATOR_ID_SYSTEM, FACILITATOR_ID_SYSTEM)); } } } @@ -574,6 +574,10 @@ public class CrossDeviceSyncController { case (int) Telecom.CallFacilitator.IDENTIFIER: facilitator.setIdentifier(pis.readString(Telecom.CallFacilitator.IDENTIFIER)); break; + case (int) Telecom.CallFacilitator.EXTENDED_IDENTIFIER: + facilitator.setExtendedIdentifier( + pis.readString(Telecom.CallFacilitator.EXTENDED_IDENTIFIER)); + break; default: Slog.e(TAG, "Unhandled field in Facilitator:" + ProtoUtils.currentFieldToString(pis)); @@ -649,6 +653,8 @@ public class CrossDeviceSyncController { final long facilitatorToken = pos.start(Telecom.Call.Origin.FACILITATOR); pos.write(Telecom.CallFacilitator.NAME, call.getCallingAppName()); pos.write(Telecom.CallFacilitator.IDENTIFIER, call.getCallingAppPackageName()); + pos.write(Telecom.CallFacilitator.EXTENDED_IDENTIFIER, + call.getSerializedPhoneAccountHandle()); pos.end(facilitatorToken); pos.end(originToken); pos.write(Telecom.Call.STATUS, call.getStatus()); @@ -662,6 +668,8 @@ public class CrossDeviceSyncController { final long facilitatorsToken = pos.start(Telecom.FACILITATORS); pos.write(Telecom.CallFacilitator.NAME, facilitator.getName()); pos.write(Telecom.CallFacilitator.IDENTIFIER, facilitator.getIdentifier()); + pos.write(Telecom.CallFacilitator.EXTENDED_IDENTIFIER, + facilitator.getExtendedIdentifier()); pos.end(facilitatorsToken); } pos.end(telecomToken); diff --git a/services/core/java/com/android/server/am/BroadcastProcessQueue.java b/services/core/java/com/android/server/am/BroadcastProcessQueue.java index 58f62b67ae11..0fcec6faa0cc 100644 --- a/services/core/java/com/android/server/am/BroadcastProcessQueue.java +++ b/services/core/java/com/android/server/am/BroadcastProcessQueue.java @@ -25,6 +25,7 @@ import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UptimeMillisLong; +import android.app.ActivityManager; import android.app.BroadcastOptions; import android.content.Intent; import android.content.pm.ResolveInfo; @@ -1045,6 +1046,7 @@ class BroadcastProcessQueue { static final int REASON_CONTAINS_MANIFEST = 17; static final int REASON_FOREGROUND = 18; static final int REASON_CORE_UID = 19; + static final int REASON_TOP_PROCESS = 20; @IntDef(flag = false, prefix = { "REASON_" }, value = { REASON_EMPTY, @@ -1066,6 +1068,7 @@ class BroadcastProcessQueue { REASON_CONTAINS_MANIFEST, REASON_FOREGROUND, REASON_CORE_UID, + REASON_TOP_PROCESS, }) @Retention(RetentionPolicy.SOURCE) public @interface Reason {} @@ -1091,6 +1094,7 @@ class BroadcastProcessQueue { case REASON_CONTAINS_MANIFEST: return "CONTAINS_MANIFEST"; case REASON_FOREGROUND: return "FOREGROUND"; case REASON_CORE_UID: return "CORE_UID"; + case REASON_TOP_PROCESS: return "TOP_PROCESS"; default: return Integer.toString(reason); } } @@ -1132,6 +1136,11 @@ class BroadcastProcessQueue { } else if (mUidForeground) { mRunnableAt = runnableAt + constants.DELAY_FOREGROUND_PROC_MILLIS; mRunnableAtReason = REASON_FOREGROUND; + } else if (app != null && app.getSetProcState() == ActivityManager.PROCESS_STATE_TOP) { + // TODO (b/287676625): Use a callback to check when a process goes in and out of + // the TOP state. + mRunnableAt = runnableAt + constants.DELAY_FOREGROUND_PROC_MILLIS; + mRunnableAtReason = REASON_TOP_PROCESS; } else if (mProcessPersistent) { mRunnableAt = runnableAt + constants.DELAY_PERSISTENT_PROC_MILLIS; mRunnableAtReason = REASON_PERSISTENT; diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java index f814c3b3112d..f532122c10d9 100644 --- a/services/core/java/com/android/server/am/ProcessRecord.java +++ b/services/core/java/com/android/server/am/ProcessRecord.java @@ -674,6 +674,11 @@ class ProcessRecord implements WindowProcessListener { return mState.getCurProcState(); } + @GuardedBy(anyOf = {"mService", "mProcLock"}) + int getSetProcState() { + return mState.getSetProcState(); + } + @GuardedBy({"mService", "mProcLock"}) public void makeActive(IApplicationThread thread, ProcessStatsService tracker) { mProfile.onProcessActive(thread, tracker); diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java index cea886ff6e87..825d38b3eed7 100644 --- a/services/core/java/com/android/server/wm/InputMonitor.java +++ b/services/core/java/com/android/server/wm/InputMonitor.java @@ -49,6 +49,7 @@ import static com.android.server.wm.WindowManagerService.LOGTAG_INPUT_FOCUS; import static java.lang.Integer.MAX_VALUE; import android.annotation.Nullable; +import android.graphics.Rect; import android.graphics.Region; import android.os.Handler; import android.os.IBinder; @@ -558,7 +559,8 @@ final class InputMonitor { private boolean mAddWallpaperInputConsumerHandle; private boolean mAddRecentsAnimationInputConsumerHandle; - boolean mInDrag; + private boolean mInDrag; + private final Rect mTmpRect = new Rect(); private void updateInputWindows(boolean inDrag) { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "updateInputWindows"); @@ -582,8 +584,11 @@ final class InputMonitor { layer = layer != null ? layer : activeRecents; // Handle edge-case for SUW where windows don't exist yet if (layer.getSurfaceControl() != null) { - mRecentsAnimationInputConsumer.mWindowHandle - .replaceTouchableRegionWithCrop(layer.getSurfaceControl()); + final WindowState targetAppMainWindow = activeRecents.findMainWindow(); + if (targetAppMainWindow != null) { + targetAppMainWindow.getBounds(mTmpRect); + mRecentsAnimationInputConsumer.mWindowHandle.touchableRegion.set(mTmpRect); + } mRecentsAnimationInputConsumer.show(mInputTransaction, layer); mAddRecentsAnimationInputConsumerHandle = false; } diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java index 3b3e7cdb496c..6bcc14e97955 100644 --- a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java @@ -66,6 +66,7 @@ import static org.mockito.Mockito.times; import android.annotation.NonNull; import android.app.Activity; +import android.app.ActivityManager; import android.app.AppOpsManager; import android.app.BackgroundStartPrivileges; import android.app.BroadcastOptions; @@ -555,6 +556,33 @@ public final class BroadcastQueueModernImplTest { } @Test + public void testRunnableAt_processTop() { + final BroadcastProcessQueue queue = new BroadcastProcessQueue(mConstants, PACKAGE_GREEN, + getUidForPackage(PACKAGE_GREEN)); + + doReturn(ActivityManager.PROCESS_STATE_TOP).when(mProcess).getSetProcState(); + queue.setProcessAndUidState(mProcess, false, false); + + final Intent timeTick = new Intent(Intent.ACTION_TIME_TICK); + final BroadcastRecord timeTickRecord = makeBroadcastRecord(timeTick, + List.of(makeMockRegisteredReceiver())); + enqueueOrReplaceBroadcast(queue, timeTickRecord, 0); + + assertThat(queue.getRunnableAt()).isLessThan(timeTickRecord.enqueueTime); + assertEquals(BroadcastProcessQueue.REASON_TOP_PROCESS, queue.getRunnableAtReason()); + + doReturn(ActivityManager.PROCESS_STATE_SERVICE).when(mProcess).getSetProcState(); + queue.setProcessAndUidState(mProcess, false, false); + + // The new process state will only be taken into account the next time a broadcast + // is sent to the process. + enqueueOrReplaceBroadcast(queue, makeBroadcastRecord(timeTick, + List.of(makeMockRegisteredReceiver())), 0); + assertThat(queue.getRunnableAt()).isGreaterThan(timeTickRecord.enqueueTime); + assertEquals(BroadcastProcessQueue.REASON_NORMAL, queue.getRunnableAtReason()); + } + + @Test public void testRunnableAt_persistentProc() { final BroadcastProcessQueue queue = new BroadcastProcessQueue(mConstants, PACKAGE_GREEN, getUidForPackage(PACKAGE_GREEN)); 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 dccc26af8024..7b5c57fd1961 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 @@ -35,6 +35,7 @@ public class CallMetadataSyncDataTest { final byte[] appIcon = "appIcon".getBytes(); final String appName = "appName"; final String appIdentifier = "com.google.test"; + final String extendedId = "com.google.test/.InCallService"; final int status = 1; final int direction = android.companion.Telecom.Call.OUTGOING; final int control1 = 2; @@ -43,7 +44,7 @@ public class CallMetadataSyncDataTest { call.setCallerId(callerId); call.setAppIcon(appIcon); final CallMetadataSyncData.CallFacilitator callFacilitator = - new CallMetadataSyncData.CallFacilitator(appName, appIdentifier); + new CallMetadataSyncData.CallFacilitator(appName, appIdentifier, extendedId); call.setFacilitator(callFacilitator); call.setStatus(status); call.setDirection(direction); @@ -59,6 +60,8 @@ public class CallMetadataSyncDataTest { assertThat(reconstructedCall.getAppIcon()).isEqualTo(appIcon); assertThat(reconstructedCall.getFacilitator().getName()).isEqualTo(appName); assertThat(reconstructedCall.getFacilitator().getIdentifier()).isEqualTo(appIdentifier); + assertThat(reconstructedCall.getFacilitator().getExtendedIdentifier()) + .isEqualTo(extendedId); assertThat(reconstructedCall.getStatus()).isEqualTo(status); assertThat(reconstructedCall.getDirection()).isEqualTo(direction); assertThat(reconstructedCall.getControls()).containsExactly(control1, control2); 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 201d8f9413a2..a13cc4162cce 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 @@ -308,6 +308,18 @@ public class CrossDeviceCallTest { .isEqualTo(CONTACT_DISPLAY_NAME); } + @Test + public void getSerializedPhoneAccountHandle_serializesCorrectly() { + final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( + InstrumentationRegistry.getTargetContext(), + mUninitializedCallDetails, /* callAudioState= */ null); + + final String result = crossDeviceCall.getSerializedPhoneAccountHandle(); + + assertWithMessage("Wrong phone account handle serialization").that(result) + .isEqualTo("label::com.google.test/com.google.test.Activity"); + } + private Call.Details createCallDetails(int state, int capabilities) { return createCallDetails(state, capabilities, /* hasContactName= */ true); } 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 7e392a4261c1..e6cc34351284 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 @@ -195,7 +195,8 @@ public class CrossDeviceSyncControllerTest { new CrossDeviceSyncController.PhoneAccountManager(mMockContext); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addFacilitator( - new CallMetadataSyncData.CallFacilitator("name", "com.google.test")); + new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); phoneAccountManager.updateFacilitators(0, callMetadataSyncData); phoneAccountManager.updateFacilitators(0, callMetadataSyncData); verify(mMockTelecomManager, times(1)).registerPhoneAccount(any()); @@ -208,10 +209,12 @@ public class CrossDeviceSyncControllerTest { new CrossDeviceSyncController.PhoneAccountManager(mMockContext); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addFacilitator( - new CallMetadataSyncData.CallFacilitator("name", "com.google.test")); + new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); phoneAccountManager.updateFacilitators(0, callMetadataSyncData); callMetadataSyncData.addFacilitator( - new CallMetadataSyncData.CallFacilitator("name", "com.google.test2")); + new CallMetadataSyncData.CallFacilitator("name", "com.google.test2", + "com.google.test2/.InCallService")); phoneAccountManager.updateFacilitators(0, callMetadataSyncData); verify(mMockTelecomManager, times(2)).registerPhoneAccount(any()); verify(mMockTelecomManager, times(0)).unregisterPhoneAccount(any()); @@ -223,7 +226,8 @@ public class CrossDeviceSyncControllerTest { new CrossDeviceSyncController.PhoneAccountManager(mMockContext); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addFacilitator( - new CallMetadataSyncData.CallFacilitator("name", "com.google.test")); + new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); phoneAccountManager.updateFacilitators(0, callMetadataSyncData); final CallMetadataSyncData callMetadataSyncData2 = new CallMetadataSyncData(); phoneAccountManager.updateFacilitators(0, callMetadataSyncData2); @@ -236,7 +240,9 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc"); call.setDirection(android.companion.Telecom.Call.INCOMING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator( + new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); final CrossDeviceSyncController.CallManager callManager = @@ -252,7 +258,9 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc"); call.setDirection(android.companion.Telecom.Call.OUTGOING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator( + new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); call.setCallerId("555-555-5555"); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); @@ -269,7 +277,9 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc"); call.setDirection(android.companion.Telecom.Call.OUTGOING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator( + new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); final CrossDeviceSyncController.CallManager callManager = @@ -316,7 +326,8 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc::originalId"); call.setDirection(android.companion.Telecom.Call.INCOMING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); final CrossDeviceSyncController.CallManager callManager = @@ -334,7 +345,8 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc::originalId"); call.setDirection(android.companion.Telecom.Call.OUTGOING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); call.setCallerId("555-555-5555"); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); @@ -352,7 +364,8 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc"); call.setDirection(android.companion.Telecom.Call.INCOMING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); final CrossDeviceSyncController.CallManager callManager = @@ -369,7 +382,8 @@ public class CrossDeviceSyncControllerTest { final CallMetadataSyncData.Call call = new CallMetadataSyncData.Call(); call.setId("123abc"); call.setDirection(android.companion.Telecom.Call.OUTGOING); - call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.android.test")); + call.setFacilitator(new CallMetadataSyncData.CallFacilitator("name", "com.google.test", + "com.google.test/.InCallService")); call.setCallerId("555-555-5555"); final CallMetadataSyncData callMetadataSyncData = new CallMetadataSyncData(); callMetadataSyncData.addCall(call); |