diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java index d6aed676d47..dc915af2d06 100644 --- a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java @@ -225,6 +225,9 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc if (SubscriptionManager.isValidSubscriptionId(subId)) { mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId); } + // assign current call state so that it helps to show correct preference state even + // before first onCallStateChanged() by initial registration. + mCallState = mTelephonyManager.getCallState(subId); mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE); final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily(); diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java index 3321fb3afe5..fa8b47fba41 100644 --- a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java +++ b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java @@ -182,6 +182,9 @@ public class VideoCallingPreferenceController extends TelephonyTogglePreferenceC if (SubscriptionManager.isValidSubscriptionId(subId)) { mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId); } + // assign current call state so that it helps to show correct preference state even + // before first onCallStateChanged() by initial registration. + mCallState = mTelephonyManager.getCallState(subId); mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE); } diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java index 32be36e325e..b38fe07fb4d 100644 --- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java +++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java @@ -210,6 +210,9 @@ public class WifiCallingPreferenceController extends TelephonyBasePreferenceCont public void register(Context context, int subId) { mTelephonyManager = getTelephonyManager(context, subId); + // assign current call state so that it helps to show correct preference state even + // before first onCallStateChanged() by initial registration. + mCallState = mTelephonyManager.getCallState(subId); mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE); }