From e089e3945400d69cf2d823b11ee3b52ea1cc3db6 Mon Sep 17 00:00:00 2001 From: Jack Yu Date: Wed, 12 Jun 2019 11:00:16 -0700 Subject: [PATCH] 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 5e640ac80e3b457cb2054d50f6892513a4b78b06) --- telephony/java/android/telephony/ServiceState.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index e087f38dacb3e..44a135d0dc316 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -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; + } }