From f32a8a955abd0cfcd21b0f1864e25ac11aa1f62e Mon Sep 17 00:00:00 2001 From: xian Date: Mon, 10 Sep 2018 11:20:48 +0900 Subject: [PATCH] Fix issue that user can't edit WFC mode for SIM2 User can't edit WFC mode for SIM2 even if KEY_EDITABLE_WFC_MODE_BOOL for SIM2 is true. Because WifiCallingSettingsForSub uses subId from PhoneStateListener. But subId of PhoneStateListener is always default subId. So, it gets wrong carrier config values. To fix the problem, WifiCallingSettingsForSub uses its subId. Bug: 117193148 Test: manual - Checked that WFC preference enable/disable state change according to the current SIM Change-Id: I6c8f5c1009c118ae9ca9b6e690d18e11600705eb --- .../settings/wifi/calling/WifiCallingSettingsForSub.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java index 76b5c7ae8a4..ae233a5b58d 100644 --- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java +++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java @@ -112,7 +112,8 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment final CarrierConfigManager configManager = (CarrierConfigManager) activity.getSystemService(Context.CARRIER_CONFIG_SERVICE); if (configManager != null) { - PersistableBundle b = configManager.getConfigForSubId(mSubId); + PersistableBundle b = + configManager.getConfigForSubId(WifiCallingSettingsForSub.this.mSubId); if (b != null) { isWfcModeEditable = b.getBoolean( CarrierConfigManager.KEY_EDITABLE_WFC_MODE_BOOL);