[Settings] Mobile data usage code refactor
Code refactor
Bug: 151751844
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsagePreferenceControllerTest
Change-Id: If85207ebe2edb8c547bb6dac0c55bbd146b62361
diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.java b/src/com/android/settings/network/telephony/DataUsagePreferenceController.java
index d9617e6..b260657 100644
--- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.java
+++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.java
@@ -36,7 +36,6 @@
private NetworkTemplate mTemplate;
private DataUsageController.DataUsageInfo mDataUsageInfo;
- private Intent mIntent;
public DataUsagePreferenceController(Context context, String key) {
super(context, key);
@@ -54,8 +53,11 @@
if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
return false;
}
+ final Intent intent = new Intent(Settings.ACTION_MOBILE_DATA_USAGE);
+ intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mTemplate);
+ intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
- mContext.startActivity(mIntent);
+ mContext.startActivity(intent);
return true;
}
@@ -84,16 +86,13 @@
public void init(int subId) {
mSubId = subId;
- if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- mTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId);
-
- final DataUsageController controller = new DataUsageController(mContext);
- controller.setSubscriptionId(mSubId);
- mDataUsageInfo = controller.getDataUsageInfo(mTemplate);
-
- mIntent = new Intent(Settings.ACTION_MOBILE_DATA_USAGE);
- mIntent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mTemplate);
- mIntent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
+ if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+ return;
}
+ mTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId);
+
+ final DataUsageController controller = new DataUsageController(mContext);
+ controller.setSubscriptionId(mSubId);
+ mDataUsageInfo = controller.getDataUsageInfo(mTemplate);
}
}