Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f7dc3f67 authored by Nathan Harold's avatar Nathan Harold
Browse files

Fix permission on TM#isDataEnabled

-Allow isDataEnabled() to be read with READ_PHONE_STATE
 This method just forwarded to another method in the public
 API that only requires READ_PHONE_STATE, so it's just a bug.

-Fix a bug where TM#getDataEnabled ws ignoring the subId parameter.

Bug: 148500541
Test: compilation
Change-Id: I30b125b50d261175a44183369e5f318d7ad37be9
parent bdb4677d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41761,7 +41761,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);
+4 −3
Original line number Diff line number Diff line
@@ -9338,9 +9338,10 @@ 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()));
        return isDataEnabledForReason(DATA_ENABLED_REASON_USER);
    }
    /**
@@ -9585,7 +9586,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);
        }