Support of LTE Only mode
In CDMA-LTE hybrid mode, the service state is derived based on CDMA state. However, CDMA radio is off while in LTE only mode so thre will be no signal bar or data type icon displayed on the status UI. This patch handles LTE only mode scenario. The service state is derived from LTE if CDMA is OOS and LTE only mode is used. Bug: 5070240 Change-Id: Ie55daaf9eea1b16ca73312ebab208810b145d2bc
This commit is contained in:
committed by
Wink Saville
parent
41394a3610
commit
d5f8d84d45
@@ -217,6 +217,26 @@ public class CdmaLteServiceStateTracker extends CdmaServiceStateTracker {
|
||||
" mNewDataConnectionState = " + mNewDataConnectionState);
|
||||
}
|
||||
|
||||
// TODO: Add proper support for LTE Only, we should be looking at
|
||||
// the preferred network mode, to know when newSS state should
|
||||
// be coming from mLteSs state. This was needed to pass a VZW
|
||||
// LTE Only test.
|
||||
//
|
||||
// If CDMA service is OOS, double check if the device is running with LTE only
|
||||
// mode. If that is the case, derive the service state from LTE side.
|
||||
// To set in LTE only mode, sqlite3 /data/data/com.android.providers.settings/
|
||||
// databases/settings.db "update secure set value='11' where name='preferred_network_mode'"
|
||||
if (newSS.getState() == ServiceState.STATE_OUT_OF_SERVICE) {
|
||||
int networkMode = android.provider.Settings.Secure.getInt(phone.getContext()
|
||||
.getContentResolver(),
|
||||
android.provider.Settings.Secure.PREFERRED_NETWORK_MODE,
|
||||
RILConstants.PREFERRED_NETWORK_MODE);
|
||||
if (networkMode == RILConstants.NETWORK_MODE_LTE_ONLY) {
|
||||
if (DBG) log("pollState: LTE Only mode");
|
||||
newSS.setState(mLteSS.getState());
|
||||
}
|
||||
}
|
||||
|
||||
if (DBG) log("pollStateDone: oldSS=[" + ss + "] newSS=[" + newSS + "]");
|
||||
|
||||
boolean hasRegistered = ss.getState() != ServiceState.STATE_IN_SERVICE
|
||||
|
||||
Reference in New Issue
Block a user