OSDN Git Service

WiFiCallingSettings: show roaming preferrence am: fe3749dd0b am: 335b3488f9
authorMeng Wang <mewan@google.com>
Thu, 29 Sep 2016 05:55:00 +0000 (05:55 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Thu, 29 Sep 2016 05:55:00 +0000 (05:55 +0000)
am: 9f0d5f7e5d

Change-Id: Ie899eba9566d12534dd9bf524542c1a5f00cb38b

1  2 
res/values/strings.xml
src/com/android/settings/WifiCallingSettings.java
src/com/android/settings/WirelessSettings.java

Simple merge
@@@ -331,12 -353,13 +352,13 @@@ public class WifiCallingSettings extend
          Log.i(TAG, "updateWfcMode(" + wfcEnabled + ")");
          ImsManager.setWfcSetting(context, wfcEnabled);
  
-         int wfcMode = ImsManager.getWfcMode(context);
-         updateButtonWfcMode(context, wfcEnabled, wfcMode);
+         int wfcMode = ImsManager.getWfcMode(context, false);
+         int wfcRoamingMode = ImsManager.getWfcMode(context, true);
+         updateButtonWfcMode(context, wfcEnabled, wfcMode, wfcRoamingMode);
          if (wfcEnabled) {
 -            MetricsLogger.action(getActivity(), getMetricsCategory(), wfcMode);
 +            mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), wfcMode);
          } else {
 -            MetricsLogger.action(getActivity(), getMetricsCategory(), -1);
 +            mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), -1);
          }
      }
  
          if (preference == mButtonWfcMode) {
              mButtonWfcMode.setValue((String) newValue);
              int buttonMode = Integer.valueOf((String) newValue);
-             int currentMode = ImsManager.getWfcMode(context);
-             if (buttonMode != currentMode) {
-                 ImsManager.setWfcMode(context, buttonMode);
+             int currentWfcMode = ImsManager.getWfcMode(context, false);
+             if (buttonMode != currentWfcMode) {
+                 ImsManager.setWfcMode(context, buttonMode, false);
                  mButtonWfcMode.setSummary(getWfcModeSummary(context, buttonMode));
 -                MetricsLogger.action(getActivity(), getMetricsCategory(), buttonMode);
 +                mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
+             }
+             if (!mEditableWfcRoamingMode) {
+                 int currentWfcRoamingMode = ImsManager.getWfcMode(context, true);
+                 if (buttonMode != currentWfcRoamingMode) {
+                     ImsManager.setWfcMode(context, buttonMode, true);
+                     // mButtonWfcRoamingMode.setSummary is not needed; summary is selected value
+                 }
+             }
+         } else if (preference == mButtonWfcRoamingMode) {
+             mButtonWfcRoamingMode.setValue((String) newValue);
+             int buttonMode = Integer.valueOf((String) newValue);
+             int currentMode = ImsManager.getWfcMode(context, true);
+             if (buttonMode != currentMode) {
+                 ImsManager.setWfcMode(context, buttonMode, true);
+                 // mButtonWfcRoamingMode.setSummary is not needed; summary is just selected value.
+                 MetricsLogger.action(getActivity(), getMetricsCategory(), buttonMode);
              }
          }
          return true;