Merge "Expose new Telecom APIs for use by Telephony" am: fd191d895e
am: 5defb332c9
Change-Id: I0bd66f496e0c9bdc40fbb5f970628d745fa2472f
This commit is contained in:
@@ -7373,6 +7373,10 @@ package android.telecom {
|
||||
field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
|
||||
}
|
||||
|
||||
public final class ConnectionRequest implements android.os.Parcelable {
|
||||
method @Nullable public String getTelecomCallId();
|
||||
}
|
||||
|
||||
public abstract class ConnectionService extends android.app.Service {
|
||||
method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
|
||||
}
|
||||
@@ -7579,6 +7583,7 @@ package android.telecom {
|
||||
method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
|
||||
method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
|
||||
method public int getAllPhoneAccountsCount();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
|
||||
method public int getCallState();
|
||||
method public android.telecom.PhoneAccountHandle getConnectionManager();
|
||||
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
|
||||
|
||||
@@ -2833,6 +2833,23 @@ package android.telecom {
|
||||
field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
|
||||
}
|
||||
|
||||
public final class ConnectionRequest implements android.os.Parcelable {
|
||||
method @Nullable public String getTelecomCallId();
|
||||
}
|
||||
|
||||
public static final class ConnectionRequest.Builder {
|
||||
ctor public ConnectionRequest.Builder();
|
||||
method @NonNull public android.telecom.ConnectionRequest build();
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setAddress(@NonNull android.net.Uri);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setExtras(@NonNull android.os.Bundle);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setRttPipeFromInCall(@NonNull android.os.ParcelFileDescriptor);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setRttPipeToInCall(@NonNull android.os.ParcelFileDescriptor);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setShouldShowIncomingCallUi(boolean);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setTelecomCallId(@NonNull String);
|
||||
method @NonNull public android.telecom.ConnectionRequest.Builder setVideoState(int);
|
||||
}
|
||||
|
||||
public static class PhoneAccount.Builder {
|
||||
method @NonNull public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
|
||||
}
|
||||
@@ -2846,6 +2863,7 @@ package android.telecom {
|
||||
}
|
||||
|
||||
public class TelecomManager {
|
||||
method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
|
||||
method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getCurrentTtyMode();
|
||||
method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDefaultDialerPackage(int);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
package android.telecom;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.TestApi;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcel;
|
||||
@@ -32,6 +36,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* Builder class for {@link ConnectionRequest}
|
||||
* @hide
|
||||
*/
|
||||
@TestApi // For convenience in CTS tests
|
||||
public static final class Builder {
|
||||
private PhoneAccountHandle mAccountHandle;
|
||||
private Uri mAddress;
|
||||
@@ -48,7 +53,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* Sets the phone account handle for the resulting {@link ConnectionRequest}
|
||||
* @param accountHandle The accountHandle which should be used to place the call.
|
||||
*/
|
||||
public Builder setAccountHandle(PhoneAccountHandle accountHandle) {
|
||||
public @NonNull Builder setAccountHandle(@NonNull PhoneAccountHandle accountHandle) {
|
||||
this.mAccountHandle = accountHandle;
|
||||
return this;
|
||||
}
|
||||
@@ -58,7 +63,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* @param address The address(e.g., phone number) to which the {@link Connection} is to
|
||||
* connect.
|
||||
*/
|
||||
public Builder setAddress(Uri address) {
|
||||
public @NonNull Builder setAddress(@NonNull Uri address) {
|
||||
this.mAddress = address;
|
||||
return this;
|
||||
}
|
||||
@@ -67,7 +72,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* Sets the extras bundle for the resulting {@link ConnectionRequest}
|
||||
* @param extras Application-specific extra data.
|
||||
*/
|
||||
public Builder setExtras(Bundle extras) {
|
||||
public @NonNull Builder setExtras(@NonNull Bundle extras) {
|
||||
this.mExtras = extras;
|
||||
return this;
|
||||
}
|
||||
@@ -76,7 +81,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* Sets the video state for the resulting {@link ConnectionRequest}
|
||||
* @param videoState Determines the video state for the connection.
|
||||
*/
|
||||
public Builder setVideoState(int videoState) {
|
||||
public @NonNull Builder setVideoState(int videoState) {
|
||||
this.mVideoState = videoState;
|
||||
return this;
|
||||
}
|
||||
@@ -85,7 +90,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* Sets the Telecom call ID for the resulting {@link ConnectionRequest}
|
||||
* @param telecomCallId The telecom call ID.
|
||||
*/
|
||||
public Builder setTelecomCallId(String telecomCallId) {
|
||||
public @NonNull Builder setTelecomCallId(@NonNull String telecomCallId) {
|
||||
this.mTelecomCallId = telecomCallId;
|
||||
return this;
|
||||
}
|
||||
@@ -97,7 +102,7 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* its own incoming call UI for an incoming call. When
|
||||
* {@code false}, Telecom shows the incoming call UI.
|
||||
*/
|
||||
public Builder setShouldShowIncomingCallUi(boolean shouldShowIncomingCallUi) {
|
||||
public @NonNull Builder setShouldShowIncomingCallUi(boolean shouldShowIncomingCallUi) {
|
||||
this.mShouldShowIncomingCallUi = shouldShowIncomingCallUi;
|
||||
return this;
|
||||
}
|
||||
@@ -107,7 +112,8 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* resulting {@link ConnectionRequest}
|
||||
* @param rttPipeFromInCall The data pipe to read from.
|
||||
*/
|
||||
public Builder setRttPipeFromInCall(ParcelFileDescriptor rttPipeFromInCall) {
|
||||
public @NonNull Builder setRttPipeFromInCall(
|
||||
@NonNull ParcelFileDescriptor rttPipeFromInCall) {
|
||||
this.mRttPipeFromInCall = rttPipeFromInCall;
|
||||
return this;
|
||||
}
|
||||
@@ -117,12 +123,16 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* resulting {@link ConnectionRequest}
|
||||
* @param rttPipeToInCall The data pipe to write to.
|
||||
*/
|
||||
public Builder setRttPipeToInCall(ParcelFileDescriptor rttPipeToInCall) {
|
||||
public @NonNull Builder setRttPipeToInCall(@NonNull ParcelFileDescriptor rttPipeToInCall) {
|
||||
this.mRttPipeToInCall = rttPipeToInCall;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ConnectionRequest build() {
|
||||
/**
|
||||
* Build the {@link ConnectionRequest}
|
||||
* @return Result of the builder
|
||||
*/
|
||||
public @NonNull ConnectionRequest build() {
|
||||
return new ConnectionRequest(
|
||||
mAccountHandle,
|
||||
mAddress,
|
||||
@@ -261,7 +271,9 @@ public final class ConnectionRequest implements Parcelable {
|
||||
* @return The Telecom ID.
|
||||
* @hide
|
||||
*/
|
||||
public String getTelecomCallId() {
|
||||
@SystemApi
|
||||
@TestApi
|
||||
public @Nullable String getTelecomCallId() {
|
||||
return mTelecomCallId;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import static android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.annotation.SuppressAutoDoc;
|
||||
@@ -1028,12 +1029,16 @@ public class TelecomManager {
|
||||
* by the user.
|
||||
*
|
||||
* @param includeDisabledAccounts When {@code true}, disabled phone accounts will be included,
|
||||
* when {@code false}, only
|
||||
* when {@code false}, only enabled phone accounts will be
|
||||
* included.
|
||||
* @return A list of {@code PhoneAccountHandle} objects.
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 119305590)
|
||||
public List<PhoneAccountHandle> getCallCapablePhoneAccounts(boolean includeDisabledAccounts) {
|
||||
@SystemApi
|
||||
@TestApi
|
||||
@RequiresPermission(READ_PRIVILEGED_PHONE_STATE)
|
||||
public @NonNull List<PhoneAccountHandle> getCallCapablePhoneAccounts(
|
||||
boolean includeDisabledAccounts) {
|
||||
try {
|
||||
if (isServiceConnected()) {
|
||||
return getTelecomService().getCallCapablePhoneAccounts(
|
||||
|
||||
Reference in New Issue
Block a user