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

Commit 0b9a12c2 authored by Jack Yu's avatar Jack Yu
Browse files

Removed permission check

Removed permission check for getNetworkCountryIso and made it public.
This API was added since the first version of Android. Removed the
permission check for backward compatibility reason.

Test: Telephony sanity tests
Bug: 149872821
Change-Id: I68833fdf6f078d69bc8c2e5f01cf4e058d6d7093
parent 3f9ddc30
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -48147,6 +48147,7 @@ package android.telephony {
    method public String getMmsUserAgent();
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getNai();
    method public String getNetworkCountryIso();
    method @NonNull public String getNetworkCountryIso(int);
    method public String getNetworkOperator();
    method public String getNetworkOperatorName();
    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public int getNetworkSelectionMode();
+0 −1
Original line number Diff line number Diff line
@@ -11738,7 +11738,6 @@ package android.telephony {
    method public int getMaxNumberOfSimultaneouslyActiveSims();
    method public static long getMaxNumberVerificationTimeoutMillis();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getNetworkCountryIso(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
    method public int getSimApplicationState();
+0 −1
Original line number Diff line number Diff line
@@ -3753,7 +3753,6 @@ package android.telephony {
    method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context);
    method public int getEmergencyNumberDbVersion();
    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 public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();
    method public boolean modifyDevicePolicyOverrideApn(@NonNull android.content.Context, int, @NonNull android.telephony.data.ApnSetting);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile();
+9 −30
Original line number Diff line number Diff line
@@ -2788,39 +2788,22 @@ public class TelephonyManager {
    /**
     * Returns the ISO-3166 country code equivalent of the MCC (Mobile Country Code) of the current
     * registered operator or the cell nearby, if available.
     * <p>
     * The ISO-3166 country code is provided in lowercase 2 character format.
     * <p>
     * Note: In multi-sim, this returns a shared emergency network country iso from other
     * subscription if the subscription used to create the TelephonyManager doesn't camp on
     * a network due to some reason (e.g. pin/puk locked), or sim is absent in the corresponding
     * slot.
     *
     * Note: Result may be unreliable on CDMA networks (use {@link #getPhoneType()} to determine
     * if on a CDMA network).
     * <p>
     * @return the lowercase 2 character ISO-3166 country code, or empty string if not available.
     */
    public String getNetworkCountryIso() {
        try {
            ITelephony telephony = getITelephony();
            if (telephony == null) return "";
            return telephony.getNetworkCountryIsoForPhone(getPhoneId(),
                    null /* no permission check */, null);
        } catch (RemoteException ex) {
            return "";
        }
        return getNetworkCountryIso(getSlotIndex());
    }

    /**
     * Returns the ISO-3166 country code equivalent of the MCC (Mobile Country Code) of the current
     * registered operator or the cell nearby, if available.
     * <p>
     * The ISO-3166 country code is provided in lowercase 2 character format.
     * <p>
     * Note: In multi-sim, this returns a shared emergency network country iso from other
     * subscription if the subscription used to create the TelephonyManager doesn't camp on
     * a network due to some reason (e.g. pin/puk locked), or sim is absent in the corresponding
     * slot.
     * registered operator or the cell nearby, if available. This is same as
     * {@link #getNetworkCountryIso()} but allowing specifying the SIM slot index. This is used for
     * accessing network country info from the SIM slot that does not have SIM inserted.
     *
     * Note: Result may be unreliable on CDMA networks (use {@link #getPhoneType()} to determine
     * if on a CDMA network).
     * <p>
@@ -2831,22 +2814,18 @@ public class TelephonyManager {
     *
     * @throws IllegalArgumentException when the slotIndex is invalid.
     *
     * {@hide}
     */
    @SystemApi
    @TestApi
    @NonNull
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public String getNetworkCountryIso(int slotIndex) {
        try {
            if (!SubscriptionManager.isValidSlotIndex(slotIndex)) {
            if (slotIndex != SubscriptionManager.DEFAULT_SIM_SLOT_INDEX
                    && !SubscriptionManager.isValidSlotIndex(slotIndex)) {
                throw new IllegalArgumentException("invalid slot index " + slotIndex);
            }

            ITelephony telephony = getITelephony();
            if (telephony == null) return "";
            return telephony.getNetworkCountryIsoForPhone(slotIndex, getOpPackageName(),
                    getFeatureId());
            return telephony.getNetworkCountryIsoForPhone(slotIndex);
        } catch (RemoteException ex) {
            return "";
        }
+1 −1
Original line number Diff line number Diff line
@@ -281,7 +281,7 @@ interface ITelephony {
     * operator's MCC (Mobile Country Code).
     * @see android.telephony.TelephonyManager#getNetworkCountryIso
     */
    String getNetworkCountryIsoForPhone(int phoneId, String callingPkg, String callingFeatureId);
    String getNetworkCountryIsoForPhone(int phoneId);

    /**
     * Returns the neighboring cell information of the device.