Loading services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceCall.java +19 −13 Original line number Diff line number Diff line Loading @@ -16,12 +16,14 @@ package com.android.server.companion.datatransfer.contextsync; import android.annotation.NonNull; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; 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; Loading @@ -46,7 +48,7 @@ public class CrossDeviceCall { private static final AtomicLong sNextId = new AtomicLong(1); private final long mId; private final Call mCall; private Call mCall; @VisibleForTesting boolean mIsEnterprise; @VisibleForTesting boolean mIsOtt; private final String mCallingAppPackageName; Loading @@ -58,17 +60,23 @@ public class CrossDeviceCall { private boolean mIsMuted; private final Set<Integer> mControls = new HashSet<>(); public CrossDeviceCall(PackageManager packageManager, Call call, public CrossDeviceCall(PackageManager packageManager, @NonNull Call call, CallAudioState callAudioState) { mId = sNextId.getAndIncrement(); this(packageManager, call.getDetails(), callAudioState); mCall = call; mCallingAppPackageName = call != null ? call.getDetails().getAccountHandle().getComponentName().getPackageName() : null; mIsOtt = call != null && (call.getDetails().getCallCapabilities() & Call.Details.PROPERTY_SELF_MANAGED) final Bundle extras = new Bundle(); extras.putLong(EXTRA_CALL_ID, mId); call.putExtras(extras); } CrossDeviceCall(PackageManager packageManager, Call.Details callDetails, CallAudioState callAudioState) { mId = sNextId.getAndIncrement(); mCallingAppPackageName = callDetails.getAccountHandle().getComponentName().getPackageName(); mIsOtt = (callDetails.getCallCapabilities() & Call.Details.PROPERTY_SELF_MANAGED) == Call.Details.PROPERTY_SELF_MANAGED; mIsEnterprise = call != null && (call.getDetails().getCallProperties() & Call.Details.PROPERTY_ENTERPRISE_CALL) mIsEnterprise = (callDetails.getCallProperties() & Call.Details.PROPERTY_ENTERPRISE_CALL) == Call.Details.PROPERTY_ENTERPRISE_CALL; try { final ApplicationInfo applicationInfo = packageManager Loading @@ -81,9 +89,7 @@ public class CrossDeviceCall { Slog.e(TAG, "Could not get application info for package " + mCallingAppPackageName, e); } mIsMuted = callAudioState != null && callAudioState.isMuted(); if (call != null) { updateCallDetails(call.getDetails()); } updateCallDetails(callDetails); } private byte[] renderDrawableToByteArray(Drawable drawable) { Loading @@ -108,10 +114,10 @@ public class CrossDeviceCall { final Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, bitmap.getWidth(), bitmap.getHeight()); drawable.draw(canvas); return renderBitmapToByteArray(bitmap); } finally { bitmap.recycle(); } return renderBitmapToByteArray(bitmap); } private byte[] renderBitmapToByteArray(Bitmap bitmap) { Loading services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceCallTest.java +38 −32 Original line number Diff line number Diff line Loading @@ -18,9 +18,11 @@ package com.android.server.companion.datatransfer.contextsync; import static com.google.common.truth.Truth.assertWithMessage; import android.content.ComponentName; import android.platform.test.annotations.Presubmit; import android.telecom.Call; import android.telecom.ParcelableCall; import android.telecom.PhoneAccountHandle; import android.testing.AndroidTestingRunner; import androidx.test.InstrumentationRegistry; Loading @@ -37,12 +39,14 @@ public class CrossDeviceCallTest { private static final String CALLER_DISPLAY_NAME = "name"; private static final String CONTACT_DISPLAY_NAME = "contact"; private final Call.Details mUninitializedCallDetails = createCallDetails( /* state= */ -1, /* capabilities= */ 0); @Test public void updateCallDetails_uninitialized() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.UNKNOWN_STATUS); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()).isEmpty(); Loading @@ -51,8 +55,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_ringing() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_RINGING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -66,8 +70,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_ongoing() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -81,8 +85,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_holding() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_HOLDING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -95,8 +99,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_cannotHold() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails( createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -109,8 +113,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_cannotMute() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails( createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -123,8 +127,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_transitionRingingToOngoing() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_RINGING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status for ringing state").that(crossDeviceCall.getStatus()) Loading @@ -146,8 +150,8 @@ public class CrossDeviceCallTest { @Test public void updateSilencedIfRinging_ringing_silenced() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_RINGING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); crossDeviceCall.updateSilencedIfRinging(); Loading @@ -161,8 +165,8 @@ public class CrossDeviceCallTest { @Test public void updateSilencedIfRinging_notRinging_notSilenced() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); crossDeviceCall.updateSilencedIfRinging(); Loading @@ -177,8 +181,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_enterpriseCall_adminBlocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = true; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -193,8 +197,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_enterpriseCall_adminUnblocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = true; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -209,8 +213,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_enterpriseCall_adminBlocked_pstn() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = true; crossDeviceCall.mIsOtt = false; crossDeviceCall.updateCallDetails( Loading @@ -225,8 +229,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminBlocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -241,8 +245,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminUnblocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -257,8 +261,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminBlocked_pstn() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = false; crossDeviceCall.updateCallDetails( Loading @@ -273,8 +277,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminUnblocked_pstn() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = false; crossDeviceCall.updateCallDetails( Loading @@ -294,6 +298,8 @@ public class CrossDeviceCallTest { parcelableCallBuilder.setCapabilities(capabilities); parcelableCallBuilder.setState(state); parcelableCallBuilder.setConferenceableCallIds(Collections.emptyList()); parcelableCallBuilder.setAccountHandle(new PhoneAccountHandle( new ComponentName("com.google.test", "com.google.test.Activity"), "label")); return Call.Details.createFromParcelableCall(parcelableCallBuilder.createParcelableCall()); } } Loading
services/companion/java/com/android/server/companion/datatransfer/contextsync/CrossDeviceCall.java +19 −13 Original line number Diff line number Diff line Loading @@ -16,12 +16,14 @@ package com.android.server.companion.datatransfer.contextsync; import android.annotation.NonNull; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; 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; Loading @@ -46,7 +48,7 @@ public class CrossDeviceCall { private static final AtomicLong sNextId = new AtomicLong(1); private final long mId; private final Call mCall; private Call mCall; @VisibleForTesting boolean mIsEnterprise; @VisibleForTesting boolean mIsOtt; private final String mCallingAppPackageName; Loading @@ -58,17 +60,23 @@ public class CrossDeviceCall { private boolean mIsMuted; private final Set<Integer> mControls = new HashSet<>(); public CrossDeviceCall(PackageManager packageManager, Call call, public CrossDeviceCall(PackageManager packageManager, @NonNull Call call, CallAudioState callAudioState) { mId = sNextId.getAndIncrement(); this(packageManager, call.getDetails(), callAudioState); mCall = call; mCallingAppPackageName = call != null ? call.getDetails().getAccountHandle().getComponentName().getPackageName() : null; mIsOtt = call != null && (call.getDetails().getCallCapabilities() & Call.Details.PROPERTY_SELF_MANAGED) final Bundle extras = new Bundle(); extras.putLong(EXTRA_CALL_ID, mId); call.putExtras(extras); } CrossDeviceCall(PackageManager packageManager, Call.Details callDetails, CallAudioState callAudioState) { mId = sNextId.getAndIncrement(); mCallingAppPackageName = callDetails.getAccountHandle().getComponentName().getPackageName(); mIsOtt = (callDetails.getCallCapabilities() & Call.Details.PROPERTY_SELF_MANAGED) == Call.Details.PROPERTY_SELF_MANAGED; mIsEnterprise = call != null && (call.getDetails().getCallProperties() & Call.Details.PROPERTY_ENTERPRISE_CALL) mIsEnterprise = (callDetails.getCallProperties() & Call.Details.PROPERTY_ENTERPRISE_CALL) == Call.Details.PROPERTY_ENTERPRISE_CALL; try { final ApplicationInfo applicationInfo = packageManager Loading @@ -81,9 +89,7 @@ public class CrossDeviceCall { Slog.e(TAG, "Could not get application info for package " + mCallingAppPackageName, e); } mIsMuted = callAudioState != null && callAudioState.isMuted(); if (call != null) { updateCallDetails(call.getDetails()); } updateCallDetails(callDetails); } private byte[] renderDrawableToByteArray(Drawable drawable) { Loading @@ -108,10 +114,10 @@ public class CrossDeviceCall { final Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, bitmap.getWidth(), bitmap.getHeight()); drawable.draw(canvas); return renderBitmapToByteArray(bitmap); } finally { bitmap.recycle(); } return renderBitmapToByteArray(bitmap); } private byte[] renderBitmapToByteArray(Bitmap bitmap) { Loading
services/tests/servicestests/src/com/android/server/companion/datatransfer/contextsync/CrossDeviceCallTest.java +38 −32 Original line number Diff line number Diff line Loading @@ -18,9 +18,11 @@ package com.android.server.companion.datatransfer.contextsync; import static com.google.common.truth.Truth.assertWithMessage; import android.content.ComponentName; import android.platform.test.annotations.Presubmit; import android.telecom.Call; import android.telecom.ParcelableCall; import android.telecom.PhoneAccountHandle; import android.testing.AndroidTestingRunner; import androidx.test.InstrumentationRegistry; Loading @@ -37,12 +39,14 @@ public class CrossDeviceCallTest { private static final String CALLER_DISPLAY_NAME = "name"; private static final String CONTACT_DISPLAY_NAME = "contact"; private final Call.Details mUninitializedCallDetails = createCallDetails( /* state= */ -1, /* capabilities= */ 0); @Test public void updateCallDetails_uninitialized() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) .isEqualTo(android.companion.Telecom.Call.UNKNOWN_STATUS); assertWithMessage("Wrong controls").that(crossDeviceCall.getControls()).isEmpty(); Loading @@ -51,8 +55,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_ringing() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_RINGING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -66,8 +70,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_ongoing() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -81,8 +85,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_holding() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_HOLDING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -95,8 +99,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_cannotHold() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails( createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -109,8 +113,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_cannotMute() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails( createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD)); assertWithMessage("Wrong status").that(crossDeviceCall.getStatus()) Loading @@ -123,8 +127,8 @@ public class CrossDeviceCallTest { @Test public void updateCallDetails_transitionRingingToOngoing() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_RINGING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); assertWithMessage("Wrong status for ringing state").that(crossDeviceCall.getStatus()) Loading @@ -146,8 +150,8 @@ public class CrossDeviceCallTest { @Test public void updateSilencedIfRinging_ringing_silenced() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_RINGING, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); crossDeviceCall.updateSilencedIfRinging(); Loading @@ -161,8 +165,8 @@ public class CrossDeviceCallTest { @Test public void updateSilencedIfRinging_notRinging_notSilenced() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.updateCallDetails(createCallDetails(Call.STATE_ACTIVE, Call.Details.CAPABILITY_HOLD | Call.Details.CAPABILITY_MUTE)); crossDeviceCall.updateSilencedIfRinging(); Loading @@ -177,8 +181,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_enterpriseCall_adminBlocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = true; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -193,8 +197,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_enterpriseCall_adminUnblocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = true; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -209,8 +213,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_enterpriseCall_adminBlocked_pstn() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = true; crossDeviceCall.mIsOtt = false; crossDeviceCall.updateCallDetails( Loading @@ -225,8 +229,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminBlocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -241,8 +245,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminUnblocked_ott() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = true; crossDeviceCall.updateCallDetails( Loading @@ -257,8 +261,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminBlocked_pstn() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = false; crossDeviceCall.updateCallDetails( Loading @@ -273,8 +277,8 @@ public class CrossDeviceCallTest { @Test public void getReadableCallerId_nonEnterpriseCall_adminUnblocked_pstn() { final CrossDeviceCall crossDeviceCall = new CrossDeviceCall( InstrumentationRegistry.getTargetContext().getPackageManager(), /* call= */ null, /* callAudioState= */ null); InstrumentationRegistry.getTargetContext().getPackageManager(), mUninitializedCallDetails, /* callAudioState= */ null); crossDeviceCall.mIsEnterprise = false; crossDeviceCall.mIsOtt = false; crossDeviceCall.updateCallDetails( Loading @@ -294,6 +298,8 @@ public class CrossDeviceCallTest { parcelableCallBuilder.setCapabilities(capabilities); parcelableCallBuilder.setState(state); parcelableCallBuilder.setConferenceableCallIds(Collections.emptyList()); parcelableCallBuilder.setAccountHandle(new PhoneAccountHandle( new ComponentName("com.google.test", "com.google.test.Activity"), "label")); return Call.Details.createFromParcelableCall(parcelableCallBuilder.createParcelableCall()); } }