Merge "Revert "Revert "Fix permission on TM#isDataEnabled""" am: 2b79ba7f42 am: 47e1305bd6

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1543459

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5fb6ff5923d029b367c754759f7b7deca7a63dfe
This commit is contained in:
Nathan Harold
2021-01-21 19:31:21 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 4 deletions

View File

@@ -41289,7 +41289,7 @@ package android.telephony {
method @Deprecated public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
method public boolean isConcurrentVoiceAndDataSupported();
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isDataConnectionAllowed();
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean isDataEnabled();
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabled();
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledForReason(int);
method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
method public boolean isEmergencyNumber(@NonNull String);

View File

@@ -9462,9 +9462,16 @@ public class TelephonyManager {
* @return true if mobile data is enabled.
*/
@RequiresPermission(anyOf = {android.Manifest.permission.ACCESS_NETWORK_STATE,
android.Manifest.permission.MODIFY_PHONE_STATE})
android.Manifest.permission.MODIFY_PHONE_STATE,
android.Manifest.permission.READ_PHONE_STATE})
public boolean isDataEnabled() {
return getDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
try {
return isDataEnabledForReason(DATA_ENABLED_REASON_USER);
} catch (IllegalStateException ise) {
// TODO(b/176163590): Remove this catch once TelephonyManager is booting safely.
Log.e(TAG, "Error calling #isDataEnabled, returning default (false).", ise);
return false;
}
}
/**
@@ -9709,7 +9716,7 @@ public class TelephonyManager {
@SystemApi
public boolean getDataEnabled(int subId) {
try {
return isDataEnabledForReason(DATA_ENABLED_REASON_USER);
return isDataEnabledForReason(subId, DATA_ENABLED_REASON_USER);
} catch (RuntimeException e) {
Log.e(TAG, "Error calling isDataEnabledForReason e:" + e);
}