Loading src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java +25 −9 Original line number Diff line number Diff line Loading @@ -47,8 +47,10 @@ import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.net.DataUsageController; import com.android.settingslib.utils.ThreadUtils; import java.util.List; import java.util.concurrent.Future; /** * This is the controller for a data usage header that retrieves carrier data from the new Loading Loading @@ -99,6 +101,8 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc private Intent mManageSubscriptionIntent; private Future<Long> mHistoricalUsageLevel; public DataUsageSummaryPreferenceController(Activity activity, Lifecycle lifecycle, PreferenceFragmentCompat fragment, int subscriptionId) { super(activity, KEY); Loading Loading @@ -206,13 +210,13 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc updateConfiguration(mContext, mSubId, subInfo); } mHistoricalUsageLevel = ThreadUtils.postOnBackgroundThread(() -> mDataUsageController.getHistoricalUsageLevel(mDefaultTemplate)); final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(mDefaultTemplate); long usageLevel = info.usageLevel; if (usageLevel <= 0L) { usageLevel = mDataUsageController.getHistoricalUsageLevel(mDefaultTemplate); } if (subInfo != null) { mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate)); Loading @@ -222,7 +226,7 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc summaryPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */ info.period, /* isSingleWifi */ false); summaryPreference.setLimitInfo(null); summaryPreference.setUsageNumbers(usageLevel, summaryPreference.setUsageNumbers(displayUsageLevel(usageLevel), /* dataPlanSize */ -1L, /* hasMobileData */ true); summaryPreference.setChartEnabled(false); Loading @@ -235,11 +239,6 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc } refreshDataplanInfo(info, subInfo); if ((mDataplanUse <= 0L) && (mSnapshotTime < 0)) { Log.d(TAG, "Display data usage from history"); mDataplanUse = usageLevel; mSnapshotTime = -1L; } if (info.warningLevel > 0 && info.limitLevel > 0) { summaryPreference.setLimitInfo(TextUtils.expandTemplate( Loading @@ -258,6 +257,12 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc summaryPreference.setLimitInfo(null); } if ((mDataplanUse <= 0L) && (mSnapshotTime < 0)) { Log.d(TAG, "Display data usage from history"); mDataplanUse = displayUsageLevel(usageLevel); mSnapshotTime = -1L; } summaryPreference.setUsageNumbers(mDataplanUse, mDataplanSize, mHasMobileData); if (mDataBarSize <= 0) { Loading @@ -272,6 +277,17 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc mDataplanCount, mManageSubscriptionIntent); } private long displayUsageLevel(long usageLevel) { if (usageLevel > 0) { return usageLevel; } try { usageLevel = mHistoricalUsageLevel.get(); } catch (Exception ex) { } return usageLevel; } // TODO(b/70950124) add test for this method once the robolectric shadow run script is // completed (b/3526807) private void refreshDataplanInfo(DataUsageController.DataUsageInfo info, Loading src/com/android/settings/network/telephony/DataUsagePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro private Future<NetworkTemplate> mTemplateFuture; private AtomicReference<NetworkTemplate> mTemplate; private Future<Long> mHistoricalUsageLevel; public DataUsagePreferenceController(Context context, String key) { super(context, key); Loading Loading @@ -127,11 +128,17 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro final DataUsageController controller = new DataUsageController(context); controller.setSubscriptionId(subId); mHistoricalUsageLevel = ThreadUtils.postOnBackgroundThread(() -> controller.getHistoricalUsageLevel(getNetworkTemplate())); final DataUsageController.DataUsageInfo usageInfo = getDataUsageInfo(controller); long usageLevel = usageInfo.usageLevel; if (usageLevel <= 0L) { usageLevel = controller.getHistoricalUsageLevel(getNetworkTemplate()); try { usageLevel = mHistoricalUsageLevel.get(); } catch (Exception exception) { } } if (usageLevel <= 0L) { return null; Loading Loading
src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java +25 −9 Original line number Diff line number Diff line Loading @@ -47,8 +47,10 @@ import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.net.DataUsageController; import com.android.settingslib.utils.ThreadUtils; import java.util.List; import java.util.concurrent.Future; /** * This is the controller for a data usage header that retrieves carrier data from the new Loading Loading @@ -99,6 +101,8 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc private Intent mManageSubscriptionIntent; private Future<Long> mHistoricalUsageLevel; public DataUsageSummaryPreferenceController(Activity activity, Lifecycle lifecycle, PreferenceFragmentCompat fragment, int subscriptionId) { super(activity, KEY); Loading Loading @@ -206,13 +210,13 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc updateConfiguration(mContext, mSubId, subInfo); } mHistoricalUsageLevel = ThreadUtils.postOnBackgroundThread(() -> mDataUsageController.getHistoricalUsageLevel(mDefaultTemplate)); final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(mDefaultTemplate); long usageLevel = info.usageLevel; if (usageLevel <= 0L) { usageLevel = mDataUsageController.getHistoricalUsageLevel(mDefaultTemplate); } if (subInfo != null) { mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate)); Loading @@ -222,7 +226,7 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc summaryPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */ info.period, /* isSingleWifi */ false); summaryPreference.setLimitInfo(null); summaryPreference.setUsageNumbers(usageLevel, summaryPreference.setUsageNumbers(displayUsageLevel(usageLevel), /* dataPlanSize */ -1L, /* hasMobileData */ true); summaryPreference.setChartEnabled(false); Loading @@ -235,11 +239,6 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc } refreshDataplanInfo(info, subInfo); if ((mDataplanUse <= 0L) && (mSnapshotTime < 0)) { Log.d(TAG, "Display data usage from history"); mDataplanUse = usageLevel; mSnapshotTime = -1L; } if (info.warningLevel > 0 && info.limitLevel > 0) { summaryPreference.setLimitInfo(TextUtils.expandTemplate( Loading @@ -258,6 +257,12 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc summaryPreference.setLimitInfo(null); } if ((mDataplanUse <= 0L) && (mSnapshotTime < 0)) { Log.d(TAG, "Display data usage from history"); mDataplanUse = displayUsageLevel(usageLevel); mSnapshotTime = -1L; } summaryPreference.setUsageNumbers(mDataplanUse, mDataplanSize, mHasMobileData); if (mDataBarSize <= 0) { Loading @@ -272,6 +277,17 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc mDataplanCount, mManageSubscriptionIntent); } private long displayUsageLevel(long usageLevel) { if (usageLevel > 0) { return usageLevel; } try { usageLevel = mHistoricalUsageLevel.get(); } catch (Exception ex) { } return usageLevel; } // TODO(b/70950124) add test for this method once the robolectric shadow run script is // completed (b/3526807) private void refreshDataplanInfo(DataUsageController.DataUsageInfo info, Loading
src/com/android/settings/network/telephony/DataUsagePreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro private Future<NetworkTemplate> mTemplateFuture; private AtomicReference<NetworkTemplate> mTemplate; private Future<Long> mHistoricalUsageLevel; public DataUsagePreferenceController(Context context, String key) { super(context, key); Loading Loading @@ -127,11 +128,17 @@ public class DataUsagePreferenceController extends TelephonyBasePreferenceContro final DataUsageController controller = new DataUsageController(context); controller.setSubscriptionId(subId); mHistoricalUsageLevel = ThreadUtils.postOnBackgroundThread(() -> controller.getHistoricalUsageLevel(getNetworkTemplate())); final DataUsageController.DataUsageInfo usageInfo = getDataUsageInfo(controller); long usageLevel = usageInfo.usageLevel; if (usageLevel <= 0L) { usageLevel = controller.getHistoricalUsageLevel(getNetworkTemplate()); try { usageLevel = mHistoricalUsageLevel.get(); } catch (Exception exception) { } } if (usageLevel <= 0L) { return null; Loading