Change order in which VT and WFC settings are pushed to IMS stack
Pavel Zhamaitsiak [Fri, 3 Jun 2016 17:39:51 +0000 (10:39 -0700)]
This is done in order to distinguish toggle of Enhanced 4G LTE switch
from settings sync.

Bug: 28432762
Change-Id: Ie606bb8d06aa29e8a31194a412dc846590309ba8

src/java/com/android/ims/ImsManager.java

index ec70757..5f05ac7 100644 (file)
@@ -555,9 +555,14 @@ public class ImsManager {
         final ImsManager imsManager = ImsManager.getInstance(context, phoneId);
         if (imsManager != null && (!imsManager.mConfigUpdated || force)) {
             try {
+                // TODO: Extend ImsConfig API and set all feature values in single function call.
+
+                // Note: currently the order of updates is set to produce different order of
+                // setFeatureValue() function calls from setAdvanced4GMode(). This is done to
+                // differentiate this code path from vendor code perspective.
                 boolean isImsUsed = imsManager.updateVolteFeatureValue();
-                isImsUsed |= imsManager.updateVideoCallFeatureValue();
                 isImsUsed |= imsManager.updateWfcFeatureAndProvisionedValues();
+                isImsUsed |= imsManager.updateVideoCallFeatureValue();
 
                 if (isImsUsed || !getBooleanCarrierConfig(context,
                       CarrierConfigManager.KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL)) {