Merge "API Council Feedbacks"

This commit is contained in:
Shuo Qian
2020-03-11 19:24:35 +00:00
committed by Gerrit Code Review
8 changed files with 107 additions and 76 deletions

View File

@@ -5983,13 +5983,15 @@ package android.os {
field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS"; field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS"; field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS"; field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; field @RequiresPermission("android.permission.UPDATE_CONFIG") public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL"; field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID"; field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST"; field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS"; field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION"; field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES"; field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
} }
public class Environment { public class Environment {
@@ -9362,7 +9364,7 @@ package android.telephony {
method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context); method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context);
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDeviceSoftwareVersion(int); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDeviceSoftwareVersion(int);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
method public int getEmergencyNumberDbVersion(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getIsimImpu(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getIsimImpu();
method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
@@ -9392,7 +9394,7 @@ package android.telephony {
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
method public boolean isCurrentSimOperator(@NonNull String, int, @Nullable String); method public boolean isCurrentSimOperator(@NonNull String, int, @Nullable String);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataAllowedInVoiceCall(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataAllowedInVoiceCall();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataConnectionAllowed();
method public boolean isDataConnectivityPossible(); method public boolean isDataConnectivityPossible();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();

View File

@@ -3244,7 +3244,7 @@ package android.telephony {
method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent); method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean); method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean);
method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context); method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context);
method public int getEmergencyNumberDbVersion(); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getEmergencyNumberDbVersion();
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag();
method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getNetworkCountryIso(int); method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getNetworkCountryIso(int);
method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion(); method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();

View File

@@ -16,6 +16,7 @@
package android.os; package android.os;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi; import android.annotation.SystemApi;
/** /**
@@ -114,20 +115,36 @@ public final class ConfigUpdate {
= "android.os.action.UPDATE_CARRIER_ID_DB"; = "android.os.action.UPDATE_CARRIER_ID_DB";
/** /**
* Broadcast intent action indicating that the updated emergency number database is available. * Update the emergency number database into the devices.
* <p>Extra: "VERSION" the numeric version of the new data. Devices should only install if the * <p>Extra: {@link #EXTRA_VERSION} the numeric version of the database.
* update version is newer than the current one. * <p>Extra: {@link #EXTRA_REQUIRED_HASH} the hash of the database.
* <p>Extra: "REQUIRED_HASH" the hash of the current update data. * <p>Input: {@link android.content.Intent#getData} the URI to download emergency number
* <p>Input: {@link android.content.Intent#getData} is URI of downloaded emergency number file. * database.
* Devices should pick up the downloaded file and persist to the database
* {@code com.android.internal.telephony.emergency.EmergencyNumberTracker}.
* *
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresPermission(android.Manifest.permission.UPDATE_CONFIG)
public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB =
"android.os.action.UPDATE_EMERGENCY_NUMBER_DB"; "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
/**
* An integer to indicate the numeric version of the new data. Devices should only install
* if the update version is newer than the current one.
*
* @hide
*/
@SystemApi
public static final String EXTRA_VERSION = "android.os.extra.VERSION";
/**
* A string to indicate the hash of the data.
*
* @hide
*/
@SystemApi
public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
private ConfigUpdate() { private ConfigUpdate() {
} }
} }

View File

@@ -577,7 +577,7 @@ public class MobileSignalController extends SignalController<
} }
boolean isDataDisabled() { boolean isDataDisabled() {
return !mPhone.isDataConnectionEnabled(); return !mPhone.isDataConnectionAllowed();
} }
@VisibleForTesting @VisibleForTesting

View File

