diff options
author | Evan Charlton <evanc@google.com> | 2014-11-08 15:49:16 -0800 |
---|---|---|
committer | Evan Charlton <evanc@google.com> | 2014-11-10 11:52:31 -0800 |
commit | 0e094d926c306c3667bcdf6f23c52cc7181f25f3 (patch) | |
tree | 4a41b85db95d9e74e3f2955083cef3d348927676 | |
parent | 6c912b7d056c67b41fd46f31de168795e97c2336 (diff) | |
download | frameworks_base-0e094d926c306c3667bcdf6f23c52cc7181f25f3.tar.gz frameworks_base-0e094d926c306c3667bcdf6f23c52cc7181f25f3.tar.bz2 frameworks_base-0e094d926c306c3667bcdf6f23c52cc7181f25f3.zip |
Apply @hide / @SystemApi to android.telecom.*
Move the android.telecom.* namespace back to @hide, and also mark it
with @SystemApi so that system-privileged apps can use them.
Bug: 18302450
Change-Id: I33ae1b9b0dfdb1c5eff51ca3c829196bcfc9411c
-rw-r--r-- | api/current.txt | 337 | ||||
-rw-r--r-- | core/res/AndroidManifest.xml | 17 | ||||
-rw-r--r-- | telecomm/java/android/telecom/AudioState.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/Conference.java | 4 | ||||
-rw-r--r-- | telecomm/java/android/telecom/Connection.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/ConnectionRequest.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/ConnectionService.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/DisconnectCause.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/GatewayInfo.java | 2 | ||||
-rw-r--r-- | telecomm/java/android/telecom/PhoneAccount.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/PhoneAccountHandle.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/PhoneCapabilities.java | 4 | ||||
-rw-r--r-- | telecomm/java/android/telecom/RemoteConference.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/RemoteConnection.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/StatusHints.java | 3 | ||||
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 40 |
16 files changed, 89 insertions, 345 deletions
diff --git a/api/current.txt b/api/current.txt index e2ae6115248..7df6e6e2d45 100644 --- a/api/current.txt +++ b/api/current.txt @@ -113,9 +113,6 @@ package android { field public static final java.lang.String RECEIVE_SMS = "android.permission.RECEIVE_SMS"; field public static final java.lang.String RECEIVE_WAP_PUSH = "android.permission.RECEIVE_WAP_PUSH"; field public static final java.lang.String RECORD_AUDIO = "android.permission.RECORD_AUDIO"; - field public static final java.lang.String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER"; - field public static final java.lang.String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER"; - field public static final java.lang.String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION"; field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS"; field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES"; field public static final java.lang.String SEND_RESPOND_VIA_MESSAGE = "android.permission.SEND_RESPOND_VIA_MESSAGE"; @@ -28094,350 +28091,16 @@ package android.system { package android.telecom { - public final class AudioState implements android.os.Parcelable { - ctor public AudioState(boolean, int, int); - ctor public AudioState(android.telecom.AudioState); - method public int describeContents(); - method public void writeToParcel(android.os.Parcel, int); - field public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR; - field public static final int ROUTE_BLUETOOTH = 2; // 0x2 - field public static final int ROUTE_EARPIECE = 1; // 0x1 - field public static final int ROUTE_SPEAKER = 8; // 0x8 - field public static final int ROUTE_WIRED_HEADSET = 4; // 0x4 - field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5 - field public final boolean isMuted; - field public final int route; - field public final int supportedRouteMask; - } - - public abstract class Conference { - ctor public Conference(android.telecom.PhoneAccountHandle); - method public final boolean addConnection(android.telecom.Connection); - method public final void destroy(); - method public final android.telecom.AudioState getAudioState(); - method public final int getCapabilities(); - method public final java.util.List<android.telecom.Connection> getConferenceableConnections(); - method public final java.util.List<android.telecom.Connection> getConnections(); - method public final android.telecom.DisconnectCause getDisconnectCause(); - method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle(); - method public android.telecom.Connection getPrimaryConnection(); - method public final int getState(); - method public void onAudioStateChanged(android.telecom.AudioState); - method public void onConnectionAdded(android.telecom.Connection); - method public void onDisconnect(); - method public void onHold(); - method public void onMerge(android.telecom.Connection); - method public void onMerge(); - method public void onPlayDtmfTone(char); - method public void onSeparate(android.telecom.Connection); - method public void onStopDtmfTone(); - method public void onSwap(); - method public void onUnhold(); - method public final void removeConnection(android.telecom.Connection); - method public final void setActive(); - method public final void setCapabilities(int); - method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>); - method public final void setDisconnected(android.telecom.DisconnectCause); - method public final void setOnHold(); - } - - public abstract class Connection { - ctor public Connection(); - method public static android.telecom.Connection createCanceledConnection(); - method public static android.telecom.Connection createFailedConnection(android.telecom.DisconnectCause); - method public final void destroy(); - method public final android.net.Uri getAddress(); - method public final int getAddressPresentation(); - method public final boolean getAudioModeIsVoip(); - method public final android.telecom.AudioState getAudioState(); - method public final int getCallCapabilities(); - method public final java.lang.String getCallerDisplayName(); - method public final int getCallerDisplayNamePresentation(); - method public final android.telecom.Conference getConference(); - method public final java.util.List<android.telecom.Connection> getConferenceableConnections(); - method public final android.telecom.DisconnectCause getDisconnectCause(); - method public final int getState(); - method public final android.telecom.StatusHints getStatusHints(); - method public final boolean isRingbackRequested(); - method public void onAbort(); - method public void onAnswer(); - method public void onAudioStateChanged(android.telecom.AudioState); - method public void onDisconnect(); - method public void onHold(); - method public void onPlayDtmfTone(char); - method public void onPostDialContinue(boolean); - method public void onReject(); - method public void onSeparate(); - method public void onStateChanged(int); - method public void onStopDtmfTone(); - method public void onUnhold(); - method public final void setActive(); - method public final void setAddress(android.net.Uri, int); - method public final void setAudioModeIsVoip(boolean); - method public final void setCallCapabilities(int); - method public final void setCallerDisplayName(java.lang.String, int); - method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>); - method public final void setConnectionService(android.telecom.ConnectionService); - method public final void setDialing(); - method public final void setDisconnected(android.telecom.DisconnectCause); - method public final void setInitialized(); - method public final void setInitializing(); - method public final void setOnHold(); - method public final void setPostDialWait(java.lang.String); - method public final void setRingbackRequested(boolean); - method public final void setRinging(); - method public final void setStatusHints(android.telecom.StatusHints); - method public static java.lang.String stateToString(int); - field public static final int STATE_ACTIVE = 4; // 0x4 - field public static final int STATE_DIALING = 3; // 0x3 - field public static final int STATE_DISCONNECTED = 6; // 0x6 - field public static final int STATE_HOLDING = 5; // 0x5 - field public static final int STATE_INITIALIZING = 0; // 0x0 - field public static final int STATE_NEW = 1; // 0x1 - field public static final int STATE_RINGING = 2; // 0x2 - } - - public final class ConnectionRequest implements android.os.Parcelable { - ctor public ConnectionRequest(android.telecom.PhoneAccountHandle, android.net.Uri, android.os.Bundle); - method public int describeContents(); - method public android.telecom.PhoneAccountHandle getAccountHandle(); - method public android.net.Uri getAddress(); - method public android.os.Bundle getExtras(); - method public void writeToParcel(android.os.Parcel, int); - field public static final android.os.Parcelable.Creator<android.telecom.ConnectionRequest> CREATOR; - } - - public abstract class ConnectionService extends android.app.Service { - ctor public ConnectionService(); - method public final void addConference(android.telecom.Conference); - method public final void addExistingConnection(android.telecom.PhoneAccountHandle, android.telecom.Connection); - method public final void conferenceRemoteConnections(android.telecom.RemoteConnection, android.telecom.RemoteConnection); - method public final android.telecom.RemoteConnection createRemoteIncomingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest); - method public final android.telecom.RemoteConnection createRemoteOutgoingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest); - method public final java.util.Collection<android.telecom.Connection> getAllConnections(); - method public final android.os.IBinder onBind(android.content.Intent); - method public void onConference(android.telecom.Connection, android.telecom.Connection); - method public android.telecom.Connection onCreateIncomingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest); - method public android.telecom.Connection onCreateOutgoingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest); - method public void onRemoteConferenceAdded(android.telecom.RemoteConference); - method public void onRemoteExistingConnectionAdded(android.telecom.RemoteConnection); - field public static final java.lang.String SERVICE_INTERFACE = "android.telecom.ConnectionService"; - } - - public final class DisconnectCause implements android.os.Parcelable { - ctor public DisconnectCause(int); - ctor public DisconnectCause(int, java.lang.String); - ctor public DisconnectCause(int, java.lang.CharSequence, java.lang.CharSequence, java.lang.String); - ctor public DisconnectCause(int, java.lang.CharSequence, java.lang.CharSequence, java.lang.String, int); - method public int describeContents(); - method public int getCode(); - method public java.lang.CharSequence getDescription(); - method public java.lang.CharSequence getLabel(); - method public java.lang.String getReason(); - method public int getTone(); - method public void writeToParcel(android.os.Parcel, int); - field public static final int BUSY = 7; // 0x7 - field public static final int CANCELED = 4; // 0x4 - field public static final int CONNECTION_MANAGER_NOT_SUPPORTED = 10; // 0xa - field public static final android.os.Parcelable.Creator<android.telecom.DisconnectCause> CREATOR; - field public static final int ERROR = 1; // 0x1 - field public static final int LOCAL = 2; // 0x2 - field public static final int MISSED = 5; // 0x5 - field public static final int OTHER = 9; // 0x9 - field public static final int REJECTED = 6; // 0x6 - field public static final int REMOTE = 3; // 0x3 - field public static final int RESTRICTED = 8; // 0x8 - field public static final int UNKNOWN = 0; // 0x0 - } - - public class GatewayInfo implements android.os.Parcelable { - method public int describeContents(); - method public android.net.Uri getGatewayAddress(); - method public java.lang.String getGatewayProviderPackageName(); - method public android.net.Uri getOriginalAddress(); - method public boolean isEmpty(); - method public void writeToParcel(android.os.Parcel, int); - field public static final android.os.Parcelable.Creator<android.telecom.GatewayInfo> CREATOR; - } - - public class PhoneAccount implements android.os.Parcelable { - method public static android.telecom.PhoneAccount.Builder builder(android.telecom.PhoneAccountHandle, java.lang.CharSequence); - method public int describeContents(); - method public android.telecom.PhoneAccountHandle getAccountHandle(); - method public android.net.Uri getAddress(); - method public int getCapabilities(); - method public int getColor(); - method public android.graphics.drawable.Drawable getIcon(android.content.Context); - method public android.graphics.Bitmap getIconBitmap(); - method public java.lang.String getIconPackageName(); - method public int getIconResId(); - method public java.lang.CharSequence getLabel(); - method public java.lang.CharSequence getShortDescription(); - method public android.net.Uri getSubscriptionAddress(); - method public java.util.List<java.lang.String> getSupportedUriSchemes(); - method public boolean hasCapabilities(int); - method public boolean supportsUriScheme(java.lang.String); - method public void writeToParcel(android.os.Parcel, int); - field public static final int CAPABILITY_CONNECTION_MANAGER = 1; // 0x1 - field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10 - field public static final int CAPABILITY_SIM_SUBSCRIPTION = 4; // 0x4 - field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccount> CREATOR; - field public static final int NO_COLOR = -1; // 0xffffffff - field public static final java.lang.String SCHEME_SIP = "sip"; - field public static final java.lang.String SCHEME_TEL = "tel"; - field public static final java.lang.String SCHEME_VOICEMAIL = "voicemail"; - } - - public static class PhoneAccount.Builder { - ctor public PhoneAccount.Builder(android.telecom.PhoneAccountHandle, java.lang.CharSequence); - ctor public PhoneAccount.Builder(android.telecom.PhoneAccount); - method public android.telecom.PhoneAccount build(); - method public android.telecom.PhoneAccount.Builder setAddress(android.net.Uri); - method public android.telecom.PhoneAccount.Builder setCapabilities(int); - method public android.telecom.PhoneAccount.Builder setColor(int); - method public android.telecom.PhoneAccount.Builder setIconBitmap(android.graphics.Bitmap); - method public android.telecom.PhoneAccount.Builder setIconPackageName(java.lang.String); - method public android.telecom.PhoneAccount.Builder setIconResId(int); - method public android.telecom.PhoneAccount.Builder setShortDescription(java.lang.CharSequence); - method public android.telecom.PhoneAccount.Builder setSubscriptionAddress(android.net.Uri); - method public android.telecom.PhoneAccount.Builder setSupportedUriSchemes(java.util.List<java.lang.String>); - } - - public class PhoneAccountHandle implements android.os.Parcelable { - ctor public PhoneAccountHandle(android.content.ComponentName, java.lang.String); - method public int describeContents(); - method public android.content.ComponentName getComponentName(); - method public java.lang.String getId(); - method public void writeToParcel(android.os.Parcel, int); - field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle> CREATOR; - } - - public final class PhoneCapabilities { - method public static java.lang.String toString(int); - field public static final int ALL = 12527; // 0x30ef - field public static final int DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000 - field public static final int HOLD = 1; // 0x1 - field public static final int MANAGE_CONFERENCE = 128; // 0x80 - field public static final int MERGE_CONFERENCE = 4; // 0x4 - field public static final int MUTE = 64; // 0x40 - field public static final int RESPOND_VIA_TEXT = 32; // 0x20 - field public static final int SEPARATE_FROM_CONFERENCE = 4096; // 0x1000 - field public static final int SUPPORT_HOLD = 2; // 0x2 - field public static final int SWAP_CONFERENCE = 8; // 0x8 - } - - public final class RemoteConference { - method public void disconnect(); - method public final int getCallCapabilities(); - method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections(); - method public final java.util.List<android.telecom.RemoteConnection> getConnections(); - method public android.telecom.DisconnectCause getDisconnectCause(); - method public final int getState(); - method public void hold(); - method public void merge(); - method public void playDtmfTone(char); - method public final void registerCallback(android.telecom.RemoteConference.Callback); - method public void separate(android.telecom.RemoteConnection); - method public void setAudioState(android.telecom.AudioState); - method public void stopDtmfTone(); - method public void swap(); - method public void unhold(); - method public final void unregisterCallback(android.telecom.RemoteConference.Callback); - } - - public static abstract class RemoteConference.Callback { - ctor public RemoteConference.Callback(); - method public void onCapabilitiesChanged(android.telecom.RemoteConference, int); - method public void onConferenceableConnectionsChanged(android.telecom.RemoteConference, java.util.List<android.telecom.RemoteConnection>); - method public void onConnectionAdded(android.telecom.RemoteConference, android.telecom.RemoteConnection); - method public void onConnectionRemoved(android.telecom.RemoteConference, android.telecom.RemoteConnection); - method public void onDestroyed(android.telecom.RemoteConference); - method public void onDisconnected(android.telecom.RemoteConference, android.telecom.DisconnectCause); - method public void onStateChanged(android.telecom.RemoteConference, int, int); - } - - public final class RemoteConnection { - method public void abort(); - method public void answer(); - method public void disconnect(); - method public android.net.Uri getAddress(); - method public int getAddressPresentation(); - method public int getCallCapabilities(); - method public java.lang.CharSequence getCallerDisplayName(); - method public int getCallerDisplayNamePresentation(); - method public android.telecom.RemoteConference getConference(); - method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections(); - method public android.telecom.DisconnectCause getDisconnectCause(); - method public int getState(); - method public android.telecom.StatusHints getStatusHints(); - method public void hold(); - method public boolean isRingbackRequested(); - method public boolean isVoipAudioMode(); - method public void playDtmfTone(char); - method public void postDialContinue(boolean); - method public void registerCallback(android.telecom.RemoteConnection.Callback); - method public void reject(); - method public void setAudioState(android.telecom.AudioState); - method public void stopDtmfTone(); - method public void unhold(); - method public void unregisterCallback(android.telecom.RemoteConnection.Callback); - } - - public static abstract class RemoteConnection.Callback { - ctor public RemoteConnection.Callback(); - method public void onAddressChanged(android.telecom.RemoteConnection, android.net.Uri, int); - method public void onCallCapabilitiesChanged(android.telecom.RemoteConnection, int); - method public void onCallerDisplayNameChanged(android.telecom.RemoteConnection, java.lang.String, int); - method public void onConferenceChanged(android.telecom.RemoteConnection, android.telecom.RemoteConference); - method public void onConferenceableConnectionsChanged(android.telecom.RemoteConnection, java.util.List<android.telecom.RemoteConnection>); - method public void onDestroyed(android.telecom.RemoteConnection); - method public void onDisconnected(android.telecom.RemoteConnection, android.telecom.DisconnectCause); - method public void onPostDialWait(android.telecom.RemoteConnection, java.lang.String); - method public void onRingbackRequested(android.telecom.RemoteConnection, boolean); - method public void onStateChanged(android.telecom.RemoteConnection, int); - method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints); - method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean); - } - - public final class StatusHints implements android.os.Parcelable { - ctor public StatusHints(android.content.ComponentName, java.lang.CharSequence, int, android.os.Bundle); - method public int describeContents(); - method public android.os.Bundle getExtras(); - method public android.graphics.drawable.Drawable getIcon(android.content.Context); - method public int getIconResId(); - method public java.lang.CharSequence getLabel(); - method public android.content.ComponentName getPackageName(); - method public void writeToParcel(android.os.Parcel, int); - field public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR; - } - public class TelecomManager { - method public void addNewIncomingCall(android.telecom.PhoneAccountHandle, android.os.Bundle); method public void cancelMissedCallsNotification(); - method public void clearAccounts(); - method public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle); - method public android.telecom.PhoneAccountHandle getConnectionManager(); - method public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(java.lang.String); - method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle); - method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage(); - method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(java.lang.String); method public boolean handleMmi(java.lang.String); - method public boolean handleMmi(android.telecom.PhoneAccountHandle, java.lang.String); - method public boolean hasMultipleCallCapableAccounts(); method public boolean isInCall(); - method public void registerPhoneAccount(android.telecom.PhoneAccount); method public void showInCallScreen(boolean); - method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle); - field public static final java.lang.String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS"; - field public static final java.lang.String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE"; field public static final java.lang.String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS"; field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ',' field public static final char DTMF_CHARACTER_WAIT = 59; // 0x003b ';' - field public static final java.lang.String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER"; field public static final java.lang.String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE"; field public static final java.lang.String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE"; - field public static final java.lang.String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE"; - field public static final java.lang.String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telecom.extra.PHONE_ACCOUNT_HANDLE"; field public static final java.lang.String EXTRA_START_CALL_WITH_SPEAKERPHONE = "android.telecom.extra.START_CALL_WITH_SPEAKERPHONE"; field public static final java.lang.String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS"; field public static final java.lang.String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE"; diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index ffe2b60928e..216a9011a7a 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1269,26 +1269,31 @@ android:description="@string/permdesc_use_sip" android:label="@string/permlab_use_sip" /> - <!-- Protects the ability to register any PhoneAccount with + <!-- @SystemApi Protects the ability to register any PhoneAccount with PhoneAccount#CAPABILITY_SIM_SUBSCRIPTION. This capability indicates that the PhoneAccount - corresponds to a device SIM. --> + corresponds to a device SIM. + @hide --> <permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" android:permissionGroup="android.permission-group.PHONE_CALLS" android:protectionLevel="system|signature" android:description="@string/permdesc_register_sim_subscription" android:label="@string/permlab_register_sim_subscription" /> - <!-- Protects the ability to register any PhoneAccount with - PhoneAccount#CAPABILITY_CALL_PROVIDER. --> + <!-- @SystemApi Protects the ability to register any PhoneAccount with + PhoneAccount#CAPABILITY_CALL_PROVIDER. + @hide --> <permission android:name="android.permission.REGISTER_CALL_PROVIDER" android:permissionGroup="android.permission-group.PHONE_CALLS" + android:protectionLevel="system|signature" android:description="@string/permdesc_register_call_provider" android:label="@string/permlab_register_call_provider" /> - <!-- Protects the ability to register any PhoneAccount with - PhoneAccount#CAPABILITY_CONNECTION_MANAGER --> + <!-- @SystemApi Protects the ability to register any PhoneAccount with + PhoneAccount#CAPABILITY_CONNECTION_MANAGER + @hide --> <permission android:name="android.permission.REGISTER_CONNECTION_MANAGER" android:permissionGroup="android.permission-group.PHONE_CALLS" + android:protectionLevel="system|signature" android:description="@string/permdesc_connection_manager" android:label="@string/permlab_connection_manager" /> diff --git a/telecomm/java/android/telecom/AudioState.java b/telecomm/java/android/telecom/AudioState.java index 43da38f3648..f78ce29b655 100644 --- a/telecomm/java/android/telecom/AudioState.java +++ b/telecomm/java/android/telecom/AudioState.java @@ -16,6 +16,7 @@ package android.telecom; +import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; @@ -24,7 +25,9 @@ import java.util.Locale; /** * Encapsulates the telecom audio state, including the current audio routing, supported audio * routing and mute. + * @hide */ +@SystemApi public final class AudioState implements Parcelable { /** Direct the audio stream through the device's earpiece. */ public static final int ROUTE_EARPIECE = 0x00000001; diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java index 32bdbe027f4..215c6824285 100644 --- a/telecomm/java/android/telecom/Conference.java +++ b/telecomm/java/android/telecom/Conference.java @@ -16,6 +16,8 @@ package android.telecom; +import android.annotation.SystemApi; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -25,7 +27,9 @@ import java.util.concurrent.CopyOnWriteArraySet; /** * Represents a conference call which can contain any number of {@link Connection} objects. + * @hide */ +@SystemApi public abstract class Conference { /** @hide */ diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 61b471c0803..63b44a6fa94 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -19,6 +19,7 @@ package android.telecom; import com.android.internal.telecom.IVideoCallback; import com.android.internal.telecom.IVideoProvider; +import android.annotation.SystemApi; import android.net.Uri; import android.os.Handler; import android.os.IBinder; @@ -43,7 +44,9 @@ import java.util.concurrent.ConcurrentHashMap; * Implementations are then responsible for updating the state of the {@code Connection}, and * must call {@link #destroy()} to signal to the framework that the {@code Connection} is no * longer used and associated resources may be recovered. + * @hide */ +@SystemApi public abstract class Connection { public static final int STATE_INITIALIZING = 0; diff --git a/telecomm/java/android/telecom/ConnectionRequest.java b/telecomm/java/android/telecom/ConnectionRequest.java index 71b481b89c7..f691c179af5 100644 --- a/telecomm/java/android/telecom/ConnectionRequest.java +++ b/telecomm/java/android/telecom/ConnectionRequest.java @@ -16,6 +16,7 @@ package android.telecom; +import android.annotation.SystemApi; import android.net.Uri; import android.os.Bundle; import android.os.Parcel; @@ -24,7 +25,9 @@ import android.os.Parcelable; /** * Simple data container encapsulating a request to some entity to * create a new {@link Connection}. + * @hide */ +@SystemApi public final class ConnectionRequest implements Parcelable { // TODO: Token to limit recursive invocations diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index 65d48f13f2a..48e6ff3d02e 100644 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -17,6 +17,7 @@ package android.telecom; import android.annotation.SdkConstant; +import android.annotation.SystemApi; import android.app.Service; import android.content.ComponentName; import android.content.Intent; @@ -71,7 +72,9 @@ import java.util.concurrent.ConcurrentHashMap; * receives call-commands such as answer, reject, hold and disconnect. * <p> * When there are no more live calls, telecom will unbind from the {@code ConnectionService}. + * @hide */ +@SystemApi public abstract class ConnectionService extends Service { /** * The {@link Intent} that must be declared as handled by the service. diff --git a/telecomm/java/android/telecom/DisconnectCause.java b/telecomm/java/android/telecom/DisconnectCause.java index 73bcd0c422c..130d6762a21 100644 --- a/telecomm/java/android/telecom/DisconnectCause.java +++ b/telecomm/java/android/telecom/DisconnectCause.java @@ -16,6 +16,7 @@ package android.telecom; +import android.annotation.SystemApi; import android.os.Parcel; import android.os.Parcelable; import android.media.ToneGenerator; @@ -29,7 +30,9 @@ import java.util.Objects; * user. It is the responsibility of the {@link ConnectionService} to provide localized versions of * the label and description. It also may contain a reason for the disconnect, which is intended for * logging and not for display to the user. + * @hide */ +@SystemApi public final class DisconnectCause implements Parcelable { /** Disconnected because of an unknown or unspecified reason. */ diff --git a/telecomm/java/android/telecom/GatewayInfo.java b/telecomm/java/android/telecom/GatewayInfo.java index 7105602a0bb..5b8e4ab3d53 100644 --- a/telecomm/java/android/telecom/GatewayInfo.java +++ b/telecomm/java/android/telecom/GatewayInfo.java @@ -34,7 +34,9 @@ import android.text.TextUtils; * <li> Call the appropriate gateway address. * <li> Display information about how the call is being routed to the user. * </ol> + * @hide */ +@SystemApi public class GatewayInfo implements Parcelable { private final String mGatewayProviderPackageName; diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java index 3fc1d3d08e2..f9ee5d2444c 100644 --- a/telecomm/java/android/telecom/PhoneAccount.java +++ b/telecomm/java/android/telecom/PhoneAccount.java @@ -16,6 +16,7 @@ package android.telecom; +import android.annotation.SystemApi; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -45,7 +46,9 @@ import java.util.MissingResourceException; * alternative options when placing a phone call. When building a {@link PhoneAccount}, the app * should supply a valid {@link PhoneAccountHandle} that references the {@link ConnectionService} * implementation Telecom will use to interact with the app. + * @hide */ +@SystemApi public class PhoneAccount implements Parcelable { /** diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java index bc4cc8ce4e8..7bcf1472f9e 100644 --- a/telecomm/java/android/telecom/PhoneAccountHandle.java +++ b/telecomm/java/android/telecom/PhoneAccountHandle.java @@ -16,6 +16,7 @@ package android.telecom; +import android.annotation.SystemApi; import android.content.ComponentName; import android.os.Parcel; import android.os.Parcelable; @@ -33,7 +34,9 @@ import java.util.Objects; * * See {@link PhoneAccount}, * {@link TelecomManager#registerPhoneAccount TelecomManager.registerPhoneAccount}. + * @hide */ +@SystemApi public class PhoneAccountHandle implements Parcelable { private ComponentName mComponentName; private String mId; diff --git a/telecomm/java/android/telecom/PhoneCapabilities.java b/telecomm/java/android/telecom/PhoneCapabilities.java index f61d39cb75c..feb7a953a99 100644 --- a/telecomm/java/android/telecom/PhoneCapabilities.java +++ b/telecomm/java/android/telecom/PhoneCapabilities.java @@ -16,10 +16,14 @@ package android.telecom; +import android.annotation.SystemApi; + /** * Defines capabilities for {@link Connection}s and {@link Conference}s such as hold, swap, and * merge. + * @hide */ +@SystemApi public final class PhoneCapabilities { /** Call can currently be put on hold or unheld. */ public static final int HOLD = 0x00000001; diff --git a/telecomm/java/android/telecom/RemoteConference.java b/telecomm/java/android/telecom/RemoteConference.java index eba75808164..b548274de2f 100644 --- a/telecomm/java/android/telecom/RemoteConference.java +++ b/telecomm/java/android/telecom/RemoteConference.java @@ -18,6 +18,7 @@ package android.telecom; import com.android.internal.telecom.IConnectionService; +import android.annotation.SystemApi; import android.os.RemoteException; import java.util.ArrayList; @@ -29,7 +30,9 @@ import java.util.concurrent.CopyOnWriteArraySet; /** * Represents a conference call which can contain any number of {@link Connection} objects. + * @hide */ +@SystemApi public final class RemoteConference { public abstract static class Callback { diff --git a/telecomm/java/android/telecom/RemoteConnection.java b/telecomm/java/android/telecom/RemoteConnection.java index 816e2bf6b41..d70ddf66437 100644 --- a/telecomm/java/android/telecom/RemoteConnection.java +++ b/telecomm/java/android/telecom/RemoteConnection.java @@ -20,6 +20,7 @@ import com.android.internal.telecom.IConnectionService; import com.android.internal.telecom.IVideoCallback; import com.android.internal.telecom.IVideoProvider; +import android.annotation.SystemApi; import android.net.Uri; import android.os.IBinder; import android.os.RemoteException; @@ -37,7 +38,9 @@ import java.util.concurrent.ConcurrentHashMap; * * @see ConnectionService#createRemoteOutgoingConnection(PhoneAccountHandle, ConnectionRequest) * @see ConnectionService#createRemoteIncomingConnection(PhoneAccountHandle, ConnectionRequest) + * @hide */ +@SystemApi public final class RemoteConnection { public static abstract class Callback { diff --git a/telecomm/java/android/telecom/StatusHints.java b/telecomm/java/android/telecom/StatusHints.java index a32eae76dce..dd3a639e6bf 100644 --- a/telecomm/java/android/telecom/StatusHints.java +++ b/telecomm/java/android/telecom/StatusHints.java @@ -16,6 +16,7 @@ package android.telecom; +import android.annotation.SystemApi; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -29,7 +30,9 @@ import java.util.Objects; /** * Contains status label and icon displayed in the in-call UI. + * @hide */ +@SystemApi public final class StatusHints implements Parcelable { private final ComponentName mPackageName; diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index ecf6005aefb..05108c76809 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -33,8 +33,7 @@ import java.util.List; /** * Provides access to information about active calls and registration/call-management functionality. - * Apps can use methods in this class to determine the current call state. Apps can also register new - * {@link PhoneAccount}s and get a listing of existing {@link PhoneAccount}s. + * Apps can use methods in this class to determine the current call state. * <p> * Apps do not instantiate this class directly; instead, they retrieve a reference to an instance * through {@link Context#getSystemService Context.getSystemService(Context.TELECOM_SERVICE)}. @@ -71,7 +70,9 @@ public class TelecomManager { /** * The {@link android.content.Intent} action used to configure a * {@link android.telecom.ConnectionService}. + * @hide */ + @SystemApi public static final String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE"; @@ -84,7 +85,9 @@ public class TelecomManager { /** * The {@link android.content.Intent} action used to show the settings page used to configure * {@link PhoneAccount} preferences. + * @hide */ + @SystemApi public static final String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS"; @@ -114,7 +117,9 @@ public class TelecomManager { * {@link PhoneAccountHandle} to use when making the call. * <p class="note"> * Retrieve with {@link android.content.Intent#getParcelableExtra(String)}. + * @hide */ + @SystemApi public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telecom.extra.PHONE_ACCOUNT_HANDLE"; @@ -125,6 +130,7 @@ public class TelecomManager { * * @hide */ + @SystemApi public static final String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS"; @@ -136,6 +142,7 @@ public class TelecomManager { * * @hide */ + @SystemApi public static final String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS"; @@ -162,7 +169,9 @@ public class TelecomManager { /** * Optional extra for {@link android.telephony.TelephonyManager#ACTION_PHONE_STATE_CHANGED} * containing the component name of the associated connection service. + * @hide */ + @SystemApi public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE"; @@ -197,7 +206,9 @@ public class TelecomManager { * {@link ConnectionService}s which interact with {@link RemoteConnection}s should only populate * this if the {@link android.telephony.TelephonyManager#getLine1Number()} value, as that is the * user's expected caller ID. + * @hide */ + @SystemApi public static final String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER"; /** @@ -338,7 +349,9 @@ public class TelecomManager { * @param uriScheme The URI scheme. * @return The {@link PhoneAccountHandle} corresponding to the user-chosen default for outgoing * phone calls for a specified URI scheme. + * @hide */ + @SystemApi public PhoneAccountHandle getDefaultOutgoingPhoneAccount(String uriScheme) { try { if (isServiceConnected()) { @@ -441,7 +454,9 @@ public class TelecomManager { * {@code PhoneAccount}. * * @return The phone account handle of the current connection manager. + * @hide */ + @SystemApi public PhoneAccountHandle getConnectionManager() { return getSimCallManager(); } @@ -457,7 +472,9 @@ public class TelecomManager { * * @param uriScheme The URI scheme. * @return A list of {@code PhoneAccountHandle} objects supporting the URI scheme. + * @hide */ + @SystemApi public List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(String uriScheme) { try { if (isServiceConnected()) { @@ -496,7 +513,9 @@ public class TelecomManager { * * @return {@code true} if the device has more than one account registered and {@code false} * otherwise. + * @hide */ + @SystemApi public boolean hasMultipleCallCapableAccounts() { return getCallCapablePhoneAccounts().size() > 1; } @@ -505,7 +524,9 @@ public class TelecomManager { * Returns a list of all {@link PhoneAccount}s registered for the calling package. * * @return A list of {@code PhoneAccountHandle} objects. + * @hide */ + @SystemApi public List<PhoneAccountHandle> getPhoneAccountsForPackage() { try { if (isServiceConnected()) { @@ -523,7 +544,9 @@ public class TelecomManager { * * @param account The {@link PhoneAccountHandle}. * @return The {@link PhoneAccount} object. + * @hide */ + @SystemApi public PhoneAccount getPhoneAccount(PhoneAccountHandle account) { try { if (isServiceConnected()) { @@ -602,7 +625,10 @@ public class TelecomManager { * {@link PhoneAccountHandle#getComponentName()} does not match the package name of the app. * * @param account The complete {@link PhoneAccount}. + * + * @hide */ + @SystemApi public void registerPhoneAccount(PhoneAccount account) { try { if (isServiceConnected()) { @@ -617,7 +643,9 @@ public class TelecomManager { * Remove a {@link PhoneAccount} registration from the system. * * @param accountHandle A {@link PhoneAccountHandle} for the {@link PhoneAccount} to unregister. + * @hide */ + @SystemApi public void unregisterPhoneAccount(PhoneAccountHandle accountHandle) { try { if (isServiceConnected()) { @@ -630,7 +658,9 @@ public class TelecomManager { /** * Remove all Accounts that belong to the calling package from the system. + * @hide */ + @SystemApi public void clearAccounts() { try { if (isServiceConnected()) { @@ -853,7 +883,9 @@ public class TelecomManager { * {@link #registerPhoneAccount}. * @param extras A bundle that will be passed through to * {@link ConnectionService#onCreateIncomingConnection}. + * @hide */ + @SystemApi public void addNewIncomingCall(PhoneAccountHandle phoneAccount, Bundle extras) { try { if (isServiceConnected()) { @@ -923,7 +955,9 @@ public class TelecomManager { * @param accountHandle The handle for the account the MMI code should apply to. * @param dialString The digits to dial. * @return True if the digits were processed as an MMI code, false otherwise. + * @hide */ + @SystemApi public boolean handleMmi(PhoneAccountHandle accountHandle, String dialString) { ITelecomService service = getTelecomService(); if (service != null) { @@ -941,7 +975,9 @@ public class TelecomManager { * {@code null} to return a URI which will use the default account. * @return The URI (with the content:// scheme) specific to the specified {@link PhoneAccount} * for the the content retrieve. + * @hide */ + @SystemApi public Uri getAdnUriForPhoneAccount(PhoneAccountHandle accountHandle) { ITelecomService service = getTelecomService(); if (service != null && accountHandle != null) { |