Fix network preference getting incorrectly set.
When the phone process crashes, we set the network preference incorrectly. Also read the default value from a system property.
This commit is contained in:
@@ -659,8 +659,9 @@ class DatabaseHelper extends SQLiteOpenHelper {
|
||||
}
|
||||
|
||||
// Set the preferred network mode to 0 = Global, CDMA default
|
||||
loadSetting(stmt, Settings.Secure.PREFERRED_NETWORK_MODE,
|
||||
int type = SystemProperties.getInt("ro.telephony.default_network",
|
||||
RILConstants.PREFERRED_NETWORK_MODE);
|
||||
loadSetting(stmt, Settings.Secure.PREFERRED_NETWORK_MODE, type);
|
||||
|
||||
// Enable or disable Cell Broadcast SMS
|
||||
loadSetting(stmt, Settings.Secure.CDMA_CELL_BROADCAST_SMS,
|
||||
@@ -706,4 +707,3 @@ class DatabaseHelper extends SQLiteOpenHelper {
|
||||
Float.toString(mContext.getResources().getFraction(resid, base, base)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -165,18 +165,18 @@ public interface Phone {
|
||||
|
||||
// Used for preferred network type
|
||||
// Note NT_* substitute RILConstants.NETWORK_MODE_* above the Phone
|
||||
static final int NT_MODE_WCDMA_PREF = 0; /* GSM/WCDMA (WCDMA preferred) */
|
||||
static final int NT_MODE_GSM_ONLY = 1; /* GSM only */
|
||||
static final int NT_MODE_WCDMA_ONLY = 2; /* WCDMA only */
|
||||
static final int NT_MODE_GSM_UMTS = 3; /* GSM/WCDMA (auto mode, according to PRL)
|
||||
AVAILABLE Application Settings menu */
|
||||
static final int NT_MODE_CDMA = 4; /* CDMA and EvDo (auto mode, according to PRL)
|
||||
AVAILABLE Application Settings menu */
|
||||
static final int NT_MODE_CDMA_NO_EVDO = 5; /* CDMA only */
|
||||
static final int NT_MODE_EVDO_NO_CDMA = 6; /* EvDo only */
|
||||
static final int NT_MODE_GLOBAL = 7; /* GSM/WCDMA, CDMA, and EvDo (auto mode, according
|
||||
to PRL) AVAILABLE Application Settings menu */
|
||||
static final int PREFERRED_NT_MODE = NT_MODE_GLOBAL;
|
||||
int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF;
|
||||
int NT_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY;
|
||||
int NT_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY;
|
||||
int NT_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_UMTS;
|
||||
|
||||
int NT_MODE_CDMA = RILConstants.NETWORK_MODE_CDMA;
|
||||
|
||||
int NT_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO;
|
||||
int NT_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA;
|
||||
int NT_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL;
|
||||
|
||||
int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK_MODE;
|
||||
|
||||
|
||||
// Used for CDMA roaming mode
|
||||
|
||||
@@ -1857,7 +1857,7 @@ public final class RIL extends BaseCommands implements CommandsInterface {
|
||||
* and/or radio knowing.
|
||||
*/
|
||||
if (RILJ_LOGD) Log.d(LOG_TAG, "Radio ON @ init; reset to OFF");
|
||||
setRadioPower(false, null);
|
||||
setRadioPower(false, null);
|
||||
} else {
|
||||
if (DBG) Log.d(LOG_TAG, "Radio OFF @ init");
|
||||
setRadioState(newState);
|
||||
|
||||
Reference in New Issue
Block a user