@@ -176,7 +176,7 @@ public class NetworkControllerBaseTest extends SysuiTestCase {
protected void setupNetworkController() { protected void setupNetworkController() {
// For now just pretend to be the data sim, so we can test that too. // For now just pretend to be the data sim, so we can test that too.
mSubId = SubscriptionManager.DEFAULT_SUBSCRIPTION_ID; mSubId = SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
when(mMockTm.isDataConnectionEnabled()).thenReturn(true); when(mMockTm.isDataConnectionAllowed()).thenReturn(true);
setDefaultSubId(mSubId); setDefaultSubId(mSubId);
setSubscriptions(mSubId); setSubscriptions(mSubId);
mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId); mMobileSignalController = mNetworkController.mMobileSignalControllers.get(mSubId);

View File

@@ -119,7 +119,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test @Test
public void testNoInternetIcon_withDefaultSub() { public void testNoInternetIcon_withDefaultSub() {
setupNetworkController(); setupNetworkController();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false); when(mMockTm.isDataConnectionAllowed()).thenReturn(false);
setupDefaultSignal(); setupDefaultSignal();
updateDataConnectionState(TelephonyManager.DATA_CONNECTED, 0); updateDataConnectionState(TelephonyManager.DATA_CONNECTED, 0);
setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
@@ -133,7 +133,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test @Test
public void testDataDisabledIcon_withDefaultSub() { public void testDataDisabledIcon_withDefaultSub() {
setupNetworkController(); setupNetworkController();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false); when(mMockTm.isDataConnectionAllowed()).thenReturn(false);
setupDefaultSignal(); setupDefaultSignal();
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0); updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0);
setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
@@ -147,7 +147,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test @Test
public void testNonDefaultSIM_showsFullSignal_connected() { public void testNonDefaultSIM_showsFullSignal_connected() {
setupNetworkController(); setupNetworkController();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false); when(mMockTm.isDataConnectionAllowed()).thenReturn(false);
setupDefaultSignal(); setupDefaultSignal();
setDefaultSubId(mSubId + 1); setDefaultSubId(mSubId + 1);
updateDataConnectionState(TelephonyManager.DATA_CONNECTED, 0); updateDataConnectionState(TelephonyManager.DATA_CONNECTED, 0);
@@ -162,7 +162,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test @Test
public void testNonDefaultSIM_showsFullSignal_disconnected() { public void testNonDefaultSIM_showsFullSignal_disconnected() {
setupNetworkController(); setupNetworkController();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false); when(mMockTm.isDataConnectionAllowed()).thenReturn(false);
setupDefaultSignal(); setupDefaultSignal();
setDefaultSubId(mSubId + 1); setDefaultSubId(mSubId + 1);
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0); updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0);
@@ -177,7 +177,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test @Test
public void testDataDisabledIcon_UserNotSetup() { public void testDataDisabledIcon_UserNotSetup() {
setupNetworkController(); setupNetworkController();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false); when(mMockTm.isDataConnectionAllowed()).thenReturn(false);
setupDefaultSignal(); setupDefaultSignal();
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0); updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, 0);
setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false); setConnectivityViaBroadcast(NetworkCapabilities.TRANSPORT_CELLULAR, false, false);
@@ -192,7 +192,7 @@ public class NetworkControllerDataTest extends NetworkControllerBaseTest {
@Test @Test
public void testAlwaysShowDataRatIcon() { public void testAlwaysShowDataRatIcon() {
setupDefaultSignal(); setupDefaultSignal();
when(mMockTm.isDataConnectionEnabled()).thenReturn(false); when(mMockTm.isDataConnectionAllowed()).thenReturn(false);
updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED, updateDataConnectionState(TelephonyManager.DATA_DISCONNECTED,
TelephonyManager.NETWORK_TYPE_GSM); TelephonyManager.NETWORK_TYPE_GSM);

View File

@@ -2362,17 +2362,16 @@ public class CarrierConfigManager {
* <p> If a measure is not set, signal criteria reporting from modem will not be triggered and * <p> If a measure is not set, signal criteria reporting from modem will not be triggered and
* not be used for calculating signal level. If multiple measures are set bit, the parameter * not be used for calculating signal level. If multiple measures are set bit, the parameter
* whose value is smallest is used to indicate the signal level. * whose value is smallest is used to indicate the signal level.
* <UL>
* <LI>RSRP = 1 << 0</LI>
* <LI>RSRQ = 1 << 1</LI>
* <LI>RSSNR = 1 << 2</LI>
* </UL>
* <p> The value of this key must be bitwise OR of {@link CellSignalStrengthLte#USE_RSRP},
* {@link CellSignalStrengthLte#USE_RSRQ}, {@link CellSignalStrengthLte#USE_RSSNR}.
* *
* RSRP = 1 << 0, * <p> For example, if both RSRP and RSRQ are used, the value of key is 3 (1 << 0 | 1 << 1).
* RSRQ = 1 << 1, * If the key is invalid or not configured, a default value (RSRP = 1 << 0) will apply.
* RSSNR = 1 << 2,
*
* The value of this key must be bitwise OR of {@link CellSignalStrengthLte#USE_RSRP},
* {@link CellSignalStrengthLte#USE_RSRQ}, {@link CellSignalStrengthLte#USE_RSSNR}.
*
* For example, if both RSRP and RSRQ are used, the value of key is 3 (1 << 0 | 1 << 1).
* If the key is invalid or not configured, a default value (RSRP = 1 << 0)
* will apply.
* *
* @hide * @hide
*/ */
@@ -2381,16 +2380,18 @@ public class CarrierConfigManager {
/** /**
* List of 4 customized 5G SS reference signal received power (SSRSRP) thresholds. * List of 4 customized 5G SS reference signal received power (SSRSRP) thresholds.
* * <p>
* Reference: 3GPP TS 38.215 * Reference: 3GPP TS 38.215
* * <p>
* 4 threshold integers must be within the boundaries [-140 dB, -44 dB], and the levels are: * 4 threshold integers must be within the boundaries [-140 dB, -44 dB], and the levels are:
* "NONE: [-140, threshold1]" * <UL>
* "POOR: (threshold1, threshold2]" * <LI>"NONE: [-140, threshold1]"</LI>
* "MODERATE: (threshold2, threshold3]" * <LI>"POOR: (threshold1, threshold2]"</LI>
* "GOOD: (threshold3, threshold4]" * <LI>"MODERATE: (threshold2, threshold3]"</LI>
* "EXCELLENT: (threshold4, -44]" * <LI>"GOOD: (threshold3, threshold4]"</LI>
* * <LI>"EXCELLENT: (threshold4, -44]"</LI>
* </UL>
* <p>
* This key is considered invalid if the format is violated. If the key is invalid or * This key is considered invalid if the format is violated. If the key is invalid or
* not configured, a default value set will apply. * not configured, a default value set will apply.
*/ */
@@ -2399,16 +2400,18 @@ public class CarrierConfigManager {
/** /**
* List of 4 customized 5G SS reference signal received quality (SSRSRQ) thresholds. * List of 4 customized 5G SS reference signal received quality (SSRSRQ) thresholds.
* * <p>
* Reference: 3GPP TS 38.215 * Reference: 3GPP TS 38.215
* * <p>
* 4 threshold integers must be within the boundaries [-20 dB, -3 dB], and the levels are: * 4 threshold integers must be within the boundaries [-20 dB, -3 dB], and the levels are:
* "NONE: [-20, threshold1]" * <UL>
* "POOR: (threshold1, threshold2]" * <LI>"NONE: [-20, threshold1]"</LI>
* "MODERATE: (threshold2, threshold3]" * <LI>"POOR: (threshold1, threshold2]"</LI>
* "GOOD: (threshold3, threshold4]" * <LI>"MODERATE: (threshold2, threshold3]"</LI>
* "EXCELLENT: (threshold4, -3]" * <LI>"GOOD: (threshold3, threshold4]"</LI>
* * <LI>"EXCELLENT: (threshold4, -3]"</LI>
* </UL>
* <p>
* This key is considered invalid if the format is violated. If the key is invalid or * This key is considered invalid if the format is violated. If the key is invalid or
* not configured, a default value set will apply. * not configured, a default value set will apply.
*/ */
@@ -2417,17 +2420,19 @@ public class CarrierConfigManager {
/** /**
* List of 4 customized 5G SS signal-to-noise and interference ratio (SSSINR) thresholds. * List of 4 customized 5G SS signal-to-noise and interference ratio (SSSINR) thresholds.
* * <p>
* Reference: 3GPP TS 38.215, * Reference: 3GPP TS 38.215,
* 3GPP TS 38.133 10.1.16.1 * 3GPP TS 38.133 10.1.16.1
* * <p>
* 4 threshold integers must be within the boundaries [-23 dB, 40 dB], and the levels are: * 4 threshold integers must be within the boundaries [-23 dB, 40 dB], and the levels are:
* "NONE: [-23, threshold1]" * <UL>
* "POOR: (threshold1, threshold2]" * <LI>"NONE: [-23, threshold1]"</LI>
* "MODERATE: (threshold2, threshold3]" * <LI>"POOR: (threshold1, threshold2]"</LI>
* "GOOD: (threshold3, threshold4]" * <LI>"MODERATE: (threshold2, threshold3]"</LI>
* "EXCELLENT: (threshold4, 40]" * <LI>"GOOD: (threshold3, threshold4]"</LI>
* * <LI>"EXCELLENT: (threshold4, 40]"</LI>
* </UL>
* <p>
* This key is considered invalid if the format is violated. If the key is invalid or * This key is considered invalid if the format is violated. If the key is invalid or
* not configured, a default value set will apply. * not configured, a default value set will apply.
*/ */
@@ -2442,19 +2447,19 @@ public class CarrierConfigManager {
* <p> If a measure is not set, signal criteria reporting from modem will not be triggered and * <p> If a measure is not set, signal criteria reporting from modem will not be triggered and
* not be used for calculating signal level. If multiple measures are set bit, the parameter * not be used for calculating signal level. If multiple measures are set bit, the parameter
* whose value is smallest is used to indicate the signal level. * whose value is smallest is used to indicate the signal level.
* * <UL>
* SSRSRP = 1 << 0, * <LI>SSRSRP = 1 << 0</LI>
* SSRSRQ = 1 << 1, * <LI>SSRSRQ = 1 << 1</LI>
* SSSINR = 1 << 2, * <LI>SSSINR = 1 << 2</LI>
* * </UL>
* The value of this key must be bitwise OR of {@link CellSignalStrengthNr#USE_SSRSRP}, * The value of this key must be bitwise OR of {@link CellSignalStrengthNr#USE_SSRSRP},
* {@link CellSignalStrengthNr#USE_SSRSRQ}, {@link CellSignalStrengthNr#USE_SSSINR}. * {@link CellSignalStrengthNr#USE_SSRSRQ}, {@link CellSignalStrengthNr#USE_SSSINR}.
* *
* For example, if both SSRSRP and SSSINR are used, the value of key is 5 (1 << 0 | 1 << 2). * <p> For example, if both SSRSRP and SSSINR are used, the value of key is 5 (1 << 0 | 1 << 2).
* If the key is invalid or not configured, a default value (SSRSRP = 1 << 0) will apply. * If the key is invalid or not configured, a default value (SSRSRP = 1 << 0) will apply.
* *
* Reference: 3GPP TS 38.215, * <p> Reference: 3GPP TS 38.215,
* 3GPP TS 38.133 10.1.16.1 * 3GPP TS 38.133 10.1.16.1
* *
* @hide * @hide
*/ */

View File

@@ -8908,7 +8908,10 @@ public class TelephonyManager {
} }
/** /**
* Shut down all the live radios over all the slot index. * Shut down all the live radios over all the slot indexes.
*
* <p>To know when the radio has completed powering off, use
* {@link PhoneStateListener#LISTEN_SERVICE_STATE LISTEN_SERVICE_STATE}.
* *
* @hide * @hide
*/ */
@@ -8921,7 +8924,8 @@ public class TelephonyManager {
telephony.shutdownMobileRadios(); telephony.shutdownMobileRadios();
} }
} catch (RemoteException e) { } catch (RemoteException e) {
Log.e(TAG, "Error calling ITelephony#shutdownMobileRadios", e); Log.e(TAG, "Error calling ITelephony#shutdownAllRadios", e);
e.rethrowAsRuntimeException();
} }
} }
@@ -8940,7 +8944,8 @@ public class TelephonyManager {
return telephony.needMobileRadioShutdown(); return telephony.needMobileRadioShutdown();
} }
} catch (RemoteException e) { } catch (RemoteException e) {
Log.e(TAG, "Error calling ITelephony#needMobileRadioShutdown", e); Log.e(TAG, "Error calling ITelephony#isAnyRadioPoweredOn", e);
e.rethrowAsRuntimeException();
} }
return false; return false;
} }
@@ -11109,21 +11114,21 @@ public class TelephonyManager {
} }
/** /**
* Checks whether cellular data connection is enabled in the device. * Checks whether cellular data connection is allowed in the device.
* *
* Whether cellular data connection is enabled, meaning upon request whether will try to setup * <p>Whether cellular data connection is allowed considers all factors below:
* metered data connection considering all factors below: * <UL>
* 1) User turned on data setting {@link #isDataEnabled}. * <LI>User turned on data setting {@link #isDataEnabled}.</LI>
* 2) Carrier allows data to be on. * <LI>Carrier allows data to be on.</LI>
* 3) Network policy. * <LI>Network policy.</LI>
* And possibly others. * <LI>And possibly others.</LI>
* * </UL>
* @return {@code true} if the overall data connection is capable; {@code false} if not. * @return {@code true} if the overall data connection is allowed; {@code false} if not.
* @hide * @hide
*/ */
@SystemApi @SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isDataConnectionEnabled() { public boolean isDataConnectionAllowed() {
boolean retVal = false; boolean retVal = false;
try { try {
int subId = getSubId(SubscriptionManager.getDefaultDataSubscriptionId()); int subId = getSubId(SubscriptionManager.getDefaultDataSubscriptionId());
@@ -11131,8 +11136,9 @@ public class TelephonyManager {
if (telephony != null) if (telephony != null)
retVal = telephony.isDataEnabled(subId); retVal = telephony.isDataEnabled(subId);
} catch (RemoteException e) { } catch (RemoteException e) {
Log.e(TAG, "Error isDataConnectionEnabled", e); Log.e(TAG, "Error isDataConnectionAllowed", e);
} catch (NullPointerException e) { } catch (NullPointerException e) {
return false;
} }
return retVal; return retVal;
} }
@@ -11790,7 +11796,7 @@ public class TelephonyManager {
} }
/** /**
* A test API to return the emergency number db version. * Returns the emergency number database version.
* *
* <p>Requires Permission: * <p>Requires Permission:
* {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE} * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
@@ -11799,6 +11805,7 @@ public class TelephonyManager {
*/ */
@TestApi @TestApi
@SystemApi @SystemApi
@RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public int getEmergencyNumberDbVersion() { public int getEmergencyNumberDbVersion() {
try { try {
ITelephony telephony = getITelephony(); ITelephony telephony = getITelephony();