Fixed incorrect merge service state

The existing logic for merging service state when device is on
IWLAN does not work properly on AP-assisted mode devices. Fixed
by copying the IWLAN preferred flag into IMS service state so
it can get the correct data RAT for AP-assisted mode devices.

Bug: 134706530
Test: WFC manual tests
Merged-In: Ic18934adb870a0114c913855cdb68e0ef33caa79
Change-Id: Ic18934adb870a0114c913855cdb68e0ef33caa79
(cherry picked from commit 5e640ac80e)
This commit is contained in:
Jack Yu
2019-06-12 11:00:16 -07:00
parent 84b311d3a2
commit e089e39454

View File

@@ -1997,4 +1997,18 @@ public class ServiceState implements Parcelable {
public void setIwlanPreferred(boolean isIwlanPreferred) {
mIsIwlanPreferred = isIwlanPreferred;
}
/**
* @return {@code true} if any data network is preferred on IWLAN.
*
* Note only when this value is true, {@link #getDataNetworkType()} will return
* {@link TelephonyManager#NETWORK_TYPE_IWLAN} when AP-assisted mode device camps on both
* cellular and IWLAN. This value does not affect legacy mode devices as the data network
* type is directly reported by the modem.
*
* @hide
*/
public boolean isIwlanPreferred() {
return mIsIwlanPreferred;
}
}