diff --git a/res/values/strings.xml b/res/values/strings.xml index aa77e6314b1..c55bcfc07f0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2337,7 +2337,7 @@ "1" - When Wi-Fi calling is on, your phone can route calls via Wi-Fi networks or your carrier\u2019s network, depending on your preference and which signal is stronger. Before turning on this feature, check with your carrier regarding fees and other details. + When Wi-Fi calling is on, your phone can route calls via Wi-Fi networks or your carrier\u2019s network, depending on your preference and which signal is stronger. Before turning on this feature, check with your carrier regarding fees and other details.%1$s diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettings.java b/src/com/android/settings/wifi/calling/WifiCallingSettings.java index a9c0ee9f54c..5d11c55593e 100644 --- a/src/com/android/settings/wifi/calling/WifiCallingSettings.java +++ b/src/com/android/settings/wifi/calling/WifiCallingSettings.java @@ -29,6 +29,7 @@ import android.view.ViewGroup; import com.android.ims.ImsManager; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; +import com.android.internal.util.CollectionUtils; import com.android.settings.R; import com.android.settings.core.InstrumentedFragment; import com.android.settings.search.actionbar.SearchMenuController; @@ -52,6 +53,24 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes private WifiCallingViewPagerAdapter mPagerAdapter; private SlidingTabLayout mTabLayout; + private final class InternalViewPagerListener implements + RtlCompatibleViewPager.OnPageChangeListener { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + // Do nothing. + } + + @Override + public void onPageSelected(int position) { + updateTitleForCurrentSub(); + } + + @Override + public void onPageScrollStateChanged(int state) { + // Do nothing. + } + } + @Override public int getMetricsCategory() { return MetricsEvent.WIFI_CALLING; @@ -67,6 +86,7 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes mPagerAdapter = new WifiCallingViewPagerAdapter(getChildFragmentManager(), mViewPager); mViewPager.setAdapter(mPagerAdapter); + mViewPager.addOnPageChangeListener(new InternalViewPagerListener()); return view; } @@ -92,6 +112,8 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes } else { mTabLayout.setVisibility(View.GONE); } + + updateTitleForCurrentSub(); } @Override @@ -162,4 +184,13 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes } } } + + private void updateTitleForCurrentSub() { + if (CollectionUtils.size(mSil) > 1) { + final int subId = mSil.get(mViewPager.getCurrentItem()).getSubscriptionId(); + final String title = SubscriptionManager.getResourcesForSubId(getContext(), subId) + .getString(R.string.wifi_calling_settings_title); + getActivity().getActionBar().setTitle(title); + } + } } diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java index c0cb4fce690..33e8d8559aa 100644 --- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java +++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java @@ -23,6 +23,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.res.Resources; import android.os.Bundle; import android.os.PersistableBundle; import androidx.preference.ListPreference; @@ -174,8 +175,9 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment mEmptyView = getView().findViewById(android.R.id.empty); setEmptyView(mEmptyView); - String emptyViewText = activity.getString(R.string.wifi_calling_off_explanation) - + activity.getString(R.string.wifi_calling_off_explanation_2); + final Resources res = SubscriptionManager.getResourcesForSubId(getActivity(), mSubId); + String emptyViewText = res.getString(R.string.wifi_calling_off_explanation, + res.getString(R.string.wifi_calling_off_explanation_2)); mEmptyView.setText(emptyViewText); mSwitchBar = getView().findViewById(R.id.switch_bar);