[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:
@@ -114,25 +114,30 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
|
|||||||
*/
|
*/
|
||||||
public void init(int subscriptionId) {
|
public void init(int subscriptionId) {
|
||||||
mSubId = subscriptionId;
|
mSubId = subscriptionId;
|
||||||
|
mDataUsageController = null;
|
||||||
|
}
|
||||||
|
|
||||||
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId);
|
private void updateConfiguration(Context context,
|
||||||
|
int subscriptionId, SubscriptionInfo subInfo) {
|
||||||
final NetworkPolicyManager policyManager =
|
final NetworkPolicyManager policyManager =
|
||||||
mContext.getSystemService(NetworkPolicyManager.class);
|
context.getSystemService(NetworkPolicyManager.class);
|
||||||
mPolicyEditor = new NetworkPolicyEditor(policyManager);
|
mPolicyEditor = new NetworkPolicyEditor(policyManager);
|
||||||
|
|
||||||
mHasMobileData = DataUsageUtils.hasMobileData(mContext);
|
mHasMobileData = DataUsageUtils.hasMobileData(context);
|
||||||
|
|
||||||
mDataUsageController = new DataUsageController(mContext);
|
mDataUsageController = new DataUsageController(context);
|
||||||
mDataUsageController.setSubscriptionId(mSubId);
|
mDataUsageController.setSubscriptionId(subscriptionId);
|
||||||
mDataInfoController = new DataUsageInfoController();
|
mDataInfoController = new DataUsageInfoController();
|
||||||
|
|
||||||
final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId);
|
|
||||||
if (subInfo != null) {
|
if (subInfo != null) {
|
||||||
mDataUsageTemplate = R.string.cell_data_template;
|
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;
|
mDataUsageTemplate = R.string.wifi_data_template;
|
||||||
|
mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard();
|
||||||
} else {
|
} else {
|
||||||
mDataUsageTemplate = R.string.ethernet_data_template;
|
mDataUsageTemplate = R.string.ethernet_data_template;
|
||||||
|
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,8 +203,8 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
|
|||||||
DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference;
|
DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference;
|
||||||
|
|
||||||
final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId);
|
final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId);
|
||||||
if (subInfo == null) {
|
if (mDataUsageController == null) {
|
||||||
mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard();
|
updateConfiguration(mContext, mSubId, subInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
final DataUsageController.DataUsageInfo info =
|
final DataUsageController.DataUsageInfo info =
|
||||||
|
@@ -129,6 +129,7 @@ public class MobileNetworkSettings extends RestrictedDashboardFragment {
|
|||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
|
|
||||||
|
use(DataUsageSummaryPreferenceController.class).init(mSubId);
|
||||||
use(CallsDefaultSubscriptionController.class).init(getLifecycle());
|
use(CallsDefaultSubscriptionController.class).init(getLifecycle());
|
||||||
use(SmsDefaultSubscriptionController.class).init(getLifecycle());
|
use(SmsDefaultSubscriptionController.class).init(getLifecycle());
|
||||||
use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);
|
use(MobileNetworkSwitchController.class).init(getLifecycle(), mSubId);
|
||||||
|
Reference in New Issue
Block a user