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

Commit 53b272d6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Redesign the setPreferredNetworkType"

parents d9328f6c d77e0bde
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -7181,6 +7181,7 @@ package android.provider {
  public static final class Telephony.SimInfo {
  public static final class Telephony.SimInfo {
    field public static final String ACCESS_RULES = "access_rules";
    field public static final String ACCESS_RULES = "access_rules";
    field public static final String ACCESS_RULES_FROM_CARRIER_CONFIGS = "access_rules_from_carrier_configs";
    field public static final String ACCESS_RULES_FROM_CARRIER_CONFIGS = "access_rules_from_carrier_configs";
    field public static final String ALLOWED_NETWORK_TYPES = "allowed_network_types";
    field public static final String CARD_ID = "card_id";
    field public static final String CARD_ID = "card_id";
    field public static final String CARRIER_ID = "carrier_id";
    field public static final String CARRIER_ID = "carrier_id";
    field public static final String CARRIER_NAME = "carrier_name";
    field public static final String CARRIER_NAME = "carrier_name";
@@ -9449,6 +9450,7 @@ package android.telephony {
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
    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 public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
@@ -9526,6 +9528,7 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
+6 −0
Original line number Original line Diff line number Diff line
@@ -5327,5 +5327,11 @@ public final class Telephony {


        /** Whether uicc applications is set to be enabled or disabled. By default it's enabled. */
        /** Whether uicc applications is set to be enabled or disabled. By default it's enabled. */
        public static final String UICC_APPLICATIONS_ENABLED = "uicc_applications_enabled";
        public static final String UICC_APPLICATIONS_ENABLED = "uicc_applications_enabled";

        /**
         * TelephonyProvider column name for allowed network types. Indicate which network types
         * are allowed. Default is -1.
         */
        public static final String ALLOWED_NETWORK_TYPES = "allowed_network_types";
    }
    }
}
}
+28 −1
Original line number Original line Diff line number Diff line
@@ -782,6 +782,12 @@ public class SubscriptionManager {
     */
     */
    public static final String UICC_APPLICATIONS_ENABLED = SimInfo.UICC_APPLICATIONS_ENABLED;
    public static final String UICC_APPLICATIONS_ENABLED = SimInfo.UICC_APPLICATIONS_ENABLED;


    /**
     * Indicate which network type is allowed. By default it's enabled.
     * @hide
     */
    public static final String ALLOWED_NETWORK_TYPES = SimInfo.ALLOWED_NETWORK_TYPES;

    /**
    /**
     * Broadcast Action: The user has changed one of the default subs related to
     * Broadcast Action: The user has changed one of the default subs related to
     * data, phone calls, or sms</p>
     * data, phone calls, or sms</p>
@@ -2293,7 +2299,28 @@ public class SubscriptionManager {
            try {
            try {
                return Integer.parseInt(result);
                return Integer.parseInt(result);
            } catch (NumberFormatException err) {
            } catch (NumberFormatException err) {
                logd("getBooleanSubscriptionProperty NumberFormat exception");
                logd("getIntegerSubscriptionProperty NumberFormat exception");
            }
        }
        return defValue;
    }

    /**
     * Returns long value corresponding to query result.
     * @param subId Subscription Id of Subscription
     * @param propKey Column name in SubscriptionInfo database
     * @param defValue Default long value to be returned
     * @return long result value to be returned
     * @hide
     */
    public static long getLongSubscriptionProperty(int subId, String propKey, long defValue,
                                                     Context context) {
        String result = getSubscriptionProperty(subId, propKey, context);
        if (result != null) {
            try {
                return Long.parseLong(result);
            } catch (NumberFormatException err) {
                logd("getLongSubscriptionProperty NumberFormat exception");
            }
            }
        }
        }
        return defValue;
        return defValue;
+53 −1
Original line number Original line Diff line number Diff line
@@ -7310,7 +7310,9 @@ public class TelephonyManager {
     *
     *
     * @return the preferred network type.
     * @return the preferred network type.
     * @hide
     * @hide
     * @deprecated Use {@link #getPreferredNetworkTypeBitmask} instead.
     */
     */
    @Deprecated
    @RequiresPermission((android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE))
    @RequiresPermission((android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE))
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    public @PrefNetworkMode int getPreferredNetworkType(int subId) {
    public @PrefNetworkMode int getPreferredNetworkType(int subId) {
@@ -7354,6 +7356,30 @@ public class TelephonyManager {
        return 0;
        return 0;
    }
    }


    /**
     * Get the allowed network types.
     *
     * <p>Requires Permission:
     * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
     * or that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
     *
     * @return the allowed network type bitmask
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    @SystemApi
    public @NetworkTypeBitMask long getAllowedNetworkTypes() {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.getAllowedNetworkTypes(getSubId());
            }
        } catch (RemoteException ex) {
            Rlog.e(TAG, "getAllowedNetworkTypes RemoteException", ex);
        }
        return -1;
    }

    /**
    /**
     * Sets the network selection mode to automatic.
     * Sets the network selection mode to automatic.
     *
     *
@@ -7609,7 +7635,9 @@ public class TelephonyManager {
     * @param networkType the preferred network type
     * @param networkType the preferred network type
     * @return true on success; false on any failure.
     * @return true on success; false on any failure.
     * @hide
     * @hide
     * @deprecated Use {@link #setPreferredNetworkTypeBitmask} instead.
     */
     */
    @Deprecated
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    public boolean setPreferredNetworkType(int subId, @PrefNetworkMode int networkType) {
    public boolean setPreferredNetworkType(int subId, @PrefNetworkMode int networkType) {
        try {
        try {
@@ -7624,7 +7652,8 @@ public class TelephonyManager {
    }
    }


    /**
    /**
     * Set the preferred network type bitmask.
     * Set the preferred network type bitmask but if {@link #setAllowedNetworkTypes} has been set,
     * only the allowed network type will set to the modem.
     *
     *
     * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
     * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
     * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultSubscriptionId()}
     * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultSubscriptionId()}
@@ -7653,6 +7682,29 @@ public class TelephonyManager {
        return false;
        return false;
    }
    }


    /**
     * Set the allowed network types of the device. This is for carrier or privileged apps to
     * enable/disable certain network types on the device. The user preferred network types should
     * be set through {@link #setPreferredNetworkTypeBitmask}.
     *
     * @param allowedNetworkTypes The bitmask of allowed network types.
     * @return true on success; false on any failure.
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    @SystemApi
    public boolean setAllowedNetworkTypes(@NetworkTypeBitMask long allowedNetworkTypes) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.setAllowedNetworkTypes(getSubId(), allowedNetworkTypes);
            }
        } catch (RemoteException ex) {
            Rlog.e(TAG, "setAllowedNetworkTypes RemoteException", ex);
        }
        return false;
    }

    /**
    /**
     * Set the preferred network type to global mode which includes LTE, CDMA, EvDo and GSM/WCDMA.
     * Set the preferred network type to global mode which includes LTE, CDMA, EvDo and GSM/WCDMA.
     *
     *
+17 −0
Original line number Original line Diff line number Diff line
@@ -926,6 +926,23 @@ interface ITelephony {
    boolean setNetworkSelectionModeManual(
    boolean setNetworkSelectionModeManual(
            int subId, in OperatorInfo operatorInfo, boolean persisSelection);
            int subId, in OperatorInfo operatorInfo, boolean persisSelection);


    /**
     * Get the allowed network types that store in the telephony provider.
     *
     * @param subId the id of the subscription.
     * @return allowedNetworkTypes the allowed network types.
     */
    long getAllowedNetworkTypes(int subId);

    /**
     * Set the allowed network types.
     *
     * @param subId the id of the subscription.
     * @param allowedNetworkTypes the allowed network types.
     * @return true on success; false on any failure.
     */
    boolean setAllowedNetworkTypes(int subId, long allowedNetworkTypes);

    /**
    /**
     * Set the preferred network type.
     * Set the preferred network type.
     * Used for device configuration by some CDMA operators.
     * Used for device configuration by some CDMA operators.