summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/system-current.txt31
-rw-r--r--config/hiddenapi-greylist-max-p.txt1
-rw-r--r--core/java/android/os/telephony/TelephonyRegistryManager.java24
-rw-r--r--core/java/android/service/carrier/CarrierMessagingServiceWrapper.java389
-rw-r--r--services/core/java/com/android/server/TelephonyRegistry.java14
-rw-r--r--telecomm/java/android/telecom/TelecomManager.java3
-rw-r--r--telephony/java/android/telephony/Annotation.java472
-rw-r--r--telephony/java/android/telephony/CallAttributes.java2
-rw-r--r--telephony/java/android/telephony/DataFailCause.java362
-rw-r--r--telephony/java/android/telephony/NetworkRegistrationInfo.java2
-rw-r--r--telephony/java/android/telephony/PhoneStateListener.java16
-rw-r--r--telephony/java/android/telephony/PhysicalChannelConfig.java2
-rw-r--r--telephony/java/android/telephony/PreciseCallState.java2
-rw-r--r--telephony/java/android/telephony/PreciseDataConnectionState.java28
-rw-r--r--telephony/java/android/telephony/ServiceState.java5
-rw-r--r--telephony/java/android/telephony/SubscriptionManager.java1
-rw-r--r--telephony/java/android/telephony/TelephonyManager.java77
-rw-r--r--telephony/java/android/telephony/data/ApnSetting.java21
-rw-r--r--telephony/java/android/telephony/data/DataCallResponse.java12
-rw-r--r--telephony/java/android/telephony/data/DataProfile.java2
-rw-r--r--telephony/java/android/telephony/data/QualifiedNetworksService.java4
-rw-r--r--wifi/java/android/net/wifi/WifiManager.java82
-rw-r--r--wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java2
23 files changed, 1037 insertions, 517 deletions
diff --git a/api/system-current.txt b/api/system-current.txt
index 5c38ed4ec972..7ea45dcbd7a6 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -4700,8 +4700,11 @@ package android.net.wifi {
method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsConfiguratorInitiator(@NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeInitiator(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
+ method @RequiresPermission(anyOf={"android.permission.NETWORK_STACK", android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startSoftAp(@Nullable android.net.wifi.WifiConfiguration);
method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback);
method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
+ method @RequiresPermission(anyOf={"android.permission.NETWORK_STACK", android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
+ method @RequiresPermission(anyOf={"android.permission.NETWORK_STACK", android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void updateWifiUsabilityScore(int, int, int);
field public static final int CHANGE_REASON_ADDED = 0; // 0x0
field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
@@ -4716,10 +4719,16 @@ package android.net.wifi {
field public static final String EXTRA_CHANGE_REASON = "changeReason";
field public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
+ field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
+ field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
field public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
+ field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
+ field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
+ field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
+ field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
field public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
@@ -6383,6 +6392,28 @@ package android.service.carrier {
method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
}
+ public abstract class CarrierMessagingServiceWrapper {
+ ctor public CarrierMessagingServiceWrapper();
+ method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String);
+ method public void disposeConnection(@NonNull android.content.Context);
+ method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper);
+ method public void filterSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper);
+ method public abstract void onServiceReady();
+ method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper);
+ method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper);
+ method public void sendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper);
+ method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper);
+ }
+
+ public abstract static class CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper {
+ ctor public CarrierMessagingServiceWrapper.CarrierMessagingCallbackWrapper();
+ method public void onDownloadMmsComplete(int);
+ method public void onFilterComplete(int);
+ method public void onSendMmsComplete(int, @Nullable byte[]);
+ method public void onSendMultipartSmsComplete(int, @Nullable int[]);
+ method public void onSendSmsComplete(int, int);
+ }
+
}
package android.service.contentcapture {
diff --git a/config/hiddenapi-greylist-max-p.txt b/config/hiddenapi-greylist-max-p.txt
index 25d45b0e6570..34339d7a27bb 100644
--- a/config/hiddenapi-greylist-max-p.txt
+++ b/config/hiddenapi-greylist-max-p.txt
@@ -47,7 +47,6 @@ Landroid/os/WorkSource;->sTmpWorkSource:Landroid/os/WorkSource;
Landroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z
Landroid/service/carrier/ICarrierMessagingCallback$Stub;-><init>()V
Landroid/service/carrier/ICarrierMessagingService;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-Landroid/telephony/CarrierMessagingServiceManager;-><init>()V
Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats;
Landroid/view/IWindowManager;->setInTouchMode(Z)V
diff --git a/core/java/android/os/telephony/TelephonyRegistryManager.java b/core/java/android/os/telephony/TelephonyRegistryManager.java
index 459c414cdf73..b67409988da0 100644
--- a/core/java/android/os/telephony/TelephonyRegistryManager.java
+++ b/core/java/android/os/telephony/TelephonyRegistryManager.java
@@ -21,23 +21,25 @@ import android.net.NetworkCapabilities;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.telephony.Annotation;
+import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.CallState;
+import android.telephony.Annotation.DataActivityType;
+import android.telephony.Annotation.DataFailureCause;
+import android.telephony.Annotation.DataState;
+import android.telephony.Annotation.NetworkType;
+import android.telephony.Annotation.RadioPowerState;
+import android.telephony.Annotation.SimActivationState;
+import android.telephony.Annotation.SrvccState;
import android.telephony.CallQuality;
import android.telephony.CellInfo;
-import android.telephony.DataFailCause;
import android.telephony.DisconnectCause;
import android.telephony.PhoneCapability;
import android.telephony.PreciseCallState.State;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.TelephonyManager;
-import android.telephony.TelephonyManager.CallState;
-import android.telephony.TelephonyManager.DataActivityType;
-import android.telephony.TelephonyManager.DataState;
-import android.telephony.TelephonyManager.NetworkType;
-import android.telephony.TelephonyManager.RadioPowerState;
-import android.telephony.TelephonyManager.SimActivationState;
import android.telephony.data.ApnSetting;
-import android.telephony.data.ApnSetting.ApnType;
import android.telephony.ims.ImsReasonInfo;
import com.android.internal.telephony.ITelephonyRegistry;
import java.util.List;
@@ -103,7 +105,7 @@ public class TelephonyRegistryManager {
public void notifyCallStateChanged(int subId, int slotIndex, @CallState int state,
String incomingNumer) {
try {
- sRegistry.notifyCallState(slotIndex, subId, state, incomingNumer);
+ sRegistry.notifyCallState(slotIndex, subId, state, incomingNumer);
} catch (RemoteException ex) {
// system server crash
}
@@ -410,7 +412,7 @@ public class TelephonyRegistryManager {
* @hide
*/
public void notifyPreciseDataConnectionFailed(int subId, int slotIndex, String apnType,
- String apn, @DataFailCause.FailCause int failCause) {
+ String apn, @DataFailureCause int failCause) {
try {
sRegistry.notifyPreciseDataConnectionFailed(slotIndex, subId, apnType, apn, failCause);
} catch (RemoteException ex) {
@@ -427,7 +429,7 @@ public class TelephonyRegistryManager {
*
* @hide
*/
- public void notifySrvccStateChanged(int subId, @TelephonyManager.SrvccState int state) {
+ public void notifySrvccStateChanged(int subId, @SrvccState int state) {
try {
sRegistry.notifySrvccStateChanged(subId, state);
} catch (RemoteException ex) {
diff --git a/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java b/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java
new file mode 100644
index 000000000000..de90b94d7535
--- /dev/null
+++ b/core/java/android/service/carrier/CarrierMessagingServiceWrapper.java
@@ -0,0 +1,389 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.service.carrier;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.net.Uri;
+import android.os.IBinder;
+import android.os.RemoteException;
+
+import com.android.internal.util.Preconditions;
+
+import java.util.List;
+
+/**
+ * Provides basic structure for platform to connect to the carrier messaging service.
+ * <p>
+ * <code>
+ * CarrierMessagingServiceWrapper carrierMessagingServiceWrapper =
+ * new CarrierMessagingServiceWrapperImpl();
+ * if (carrierMessagingServiceWrapper.bindToCarrierMessagingService(context, carrierPackageName)) {
+ * // wait for onServiceReady callback
+ * } else {
+ * // Unable to bind: handle error.
+ * }
+ * </code>
+ * <p> Upon completion {@link #disposeConnection} should be called to unbind the
+ * CarrierMessagingService.
+ * @hide
+ */
+@SystemApi
+public abstract class CarrierMessagingServiceWrapper {
+ // Populated by bindToCarrierMessagingService. bindToCarrierMessagingService must complete
+ // prior to calling disposeConnection so that mCarrierMessagingServiceConnection is initialized.
+ private volatile CarrierMessagingServiceConnection mCarrierMessagingServiceConnection;
+
+ private volatile ICarrierMessagingService mICarrierMessagingService;
+
+ /**
+ * Binds to the carrier messaging service under package {@code carrierPackageName}. This method
+ * should be called exactly once.
+ *
+ * @param context the context
+ * @param carrierPackageName the carrier package name
+ * @return true upon successfully binding to a carrier messaging service, false otherwise
+ * @hide
+ */
+ @SystemApi
+ public boolean bindToCarrierMessagingService(@NonNull Context context,
+ @NonNull String carrierPackageName) {
+ Preconditions.checkState(mCarrierMessagingServiceConnection == null);
+
+ Intent intent = new Intent(CarrierMessagingService.SERVICE_INTERFACE);
+ intent.setPackage(carrierPackageName);
+ mCarrierMessagingServiceConnection = new CarrierMessagingServiceConnection();
+ return context.bindService(intent, mCarrierMessagingServiceConnection,
+ Context.BIND_AUTO_CREATE);
+ }
+
+ /**
+ * Unbinds the carrier messaging service. This method should be called exactly once.
+ *
+ * @param context the context
+ * @hide
+ */
+ @SystemApi
+ public void disposeConnection(@NonNull Context context) {
+ Preconditions.checkNotNull(mCarrierMessagingServiceConnection);
+ context.unbindService(mCarrierMessagingServiceConnection);
+ mCarrierMessagingServiceConnection = null;
+ }
+
+ /**
+ * Implemented by subclasses to use the carrier messaging service once it is ready.
+ * @hide
+ */
+ @SystemApi
+ public abstract void onServiceReady();
+
+ /**
+ * Called when connection with service is established.
+ *
+ * @param carrierMessagingService the carrier messaing service interface
+ */
+ private void onServiceReady(ICarrierMessagingService carrierMessagingService) {
+ mICarrierMessagingService = carrierMessagingService;
+ onServiceReady();
+ }
+
+ /**
+ * Request filtering an incoming SMS message.
+ * The service will call callback.onFilterComplete with the filtering result.
+ *
+ * @param pdu the PDUs of the message
+ * @param format the format of the PDUs, typically "3gpp" or "3gpp2"
+ * @param destPort the destination port of a data SMS. It will be -1 for text SMS
+ * @param subId SMS subscription ID of the SIM
+ * @param callback the callback to notify upon completion
+ * @hide
+ */
+ @SystemApi
+ public void filterSms(@NonNull MessagePdu pdu, @NonNull String format, int destPort,
+ int subId, @NonNull final CarrierMessagingCallbackWrapper callback) {
+ if (mICarrierMessagingService != null) {
+ try {
+ mICarrierMessagingService.filterSms(pdu, format, destPort, subId,
+ new CarrierMessagingCallbackWrapperInternal(callback));
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * Request sending a new text SMS from the device.
+ * The service will call {@link ICarrierMessagingCallback#onSendSmsComplete} with the send
+ * status.
+ *
+ * @param text the text to send
+ * @param subId SMS subscription ID of the SIM
+ * @param destAddress phone number of the recipient of the message
+ * @param sendSmsFlag flag for sending SMS
+ * @param callback the callback to notify upon completion
+ * @hide
+ */
+ @SystemApi
+ public void sendTextSms(@NonNull String text, int subId, @NonNull String destAddress,
+ int sendSmsFlag, @NonNull final CarrierMessagingCallbackWrapper callback) {
+ if (mICarrierMessagingService != null) {
+ try {
+ mICarrierMessagingService.sendTextSms(text, subId, destAddress, sendSmsFlag,
+ new CarrierMessagingCallbackWrapperInternal(callback));
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * Request sending a new data SMS from the device.
+ * The service will call {@link ICarrierMessagingCallback#onSendSmsComplete} with the send
+ * status.
+ *
+ * @param data the data to send
+ * @param subId SMS subscription ID of the SIM
+ * @param destAddress phone number of the recipient of the message
+ * @param destPort port number of the recipient of the message
+ * @param sendSmsFlag flag for sending SMS
+ * @param callback the callback to notify upon completion
+ * @hide
+ */
+ @SystemApi
+ public void sendDataSms(@NonNull byte[] data, int subId, @NonNull String destAddress,
+ int destPort, int sendSmsFlag,
+ @NonNull final CarrierMessagingCallbackWrapper callback) {
+ if (mICarrierMessagingService != null) {
+ try {
+ mICarrierMessagingService.sendDataSms(data, subId, destAddress, destPort,
+ sendSmsFlag, new CarrierMessagingCallbackWrapperInternal(callback));
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * Request sending a new multi-part text SMS from the device.
+ * The service will call {@link ICarrierMessagingCallback#onSendMultipartSmsComplete}
+ * with the send status.
+ *
+ * @param parts the parts of the multi-part text SMS to send
+ * @param subId SMS subscription ID of the SIM
+ * @param destAddress phone number of the recipient of the message
+ * @param sendSmsFlag flag for sending SMS
+ * @param callback the callback to notify upon completion
+ * @hide
+ */
+ @SystemApi
+ public void sendMultipartTextSms(@NonNull List<String> parts, int subId,
+ @NonNull String destAddress, int sendSmsFlag,
+ @NonNull final CarrierMessagingCallbackWrapper callback) {
+ if (mICarrierMessagingService != null) {
+ try {
+ mICarrierMessagingService.sendMultipartTextSms(parts, subId, destAddress,
+ sendSmsFlag, new CarrierMessagingCallbackWrapperInternal(callback));
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * Request sending a new MMS PDU from the device.
+ * The service will call {@link ICarrierMessagingCallback#onSendMmsComplete} with the send
+ * status.
+ *
+ * @param pduUri the content provider URI of the PDU to send
+ * @param subId SMS subscription ID of the SIM
+ * @param location the optional URI to send this MMS PDU. If this is {code null},
+ * the PDU should be sent to the default MMSC URL.
+ * @param callback the callback to notify upon completion
+ * @hide
+ */
+ @SystemApi
+ public void sendMms(@NonNull Uri pduUri, int subId, @NonNull Uri location,
+ @NonNull final CarrierMessagingCallbackWrapper callback) {
+ if (mICarrierMessagingService != null) {
+ try {
+ mICarrierMessagingService.sendMms(pduUri, subId, location,
+ new CarrierMessagingCallbackWrapperInternal(callback));
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * Request downloading a new MMS.
+ * The service will call {@link ICarrierMessagingCallback#onDownloadMmsComplete} with the
+ * download status.
+ *
+ * @param pduUri the content provider URI of the PDU to be downloaded.
+ * @param subId SMS subscription ID of the SIM
+ * @param location the URI of the message to be downloaded.
+ * @param callback the callback to notify upon completion
+ * @hide
+ */
+ @SystemApi
+ public void downloadMms(@NonNull Uri pduUri, int subId, @NonNull Uri location,
+ @NonNull final CarrierMessagingCallbackWrapper callback) {
+ if (mICarrierMessagingService != null) {
+ try {
+ mICarrierMessagingService.downloadMms(pduUri, subId, location,
+ new CarrierMessagingCallbackWrapperInternal(callback));
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ /**
+ * A basic {@link ServiceConnection}.
+ */
+ private final class CarrierMessagingServiceConnection implements ServiceConnection {
+ @Override
+ public void onServiceConnected(ComponentName name, IBinder service) {
+ onServiceReady(ICarrierMessagingService.Stub.asInterface(service));
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName name) {
+ }
+ }
+
+ /**
+ * Callback wrapper used for response to requests exposed by
+ * {@link CarrierMessagingServiceWrapper}.
+ * @hide
+ */
+ @SystemApi
+ public abstract static class CarrierMessagingCallbackWrapper {
+
+ /**
+ * Response callback for {@link CarrierMessagingServiceWrapper#filterSms}.
+ * @param result a bitmask integer to indicate how the incoming text SMS should be handled
+ * by the platform. Bits set can be
+ * {@link CarrierMessagingService#RECEIVE_OPTIONS_DROP} and
+ * {@link CarrierMessagingService#
+ * RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE}.
+ * {@see CarrierMessagingService#onReceiveTextSms}.
+ * @hide
+ */
+ @SystemApi
+ public void onFilterComplete(int result) {
+
+ }
+
+ /**
+ * Response callback for {@link CarrierMessagingServiceWrapper#sendTextSms} and
+ * {@link CarrierMessagingServiceWrapper#sendDataSms}.
+ * @param result send status, one of {@link CarrierMessagingService#SEND_STATUS_OK},
+ * {@link CarrierMessagingService#SEND_STATUS_RETRY_ON_CARRIER_NETWORK},
+ * and {@link CarrierMessagingService#SEND_STATUS_ERROR}.
+ * @param messageRef message reference of the just-sent message. This field is applicable
+ * only if result is {@link CarrierMessagingService#SEND_STATUS_OK}.
+ * @hide
+ */
+ @SystemApi
+ public void onSendSmsComplete(int result, int messageRef) {
+
+ }
+
+ /**
+ * Response callback for {@link CarrierMessagingServiceWrapper#sendMultipartTextSms}.
+ * @param result send status, one of {@link CarrierMessagingService#SEND_STATUS_OK},
+ * {@link CarrierMessagingService#SEND_STATUS_RETRY_ON_CARRIER_NETWORK},
+ * and {@link CarrierMessagingService#SEND_STATUS_ERROR}.
+ * @param messageRefs an array of message references, one for each part of the
+ * multipart SMS. This field is applicable only if result is
+ * {@link CarrierMessagingService#SEND_STATUS_OK}.
+ * @hide
+ */
+ @SystemApi
+ public void onSendMultipartSmsComplete(int result, @Nullable int[] messageRefs) {
+
+ }
+
+ /**
+ * Response callback for {@link CarrierMessagingServiceWrapper#sendMms}.
+ * @param result send status, one of {@link CarrierMessagingService#SEND_STATUS_OK},
+ * {@link CarrierMessagingService#SEND_STATUS_RETRY_ON_CARRIER_NETWORK},
+ * and {@link CarrierMessagingService#SEND_STATUS_ERROR}.
+ * @param sendConfPdu a possibly {code null} SendConf PDU, which confirms that the message
+ * was sent. sendConfPdu is ignored if the {@code result} is not
+ * {@link CarrierMessagingService#SEND_STATUS_OK}.
+ * @hide
+ */
+ @SystemApi
+ public void onSendMmsComplete(int result, @Nullable byte[] sendConfPdu) {
+
+ }
+
+ /**
+ * Response callback for {@link CarrierMessagingServiceWrapper#downloadMms}.
+ * @param result download status, one of {@link CarrierMessagingService#SEND_STATUS_OK},
+ * {@link CarrierMessagingService#SEND_STATUS_RETRY_ON_CARRIER_NETWORK},
+ * and {@link CarrierMessagingService#SEND_STATUS_ERROR}.
+ * @hide
+ */
+ @SystemApi
+ public void onDownloadMmsComplete(int result) {
+
+ }
+ }
+
+ private final class CarrierMessagingCallbackWrapperInternal
+ extends ICarrierMessagingCallback.Stub {
+ CarrierMessagingCallbackWrapper mCarrierMessagingCallbackWrapper;
+
+ CarrierMessagingCallbackWrapperInternal(CarrierMessagingCallbackWrapper callback) {
+ mCarrierMessagingCallbackWrapper = callback;
+ }
+
+ @Override
+ public void onFilterComplete(int result) throws RemoteException {
+ mCarrierMessagingCallbackWrapper.onFilterComplete(result);
+ }
+
+ @Override
+ public void onSendSmsComplete(int result, int messageRef) throws RemoteException {
+ mCarrierMessagingCallbackWrapper.onSendSmsComplete(result, messageRef);
+ }
+
+ @Override
+ public void onSendMultipartSmsComplete(int result, int[] messageRefs)
+ throws RemoteException {
+ mCarrierMessagingCallbackWrapper.onSendMultipartSmsComplete(result, messageRefs);
+ }
+
+ @Override
+ public void onSendMmsComplete(int result, byte[] sendConfPdu) throws RemoteException {
+ mCarrierMessagingCallbackWrapper.onSendMmsComplete(result, sendConfPdu);
+ }
+
+ @Override
+ public void onDownloadMmsComplete(int result) throws RemoteException {
+ mCarrierMessagingCallbackWrapper.onDownloadMmsComplete(result);
+ }
+ }
+}
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index e25c34d4a260..447ed59a775e 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -33,6 +33,9 @@ import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.os.UserHandle;
+import android.telephony.Annotation.DataFailureCause;
+import android.telephony.Annotation.RadioPowerState;
+import android.telephony.Annotation.SrvccState;
import android.telephony.CallAttributes;
import android.telephony.CallQuality;
import android.telephony.CellInfo;
@@ -245,7 +248,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
private int mActiveDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
- @TelephonyManager.RadioPowerState
+ @RadioPowerState
private int mRadioPowerState = TelephonyManager.RADIO_POWER_UNAVAILABLE;
private final LocalLog mLocalLog = new LocalLog(100);
@@ -1718,7 +1721,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
}
public void notifyPreciseDataConnectionFailed(int phoneId, int subId, String apnType,
- String apn, @DataFailCause.FailCause int failCause) {
+ String apn, @DataFailureCause int failCause) {
if (!checkNotifyPermission("notifyPreciseDataConnectionFailed()")) {
return;
}
@@ -1748,7 +1751,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
}
@Override
- public void notifySrvccStateChanged(int subId, @TelephonyManager.SrvccState int state) {
+ public void notifySrvccStateChanged(int subId, @SrvccState int state) {
if (!checkNotifyPermission("notifySrvccStateChanged()")) {
return;
}
@@ -1855,8 +1858,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
}
}
- public void notifyRadioPowerStateChanged(int phoneId, int subId,
- @TelephonyManager.RadioPowerState int state) {
+ public void notifyRadioPowerStateChanged(int phoneId, int subId, @RadioPowerState int state) {
if (!checkNotifyPermission("notifyRadioPowerStateChanged()")) {
return;
}
@@ -2227,7 +2229,7 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
private void broadcastPreciseDataConnectionStateChanged(int state, int networkType,
String apnType, String apn, LinkProperties linkProperties,
- @DataFailCause.FailCause int failCause) {
+ @DataFailureCause int failCause) {
Intent intent = new Intent(TelephonyManager.ACTION_PRECISE_DATA_CONNECTION_STATE_CHANGED);
intent.putExtra(PhoneConstants.STATE_KEY, state);
intent.putExtra(PhoneConstants.DATA_NETWORK_TYPE_KEY, networkType);
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 12066c4caeb6..2bc20d51113a 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -33,6 +33,7 @@ import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
+import android.telephony.Annotation.CallState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -1412,7 +1413,7 @@ public class TelecomManager {
* @hide
*/
@SystemApi
- public @TelephonyManager.CallState int getCallState() {
+ public @CallState int getCallState() {
try {
if (isServiceConnected()) {
return getTelecomService().getCallState();
diff --git a/telephony/java/android/telephony/Annotation.java b/telephony/java/android/telephony/Annotation.java
new file mode 100644
index 000000000000..a884a7039d5b
--- /dev/null
+++ b/telephony/java/android/telephony/Annotation.java
@@ -0,0 +1,472 @@
+package android.telephony;
+
+import android.annotation.IntDef;
+import android.telephony.data.ApnSetting;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Telephony Annotations.
+ * Telephony sdk is a mainline module and others cannot reference hidden @IntDef. Moving some
+ * telephony annotations to a separate class to allow others statically link to it.
+ *
+ * @hide
+ */
+public class Annotation {
+ @IntDef(prefix = {"DATA_"}, value = {
+ TelephonyManager.DATA_ACTIVITY_NONE,
+ TelephonyManager.DATA_ACTIVITY_IN,
+ TelephonyManager.DATA_ACTIVITY_OUT,
+ TelephonyManager.DATA_ACTIVITY_INOUT,
+ TelephonyManager.DATA_ACTIVITY_DORMANT,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface DataActivityType {
+ }
+
+ @IntDef(prefix = {"DATA_"}, value = {
+ TelephonyManager.DATA_UNKNOWN,
+ TelephonyManager.DATA_DISCONNECTED,
+ TelephonyManager.DATA_CONNECTING,
+ TelephonyManager.DATA_CONNECTED,
+ TelephonyManager.DATA_SUSPENDED,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface DataState {
+ }
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = {"RADIO_POWER_"},
+ value = {
+ TelephonyManager.RADIO_POWER_OFF,
+ TelephonyManager.RADIO_POWER_ON,
+ TelephonyManager.RADIO_POWER_UNAVAILABLE,
+ })
+ public @interface RadioPowerState {
+ }
+
+ @IntDef({
+ TelephonyManager.SIM_ACTIVATION_STATE_UNKNOWN,
+ TelephonyManager.SIM_ACTIVATION_STATE_ACTIVATING,
+ TelephonyManager.SIM_ACTIVATION_STATE_ACTIVATED,
+ TelephonyManager.SIM_ACTIVATION_STATE_DEACTIVATED,
+ TelephonyManager.SIM_ACTIVATION_STATE_RESTRICTED
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SimActivationState {
+ }
+
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = {"SRVCC_STATE_"},
+ value = {
+ TelephonyManager.SRVCC_STATE_HANDOVER_NONE,
+ TelephonyManager.SRVCC_STATE_HANDOVER_STARTED,
+ TelephonyManager.SRVCC_STATE_HANDOVER_COMPLETED,
+ TelephonyManager.SRVCC_STATE_HANDOVER_FAILED,
+ TelephonyManager.SRVCC_STATE_HANDOVER_CANCELED})
+ public @interface SrvccState {
+ }
+
+ @IntDef(prefix = {"CALL_STATE_"}, value = {
+ TelephonyManager.CALL_STATE_IDLE,
+ TelephonyManager.CALL_STATE_RINGING,
+ TelephonyManager.CALL_STATE_OFFHOOK
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface CallState {
+ }
+
+ @IntDef({
+ TelephonyManager.NETWORK_TYPE_UNKNOWN,
+ TelephonyManager.NETWORK_TYPE_GPRS,
+ TelephonyManager.NETWORK_TYPE_EDGE,
+ TelephonyManager.NETWORK_TYPE_UMTS,
+ TelephonyManager.NETWORK_TYPE_CDMA,
+ TelephonyManager.NETWORK_TYPE_EVDO_0,
+ TelephonyManager.NETWORK_TYPE_EVDO_A,
+ TelephonyManager.NETWORK_TYPE_1xRTT,
+ TelephonyManager.NETWORK_TYPE_HSDPA,
+ TelephonyManager.NETWORK_TYPE_HSUPA,
+ TelephonyManager.NETWORK_TYPE_HSPA,
+ TelephonyManager.NETWORK_TYPE_IDEN,
+ TelephonyManager.NETWORK_TYPE_EVDO_B,
+ TelephonyManager.NETWORK_TYPE_LTE,
+ TelephonyManager.NETWORK_TYPE_EHRPD,
+ TelephonyManager.NETWORK_TYPE_HSPAP,
+ TelephonyManager.NETWORK_TYPE_GSM,
+ TelephonyManager.NETWORK_TYPE_TD_SCDMA,
+ TelephonyManager.NETWORK_TYPE_IWLAN,
+ TelephonyManager.NETWORK_TYPE_LTE_CA,
+ TelephonyManager.NETWORK_TYPE_NR,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface NetworkType {
+ }
+
+ @IntDef(flag = true, prefix = {"TYPE_"}, value = {
+ ApnSetting.TYPE_DEFAULT,
+ ApnSetting.TYPE_MMS,
+ ApnSetting.TYPE_SUPL,
+ ApnSetting.TYPE_DUN,
+ ApnSetting.TYPE_HIPRI,
+ ApnSetting.TYPE_FOTA,
+ ApnSetting.TYPE_IMS,
+ ApnSetting.TYPE_CBS,
+ ApnSetting.TYPE_IA,
+ ApnSetting.TYPE_EMERGENCY,
+ ApnSetting.TYPE_MCX
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface ApnType {
+ }
+
+ @IntDef(value = {
+ DataFailCause.NONE,
+ DataFailCause.OPERATOR_BARRED,
+ DataFailCause.NAS_SIGNALLING,
+ DataFailCause.LLC_SNDCP,
+ DataFailCause.INSUFFICIENT_RESOURCES,
+ DataFailCause.MISSING_UNKNOWN_APN,
+ DataFailCause.UNKNOWN_PDP_ADDRESS_TYPE,
+ DataFailCause.USER_AUTHENTICATION,
+ DataFailCause.ACTIVATION_REJECT_GGSN,
+ DataFailCause.ACTIVATION_REJECT_UNSPECIFIED,
+ DataFailCause.SERVICE_OPTION_NOT_SUPPORTED,
+ DataFailCause.SERVICE_OPTION_NOT_SUBSCRIBED,
+ DataFailCause.SERVICE_OPTION_OUT_OF_ORDER,
+ DataFailCause.NSAPI_IN_USE,
+ DataFailCause.REGULAR_DEACTIVATION,
+ DataFailCause.QOS_NOT_ACCEPTED,
+ DataFailCause.NETWORK_FAILURE,
+ DataFailCause.UMTS_REACTIVATION_REQ,
+ DataFailCause.FEATURE_NOT_SUPP,
+ DataFailCause.TFT_SEMANTIC_ERROR,
+ DataFailCause.TFT_SYTAX_ERROR,
+ DataFailCause.UNKNOWN_PDP_CONTEXT,
+ DataFailCause.FILTER_SEMANTIC_ERROR,
+ DataFailCause.FILTER_SYTAX_ERROR,
+ DataFailCause.PDP_WITHOUT_ACTIVE_TFT,
+ DataFailCause.ACTIVATION_REJECTED_BCM_VIOLATION,
+ DataFailCause.ONLY_IPV4_ALLOWED,
+ DataFailCause.ONLY_IPV6_ALLOWED,
+ DataFailCause.ONLY_SINGLE_BEARER_ALLOWED,
+ DataFailCause.ESM_INFO_NOT_RECEIVED,
+ DataFailCause.PDN_CONN_DOES_NOT_EXIST,
+ DataFailCause.MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED,
+ DataFailCause.COLLISION_WITH_NETWORK_INITIATED_REQUEST,
+ DataFailCause.ONLY_IPV4V6_ALLOWED,
+ DataFailCause.ONLY_NON_IP_ALLOWED,
+ DataFailCause.UNSUPPORTED_QCI_VALUE,
+ DataFailCause.BEARER_HANDLING_NOT_SUPPORTED,
+ DataFailCause.ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED,
+ DataFailCause.UNSUPPORTED_APN_IN_CURRENT_PLMN,
+ DataFailCause.INVALID_TRANSACTION_ID,
+ DataFailCause.MESSAGE_INCORRECT_SEMANTIC,
+ DataFailCause.INVALID_MANDATORY_INFO,
+ DataFailCause.MESSAGE_TYPE_UNSUPPORTED,
+ DataFailCause.MSG_TYPE_NONCOMPATIBLE_STATE,
+ DataFailCause.UNKNOWN_INFO_ELEMENT,
+ DataFailCause.CONDITIONAL_IE_ERROR,
+ DataFailCause.MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE,
+ DataFailCause.PROTOCOL_ERRORS,
+ DataFailCause.APN_TYPE_CONFLICT,
+ DataFailCause.INVALID_PCSCF_ADDR,
+ DataFailCause.INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN,
+ DataFailCause.EMM_ACCESS_BARRED,
+ DataFailCause.EMERGENCY_IFACE_ONLY,
+ DataFailCause.IFACE_MISMATCH,
+ DataFailCause.COMPANION_IFACE_IN_USE,
+ DataFailCause.IP_ADDRESS_MISMATCH,
+ DataFailCause.IFACE_AND_POL_FAMILY_MISMATCH,
+ DataFailCause.EMM_ACCESS_BARRED_INFINITE_RETRY,
+ DataFailCause.AUTH_FAILURE_ON_EMERGENCY_CALL,
+ DataFailCause.INVALID_DNS_ADDR,
+ DataFailCause.INVALID_PCSCF_OR_DNS_ADDRESS,
+ DataFailCause.CALL_PREEMPT_BY_EMERGENCY_APN,
+ DataFailCause.UE_INITIATED_DETACH_OR_DISCONNECT,
+ DataFailCause.MIP_FA_REASON_UNSPECIFIED,
+ DataFailCause.MIP_FA_ADMIN_PROHIBITED,
+ DataFailCause.MIP_FA_INSUFFICIENT_RESOURCES,
+ DataFailCause.MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE,
+ DataFailCause.MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE,
+ DataFailCause.MIP_FA_REQUESTED_LIFETIME_TOO_LONG,
+ DataFailCause.MIP_FA_MALFORMED_REQUEST,
+ DataFailCause.MIP_FA_MALFORMED_REPLY,
+ DataFailCause.MIP_FA_ENCAPSULATION_UNAVAILABLE,
+ DataFailCause.MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE,
+ DataFailCause.MIP_FA_REVERSE_TUNNEL_UNAVAILABLE,
+ DataFailCause.MIP_FA_REVERSE_TUNNEL_IS_MANDATORY,
+ DataFailCause.MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED,
+ DataFailCause.MIP_FA_MISSING_NAI,
+ DataFailCause.MIP_FA_MISSING_HOME_AGENT,
+ DataFailCause.MIP_FA_MISSING_HOME_ADDRESS,
+ DataFailCause.MIP_FA_UNKNOWN_CHALLENGE,
+ DataFailCause.MIP_FA_MISSING_CHALLENGE,
+ DataFailCause.MIP_FA_STALE_CHALLENGE,
+ DataFailCause.MIP_HA_REASON_UNSPECIFIED,
+ DataFailCause.MIP_HA_ADMIN_PROHIBITED,
+ DataFailCause.MIP_HA_INSUFFICIENT_RESOURCES,
+ DataFailCause.MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE,
+ DataFailCause.MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE,
+ DataFailCause.MIP_HA_REGISTRATION_ID_MISMATCH,
+ DataFailCause.MIP_HA_MALFORMED_REQUEST,
+ DataFailCause.MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS,
+ DataFailCause.MIP_HA_REVERSE_TUNNEL_UNAVAILABLE,
+ DataFailCause.MIP_HA_REVERSE_TUNNEL_IS_MANDATORY,
+ DataFailCause.MIP_HA_ENCAPSULATION_UNAVAILABLE,
+ DataFailCause.CLOSE_IN_PROGRESS,
+ DataFailCause.NETWORK_INITIATED_TERMINATION,
+ DataFailCause.MODEM_APP_PREEMPTED,
+ DataFailCause.PDN_IPV4_CALL_DISALLOWED,
+ DataFailCause.PDN_IPV4_CALL_THROTTLED,
+ DataFailCause.PDN_IPV6_CALL_DISALLOWED,
+ DataFailCause.PDN_IPV6_CALL_THROTTLED,
+ DataFailCause.MODEM_RESTART,
+ DataFailCause.PDP_PPP_NOT_SUPPORTED,
+ DataFailCause.UNPREFERRED_RAT,
+ DataFailCause.PHYSICAL_LINK_CLOSE_IN_PROGRESS,
+ DataFailCause.APN_PENDING_HANDOVER,
+ DataFailCause.PROFILE_BEARER_INCOMPATIBLE,
+ DataFailCause.SIM_CARD_CHANGED,
+ DataFailCause.LOW_POWER_MODE_OR_POWERING_DOWN,
+ DataFailCause.APN_DISABLED,
+ DataFailCause.MAX_PPP_INACTIVITY_TIMER_EXPIRED,
+ DataFailCause.IPV6_ADDRESS_TRANSFER_FAILED,
+ DataFailCause.TRAT_SWAP_FAILED,
+ DataFailCause.EHRPD_TO_HRPD_FALLBACK,
+ DataFailCause.MIP_CONFIG_FAILURE,
+ DataFailCause.PDN_INACTIVITY_TIMER_EXPIRED,
+ DataFailCause.MAX_IPV4_CONNECTIONS,
+ DataFailCause.MAX_IPV6_CONNECTIONS,
+ DataFailCause.APN_MISMATCH,
+ DataFailCause.IP_VERSION_MISMATCH,
+ DataFailCause.DUN_CALL_DISALLOWED,
+ DataFailCause.INTERNAL_EPC_NONEPC_TRANSITION,
+ DataFailCause.INTERFACE_IN_USE,
+ DataFailCause.APN_DISALLOWED_ON_ROAMING,
+ DataFailCause.APN_PARAMETERS_CHANGED,
+ DataFailCause.NULL_APN_DISALLOWED,
+ DataFailCause.THERMAL_MITIGATION,
+ DataFailCause.DATA_SETTINGS_DISABLED,
+ DataFailCause.DATA_ROAMING_SETTINGS_DISABLED,
+ DataFailCause.DDS_SWITCHED,
+ DataFailCause.FORBIDDEN_APN_NAME,
+ DataFailCause.DDS_SWITCH_IN_PROGRESS,
+ DataFailCause.CALL_DISALLOWED_IN_ROAMING,
+ DataFailCause.NON_IP_NOT_SUPPORTED,
+ DataFailCause.PDN_NON_IP_CALL_THROTTLED,
+ DataFailCause.PDN_NON_IP_CALL_DISALLOWED,
+ DataFailCause.CDMA_LOCK,
+ DataFailCause.CDMA_INTERCEPT,
+ DataFailCause.CDMA_REORDER,
+ DataFailCause.CDMA_RELEASE_DUE_TO_SO_REJECTION,
+ DataFailCause.CDMA_INCOMING_CALL,
+ DataFailCause.CDMA_ALERT_STOP,
+ DataFailCause.CHANNEL_ACQUISITION_FAILURE,
+ DataFailCause.MAX_ACCESS_PROBE,
+ DataFailCause.CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION,
+ DataFailCause.NO_RESPONSE_FROM_BASE_STATION,
+ DataFailCause.REJECTED_BY_BASE_STATION,
+ DataFailCause.CONCURRENT_SERVICES_INCOMPATIBLE,
+ DataFailCause.NO_CDMA_SERVICE,
+ DataFailCause.RUIM_NOT_PRESENT,
+ DataFailCause.CDMA_RETRY_ORDER,
+ DataFailCause.ACCESS_BLOCK,
+ DataFailCause.ACCESS_BLOCK_ALL,
+ DataFailCause.IS707B_MAX_ACCESS_PROBES,
+ DataFailCause.THERMAL_EMERGENCY,
+ DataFailCause.CONCURRENT_SERVICES_NOT_ALLOWED,
+ DataFailCause.INCOMING_CALL_REJECTED,
+ DataFailCause.NO_SERVICE_ON_GATEWAY,
+ DataFailCause.NO_GPRS_CONTEXT,
+ DataFailCause.ILLEGAL_MS,
+ DataFailCause.ILLEGAL_ME,
+ DataFailCause.GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED,
+ DataFailCause.GPRS_SERVICES_NOT_ALLOWED,
+ DataFailCause.MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK,
+ DataFailCause.IMPLICITLY_DETACHED,
+ DataFailCause.PLMN_NOT_ALLOWED,
+ DataFailCause.LOCATION_AREA_NOT_ALLOWED,
+ DataFailCause.GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN,
+ DataFailCause.PDP_DUPLICATE,
+ DataFailCause.UE_RAT_CHANGE,
+ DataFailCause.CONGESTION,
+ DataFailCause.NO_PDP_CONTEXT_ACTIVATED,
+ DataFailCause.ACCESS_CLASS_DSAC_REJECTION,
+ DataFailCause.PDP_ACTIVATE_MAX_RETRY_FAILED,
+ DataFailCause.RADIO_ACCESS_BEARER_FAILURE,
+ DataFailCause.ESM_UNKNOWN_EPS_BEARER_CONTEXT,
+ DataFailCause.DRB_RELEASED_BY_RRC,
+ DataFailCause.CONNECTION_RELEASED,
+ DataFailCause.EMM_DETACHED,
+ DataFailCause.EMM_ATTACH_FAILED,
+ DataFailCause.EMM_ATTACH_STARTED,
+ DataFailCause.LTE_NAS_SERVICE_REQUEST_FAILED,
+ DataFailCause.DUPLICATE_BEARER_ID,
+ DataFailCause.ESM_COLLISION_SCENARIOS,
+ DataFailCause.ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK,
+ DataFailCause.ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER,
+ DataFailCause.ESM_BAD_OTA_MESSAGE,
+ DataFailCause.ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL,
+ DataFailCause.ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT,
+ DataFailCause.DS_EXPLICIT_DEACTIVATION,
+ DataFailCause.ESM_LOCAL_CAUSE_NONE,
+ DataFailCause.LTE_THROTTLING_NOT_REQUIRED,
+ DataFailCause.ACCESS_CONTROL_LIST_CHECK_FAILURE,
+ DataFailCause.SERVICE_NOT_ALLOWED_ON_PLMN,
+ DataFailCause.EMM_T3417_EXPIRED,
+ DataFailCause.EMM_T3417_EXT_EXPIRED,
+ DataFailCause.RRC_UPLINK_DATA_TRANSMISSION_FAILURE,
+ DataFailCause.RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER,
+ DataFailCause.RRC_UPLINK_CONNECTION_RELEASE,
+ DataFailCause.RRC_UPLINK_RADIO_LINK_FAILURE,
+ DataFailCause.RRC_UPLINK_ERROR_REQUEST_FROM_NAS,
+ DataFailCause.RRC_CONNECTION_ACCESS_STRATUM_FAILURE,
+ DataFailCause.RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS,
+ DataFailCause.RRC_CONNECTION_ACCESS_BARRED,
+ DataFailCause.RRC_CONNECTION_CELL_RESELECTION,
+ DataFailCause.RRC_CONNECTION_CONFIG_FAILURE,
+ DataFailCause.RRC_CONNECTION_TIMER_EXPIRED,
+ DataFailCause.RRC_CONNECTION_LINK_FAILURE,
+ DataFailCause.RRC_CONNECTION_CELL_NOT_CAMPED,
+ DataFailCause.RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE,
+ DataFailCause.RRC_CONNECTION_REJECT_BY_NETWORK,
+ DataFailCause.RRC_CONNECTION_NORMAL_RELEASE,
+ DataFailCause.RRC_CONNECTION_RADIO_LINK_FAILURE,
+ DataFailCause.RRC_CONNECTION_REESTABLISHMENT_FAILURE,
+ DataFailCause.RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER,
+ DataFailCause.RRC_CONNECTION_ABORT_REQUEST,
+ DataFailCause.RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR,
+ DataFailCause.NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH,
+ DataFailCause.NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH,
+ DataFailCause.ESM_PROCEDURE_TIME_OUT,
+ DataFailCause.INVALID_CONNECTION_ID,
+ DataFailCause.MAXIMIUM_NSAPIS_EXCEEDED,
+ DataFailCause.INVALID_PRIMARY_NSAPI,
+ DataFailCause.CANNOT_ENCODE_OTA_MESSAGE,
+ DataFailCause.RADIO_ACCESS_BEARER_SETUP_FAILURE,
+ DataFailCause.PDP_ESTABLISH_TIMEOUT_EXPIRED,
+ DataFailCause.PDP_MODIFY_TIMEOUT_EXPIRED,
+ DataFailCause.PDP_INACTIVE_TIMEOUT_EXPIRED,
+ DataFailCause.PDP_LOWERLAYER_ERROR,
+ DataFailCause.PDP_MODIFY_COLLISION,
+ DataFailCause.MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED,
+ DataFailCause.NAS_REQUEST_REJECTED_BY_NETWORK,
+ DataFailCause.RRC_CONNECTION_INVALID_REQUEST,
+ DataFailCause.RRC_CONNECTION_TRACKING_AREA_ID_CHANGED,
+ DataFailCause.RRC_CONNECTION_RF_UNAVAILABLE,
+ DataFailCause.RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE,
+ DataFailCause.RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE,
+ DataFailCause.RRC_CONNECTION_ABORTED_AFTER_HANDOVER,
+ DataFailCause.RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE,
+ DataFailCause.RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE,
+ DataFailCause.IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER,
+ DataFailCause.IMEI_NOT_ACCEPTED,
+ DataFailCause.EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED,
+ DataFailCause.EPS_SERVICES_NOT_ALLOWED_IN_PLMN,
+ DataFailCause.MSC_TEMPORARILY_NOT_REACHABLE,
+ DataFailCause.CS_DOMAIN_NOT_AVAILABLE,
+ DataFailCause.ESM_FAILURE,
+ DataFailCause.MAC_FAILURE,
+ DataFailCause.SYNCHRONIZATION_FAILURE,
+ DataFailCause.UE_SECURITY_CAPABILITIES_MISMATCH,
+ DataFailCause.SECURITY_MODE_REJECTED,
+ DataFailCause.UNACCEPTABLE_NON_EPS_AUTHENTICATION,
+ DataFailCause.CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED,
+ DataFailCause.NO_EPS_BEARER_CONTEXT_ACTIVATED,
+ DataFailCause.INVALID_EMM_STATE,
+ DataFailCause.NAS_LAYER_FAILURE,
+ DataFailCause.MULTIPLE_PDP_CALL_NOT_ALLOWED,
+ DataFailCause.EMBMS_NOT_ENABLED,
+ DataFailCause.IRAT_HANDOVER_FAILED,
+ DataFailCause.EMBMS_REGULAR_DEACTIVATION,
+ DataFailCause.TEST_LOOPBACK_REGULAR_DEACTIVATION,
+ DataFailCause.LOWER_LAYER_REGISTRATION_FAILURE,
+ DataFailCause.DATA_PLAN_EXPIRED,
+ DataFailCause.UMTS_HANDOVER_TO_IWLAN,
+ DataFailCause.EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY,
+ DataFailCause.EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE,
+ DataFailCause.EVDO_HDR_CHANGED,
+ DataFailCause.EVDO_HDR_EXITED,
+ DataFailCause.EVDO_HDR_NO_SESSION,
+ DataFailCause.EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL,
+ DataFailCause.EVDO_HDR_CONNECTION_SETUP_TIMEOUT,
+ DataFailCause.FAILED_TO_ACQUIRE_COLOCATED_HDR,
+ DataFailCause.OTASP_COMMIT_IN_PROGRESS,
+ DataFailCause.NO_HYBRID_HDR_SERVICE,
+ DataFailCause.HDR_NO_LOCK_GRANTED,
+ DataFailCause.DBM_OR_SMS_IN_PROGRESS,
+ DataFailCause.HDR_FADE,
+ DataFailCause.HDR_ACCESS_FAILURE,
+ DataFailCause.UNSUPPORTED_1X_PREV,
+ DataFailCause.LOCAL_END,
+ DataFailCause.NO_SERVICE,
+ DataFailCause.FADE,
+ DataFailCause.NORMAL_RELEASE,
+ DataFailCause.ACCESS_ATTEMPT_ALREADY_IN_PROGRESS,
+ DataFailCause.REDIRECTION_OR_HANDOFF_IN_PROGRESS,
+ DataFailCause.EMERGENCY_MODE,
+ DataFailCause.PHONE_IN_USE,
+ DataFailCause.INVALID_MODE,
+ DataFailCause.INVALID_SIM_STATE,
+ DataFailCause.NO_COLLOCATED_HDR,
+ DataFailCause.UE_IS_ENTERING_POWERSAVE_MODE,
+ DataFailCause.DUAL_SWITCH,
+ DataFailCause.PPP_TIMEOUT,
+ DataFailCause.PPP_AUTH_FAILURE,
+ DataFailCause.PPP_OPTION_MISMATCH,
+ DataFailCause.PPP_PAP_FAILURE,
+ DataFailCause.PPP_CHAP_FAILURE,
+ DataFailCause.PPP_CLOSE_IN_PROGRESS,
+ DataFailCause.LIMITED_TO_IPV4,
+ DataFailCause.LIMITED_TO_IPV6,
+ DataFailCause.VSNCP_TIMEOUT,
+ DataFailCause.VSNCP_GEN_ERROR,
+ DataFailCause.VSNCP_APN_UNATHORIZED,
+ DataFailCause.VSNCP_PDN_LIMIT_EXCEEDED,
+ DataFailCause.VSNCP_NO_PDN_GATEWAY_ADDRESS,
+ DataFailCause.VSNCP_PDN_GATEWAY_UNREACHABLE,
+ DataFailCause.VSNCP_PDN_GATEWAY_REJECT,
+ DataFailCause.VSNCP_INSUFFICIENT_PARAMETERS,
+ DataFailCause.VSNCP_RESOURCE_UNAVAILABLE,
+ DataFailCause.VSNCP_ADMINISTRATIVELY_PROHIBITED,
+ DataFailCause.VSNCP_PDN_ID_IN_USE,
+ DataFailCause.VSNCP_SUBSCRIBER_LIMITATION,
+ DataFailCause.VSNCP_PDN_EXISTS_FOR_THIS_APN,
+ DataFailCause.VSNCP_RECONNECT_NOT_ALLOWED,
+ DataFailCause.IPV6_PREFIX_UNAVAILABLE,
+ DataFailCause.HANDOFF_PREFERENCE_CHANGED,
+ DataFailCause.OEM_DCFAILCAUSE_1,
+ DataFailCause.OEM_DCFAILCAUSE_2,
+ DataFailCause.OEM_DCFAILCAUSE_3,
+ DataFailCause.OEM_DCFAILCAUSE_4,
+ DataFailCause.OEM_DCFAILCAUSE_5,
+ DataFailCause.OEM_DCFAILCAUSE_6,
+ DataFailCause.OEM_DCFAILCAUSE_7,
+ DataFailCause.OEM_DCFAILCAUSE_8,
+ DataFailCause.OEM_DCFAILCAUSE_9,
+ DataFailCause.OEM_DCFAILCAUSE_10,
+ DataFailCause.OEM_DCFAILCAUSE_11,
+ DataFailCause.OEM_DCFAILCAUSE_12,
+ DataFailCause.OEM_DCFAILCAUSE_13,
+ DataFailCause.OEM_DCFAILCAUSE_14,
+ DataFailCause.OEM_DCFAILCAUSE_15,
+ DataFailCause.REGISTRATION_FAIL,
+ DataFailCause.GPRS_REGISTRATION_FAIL,
+ DataFailCause.SIGNAL_LOST,
+ DataFailCause.PREF_RADIO_TECH_CHANGED,
+ DataFailCause.RADIO_POWER_OFF,
+ DataFailCause.TETHERED_CALL_ACTIVE,
+ DataFailCause.ERROR_UNSPECIFIED,
+ DataFailCause.UNKNOWN,
+ DataFailCause.RADIO_NOT_AVAILABLE,
+ DataFailCause.UNACCEPTABLE_NETWORK_PARAMETER,
+ DataFailCause.CONNECTION_TO_DATACONNECTIONAC_BROKEN,
+ DataFailCause.LOST_CONNECTION,
+ DataFailCause.RESET_BY_FRAMEWORK
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface DataFailureCause {
+ }
+}
diff --git a/telephony/java/android/telephony/CallAttributes.java b/telephony/java/android/telephony/CallAttributes.java
index 1c03d8089df7..cd830adf23b0 100644
--- a/telephony/java/android/telephony/CallAttributes.java
+++ b/telephony/java/android/telephony/CallAttributes.java
@@ -21,8 +21,8 @@ import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
-import android.telephony.TelephonyManager.NetworkType;
+import android.telephony.Annotation.NetworkType;
import java.util.Objects;
/**
diff --git a/telephony/java/android/telephony/DataFailCause.java b/telephony/java/android/telephony/DataFailCause.java
index ca264f738e1d..246bec7de59e 100644
--- a/telephony/java/android/telephony/DataFailCause.java
+++ b/telephony/java/android/telephony/DataFailCause.java
@@ -21,6 +21,7 @@ import android.annotation.SystemApi;
import android.content.Context;
import android.os.PersistableBundle;
+import android.telephony.Annotation.DataFailureCause;
import com.android.internal.util.ArrayUtils;
import java.lang.annotation.Retention;
@@ -968,355 +969,6 @@ public final class DataFailCause {
*/
public static final int HANDOVER_FAILED = 0x10006;
- /** @hide */
- @IntDef(value = {
- NONE,
- OPERATOR_BARRED,
- NAS_SIGNALLING,
- LLC_SNDCP,
- INSUFFICIENT_RESOURCES,
- MISSING_UNKNOWN_APN,
- UNKNOWN_PDP_ADDRESS_TYPE,
- USER_AUTHENTICATION,
- ACTIVATION_REJECT_GGSN,
- ACTIVATION_REJECT_UNSPECIFIED,
- SERVICE_OPTION_NOT_SUPPORTED,
- SERVICE_OPTION_NOT_SUBSCRIBED,
- SERVICE_OPTION_OUT_OF_ORDER,
- NSAPI_IN_USE,
- REGULAR_DEACTIVATION,
- QOS_NOT_ACCEPTED,
- NETWORK_FAILURE,
- UMTS_REACTIVATION_REQ,
- FEATURE_NOT_SUPP,
- TFT_SEMANTIC_ERROR,
- TFT_SYTAX_ERROR,
- UNKNOWN_PDP_CONTEXT,
- FILTER_SEMANTIC_ERROR,
- FILTER_SYTAX_ERROR,
- PDP_WITHOUT_ACTIVE_TFT,
- ACTIVATION_REJECTED_BCM_VIOLATION,
- ONLY_IPV4_ALLOWED,
- ONLY_IPV6_ALLOWED,
- ONLY_SINGLE_BEARER_ALLOWED,
- ESM_INFO_NOT_RECEIVED,
- PDN_CONN_DOES_NOT_EXIST,
- MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED,
- COLLISION_WITH_NETWORK_INITIATED_REQUEST,
- ONLY_IPV4V6_ALLOWED,
- ONLY_NON_IP_ALLOWED,
- UNSUPPORTED_QCI_VALUE,
- BEARER_HANDLING_NOT_SUPPORTED,
- ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED,
- UNSUPPORTED_APN_IN_CURRENT_PLMN,
- INVALID_TRANSACTION_ID,
- MESSAGE_INCORRECT_SEMANTIC,
- INVALID_MANDATORY_INFO,
- MESSAGE_TYPE_UNSUPPORTED,
- MSG_TYPE_NONCOMPATIBLE_STATE,
- UNKNOWN_INFO_ELEMENT,
- CONDITIONAL_IE_ERROR,
- MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE,
- PROTOCOL_ERRORS,
- APN_TYPE_CONFLICT,
- INVALID_PCSCF_ADDR,
- INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN,
- EMM_ACCESS_BARRED,
- EMERGENCY_IFACE_ONLY,
- IFACE_MISMATCH,
- COMPANION_IFACE_IN_USE,
- IP_ADDRESS_MISMATCH,
- IFACE_AND_POL_FAMILY_MISMATCH,
- EMM_ACCESS_BARRED_INFINITE_RETRY,
- AUTH_FAILURE_ON_EMERGENCY_CALL,
- INVALID_DNS_ADDR,
- INVALID_PCSCF_OR_DNS_ADDRESS,
- CALL_PREEMPT_BY_EMERGENCY_APN,
- UE_INITIATED_DETACH_OR_DISCONNECT,
- MIP_FA_REASON_UNSPECIFIED,
- MIP_FA_ADMIN_PROHIBITED,
- MIP_FA_INSUFFICIENT_RESOURCES,
- MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE,
- MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE,
- MIP_FA_REQUESTED_LIFETIME_TOO_LONG,
- MIP_FA_MALFORMED_REQUEST,
- MIP_FA_MALFORMED_REPLY,
- MIP_FA_ENCAPSULATION_UNAVAILABLE,
- MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE,
- MIP_FA_REVERSE_TUNNEL_UNAVAILABLE,
- MIP_FA_REVERSE_TUNNEL_IS_MANDATORY,
- MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED,
- MIP_FA_MISSING_NAI,
- MIP_FA_MISSING_HOME_AGENT,
- MIP_FA_MISSING_HOME_ADDRESS,
- MIP_FA_UNKNOWN_CHALLENGE,
- MIP_FA_MISSING_CHALLENGE,
- MIP_FA_STALE_CHALLENGE,
- MIP_HA_REASON_UNSPECIFIED,
- MIP_HA_ADMIN_PROHIBITED,
- MIP_HA_INSUFFICIENT_RESOURCES,
- MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE,
- MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE,
- MIP_HA_REGISTRATION_ID_MISMATCH,
- MIP_HA_MALFORMED_REQUEST,
- MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS,
- MIP_HA_REVERSE_TUNNEL_UNAVAILABLE,
- MIP_HA_REVERSE_TUNNEL_IS_MANDATORY,
- MIP_HA_ENCAPSULATION_UNAVAILABLE,
- CLOSE_IN_PROGRESS,
- NETWORK_INITIATED_TERMINATION,
- MODEM_APP_PREEMPTED,
- PDN_IPV4_CALL_DISALLOWED,
- PDN_IPV4_CALL_THROTTLED,
- PDN_IPV6_CALL_DISALLOWED,
- PDN_IPV6_CALL_THROTTLED,
- MODEM_RESTART,
- PDP_PPP_NOT_SUPPORTED,
- UNPREFERRED_RAT,
- PHYSICAL_LINK_CLOSE_IN_PROGRESS,
- APN_PENDING_HANDOVER,
- PROFILE_BEARER_INCOMPATIBLE,
- SIM_CARD_CHANGED,
- LOW_POWER_MODE_OR_POWERING_DOWN,
- APN_DISABLED,
- MAX_PPP_INACTIVITY_TIMER_EXPIRED,
- IPV6_ADDRESS_TRANSFER_FAILED,
- TRAT_SWAP_FAILED,
- EHRPD_TO_HRPD_FALLBACK,
- MIP_CONFIG_FAILURE,
- PDN_INACTIVITY_TIMER_EXPIRED,
- MAX_IPV4_CONNECTIONS,
- MAX_IPV6_CONNECTIONS,
- APN_MISMATCH,
- IP_VERSION_MISMATCH,
- DUN_CALL_DISALLOWED,
- INTERNAL_EPC_NONEPC_TRANSITION,
- INTERFACE_IN_USE,
- APN_DISALLOWED_ON_ROAMING,
- APN_PARAMETERS_CHANGED,
- NULL_APN_DISALLOWED,
- THERMAL_MITIGATION,
- DATA_SETTINGS_DISABLED,
- DATA_ROAMING_SETTINGS_DISABLED,
- DDS_SWITCHED,
- FORBIDDEN_APN_NAME,
- DDS_SWITCH_IN_PROGRESS,
- CALL_DISALLOWED_IN_ROAMING,
- NON_IP_NOT_SUPPORTED,
- PDN_NON_IP_CALL_THROTTLED,
- PDN_NON_IP_CALL_DISALLOWED,
- CDMA_LOCK,
- CDMA_INTERCEPT,
- CDMA_REORDER,
- CDMA_RELEASE_DUE_TO_SO_REJECTION,
- CDMA_INCOMING_CALL,
- CDMA_ALERT_STOP,
- CHANNEL_ACQUISITION_FAILURE,
- MAX_ACCESS_PROBE,
- CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION,
- NO_RESPONSE_FROM_BASE_STATION,
- REJECTED_BY_BASE_STATION,
- CONCURRENT_SERVICES_INCOMPATIBLE,
- NO_CDMA_SERVICE,
- RUIM_NOT_PRESENT,
- CDMA_RETRY_ORDER,
- ACCESS_BLOCK,
- ACCESS_BLOCK_ALL,
- IS707B_MAX_ACCESS_PROBES,
- THERMAL_EMERGENCY,
- CONCURRENT_SERVICES_NOT_ALLOWED,
- INCOMING_CALL_REJECTED,
- NO_SERVICE_ON_GATEWAY,
- NO_GPRS_CONTEXT,
- ILLEGAL_MS,
- ILLEGAL_ME,
- GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED,
- GPRS_SERVICES_NOT_ALLOWED,
- MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK,
- IMPLICITLY_DETACHED,
- PLMN_NOT_ALLOWED,
- LOCATION_AREA_NOT_ALLOWED,
- GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN,
- PDP_DUPLICATE,
- UE_RAT_CHANGE,
- CONGESTION,
- NO_PDP_CONTEXT_ACTIVATED,
- ACCESS_CLASS_DSAC_REJECTION,
- PDP_ACTIVATE_MAX_RETRY_FAILED,
- RADIO_ACCESS_BEARER_FAILURE,
- ESM_UNKNOWN_EPS_BEARER_CONTEXT,
- DRB_RELEASED_BY_RRC,
- CONNECTION_RELEASED,
- EMM_DETACHED,
- EMM_ATTACH_FAILED,
- EMM_ATTACH_STARTED,
- LTE_NAS_SERVICE_REQUEST_FAILED,
- DUPLICATE_BEARER_ID,
- ESM_COLLISION_SCENARIOS,
- ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK,
- ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER,
- ESM_BAD_OTA_MESSAGE,
- ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL,
- ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT,
- DS_EXPLICIT_DEACTIVATION,
- ESM_LOCAL_CAUSE_NONE,
- LTE_THROTTLING_NOT_REQUIRED,
- ACCESS_CONTROL_LIST_CHECK_FAILURE,
- SERVICE_NOT_ALLOWED_ON_PLMN,
- EMM_T3417_EXPIRED,
- EMM_T3417_EXT_EXPIRED,
- RRC_UPLINK_DATA_TRANSMISSION_FAILURE,
- RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER,
- RRC_UPLINK_CONNECTION_RELEASE,
- RRC_UPLINK_RADIO_LINK_FAILURE,
- RRC_UPLINK_ERROR_REQUEST_FROM_NAS,
- RRC_CONNECTION_ACCESS_STRATUM_FAILURE,
- RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS,
- RRC_CONNECTION_ACCESS_BARRED,
- RRC_CONNECTION_CELL_RESELECTION,
- RRC_CONNECTION_CONFIG_FAILURE,
- RRC_CONNECTION_TIMER_EXPIRED,
- RRC_CONNECTION_LINK_FAILURE,
- RRC_CONNECTION_CELL_NOT_CAMPED,
- RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE,
- RRC_CONNECTION_REJECT_BY_NETWORK,
- RRC_CONNECTION_NORMAL_RELEASE,
- RRC_CONNECTION_RADIO_LINK_FAILURE,
- RRC_CONNECTION_REESTABLISHMENT_FAILURE,
- RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER,
- RRC_CONNECTION_ABORT_REQUEST,
- RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR,
- NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH,
- NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH,
- ESM_PROCEDURE_TIME_OUT,
- INVALID_CONNECTION_ID,
- MAXIMIUM_NSAPIS_EXCEEDED,
- INVALID_PRIMARY_NSAPI,
- CANNOT_ENCODE_OTA_MESSAGE,
- RADIO_ACCESS_BEARER_SETUP_FAILURE,
- PDP_ESTABLISH_TIMEOUT_EXPIRED,
- PDP_MODIFY_TIMEOUT_EXPIRED,
- PDP_INACTIVE_TIMEOUT_EXPIRED,
- PDP_LOWERLAYER_ERROR,
- PDP_MODIFY_COLLISION,
- MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED,
- NAS_REQUEST_REJECTED_BY_NETWORK,
- RRC_CONNECTION_INVALID_REQUEST,
- RRC_CONNECTION_TRACKING_AREA_ID_CHANGED,
- RRC_CONNECTION_RF_UNAVAILABLE,
- RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE,
- RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE,
- RRC_CONNECTION_ABORTED_AFTER_HANDOVER,
- RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE,
- RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE,
- IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER,
- IMEI_NOT_ACCEPTED,
- EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED,
- EPS_SERVICES_NOT_ALLOWED_IN_PLMN,
- MSC_TEMPORARILY_NOT_REACHABLE,
- CS_DOMAIN_NOT_AVAILABLE,
- ESM_FAILURE,
- MAC_FAILURE,
- SYNCHRONIZATION_FAILURE,
- UE_SECURITY_CAPABILITIES_MISMATCH,
- SECURITY_MODE_REJECTED,
- UNACCEPTABLE_NON_EPS_AUTHENTICATION,
- CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED,
- NO_EPS_BEARER_CONTEXT_ACTIVATED,
- INVALID_EMM_STATE,
- NAS_LAYER_FAILURE,
- MULTIPLE_PDP_CALL_NOT_ALLOWED,
- EMBMS_NOT_ENABLED,
- IRAT_HANDOVER_FAILED,
- EMBMS_REGULAR_DEACTIVATION,
- TEST_LOOPBACK_REGULAR_DEACTIVATION,
- LOWER_LAYER_REGISTRATION_FAILURE,
- DATA_PLAN_EXPIRED,
- UMTS_HANDOVER_TO_IWLAN,
- EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY,
- EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE,
- EVDO_HDR_CHANGED,
- EVDO_HDR_EXITED,
- EVDO_HDR_NO_SESSION,
- EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL,
- EVDO_HDR_CONNECTION_SETUP_TIMEOUT,
- FAILED_TO_ACQUIRE_COLOCATED_HDR,
- OTASP_COMMIT_IN_PROGRESS,
- NO_HYBRID_HDR_SERVICE,
- HDR_NO_LOCK_GRANTED,
- DBM_OR_SMS_IN_PROGRESS,
- HDR_FADE,
- HDR_ACCESS_FAILURE,
- UNSUPPORTED_1X_PREV,
- LOCAL_END,
- NO_SERVICE,
- FADE,
- NORMAL_RELEASE,
- ACCESS_ATTEMPT_ALREADY_IN_PROGRESS,
- REDIRECTION_OR_HANDOFF_IN_PROGRESS,
- EMERGENCY_MODE,
- PHONE_IN_USE,
- INVALID_MODE,
- INVALID_SIM_STATE,
- NO_COLLOCATED_HDR,
- UE_IS_ENTERING_POWERSAVE_MODE,
- DUAL_SWITCH,
- PPP_TIMEOUT,
- PPP_AUTH_FAILURE,
- PPP_OPTION_MISMATCH,
- PPP_PAP_FAILURE,
- PPP_CHAP_FAILURE,
- PPP_CLOSE_IN_PROGRESS,
- LIMITED_TO_IPV4,
- LIMITED_TO_IPV6,
- VSNCP_TIMEOUT,
- VSNCP_GEN_ERROR,
- VSNCP_APN_UNATHORIZED,
- VSNCP_PDN_LIMIT_EXCEEDED,
- VSNCP_NO_PDN_GATEWAY_ADDRESS,
- VSNCP_PDN_GATEWAY_UNREACHABLE,
- VSNCP_PDN_GATEWAY_REJECT,
- VSNCP_INSUFFICIENT_PARAMETERS,
- VSNCP_RESOURCE_UNAVAILABLE,
- VSNCP_ADMINISTRATIVELY_PROHIBITED,
- VSNCP_PDN_ID_IN_USE,
- VSNCP_SUBSCRIBER_LIMITATION,
- VSNCP_PDN_EXISTS_FOR_THIS_APN,
- VSNCP_RECONNECT_NOT_ALLOWED,
- IPV6_PREFIX_UNAVAILABLE,
- HANDOFF_PREFERENCE_CHANGED,
- OEM_DCFAILCAUSE_1,
- OEM_DCFAILCAUSE_2,
- OEM_DCFAILCAUSE_3,
- OEM_DCFAILCAUSE_4,
- OEM_DCFAILCAUSE_5,
- OEM_DCFAILCAUSE_6,
- OEM_DCFAILCAUSE_7,
- OEM_DCFAILCAUSE_8,
- OEM_DCFAILCAUSE_9,
- OEM_DCFAILCAUSE_10,
- OEM_DCFAILCAUSE_11,
- OEM_DCFAILCAUSE_12,
- OEM_DCFAILCAUSE_13,
- OEM_DCFAILCAUSE_14,
- OEM_DCFAILCAUSE_15,
- REGISTRATION_FAIL,
- GPRS_REGISTRATION_FAIL,
- SIGNAL_LOST,
- PREF_RADIO_TECH_CHANGED,
- RADIO_POWER_OFF,
- TETHERED_CALL_ACTIVE,
- ERROR_UNSPECIFIED,
- UNKNOWN,
- RADIO_NOT_AVAILABLE,
- UNACCEPTABLE_NETWORK_PARAMETER,
- CONNECTION_TO_DATACONNECTIONAC_BROKEN,
- LOST_CONNECTION,
- RESET_BY_FRAMEWORK
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface FailCause{}
-
private static final Map<Integer, String> sFailCauseMap;
static {
sFailCauseMap = new HashMap<>();
@@ -1737,7 +1389,8 @@ public final class DataFailCause {
*
* @hide
*/
- public static boolean isRadioRestartFailure(@NonNull Context context, @FailCause int cause,
+ public static boolean isRadioRestartFailure(@NonNull Context context,
+ @DataFailureCause int cause,
int subId) {
CarrierConfigManager configManager = (CarrierConfigManager)
context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
@@ -1765,7 +1418,8 @@ public final class DataFailCause {
}
/** @hide */
- public static boolean isPermanentFailure(@NonNull Context context, @FailCause int failCause,
+ public static boolean isPermanentFailure(@NonNull Context context,
+ @DataFailureCause int failCause,
int subId) {
synchronized (sPermanentFailureCache) {
@@ -1825,7 +1479,7 @@ public final class DataFailCause {
}
/** @hide */
- public static boolean isEventLoggable(@FailCause int dataFailCause) {
+ public static boolean isEventLoggable(@DataFailureCause int dataFailCause) {
return (dataFailCause == OPERATOR_BARRED) || (dataFailCause == INSUFFICIENT_RESOURCES)
|| (dataFailCause == UNKNOWN_PDP_ADDRESS_TYPE)
|| (dataFailCause == USER_AUTHENTICATION)
@@ -1845,13 +1499,13 @@ public final class DataFailCause {
}
/** @hide */
- public static String toString(@FailCause int dataFailCause) {
+ public static String toString(@DataFailureCause int dataFailCause) {
int cause = getFailCause(dataFailCause);
return (cause == UNKNOWN) ? "UNKNOWN(" + dataFailCause + ")" : sFailCauseMap.get(cause);
}
/** @hide */
- public static int getFailCause(@FailCause int failCause) {
+ public static int getFailCause(@DataFailureCause int failCause) {
if (sFailCauseMap.containsKey(failCause)) {
return failCause;
} else {
diff --git a/telephony/java/android/telephony/NetworkRegistrationInfo.java b/telephony/java/android/telephony/NetworkRegistrationInfo.java
index a76b8da09064..3e028715fd6d 100644
--- a/telephony/java/android/telephony/NetworkRegistrationInfo.java
+++ b/telephony/java/android/telephony/NetworkRegistrationInfo.java
@@ -24,8 +24,8 @@ import android.annotation.TestApi;
import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.AccessNetworkConstants.TransportType;
-import android.telephony.TelephonyManager.NetworkType;
+import android.telephony.Annotation.NetworkType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
diff --git a/telephony/java/android/telephony/PhoneStateListener.java b/telephony/java/android/telephony/PhoneStateListener.java
index 0ce552ae330a..e5bfb4dfb7b4 100644
--- a/telephony/java/android/telephony/PhoneStateListener.java
+++ b/telephony/java/android/telephony/PhoneStateListener.java
@@ -28,6 +28,10 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerExecutor;
import android.os.Looper;
+import android.telephony.Annotation.CallState;
+import android.telephony.Annotation.RadioPowerState;
+import android.telephony.Annotation.SimActivationState;
+import android.telephony.Annotation.SrvccState;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;
@@ -567,7 +571,7 @@ public class PhoneStateListener {
* privileges (see {@link TelephonyManager#hasCarrierPrivileges}), an empty string will be
* passed as an argument.
*/
- public void onCallStateChanged(@TelephonyManager.CallState int state, String phoneNumber) {
+ public void onCallStateChanged(@CallState int state, String phoneNumber) {
// default implementation empty
}
@@ -773,7 +777,7 @@ public class PhoneStateListener {
* @hide
*/
@SystemApi
- public void onSrvccStateChanged(@TelephonyManager.SrvccState int srvccState) {
+ public void onSrvccStateChanged(@SrvccState int srvccState) {
}
@@ -791,7 +795,7 @@ public class PhoneStateListener {
* @hide
*/
@SystemApi
- public void onVoiceActivationStateChanged(@TelephonyManager.SimActivationState int state) {
+ public void onVoiceActivationStateChanged(@SimActivationState int state) {
}
/**
@@ -807,7 +811,7 @@ public class PhoneStateListener {
* @param state is the current SIM data activation state
* @hide
*/
- public void onDataActivationStateChanged(@TelephonyManager.SimActivationState int state) {
+ public void onDataActivationStateChanged(@SimActivationState int state) {
}
/**
@@ -966,7 +970,7 @@ public class PhoneStateListener {
* @hide
*/
@SystemApi
- public void onRadioPowerStateChanged(@TelephonyManager.RadioPowerState int state) {
+ public void onRadioPowerStateChanged(@RadioPowerState int state) {
// default implementation empty
}
@@ -1233,7 +1237,7 @@ public class PhoneStateListener {
() -> mExecutor.execute(() -> psl.onPhoneCapabilityChanged(capability)));
}
- public void onRadioPowerStateChanged(@TelephonyManager.RadioPowerState int state) {
+ public void onRadioPowerStateChanged(@RadioPowerState int state) {
PhoneStateListener psl = mPhoneStateListenerWeakRef.get();
if (psl == null) return;
diff --git a/telephony/java/android/telephony/PhysicalChannelConfig.java b/telephony/java/android/telephony/PhysicalChannelConfig.java
index e1763ab44fba..4273f5a4a16e 100644
--- a/telephony/java/android/telephony/PhysicalChannelConfig.java
+++ b/telephony/java/android/telephony/PhysicalChannelConfig.java
@@ -19,8 +19,8 @@ package android.telephony;
import android.annotation.IntDef;
import android.os.Parcel;
import android.os.Parcelable;
-import android.telephony.TelephonyManager.NetworkType;
+import android.telephony.Annotation.NetworkType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;
diff --git a/telephony/java/android/telephony/PreciseCallState.java b/telephony/java/android/telephony/PreciseCallState.java
index 701a375a3039..f929649453b9 100644
--- a/telephony/java/android/telephony/PreciseCallState.java
+++ b/telephony/java/android/telephony/PreciseCallState.java
@@ -41,7 +41,7 @@ import java.util.Objects;
* <li>Precise background call state.
* </ul>
*
- * @see android.telephony.TelephonyManager.CallState which contains generic call states.
+ * @see android.telephony.Annotation.CallState which contains generic call states.
*
* @hide
*/
diff --git a/telephony/java/android/telephony/PreciseDataConnectionState.java b/telephony/java/android/telephony/PreciseDataConnectionState.java
index 90d443a6d8ee..257d634f1577 100644
--- a/telephony/java/android/telephony/PreciseDataConnectionState.java
+++ b/telephony/java/android/telephony/PreciseDataConnectionState.java
@@ -23,6 +23,10 @@ import android.annotation.UnsupportedAppUsage;
import android.net.LinkProperties;
import android.os.Parcel;
import android.os.Parcelable;
+import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.DataFailureCause;
+import android.telephony.Annotation.DataState;
+import android.telephony.Annotation.NetworkType;
import android.telephony.data.ApnSetting;
import java.util.Objects;
@@ -47,10 +51,10 @@ import java.util.Objects;
@SystemApi
public final class PreciseDataConnectionState implements Parcelable {
- private @TelephonyManager.DataState int mState = TelephonyManager.DATA_UNKNOWN;
- private @TelephonyManager.NetworkType int mNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
- private @DataFailCause.FailCause int mFailCause = DataFailCause.NONE;
- private @ApnSetting.ApnType int mAPNTypes = ApnSetting.TYPE_NONE;
+ private @DataState int mState = TelephonyManager.DATA_UNKNOWN;
+ private @NetworkType int mNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+ private @DataFailureCause int mFailCause = DataFailCause.NONE;
+ private @ApnType int mAPNTypes = ApnSetting.TYPE_NONE;
private String mAPN = "";
private LinkProperties mLinkProperties = null;
@@ -60,11 +64,11 @@ public final class PreciseDataConnectionState implements Parcelable {
* @hide
*/
@UnsupportedAppUsage
- public PreciseDataConnectionState(@TelephonyManager.DataState int state,
- @TelephonyManager.NetworkType int networkType,
- @ApnSetting.ApnType int apnTypes, String apn,
+ public PreciseDataConnectionState(@DataState int state,
+ @NetworkType int networkType,
+ @ApnType int apnTypes, String apn,
LinkProperties linkProperties,
- @DataFailCause.FailCause int failCause) {
+ @DataFailureCause int failCause) {
mState = state;
mNetworkType = networkType;
mAPNTypes = apnTypes;
@@ -99,7 +103,7 @@ public final class PreciseDataConnectionState implements Parcelable {
* Returns the state of data connection that supported the apn types returned by
* {@link #getDataConnectionApnTypeBitMask()}
*/
- public @TelephonyManager.DataState int getDataConnectionState() {
+ public @DataState int getDataConnectionState() {
return mState;
}
@@ -107,7 +111,7 @@ public final class PreciseDataConnectionState implements Parcelable {
* Returns the network type associated with this data connection.
* @hide
*/
- public @TelephonyManager.NetworkType int getDataConnectionNetworkType() {
+ public @NetworkType int getDataConnectionNetworkType() {
return mNetworkType;
}
@@ -115,7 +119,7 @@ public final class PreciseDataConnectionState implements Parcelable {
* Returns the data connection APN types supported by this connection and triggers
* {@link PreciseDataConnectionState} change.
*/
- public @ApnSetting.ApnType int getDataConnectionApnTypeBitMask() {
+ public @ApnType int getDataConnectionApnTypeBitMask() {
return mAPNTypes;
}
@@ -139,7 +143,7 @@ public final class PreciseDataConnectionState implements Parcelable {
/**
* Returns data connection fail cause, in case there was a failure.
*/
- public @DataFailCause.FailCause int getDataConnectionFailCause() {
+ public @Annotation.DataFailureCause int getDataConnectionFailCause() {
return mFailCause;
}
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index a985a6bd0787..c57512973c3d 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -29,6 +29,7 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
import android.telephony.AccessNetworkConstants.TransportType;
+import android.telephony.Annotation.NetworkType;
import android.telephony.NetworkRegistrationInfo.Domain;
import android.telephony.NetworkRegistrationInfo.NRState;
import android.text.TextUtils;
@@ -1617,7 +1618,7 @@ public class ServiceState implements Parcelable {
* @hide
*/
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
- public @TelephonyManager.NetworkType int getDataNetworkType() {
+ public @NetworkType int getDataNetworkType() {
final NetworkRegistrationInfo iwlanRegInfo = getNetworkRegistrationInfo(
NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN);
final NetworkRegistrationInfo wwanRegInfo = getNetworkRegistrationInfo(
@@ -1644,7 +1645,7 @@ public class ServiceState implements Parcelable {
/** @hide */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
- public @TelephonyManager.NetworkType int getVoiceNetworkType() {
+ public @NetworkType int getVoiceNetworkType() {
final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
if (regState != null) {
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 2d39c85af777..f27796e08ab2 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -54,6 +54,7 @@ import android.os.ParcelUuid;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
+import android.telephony.Annotation.NetworkType;
import android.telephony.euicc.EuiccManager;
import android.telephony.ims.ImsMmTelManager;
import android.util.DisplayMetrics;
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 72e5901bcae8..2c26f1625d67 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -63,6 +63,12 @@ import android.telecom.InCallService;
import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
+import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.CallState;
+import android.telephony.Annotation.DataState;
+import android.telephony.Annotation.NetworkType;
+import android.telephony.Annotation.RadioPowerState;
+import android.telephony.Annotation.SimActivationState;
import android.telephony.VisualVoicemailService.VisualVoicemailTask;
import android.telephony.data.ApnSetting;
import android.telephony.emergency.EmergencyNumber;
@@ -254,17 +260,6 @@ public class TelephonyManager {
*/
public static final int UNINITIALIZED_CARD_ID = -2;
- /** @hide */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(prefix = {"SRVCC_STATE_"},
- value = {
- SRVCC_STATE_HANDOVER_NONE,
- SRVCC_STATE_HANDOVER_STARTED,
- SRVCC_STATE_HANDOVER_COMPLETED,
- SRVCC_STATE_HANDOVER_FAILED,
- SRVCC_STATE_HANDOVER_CANCELED})
- public @interface SrvccState {}
-
private final Context mContext;
private final int mSubId;
@UnsupportedAppUsage
@@ -2588,33 +2583,6 @@ public class TelephonyManager {
/** Max network type number. Update as new types are added. Don't add negative types. {@hide} */
public static final int MAX_NETWORK_TYPE = NETWORK_TYPE_NR;
- /** @hide */
- @IntDef({
- NETWORK_TYPE_UNKNOWN,
- NETWORK_TYPE_GPRS,
- NETWORK_TYPE_EDGE,
- NETWORK_TYPE_UMTS,
- NETWORK_TYPE_CDMA,
- NETWORK_TYPE_EVDO_0,
- NETWORK_TYPE_EVDO_A,
- NETWORK_TYPE_1xRTT,
- NETWORK_TYPE_HSDPA,
- NETWORK_TYPE_HSUPA,
- NETWORK_TYPE_HSPA,
- NETWORK_TYPE_IDEN,
- NETWORK_TYPE_EVDO_B,
- NETWORK_TYPE_LTE,
- NETWORK_TYPE_EHRPD,
- NETWORK_TYPE_HSPAP,
- NETWORK_TYPE_GSM,
- NETWORK_TYPE_TD_SCDMA,
- NETWORK_TYPE_IWLAN,
- NETWORK_TYPE_LTE_CA,
- NETWORK_TYPE_NR,
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface NetworkType{}
-
/**
* Return the current data network type.
*
@@ -4612,17 +4580,6 @@ public class TelephonyManager {
@SystemApi
public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4;
- /** @hide */
- @IntDef({
- SIM_ACTIVATION_STATE_UNKNOWN,
- SIM_ACTIVATION_STATE_ACTIVATING,
- SIM_ACTIVATION_STATE_ACTIVATED,
- SIM_ACTIVATION_STATE_DEACTIVATED,
- SIM_ACTIVATION_STATE_RESTRICTED
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface SimActivationState{}
-
/**
* Sets the voice activation state
*
@@ -5007,15 +4964,6 @@ public class TelephonyManager {
*/
public static final int CALL_STATE_OFFHOOK = 2;
- /** @hide */
- @IntDef(prefix = { "CALL_STATE_" }, value = {
- CALL_STATE_IDLE,
- CALL_STATE_RINGING,
- CALL_STATE_OFFHOOK
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface CallState{}
-
/**
* Returns the state of all calls on the device.
* <p>
@@ -8358,15 +8306,6 @@ public class TelephonyManager {
return false;
}
- /** @hide */
- @Retention(RetentionPolicy.SOURCE)
- @IntDef(prefix = {"RADIO_POWER_"},
- value = {RADIO_POWER_OFF,
- RADIO_POWER_ON,
- RADIO_POWER_UNAVAILABLE,
- })
- public @interface RadioPowerState {}
-
/**
* Radio explicitly powered off (e.g, airplane mode).
* @hide
@@ -11513,7 +11452,7 @@ public class TelephonyManager {
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
- public boolean isDataEnabledForApn(@ApnSetting.ApnType int apnType) {
+ public boolean isDataEnabledForApn(@ApnType int apnType) {
String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>";
try {
ITelephony service = getITelephony();
@@ -11534,7 +11473,7 @@ public class TelephonyManager {
*
* @hide
*/
- public boolean isApnMetered(@ApnSetting.ApnType int apnType) {
+ public boolean isApnMetered(@ApnType int apnType) {
try {
ITelephony service = getITelephony();
if (service != null) {
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index e65e032c0cd4..a5d62669de05 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -26,6 +26,8 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.provider.Telephony;
import android.provider.Telephony.Carriers;
+import android.telephony.Annotation.ApnType;
+import android.telephony.Annotation.NetworkType;
import android.telephony.Rlog;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
@@ -109,23 +111,6 @@ public class ApnSetting implements Parcelable {
/** APN type for MCX (Mission Critical Service) where X can be PTT/Video/Data */
public static final int TYPE_MCX = ApnTypes.MCX;
- /** @hide */
- @IntDef(flag = true, prefix = { "TYPE_" }, value = {
- TYPE_DEFAULT,
- TYPE_MMS,
- TYPE_SUPL,
- TYPE_DUN,
- TYPE_HIPRI,
- TYPE_FOTA,
- TYPE_IMS,
- TYPE_CBS,
- TYPE_IA,
- TYPE_EMERGENCY,
- TYPE_MCX
- })
- @Retention(RetentionPolicy.SOURCE)
- public @interface ApnType {}
-
// Possible values for authentication types.
/** No authentication type. */
public static final int AUTH_TYPE_NONE = 0;
@@ -1430,7 +1415,7 @@ public class ApnSetting implements Parcelable {
*
* @hide
*/
- public boolean canSupportNetworkType(@TelephonyManager.NetworkType int networkType) {
+ public boolean canSupportNetworkType(@NetworkType int networkType) {
// Do a special checking for GSM. In reality, GSM is a voice only network type and can never
// be used for data. We allow it here because in some DSDS corner cases, on the non-DDS
// sub, modem reports data rat unknown. In that case if voice is GSM and this APN supports
diff --git a/telephony/java/android/telephony/data/DataCallResponse.java b/telephony/java/android/telephony/data/DataCallResponse.java
index 9170e88ce832..49625bbecf4f 100644
--- a/telephony/java/android/telephony/data/DataCallResponse.java
+++ b/telephony/java/android/telephony/data/DataCallResponse.java
@@ -24,8 +24,8 @@ import android.annotation.SystemApi;
import android.net.LinkAddress;
import android.os.Parcel;
import android.os.Parcelable;
+import android.telephony.Annotation.DataFailureCause;
import android.telephony.DataFailCause;
-import android.telephony.DataFailCause.FailCause;
import android.telephony.data.ApnSetting.ProtocolType;
import com.android.internal.annotations.VisibleForTesting;
@@ -67,7 +67,7 @@ public final class DataCallResponse implements Parcelable {
/** Indicates the data connection is active with physical link up. */
public static final int LINK_STATUS_ACTIVE = 2;
- private final @FailCause int mCause;
+ private final @DataFailureCause int mCause;
private final int mSuggestedRetryTime;
private final int mId;
private final @LinkStatus int mLinkStatus;
@@ -103,7 +103,7 @@ public final class DataCallResponse implements Parcelable {
*
* @removed Use the {@link Builder()} instead.
*/
- public DataCallResponse(@FailCause int cause, int suggestedRetryTime, int id,
+ public DataCallResponse(@DataFailureCause int cause, int suggestedRetryTime, int id,
@LinkStatus int linkStatus,
@ProtocolType int protocolType, @Nullable String interfaceName,
@Nullable List<LinkAddress> addresses,
@@ -150,7 +150,7 @@ public final class DataCallResponse implements Parcelable {
/**
* @return Data call fail cause. {@link DataFailCause#NONE} indicates no error.
*/
- @FailCause
+ @DataFailureCause
public int getCause() { return mCause; }
/**
@@ -314,7 +314,7 @@ public final class DataCallResponse implements Parcelable {
* </code></pre>
*/
public static final class Builder {
- private @FailCause int mCause;
+ private @DataFailureCause int mCause;
private int mSuggestedRetryTime;
@@ -348,7 +348,7 @@ public final class DataCallResponse implements Parcelable {
* @param cause Data call fail cause. {@link DataFailCause#NONE} indicates no error.
* @return The same instance of the builder.
*/
- public @NonNull Builder setCause(@FailCause int cause) {
+ public @NonNull Builder setCause(@DataFailureCause int cause) {
mCause = cause;
return this;
}
diff --git a/telephony/java/android/telephony/data/DataProfile.java b/telephony/java/android/telephony/data/DataProfile.java
index 0d79ec98fcbb..30c209b28a4d 100644
--- a/telephony/java/android/telephony/data/DataProfile.java
+++ b/telephony/java/android/telephony/data/DataProfile.java
@@ -25,8 +25,8 @@ import android.annotation.SystemApi;
import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
+import android.telephony.Annotation.ApnType;
import android.telephony.TelephonyManager.NetworkTypeBitMask;
-import android.telephony.data.ApnSetting.ApnType;
import android.telephony.data.ApnSetting.AuthType;
import android.text.TextUtils;
diff --git a/telephony/java/android/telephony/data/QualifiedNetworksService.java b/telephony/java/android/telephony/data/QualifiedNetworksService.java
index 0e1751d50949..e793979a61c9 100644
--- a/telephony/java/android/telephony/data/QualifiedNetworksService.java
+++ b/telephony/java/android/telephony/data/QualifiedNetworksService.java
@@ -27,8 +27,8 @@ import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.telephony.AccessNetworkConstants.AccessNetworkType;
+import android.telephony.Annotation.ApnType;
import android.telephony.Rlog;
-import android.telephony.data.ApnSetting.ApnType;
import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
@@ -133,7 +133,7 @@ public abstract class QualifiedNetworksService extends Service {
* service.
*
* @param apnTypes APN types of the qualified networks. This must be a bitmask combination
- * of {@link ApnSetting.ApnType}.
+ * of {@link ApnType}.
* @param qualifiedNetworkTypes List of network types which are qualified for data
* connection setup for {@link @apnType} in the preferred order. Each element in the list
* is a {@link AccessNetworkType}. An empty list indicates no networks are qualified
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 77e02df105c8..0d2e8166994c 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -38,6 +38,7 @@ import android.net.DhcpInfo;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
+import android.net.NetworkStack;
import android.net.wifi.hotspot2.IProvisioningCallback;
import android.net.wifi.hotspot2.OsuProvider;
import android.net.wifi.hotspot2.PasspointConfiguration;
@@ -532,19 +533,25 @@ public class WifiManager {
@SystemApi
public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
/**
- * The interface used for the softap.
+ * The lookup key for a String extra that stores the interface name used for the Soft AP.
+ * This extra is included in the broadcast {@link #WIFI_AP_STATE_CHANGED_ACTION}.
+ * Retrieve its value with {@link android.content.Intent#getStringExtra(String)}.
*
* @hide
*/
- public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "wifi_ap_interface_name";
+ @SystemApi
+ public static final String EXTRA_WIFI_AP_INTERFACE_NAME =
+ "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
/**
- * The intended ip mode for this softap.
- * @see #IFACE_IP_MODE_TETHERED
- * @see #IFACE_IP_MODE_LOCAL_ONLY
+ * The lookup key for an int extra that stores the intended IP mode for this Soft AP.
+ * One of {@link #IFACE_IP_MODE_TETHERED} or {@link #IFACE_IP_MODE_LOCAL_ONLY}.
+ * This extra is included in the broadcast {@link #WIFI_AP_STATE_CHANGED_ACTION}.
+ * Retrieve its value with {@link android.content.Intent#getIntExtra(String, int)}.
*
* @hide
*/
- public static final String EXTRA_WIFI_AP_MODE = "wifi_ap_mode";
+ @SystemApi
+ public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
/** @hide */
@IntDef(flag = false, prefix = { "WIFI_AP_STATE_" }, value = {
@@ -634,40 +641,53 @@ public class WifiManager {
*/
public static final int SAP_START_FAILURE_NO_CHANNEL = 1;
+ /** @hide */
+ @Retention(RetentionPolicy.SOURCE)
+ @IntDef(prefix = {"IFACE_IP_MODE_"}, value = {
+ IFACE_IP_MODE_UNSPECIFIED,
+ IFACE_IP_MODE_CONFIGURATION_ERROR,
+ IFACE_IP_MODE_TETHERED,
+ IFACE_IP_MODE_LOCAL_ONLY})
+ public @interface IfaceIpMode {}
+
/**
* Interface IP mode unspecified.
*
- * @see updateInterfaceIpState(String, int)
+ * @see #updateInterfaceIpState(String, int)
*
* @hide
*/
+ @SystemApi
public static final int IFACE_IP_MODE_UNSPECIFIED = -1;
/**
* Interface IP mode for configuration error.
*
- * @see updateInterfaceIpState(String, int)
+ * @see #updateInterfaceIpState(String, int)
*
* @hide
*/
+ @SystemApi
public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0;
/**
* Interface IP mode for tethering.
*
- * @see updateInterfaceIpState(String, int)
+ * @see #updateInterfaceIpState(String, int)
*
* @hide
*/
+ @SystemApi
public static final int IFACE_IP_MODE_TETHERED = 1;
/**
* Interface IP mode for Local Only Hotspot.
*
- * @see updateInterfaceIpState(String, int)
+ * @see #updateInterfaceIpState(String, int)
*
* @hide
*/
+ @SystemApi
public static final int IFACE_IP_MODE_LOCAL_ONLY = 2;
/**
@@ -2538,16 +2558,21 @@ public class WifiManager {
/**
* Call allowing ConnectivityService to update WifiService with interface mode changes.
*
- * The possible modes include: {@link IFACE_IP_MODE_TETHERED},
- * {@link IFACE_IP_MODE_LOCAL_ONLY},
- * {@link IFACE_IP_MODE_CONFIGURATION_ERROR}
- *
- * @param ifaceName String name of the updated interface
- * @param mode int representing the new mode
+ * @param ifaceName String name of the updated interface, or null to represent all interfaces
+ * @param mode int representing the new mode, one of:
+ * {@link #IFACE_IP_MODE_TETHERED},
+ * {@link #IFACE_IP_MODE_LOCAL_ONLY},
+ * {@link #IFACE_IP_MODE_CONFIGURATION_ERROR},
+ * {@link #IFACE_IP_MODE_UNSPECIFIED}
*
* @hide
*/
- public void updateInterfaceIpState(String ifaceName, int mode) {
+ @SystemApi
+ @RequiresPermission(anyOf = {
+ android.Manifest.permission.NETWORK_STACK,
+ NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK
+ })
+ public void updateInterfaceIpState(@Nullable String ifaceName, @IfaceIpMode int mode) {
try {
mService.updateInterfaceIpState(ifaceName, mode);
} catch (RemoteException e) {
@@ -2556,15 +2581,21 @@ public class WifiManager {
}
/**
- * Start SoftAp mode with the specified configuration.
- * Note that starting in access point mode disables station
- * mode operation
- * @param wifiConfig SSID, security and channel details as
- * part of WifiConfiguration
- * @return {@code true} if the operation succeeds, {@code false} otherwise
+ * Start Soft AP (hotspot) mode with the specified configuration.
+ * Note that starting Soft AP mode may disable station mode operation if the device does not
+ * support concurrency.
+ * @param wifiConfig SSID, security and channel details as part of WifiConfiguration, or null to
+ * use the persisted Soft AP configuration that was previously set using
+ * {@link #setWifiApConfiguration(WifiConfiguration)}.
+ * @return {@code true} if the operation succeeded, {@code false} otherwise
*
* @hide
*/
+ @SystemApi
+ @RequiresPermission(anyOf = {
+ android.Manifest.permission.NETWORK_STACK,
+ NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK
+ })
public boolean startSoftAp(@Nullable WifiConfiguration wifiConfig) {
try {
return mService.startSoftAp(wifiConfig);
@@ -2580,6 +2611,11 @@ public class WifiManager {
*
* @hide
*/
+ @SystemApi
+ @RequiresPermission(anyOf = {
+ android.Manifest.permission.NETWORK_STACK,
+ NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK
+ })
public boolean stopSoftAp() {
try {
return mService.stopSoftAp();
diff --git a/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java b/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
index e59516485112..8f3635fd2f04 100644
--- a/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
+++ b/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
@@ -20,8 +20,8 @@ import android.annotation.IntDef;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
-import android.telephony.TelephonyManager.NetworkType;
+import android.telephony.Annotation.NetworkType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;