[Settings] Support re-init DataUsageSummaryPreferenceController

Support re-init DataUsageSummaryPreferenceController without
re-constructing it.

Bug: 151751844
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest
Change-Id: If72a521c5fbaec8b8902fb80b13d9d0f07c716af
This commit is contained in:
Bonian Chen
2020-04-24 11:33:15 +08:00
parent a26a7afe8e
commit 87a4577472
2 changed files with 15 additions and 9 deletions

View File

@@ -114,25 +114,30 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
*/
public void init(int subscriptionId) {
mSubId = subscriptionId;
mDataUsageController = null;
}
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId);
private void updateConfiguration(Context context,
int subscriptionId, SubscriptionInfo subInfo) {
final NetworkPolicyManager policyManager =
mContext.getSystemService(NetworkPolicyManager.class);
context.getSystemService(NetworkPolicyManager.class);
mPolicyEditor = new NetworkPolicyEditor(policyManager);
mHasMobileData = DataUsageUtils.hasMobileData(mContext);
mHasMobileData = DataUsageUtils.hasMobileData(context);
mDataUsageController = new DataUsageController(mContext);
mDataUsageController.setSubscriptionId(mSubId);
mDataUsageController = new DataUsageController(context);
mDataUsageController.setSubscriptionId(subscriptionId);
mDataInfoController = new DataUsageInfoController();
final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId);
if (subInfo != null) {
mDataUsageTemplate = R.string.cell_data_template;
} else if (DataUsageUtils.hasWifiRadio(mContext)) {
mDefaultTemplate = DataUsageUtils.getMobileTemplate(context, subscriptionId);
} else if (DataUsageUtils.hasWifiRadio(context)) {
mDataUsageTemplate = R.string.wifi_data_template;
mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard();
} else {
mDataUsageTemplate = R.string.ethernet_data_template;
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId);
}
}
@@ -198,8 +203,8 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference;
final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId);
if (subInfo == null) {
mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard();
if (mDataUsageController == null) {
updateConfiguration(mContext, mSubId, subInfo);
}
final DataUsageController.DataUsageInfo info =

View File

@@ -129,6 +129,7 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment {
public void onAttach(Context context) {
super.onAttach(context);
use(DataUsageSummaryPreferenceController.class).init(mSubId);
use(CallsDefaultSubscriptionController.class).init(getLifecycle());
use(SmsDefaultSubscriptionController.class).init(getLifecycle());
use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);