Loading core/api/current.txt +0 −28 Original line number Diff line number Diff line Loading @@ -42001,18 +42001,6 @@ package android.telecom { method public android.telecom.CallScreeningService.CallResponse.Builder setSkipNotification(boolean); } public abstract class CallStreamingService extends android.app.Service { ctor public CallStreamingService(); method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall); method public void onCallStreamingStateChanged(int); method public void onCallStreamingStopped(); field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService"; field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1 field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2 field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3 } public abstract class Conference extends android.telecom.Conferenceable { ctor public Conference(android.telecom.PhoneAccountHandle); method public final boolean addConnection(android.telecom.Connection); Loading Loading @@ -42685,22 +42673,6 @@ package android.telecom { field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR; } public final class StreamingCall implements android.os.Parcelable { ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull String, @NonNull android.net.Uri, @NonNull android.os.Bundle); method public int describeContents(); method @NonNull public android.net.Uri getAddress(); method @NonNull public android.content.ComponentName getComponentName(); method @NonNull public String getDisplayName(); method @NonNull public android.os.Bundle getExtras(); method public int getState(); method public void requestStreamingState(int); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR; field public static final int STATE_DISCONNECTED = 3; // 0x3 field public static final int STATE_HOLDING = 2; // 0x2 field public static final int STATE_STREAMING = 1; // 0x1 } public class TelecomManager { method public void acceptHandover(android.net.Uri, int, android.telecom.PhoneAccountHandle); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ANSWER_PHONE_CALLS, android.Manifest.permission.MODIFY_PHONE_STATE}) public void acceptRingingCall(); core/api/system-current.txt +30 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ package android { field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE"; field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"; field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"; field public static final String BIND_CALL_STREAMING_SERVICE = "android.permission.BIND_CALL_STREAMING_SERVICE"; field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE"; field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE"; field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE"; Loading Loading @@ -13307,6 +13308,19 @@ package android.telecom { method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean); } public abstract class CallStreamingService extends android.app.Service { ctor public CallStreamingService(); method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall); method public void onCallStreamingStateChanged(int); method public void onCallStreamingStopped(); field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService"; field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1 field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2 field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3 field public static final int STREAMING_FAILED_UNKNOWN = 0; // 0x0 } public abstract class Conference extends android.telecom.Conferenceable { method @Deprecated public final android.telecom.AudioState getAudioState(); method @Deprecated public final long getConnectTimeMillis(); Loading Loading @@ -13530,6 +13544,22 @@ package android.telecom { method @Deprecated public android.content.ComponentName getPackageName(); } public final class StreamingCall implements android.os.Parcelable { ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull CharSequence, @NonNull android.net.Uri, @NonNull android.os.Bundle); method public int describeContents(); method @NonNull public android.net.Uri getAddress(); method @NonNull public android.content.ComponentName getComponentName(); method @NonNull public CharSequence getDisplayName(); method @NonNull public android.os.Bundle getExtras(); method public int getState(); method public void requestStreamingState(int); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR; field public static final int STATE_DISCONNECTED = 3; // 0x3 field public static final int STATE_HOLDING = 2; // 0x2 field public static final int STATE_STREAMING = 1; // 0x1 } public final class TelecomAnalytics implements android.os.Parcelable { ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>); method public int describeContents(); core/res/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -2824,6 +2824,13 @@ <permission android:name="android.permission.BIND_INCALL_SERVICE" android:protectionLevel="signature|privileged" /> <!-- Must be required by a {@link android.telecom.CallStreamingService}, to ensure that only the system can bind to it. <p>Protection level: signature @SystemApi @hide--> <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE" android:protectionLevel="signature" /> <!-- Allows to query ongoing call details and manage ongoing calls <p>Protection level: signature|appop --> <permission android:name="android.permission.MANAGE_ONGOING_CALLS" Loading telecomm/java/android/telecom/CallControl.java +2 −2 Original line number Diff line number Diff line Loading @@ -197,10 +197,10 @@ public final class CallControl { * of the requested operation. * * {@link OutcomeReceiver#onResult} will be called if Telecom has successfully * rejected the incoming call. * started the call streaming. * * {@link OutcomeReceiver#onError} will be called if Telecom has failed to * reject the incoming call. A {@link CallException} will be passed that * start the call streaming. A {@link CallException} will be passed that * details why the operation failed. */ public void startCallStreaming(@CallbackExecutor @NonNull Executor executor, Loading telecomm/java/android/telecom/CallStreamingService.java +24 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.telecom; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.app.Service; import android.content.Intent; import android.os.Handler; Loading @@ -38,10 +39,22 @@ import java.lang.annotation.RetentionPolicy; /** * This service is implemented by an app that wishes to provide functionality for a general call * streaming sender for voip calls. * * TODO: add doc of how to be the general streaming sender * * <p> * Below is an example manifest registration for a {@code CallStreamingService}. * <pre> * {@code * <service android:name=".EgCallStreamingService" * android:permission="android.permission.BIND_CALL_STREAMING_SERVICE" > * ... * <intent-filter> * <action android:name="android.telecom.CallStreamingService" /> * </intent-filter> * </service> * } * </pre> * @hide */ @SystemApi public abstract class CallStreamingService extends Service { /** * The {@link android.content.Intent} that must be declared as handled by the service. Loading Loading @@ -119,6 +132,13 @@ public abstract class CallStreamingService extends Service { } } /** * Call streaming request reject reason used with * {@link CallEventCallback#onCallStreamingFailed(int)} to indicate that telecom is rejecting a * call streaming request due to unknown reason. */ public static final int STREAMING_FAILED_UNKNOWN = 0; /** * Call streaming request reject reason used with * {@link CallEventCallback#onCallStreamingFailed(int)} to indicate that telecom is rejecting a Loading Loading @@ -149,6 +169,7 @@ public abstract class CallStreamingService extends Service { */ @IntDef(prefix = {"STREAMING_FAILED"}, value = { STREAMING_FAILED_UNKNOWN, STREAMING_FAILED_ALREADY_STREAMING, STREAMING_FAILED_NO_SENDER, STREAMING_FAILED_SENDER_BINDING_ERROR Loading Loading
core/api/current.txt +0 −28 Original line number Diff line number Diff line Loading @@ -42001,18 +42001,6 @@ package android.telecom { method public android.telecom.CallScreeningService.CallResponse.Builder setSkipNotification(boolean); } public abstract class CallStreamingService extends android.app.Service { ctor public CallStreamingService(); method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall); method public void onCallStreamingStateChanged(int); method public void onCallStreamingStopped(); field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService"; field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1 field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2 field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3 } public abstract class Conference extends android.telecom.Conferenceable { ctor public Conference(android.telecom.PhoneAccountHandle); method public final boolean addConnection(android.telecom.Connection); Loading Loading @@ -42685,22 +42673,6 @@ package android.telecom { field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR; } public final class StreamingCall implements android.os.Parcelable { ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull String, @NonNull android.net.Uri, @NonNull android.os.Bundle); method public int describeContents(); method @NonNull public android.net.Uri getAddress(); method @NonNull public android.content.ComponentName getComponentName(); method @NonNull public String getDisplayName(); method @NonNull public android.os.Bundle getExtras(); method public int getState(); method public void requestStreamingState(int); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR; field public static final int STATE_DISCONNECTED = 3; // 0x3 field public static final int STATE_HOLDING = 2; // 0x2 field public static final int STATE_STREAMING = 1; // 0x1 } public class TelecomManager { method public void acceptHandover(android.net.Uri, int, android.telecom.PhoneAccountHandle); method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ANSWER_PHONE_CALLS, android.Manifest.permission.MODIFY_PHONE_STATE}) public void acceptRingingCall();
core/api/system-current.txt +30 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ package android { field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE"; field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE"; field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE"; field public static final String BIND_CALL_STREAMING_SERVICE = "android.permission.BIND_CALL_STREAMING_SERVICE"; field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE"; field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE"; field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE"; Loading Loading @@ -13307,6 +13308,19 @@ package android.telecom { method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean); } public abstract class CallStreamingService extends android.app.Service { ctor public CallStreamingService(); method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall); method public void onCallStreamingStateChanged(int); method public void onCallStreamingStopped(); field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService"; field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1 field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2 field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3 field public static final int STREAMING_FAILED_UNKNOWN = 0; // 0x0 } public abstract class Conference extends android.telecom.Conferenceable { method @Deprecated public final android.telecom.AudioState getAudioState(); method @Deprecated public final long getConnectTimeMillis(); Loading Loading @@ -13530,6 +13544,22 @@ package android.telecom { method @Deprecated public android.content.ComponentName getPackageName(); } public final class StreamingCall implements android.os.Parcelable { ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull CharSequence, @NonNull android.net.Uri, @NonNull android.os.Bundle); method public int describeContents(); method @NonNull public android.net.Uri getAddress(); method @NonNull public android.content.ComponentName getComponentName(); method @NonNull public CharSequence getDisplayName(); method @NonNull public android.os.Bundle getExtras(); method public int getState(); method public void requestStreamingState(int); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR; field public static final int STATE_DISCONNECTED = 3; // 0x3 field public static final int STATE_HOLDING = 2; // 0x2 field public static final int STATE_STREAMING = 1; // 0x1 } public final class TelecomAnalytics implements android.os.Parcelable { ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>); method public int describeContents();
core/res/AndroidManifest.xml +7 −0 Original line number Diff line number Diff line Loading @@ -2824,6 +2824,13 @@ <permission android:name="android.permission.BIND_INCALL_SERVICE" android:protectionLevel="signature|privileged" /> <!-- Must be required by a {@link android.telecom.CallStreamingService}, to ensure that only the system can bind to it. <p>Protection level: signature @SystemApi @hide--> <permission android:name="android.permission.BIND_CALL_STREAMING_SERVICE" android:protectionLevel="signature" /> <!-- Allows to query ongoing call details and manage ongoing calls <p>Protection level: signature|appop --> <permission android:name="android.permission.MANAGE_ONGOING_CALLS" Loading
telecomm/java/android/telecom/CallControl.java +2 −2 Original line number Diff line number Diff line Loading @@ -197,10 +197,10 @@ public final class CallControl { * of the requested operation. * * {@link OutcomeReceiver#onResult} will be called if Telecom has successfully * rejected the incoming call. * started the call streaming. * * {@link OutcomeReceiver#onError} will be called if Telecom has failed to * reject the incoming call. A {@link CallException} will be passed that * start the call streaming. A {@link CallException} will be passed that * details why the operation failed. */ public void startCallStreaming(@CallbackExecutor @NonNull Executor executor, Loading
telecomm/java/android/telecom/CallStreamingService.java +24 −3 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package android.telecom; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.SdkConstant; import android.annotation.SystemApi; import android.app.Service; import android.content.Intent; import android.os.Handler; Loading @@ -38,10 +39,22 @@ import java.lang.annotation.RetentionPolicy; /** * This service is implemented by an app that wishes to provide functionality for a general call * streaming sender for voip calls. * * TODO: add doc of how to be the general streaming sender * * <p> * Below is an example manifest registration for a {@code CallStreamingService}. * <pre> * {@code * <service android:name=".EgCallStreamingService" * android:permission="android.permission.BIND_CALL_STREAMING_SERVICE" > * ... * <intent-filter> * <action android:name="android.telecom.CallStreamingService" /> * </intent-filter> * </service> * } * </pre> * @hide */ @SystemApi public abstract class CallStreamingService extends Service { /** * The {@link android.content.Intent} that must be declared as handled by the service. Loading Loading @@ -119,6 +132,13 @@ public abstract class CallStreamingService extends Service { } } /** * Call streaming request reject reason used with * {@link CallEventCallback#onCallStreamingFailed(int)} to indicate that telecom is rejecting a * call streaming request due to unknown reason. */ public static final int STREAMING_FAILED_UNKNOWN = 0; /** * Call streaming request reject reason used with * {@link CallEventCallback#onCallStreamingFailed(int)} to indicate that telecom is rejecting a Loading Loading @@ -149,6 +169,7 @@ public abstract class CallStreamingService extends Service { */ @IntDef(prefix = {"STREAMING_FAILED"}, value = { STREAMING_FAILED_UNKNOWN, STREAMING_FAILED_ALREADY_STREAMING, STREAMING_FAILED_NO_SENDER, STREAMING_FAILED_SENDER_BINDING_ERROR Loading