// Signature format: 4.0 package androidx.core.telecom { public final class CallAttributesCompat { ctor public CallAttributesCompat(CharSequence displayName, android.net.Uri address, int direction, optional int callType, optional int callCapabilities, optional androidx.core.telecom.CallEndpointCompat? preferredStartingCallEndpoint); method public android.net.Uri getAddress(); method public int getCallCapabilities(); method public int getCallType(); method public int getDirection(); method public CharSequence getDisplayName(); method public androidx.core.telecom.CallEndpointCompat? getPreferredStartingCallEndpoint(); property public android.net.Uri address; property public int callCapabilities; property public int callType; property public int direction; property public CharSequence displayName; property public androidx.core.telecom.CallEndpointCompat? preferredStartingCallEndpoint; field public static final int CALL_TYPE_AUDIO_CALL = 1; // 0x1 field public static final int CALL_TYPE_VIDEO_CALL = 2; // 0x2 field public static final androidx.core.telecom.CallAttributesCompat.Companion Companion; field public static final int DIRECTION_INCOMING = 1; // 0x1 field public static final int DIRECTION_OUTGOING = 2; // 0x2 field public static final int SUPPORTS_SET_INACTIVE = 2; // 0x2 field public static final int SUPPORTS_STREAM = 4; // 0x4 field public static final int SUPPORTS_TRANSFER = 8; // 0x8 } public static final class CallAttributesCompat.Companion { property public static int CALL_TYPE_AUDIO_CALL; property public static int CALL_TYPE_VIDEO_CALL; property public static int DIRECTION_INCOMING; property public static int DIRECTION_OUTGOING; property public static int SUPPORTS_SET_INACTIVE; property public static int SUPPORTS_STREAM; property public static int SUPPORTS_TRANSFER; } public abstract sealed class CallControlResult { } public static final class CallControlResult.Error extends androidx.core.telecom.CallControlResult { ctor public CallControlResult.Error(int errorCode); method public int getErrorCode(); property public int errorCode; } public static final class CallControlResult.Success extends androidx.core.telecom.CallControlResult { ctor public CallControlResult.Success(); } public interface CallControlScope extends kotlinx.coroutines.CoroutineScope { method public suspend Object? answer(int callType, kotlin.coroutines.Continuation); method public suspend Object? disconnect(android.telecom.DisconnectCause disconnectCause, kotlin.coroutines.Continuation); method public kotlinx.coroutines.flow.Flow> getAvailableEndpoints(); method public android.os.ParcelUuid getCallId(); method public kotlinx.coroutines.flow.Flow getCurrentCallEndpoint(); method public kotlinx.coroutines.flow.Flow isMuted(); method public suspend Object? requestEndpointChange(androidx.core.telecom.CallEndpointCompat endpoint, kotlin.coroutines.Continuation); method public suspend Object? setActive(kotlin.coroutines.Continuation); method public suspend Object? setInactive(kotlin.coroutines.Continuation); property public abstract kotlinx.coroutines.flow.Flow> availableEndpoints; property public abstract kotlinx.coroutines.flow.Flow currentCallEndpoint; property public abstract kotlinx.coroutines.flow.Flow isMuted; } @RequiresApi(android.os.Build.VERSION_CODES.O) public final class CallEndpointCompat implements java.lang.Comparable { ctor public CallEndpointCompat(CharSequence name, int type, android.os.ParcelUuid identifier); method public int compareTo(androidx.core.telecom.CallEndpointCompat other); method public android.os.ParcelUuid getIdentifier(); method public CharSequence getName(); method public int getType(); property public android.os.ParcelUuid identifier; property public CharSequence name; property public int type; field public static final androidx.core.telecom.CallEndpointCompat.Companion Companion; field public static final int TYPE_BLUETOOTH = 2; // 0x2 field public static final int TYPE_EARPIECE = 1; // 0x1 field public static final int TYPE_SPEAKER = 4; // 0x4 field public static final int TYPE_STREAMING = 5; // 0x5 field public static final int TYPE_UNKNOWN = -1; // 0xffffffff field public static final int TYPE_WIRED_HEADSET = 3; // 0x3 } public static final class CallEndpointCompat.Companion { property public static int TYPE_BLUETOOTH; property public static int TYPE_EARPIECE; property public static int TYPE_SPEAKER; property public static int TYPE_STREAMING; property public static int TYPE_UNKNOWN; property public static int TYPE_WIRED_HEADSET; } public final class CallException extends java.lang.RuntimeException { ctor public CallException(); ctor public CallException(optional int code); method public int getCode(); property public int code; field public static final androidx.core.telecom.CallException.Companion Companion; field public static final int ERROR_BLUETOOTH_DEVICE_IS_NULL = 8; // 0x8 field public static final int ERROR_CALL_CANNOT_BE_SET_TO_ACTIVE = 4; // 0x4 field public static final int ERROR_CALL_DOES_NOT_SUPPORT_HOLD = 7; // 0x7 field public static final int ERROR_CALL_IS_NOT_BEING_TRACKED = 3; // 0x3 field public static final int ERROR_CALL_NOT_PERMITTED_AT_PRESENT_TIME = 5; // 0x5 field public static final int ERROR_CANNOT_HOLD_CURRENT_ACTIVE_CALL = 2; // 0x2 field public static final int ERROR_OPERATION_TIMED_OUT = 6; // 0x6 field public static final int ERROR_UNKNOWN = 1; // 0x1 } public static final class CallException.Companion { property public static int ERROR_BLUETOOTH_DEVICE_IS_NULL; property public static int ERROR_CALL_CANNOT_BE_SET_TO_ACTIVE; property public static int ERROR_CALL_DOES_NOT_SUPPORT_HOLD; property public static int ERROR_CALL_IS_NOT_BEING_TRACKED; property public static int ERROR_CALL_NOT_PERMITTED_AT_PRESENT_TIME; property public static int ERROR_CANNOT_HOLD_CURRENT_ACTIVE_CALL; property public static int ERROR_OPERATION_TIMED_OUT; property public static int ERROR_UNKNOWN; } @RequiresApi(android.os.Build.VERSION_CODES.O) public final class CallsManager implements androidx.core.telecom.extensions.CallsManagerExtensions { ctor public CallsManager(android.content.Context context); method @RequiresPermission("android.permission.MANAGE_OWN_CALLS") public suspend Object? addCall(androidx.core.telecom.CallAttributesCompat callAttributes, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onAnswer, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onDisconnect, kotlin.jvm.functions.Function1,? extends java.lang.Object?> onSetActive, kotlin.jvm.functions.Function1,? extends java.lang.Object?> onSetInactive, kotlin.jvm.functions.Function1 block, kotlin.coroutines.Continuation); method @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public suspend Object? addCallWithExtensions(androidx.core.telecom.CallAttributesCompat callAttributes, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onAnswer, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onDisconnect, kotlin.jvm.functions.Function1,? extends java.lang.Object?> onSetActive, kotlin.jvm.functions.Function1,? extends java.lang.Object?> onSetInactive, kotlin.jvm.functions.Function2,? extends java.lang.Object?> init, kotlin.coroutines.Continuation); method public kotlinx.coroutines.flow.Flow> getAvailableStartingCallEndpoints(); method @RequiresPermission("android.permission.MANAGE_OWN_CALLS") public void registerAppWithTelecom(int capabilities); field public static final int CAPABILITY_BASELINE = 1; // 0x1 field public static final int CAPABILITY_SUPPORTS_CALL_STREAMING = 4; // 0x4 field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 2; // 0x2 field public static final androidx.core.telecom.CallsManager.Companion Companion; } public static final class CallsManager.Companion { property public static int CAPABILITY_BASELINE; property public static int CAPABILITY_SUPPORTS_CALL_STREAMING; property public static int CAPABILITY_SUPPORTS_VIDEO_CALLING; } @RequiresApi(android.os.Build.VERSION_CODES.O) public class InCallServiceCompat extends android.telecom.InCallService implements androidx.core.telecom.extensions.CallExtensions androidx.lifecycle.LifecycleOwner { ctor public InCallServiceCompat(); method @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public suspend Object? connectExtensions(android.telecom.Call call, kotlin.jvm.functions.Function1 init, kotlin.coroutines.Continuation); method public androidx.lifecycle.Lifecycle getLifecycle(); property public androidx.lifecycle.Lifecycle lifecycle; } } package androidx.core.telecom.extensions { @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface CallExtensionScope { method public androidx.core.telecom.extensions.CallIconExtensionRemote addCallIconSupport(kotlin.jvm.functions.Function2,? extends java.lang.Object?> onCallIconChanged); method public androidx.core.telecom.extensions.LocalCallSilenceExtensionRemote addLocalCallSilenceExtension(kotlin.jvm.functions.Function2,? extends java.lang.Object?> onIsLocallySilencedUpdated); method public androidx.core.telecom.extensions.MeetingSummaryRemote addMeetingSummaryExtension(kotlin.jvm.functions.Function2,? extends java.lang.Object?> onCurrentSpeakerChanged, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onParticipantCountChanged); method public androidx.core.telecom.extensions.ParticipantExtensionRemote addParticipantExtension(kotlin.jvm.functions.Function2,? extends java.lang.Object?> onActiveParticipantChanged, kotlin.jvm.functions.Function2,? super kotlin.coroutines.Continuation,? extends java.lang.Object?> onParticipantsUpdated); method public void onConnected(kotlin.jvm.functions.Function2,? extends java.lang.Object?> block); } public interface CallExtensions { method @SuppressCompatibility @RequiresApi(android.os.Build.VERSION_CODES.O) @androidx.core.telecom.util.ExperimentalAppActions public suspend Object? connectExtensions(android.telecom.Call call, kotlin.jvm.functions.Function1 init, kotlin.coroutines.Continuation); } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface CallIconExtension { method public suspend Object? updateCallIconUri(android.net.Uri iconUri, kotlin.coroutines.Continuation); } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface CallIconExtensionRemote { method public boolean isSupported(); property public abstract boolean isSupported; } public interface CallsManagerExtensions { method @SuppressCompatibility @RequiresApi(android.os.Build.VERSION_CODES.O) @androidx.core.telecom.util.ExperimentalAppActions public suspend Object? addCallWithExtensions(androidx.core.telecom.CallAttributesCompat callAttributes, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onAnswer, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onDisconnect, kotlin.jvm.functions.Function1,? extends java.lang.Object?> onSetActive, kotlin.jvm.functions.Function1,? extends java.lang.Object?> onSetInactive, kotlin.jvm.functions.Function2,? extends java.lang.Object?> init, kotlin.coroutines.Continuation); } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface ExtensionInitializationScope { method public androidx.core.telecom.extensions.CallIconExtension addCallIconExtension(android.net.Uri initialCallIconUri); method public androidx.core.telecom.extensions.LocalCallSilenceExtension addLocalCallSilenceExtension(boolean initialCallSilenceState, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onLocalSilenceUpdate); method public androidx.core.telecom.extensions.ParticipantExtension addParticipantExtension(optional java.util.List initialParticipants, optional androidx.core.telecom.extensions.Participant? initialActiveParticipant); method public void onCall(kotlin.jvm.functions.Function2,? extends java.lang.Object?> onCall); } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface KickParticipantAction { method public boolean isSupported(); method public suspend Object? requestKickParticipant(androidx.core.telecom.extensions.Participant participant, kotlin.coroutines.Continuation); method public void setSupported(boolean); property public abstract boolean isSupported; } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface LocalCallSilenceExtension { method public suspend Object? updateIsLocallySilenced(boolean isSilenced, kotlin.coroutines.Continuation); } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface LocalCallSilenceExtensionRemote { method public boolean isSupported(); method public suspend Object? requestLocalCallSilenceUpdate(boolean isSilenced, kotlin.coroutines.Continuation); property public abstract boolean isSupported; } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface MeetingSummaryRemote { method public boolean isSupported(); property public abstract boolean isSupported; } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public final class Participant { ctor public Participant(String id, CharSequence name); method public String getId(); method public CharSequence getName(); property public String id; property public CharSequence name; } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface ParticipantExtension { method public void addKickParticipantSupport(kotlin.jvm.functions.Function2,? extends java.lang.Object?> onKickParticipant); method public androidx.core.telecom.extensions.RaiseHandState addRaiseHandSupport(optional java.util.List initialRaisedHands, kotlin.jvm.functions.Function2,? extends java.lang.Object?> onHandRaisedChanged); method public suspend Object? updateActiveParticipant(androidx.core.telecom.extensions.Participant? participant, kotlin.coroutines.Continuation); method public suspend Object? updateParticipants(java.util.List newParticipants, kotlin.coroutines.Continuation); } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface ParticipantExtensionRemote { method public androidx.core.telecom.extensions.KickParticipantAction addKickParticipantAction(); method public androidx.core.telecom.extensions.RaiseHandAction addRaiseHandAction(kotlin.jvm.functions.Function2,? super kotlin.coroutines.Continuation,? extends java.lang.Object?> onRaisedHandsChanged); method public boolean isSupported(); property public abstract boolean isSupported; } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface RaiseHandAction { method public boolean isSupported(); method public suspend Object? requestRaisedHandStateChange(boolean isRaised, kotlin.coroutines.Continuation); method public void setSupported(boolean); property public abstract boolean isSupported; } @SuppressCompatibility @androidx.core.telecom.util.ExperimentalAppActions public interface RaiseHandState { method public suspend Object? updateRaisedHands(java.util.List raisedHands, kotlin.coroutines.Continuation); } } package androidx.core.telecom.util { @SuppressCompatibility @kotlin.RequiresOptIn @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalAppActions { } }