Merge "Fix issue that the wifi calling text cannot be customized based on sim"

This commit is contained in:
Youming Ye
2019-02-22 01:55:59 +00:00
committed by Android (Google) Code Review
3 changed files with 36 additions and 3 deletions

View File

@@ -2503,7 +2503,7 @@
<item>"1"</item> <item>"1"</item>
</string-array> </string-array>
<!-- Wi-Fi Calling settings. Text displayed when Wi-Fi Calling is off --> <!-- Wi-Fi Calling settings. Text displayed when Wi-Fi Calling is off -->
<string name="wifi_calling_off_explanation">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.</string> <string name="wifi_calling_off_explanation">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.<xliff:g id="additional_text" example="Learn More">%1$s</xliff:g></string>
<!-- Wi-Fi Calling settings. Additional text displayed when Wi-Fi Calling is off. Default empty. [CHAR LIMIT=NONE] --> <!-- Wi-Fi Calling settings. Additional text displayed when Wi-Fi Calling is off. Default empty. [CHAR LIMIT=NONE] -->
<string name="wifi_calling_off_explanation_2"></string> <string name="wifi_calling_off_explanation_2"></string>
<!-- Title of a preference for updating emergency address [CHAR LIMIT=40] --> <!-- Title of a preference for updating emergency address [CHAR LIMIT=40] -->

View File

@@ -30,6 +30,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter; import androidx.fragment.app.FragmentPagerAdapter;
import com.android.ims.ImsManager; import com.android.ims.ImsManager;
import com.android.internal.util.CollectionUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.InstrumentedFragment; import com.android.settings.core.InstrumentedFragment;
import com.android.settings.search.actionbar.SearchMenuController; import com.android.settings.search.actionbar.SearchMenuController;
@@ -53,6 +54,24 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
private WifiCallingViewPagerAdapter mPagerAdapter; private WifiCallingViewPagerAdapter mPagerAdapter;
private SlidingTabLayout mTabLayout; 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 @Override
public int getMetricsCategory() { public int getMetricsCategory() {
return SettingsEnums.WIFI_CALLING; return SettingsEnums.WIFI_CALLING;
@@ -68,6 +87,7 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
mPagerAdapter = new WifiCallingViewPagerAdapter(getChildFragmentManager(), mViewPager); mPagerAdapter = new WifiCallingViewPagerAdapter(getChildFragmentManager(), mViewPager);
mViewPager.setAdapter(mPagerAdapter); mViewPager.setAdapter(mPagerAdapter);
mViewPager.addOnPageChangeListener(new InternalViewPagerListener());
return view; return view;
} }
@@ -93,6 +113,8 @@ public class WifiCallingSettings extends InstrumentedFragment implements HelpRes
} else { } else {
mTabLayout.setVisibility(View.GONE); mTabLayout.setVisibility(View.GONE);
} }
updateTitleForCurrentSub();
} }
@Override @Override
@@ -163,4 +185,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);
}
}
} }

View File

@@ -23,6 +23,7 @@ import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.os.PersistableBundle; import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager;
@@ -176,8 +177,9 @@ public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
mEmptyView = getView().findViewById(android.R.id.empty); mEmptyView = getView().findViewById(android.R.id.empty);
setEmptyView(mEmptyView); setEmptyView(mEmptyView);
String emptyViewText = activity.getString(R.string.wifi_calling_off_explanation) final Resources res = SubscriptionManager.getResourcesForSubId(getActivity(), mSubId);
+ activity.getString(R.string.wifi_calling_off_explanation_2); String emptyViewText = res.getString(R.string.wifi_calling_off_explanation,
res.getString(R.string.wifi_calling_off_explanation_2));
mEmptyView.setText(emptyViewText); mEmptyView.setText(emptyViewText);
mSwitchBar = getView().findViewById(R.id.switch_bar); mSwitchBar = getView().findViewById(R.id.switch_bar);