Loading src/com/android/settings/datausage/BillingCycleSettings.java +14 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.icu.util.MeasureUnit; import android.net.NetworkPolicy; import android.net.NetworkTemplate; import android.os.Bundle; import android.provider.Settings; import android.text.method.NumberKeyListener; import android.util.Log; import android.view.LayoutInflater; Loading Loading @@ -54,6 +55,7 @@ import com.android.settingslib.search.SearchIndexable; import java.text.NumberFormat; import java.text.ParseException; import java.util.Optional; import java.util.TimeZone; @SearchIndexable Loading Loading @@ -115,6 +117,18 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements Bundle args = getArguments(); mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE); if (mNetworkTemplate == null && getIntent() != null) { mNetworkTemplate = getIntent().getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE); } if (mNetworkTemplate == null) { Optional<NetworkTemplate> mobileNetworkTemplateFromSim = DataUsageUtils.getMobileNetworkTemplateFromSubId(context, getIntent()); if (mobileNetworkTemplateFromSim.isPresent()) { mNetworkTemplate = mobileNetworkTemplateFromSim.get(); } } if (mNetworkTemplate == null) { mNetworkTemplate = DataUsageUtils.getDefaultTemplate(context, DataUsageUtils.getDefaultSubscriptionId(context)); Loading src/com/android/settings/datausage/DataUsageList.java +9 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ import com.android.settingslib.net.UidDetailProvider; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; /** * Panel showing data usage history across various networks, including options Loading Loading @@ -266,6 +267,14 @@ public class DataUsageList extends DataUsageBaseFragment mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE); if (mTemplate == null) { Optional<NetworkTemplate> mobileNetworkTemplateFromSim = DataUsageUtils.getMobileNetworkTemplateFromSubId(getContext(), getIntent()); if (mobileNetworkTemplateFromSim.isPresent()) { mTemplate = mobileNetworkTemplateFromSim.get(); } } } } Loading src/com/android/settings/datausage/DataUsageUtils.java +21 −0 Original line number Diff line number Diff line Loading @@ -22,11 +22,13 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY; import android.app.usage.NetworkStats.Bucket; import android.app.usage.NetworkStatsManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkTemplate; import android.os.RemoteException; import android.os.SystemProperties; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; Loading @@ -39,6 +41,7 @@ import com.android.settings.datausage.lib.DataUsageLib; import com.android.settings.network.ProxySubscriptionManager; import java.util.List; import java.util.Optional; /** * Utility methods for data usage classes. Loading Loading @@ -193,4 +196,22 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU } } /** * Returns a mobile NetworkTemplate if EXTRA_SUB_ID of the Intent is available and the subId * is valid & hasMobileData. Otherwise, returns empty data. */ public static Optional<NetworkTemplate> getMobileNetworkTemplateFromSubId(Context context, Intent intent) { if (intent == null || !intent.hasExtra(Settings.EXTRA_SUB_ID)) { return Optional.empty(); } int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); if (SubscriptionManager.isValidSubscriptionId(subId) && hasMobileData(context)) { return Optional.of(DataUsageLib.getMobileTemplate(context, subId)); } return Optional.empty(); } } Loading
src/com/android/settings/datausage/BillingCycleSettings.java +14 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import android.icu.util.MeasureUnit; import android.net.NetworkPolicy; import android.net.NetworkTemplate; import android.os.Bundle; import android.provider.Settings; import android.text.method.NumberKeyListener; import android.util.Log; import android.view.LayoutInflater; Loading Loading @@ -54,6 +55,7 @@ import com.android.settingslib.search.SearchIndexable; import java.text.NumberFormat; import java.text.ParseException; import java.util.Optional; import java.util.TimeZone; @SearchIndexable Loading Loading @@ -115,6 +117,18 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements Bundle args = getArguments(); mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE); if (mNetworkTemplate == null && getIntent() != null) { mNetworkTemplate = getIntent().getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE); } if (mNetworkTemplate == null) { Optional<NetworkTemplate> mobileNetworkTemplateFromSim = DataUsageUtils.getMobileNetworkTemplateFromSubId(context, getIntent()); if (mobileNetworkTemplateFromSim.isPresent()) { mNetworkTemplate = mobileNetworkTemplateFromSim.get(); } } if (mNetworkTemplate == null) { mNetworkTemplate = DataUsageUtils.getDefaultTemplate(context, DataUsageUtils.getDefaultSubscriptionId(context)); Loading
src/com/android/settings/datausage/DataUsageList.java +9 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ import com.android.settingslib.net.UidDetailProvider; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; /** * Panel showing data usage history across various networks, including options Loading Loading @@ -266,6 +267,14 @@ public class DataUsageList extends DataUsageBaseFragment mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE); if (mTemplate == null) { Optional<NetworkTemplate> mobileNetworkTemplateFromSim = DataUsageUtils.getMobileNetworkTemplateFromSubId(getContext(), getIntent()); if (mobileNetworkTemplateFromSim.isPresent()) { mTemplate = mobileNetworkTemplateFromSim.get(); } } } } Loading
src/com/android/settings/datausage/DataUsageUtils.java +21 −0 Original line number Diff line number Diff line Loading @@ -22,11 +22,13 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY; import android.app.usage.NetworkStats.Bucket; import android.app.usage.NetworkStatsManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkTemplate; import android.os.RemoteException; import android.os.SystemProperties; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; Loading @@ -39,6 +41,7 @@ import com.android.settings.datausage.lib.DataUsageLib; import com.android.settings.network.ProxySubscriptionManager; import java.util.List; import java.util.Optional; /** * Utility methods for data usage classes. Loading Loading @@ -193,4 +196,22 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU } } /** * Returns a mobile NetworkTemplate if EXTRA_SUB_ID of the Intent is available and the subId * is valid & hasMobileData. Otherwise, returns empty data. */ public static Optional<NetworkTemplate> getMobileNetworkTemplateFromSubId(Context context, Intent intent) { if (intent == null || !intent.hasExtra(Settings.EXTRA_SUB_ID)) { return Optional.empty(); } int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); if (SubscriptionManager.isValidSubscriptionId(subId) && hasMobileData(context)) { return Optional.of(DataUsageLib.getMobileTemplate(context, subId)); } return Optional.empty(); } }