[Settings] Mobile data usage code refactor
Code refactor Bug: 151751844 Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DataUsagePreferenceControllerTest Change-Id: Ie1870523ce83e6a1fc56fe9bc4c61708e0e745c4
This commit is contained in:
@@ -35,7 +35,6 @@ import com.android.settingslib.net.DataUsageController;
|
|||||||
public class DataUsagePreferenceController extends TelephonyBasePreferenceController {
|
public class DataUsagePreferenceController extends TelephonyBasePreferenceController {
|
||||||
|
|
||||||
private NetworkTemplate mTemplate;
|
private NetworkTemplate mTemplate;
|
||||||
private DataUsageController.DataUsageInfo mDataUsageInfo;
|
|
||||||
|
|
||||||
public DataUsagePreferenceController(Context context, String key) {
|
public DataUsagePreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
@@ -68,18 +67,12 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro
|
|||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
long usageLevel = mDataUsageInfo.usageLevel;
|
final CharSequence summary = getDataUsageSummary(mContext, mSubId);
|
||||||
if (usageLevel <= 0L) {
|
if (summary == null) {
|
||||||
final DataUsageController controller = new DataUsageController(mContext);
|
preference.setEnabled(false);
|
||||||
usageLevel = controller.getHistoricalUsageLevel(mTemplate);
|
} else {
|
||||||
}
|
preference.setEnabled(true);
|
||||||
final boolean enabled = usageLevel > 0L;
|
preference.setSummary(summary);
|
||||||
preference.setEnabled(enabled);
|
|
||||||
|
|
||||||
if (enabled) {
|
|
||||||
preference.setSummary(mContext.getString(R.string.data_usage_template,
|
|
||||||
DataUsageUtils.formatDataUsage(mContext, mDataUsageInfo.usageLevel),
|
|
||||||
mDataUsageInfo.period));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,9 +83,22 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId);
|
mTemplate = DataUsageUtils.getDefaultTemplate(mContext, mSubId);
|
||||||
|
}
|
||||||
|
|
||||||
final DataUsageController controller = new DataUsageController(mContext);
|
private CharSequence getDataUsageSummary(Context context, int subId) {
|
||||||
controller.setSubscriptionId(mSubId);
|
final DataUsageController controller = new DataUsageController(context);
|
||||||
mDataUsageInfo = controller.getDataUsageInfo(mTemplate);
|
controller.setSubscriptionId(subId);
|
||||||
|
|
||||||
|
final DataUsageController.DataUsageInfo usageInfo = controller.getDataUsageInfo(mTemplate);
|
||||||
|
|
||||||
|
long usageLevel = usageInfo.usageLevel;
|
||||||
|
if (usageLevel <= 0L) {
|
||||||
|
usageLevel = controller.getHistoricalUsageLevel(mTemplate);
|
||||||
|
}
|
||||||
|
if (usageLevel <= 0L) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return context.getString(R.string.data_usage_template,
|
||||||
|
DataUsageUtils.formatDataUsage(context, usageLevel), usageInfo.period);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user