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

Commit f2da40ad authored by Calvin Pan's avatar Calvin Pan Committed by Gerrit Code Review
Browse files

Merge changes from topic "DEFAULT_PREFERRED_NETWORK_MODE"

* changes:
  Make DEFAULT_PREFERRED_NETWORK_MODE @hide for now
  Add new system API constant DEFAULT_PREFERRED_NETWORK_MODE
  Remove usage of Telephonymanager getDefault() hidden API
  SettingsProvider: use sysprop as API for telephony
parents ec6cf543 a6a48580
Loading
Loading
Loading
Loading
+19 −20
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings.Global;
import android.provider.Settings.Secure;
import android.sysprop.TelephonyProperties;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
@@ -2496,9 +2497,7 @@ class DatabaseHelper extends SQLiteOpenHelper {

            // Data roaming default, based on build
            loadSetting(stmt, Settings.Global.DATA_ROAMING,
                    "true".equalsIgnoreCase(
                            SystemProperties.get("ro.com.android.dataroaming",
                                    "false")) ? 1 : 0);
                    TelephonyProperties.data_roaming().orElse(false) ? 1 : 0);

            loadBooleanSetting(stmt, Settings.Global.DEVICE_PROVISIONED,
                    R.bool.def_device_provisioned);
@@ -2519,9 +2518,7 @@ class DatabaseHelper extends SQLiteOpenHelper {

            // Mobile Data default, based on build
            loadSetting(stmt, Settings.Global.MOBILE_DATA,
                    "true".equalsIgnoreCase(
                            SystemProperties.get("ro.com.android.mobiledata",
                                    "true")) ? 1 : 0);
                    TelephonyProperties.mobile_data().orElse(true) ? 1 : 0);

            loadBooleanSetting(stmt, Settings.Global.NETSTATS_ENABLED,
                    R.bool.def_netstats_enabled);
@@ -2575,20 +2572,22 @@ class DatabaseHelper extends SQLiteOpenHelper {

            // Set the preferred network mode to target desired value or Default
            // value defined in system property
            String val = "";
            String mode;
            for (int phoneId = 0;
                    phoneId < getTelephonyManager().getPhoneCount(); phoneId++) {
                mode = TelephonyManager.getTelephonyProperty(phoneId,
                        "ro.telephony.default_network",
                        Integer.toString(RILConstants.PREFERRED_NETWORK_MODE));
                if (phoneId == 0) {
                    val = mode;
                } else {
                    val = val + "," + mode;
                }
            }
            loadSetting(stmt, Settings.Global.PREFERRED_NETWORK_MODE, val);
            StringBuilder val = new StringBuilder();
            List<Integer> defaultNetworks = TelephonyProperties.default_network();
            int phoneCount = 1;
            TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
            if (telephonyManager != null) {
                phoneCount = telephonyManager.getSupportedModemCount();
            }
            for (int phoneId = 0; phoneId < phoneCount; phoneId++) {
                int mode = defaultNetworks.size() <= phoneId
                        || defaultNetworks.get(phoneId) == null
                        ? TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE
                        : defaultNetworks.get(phoneId);
                if (phoneId > 0) val.append(',');
                val.append(mode);
            }
            loadSetting(stmt, Settings.Global.PREFERRED_NETWORK_MODE, val.toString());

            // Set the preferred cdma subscription source to target desired value or default
            // value defined in Phone
+11 −0
Original line number Diff line number Diff line
@@ -7610,6 +7610,17 @@ public class TelephonyManager {
    public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA =
            RILConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;

    /**
     * The default preferred network mode constant.
     *
     * <p> This constant is used in case of nothing is set in
     * TelephonyProperties#default_network().
     *
     * @hide
     */
    public static final int DEFAULT_PREFERRED_NETWORK_MODE =
            RILConstants.PREFERRED_NETWORK_MODE;

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