Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +43 −0 Original line number Diff line number Diff line Loading @@ -2071,6 +2071,45 @@ public class GsmCdmaPhone extends Phone { loge("didn't get broadcastEmergencyCallStateChanges from carrier config"); } // Changing the cdma roaming settings based carrier config. if (b != null) { int config_cdma_roaming_mode = b.getInt( CarrierConfigManager.KEY_CDMA_ROAMING_MODE_INT); int current_cdma_roaming_mode = Settings.Global.getInt(getContext().getContentResolver(), Settings.Global.CDMA_ROAMING_MODE, CarrierConfigManager.CDMA_ROAMING_MODE_RADIO_DEFAULT); switch (config_cdma_roaming_mode) { // Carrier's cdma_roaming_mode will overwrite the user's previous settings // Keep the user's previous setting in global variable which will be used // when carrier's setting is turn off. case CarrierConfigManager.CDMA_ROAMING_MODE_HOME: case CarrierConfigManager.CDMA_ROAMING_MODE_AFFILIATED: case CarrierConfigManager.CDMA_ROAMING_MODE_ANY: logd("cdma_roaming_mode is going to changed to " + config_cdma_roaming_mode); setCdmaRoamingPreference(config_cdma_roaming_mode, obtainMessage(EVENT_SET_ROAMING_PREFERENCE_DONE)); break; // When carrier's setting is turn off, change the cdma_roaming_mode to the // previous user's setting case CarrierConfigManager.CDMA_ROAMING_MODE_RADIO_DEFAULT: if (current_cdma_roaming_mode != config_cdma_roaming_mode) { logd("cdma_roaming_mode is going to changed to " + current_cdma_roaming_mode); setCdmaRoamingPreference(current_cdma_roaming_mode, obtainMessage(EVENT_SET_ROAMING_PREFERENCE_DONE)); } default: loge("Invalid cdma_roaming_mode settings: " + config_cdma_roaming_mode); } } else { loge("didn't get the cdma_roaming_mode changes from the carrier config."); } // Load the ERI based on carrier config. Carrier might have their specific ERI. prepareEri(); if (!isPhoneTypeGsm()) { Loading @@ -2079,6 +2118,10 @@ public class GsmCdmaPhone extends Phone { break; case EVENT_SET_ROAMING_PREFERENCE_DONE: logd("cdma_roaming_mode change is done"); break; case EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED: logd("EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED"); mCdmaSubscriptionSource = mCdmaSSM.getCdmaSubscriptionSource(); Loading src/java/com/android/internal/telephony/Phone.java +2 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { protected static final int EVENT_RIL_CONNECTED = 41; protected static final int EVENT_UPDATE_PHONE_OBJECT = 42; protected static final int EVENT_CARRIER_CONFIG_CHANGED = 43; // Carrier's CDMA prefer mode setting protected static final int EVENT_SET_ROAMING_PREFERENCE_DONE = 44; protected static final int EVENT_LAST = EVENT_CARRIER_CONFIG_CHANGED; Loading src/java/com/android/internal/telephony/PhoneInternalInterface.java +7 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.Handler; import android.os.Message; import android.telephony.CellInfo; import android.telephony.CellLocation; import android.telephony.CarrierConfigManager; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; Loading Loading @@ -170,9 +171,12 @@ public interface PhoneInternalInterface { int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK_MODE; // Used for CDMA roaming mode static final int CDMA_RM_HOME = 0; // Home Networks only, as defined in PRL static final int CDMA_RM_AFFILIATED = 1; // Roaming an Affiliated networks, as defined in PRL static final int CDMA_RM_ANY = 2; // Roaming on Any Network, as defined in PRL // Home Networks only, as defined in PRL static final int CDMA_RM_HOME = CarrierConfigManager.CDMA_ROAMING_MODE_HOME; // Roaming an Affiliated networks, as defined in PRL static final int CDMA_RM_AFFILIATED = CarrierConfigManager.CDMA_ROAMING_MODE_AFFILIATED; // Roaming on Any Network, as defined in PRL static final int CDMA_RM_ANY = CarrierConfigManager.CDMA_ROAMING_MODE_ANY; // Used for CDMA subscription mode static final int CDMA_SUBSCRIPTION_UNKNOWN =-1; // Unknown Loading Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +43 −0 Original line number Diff line number Diff line Loading @@ -2071,6 +2071,45 @@ public class GsmCdmaPhone extends Phone { loge("didn't get broadcastEmergencyCallStateChanges from carrier config"); } // Changing the cdma roaming settings based carrier config. if (b != null) { int config_cdma_roaming_mode = b.getInt( CarrierConfigManager.KEY_CDMA_ROAMING_MODE_INT); int current_cdma_roaming_mode = Settings.Global.getInt(getContext().getContentResolver(), Settings.Global.CDMA_ROAMING_MODE, CarrierConfigManager.CDMA_ROAMING_MODE_RADIO_DEFAULT); switch (config_cdma_roaming_mode) { // Carrier's cdma_roaming_mode will overwrite the user's previous settings // Keep the user's previous setting in global variable which will be used // when carrier's setting is turn off. case CarrierConfigManager.CDMA_ROAMING_MODE_HOME: case CarrierConfigManager.CDMA_ROAMING_MODE_AFFILIATED: case CarrierConfigManager.CDMA_ROAMING_MODE_ANY: logd("cdma_roaming_mode is going to changed to " + config_cdma_roaming_mode); setCdmaRoamingPreference(config_cdma_roaming_mode, obtainMessage(EVENT_SET_ROAMING_PREFERENCE_DONE)); break; // When carrier's setting is turn off, change the cdma_roaming_mode to the // previous user's setting case CarrierConfigManager.CDMA_ROAMING_MODE_RADIO_DEFAULT: if (current_cdma_roaming_mode != config_cdma_roaming_mode) { logd("cdma_roaming_mode is going to changed to " + current_cdma_roaming_mode); setCdmaRoamingPreference(current_cdma_roaming_mode, obtainMessage(EVENT_SET_ROAMING_PREFERENCE_DONE)); } default: loge("Invalid cdma_roaming_mode settings: " + config_cdma_roaming_mode); } } else { loge("didn't get the cdma_roaming_mode changes from the carrier config."); } // Load the ERI based on carrier config. Carrier might have their specific ERI. prepareEri(); if (!isPhoneTypeGsm()) { Loading @@ -2079,6 +2118,10 @@ public class GsmCdmaPhone extends Phone { break; case EVENT_SET_ROAMING_PREFERENCE_DONE: logd("cdma_roaming_mode change is done"); break; case EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED: logd("EVENT_CDMA_SUBSCRIPTION_SOURCE_CHANGED"); mCdmaSubscriptionSource = mCdmaSSM.getCdmaSubscriptionSource(); Loading
src/java/com/android/internal/telephony/Phone.java +2 −0 Original line number Diff line number Diff line Loading @@ -177,6 +177,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { protected static final int EVENT_RIL_CONNECTED = 41; protected static final int EVENT_UPDATE_PHONE_OBJECT = 42; protected static final int EVENT_CARRIER_CONFIG_CHANGED = 43; // Carrier's CDMA prefer mode setting protected static final int EVENT_SET_ROAMING_PREFERENCE_DONE = 44; protected static final int EVENT_LAST = EVENT_CARRIER_CONFIG_CHANGED; Loading
src/java/com/android/internal/telephony/PhoneInternalInterface.java +7 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.os.Handler; import android.os.Message; import android.telephony.CellInfo; import android.telephony.CellLocation; import android.telephony.CarrierConfigManager; import android.telephony.PhoneStateListener; import android.telephony.ServiceState; import android.telephony.SignalStrength; Loading Loading @@ -170,9 +171,12 @@ public interface PhoneInternalInterface { int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK_MODE; // Used for CDMA roaming mode static final int CDMA_RM_HOME = 0; // Home Networks only, as defined in PRL static final int CDMA_RM_AFFILIATED = 1; // Roaming an Affiliated networks, as defined in PRL static final int CDMA_RM_ANY = 2; // Roaming on Any Network, as defined in PRL // Home Networks only, as defined in PRL static final int CDMA_RM_HOME = CarrierConfigManager.CDMA_ROAMING_MODE_HOME; // Roaming an Affiliated networks, as defined in PRL static final int CDMA_RM_AFFILIATED = CarrierConfigManager.CDMA_ROAMING_MODE_AFFILIATED; // Roaming on Any Network, as defined in PRL static final int CDMA_RM_ANY = CarrierConfigManager.CDMA_ROAMING_MODE_ANY; // Used for CDMA subscription mode static final int CDMA_SUBSCRIPTION_UNKNOWN =-1; // Unknown Loading