Loading res/values/config.xml +5 −0 Original line number Diff line number Diff line Loading @@ -710,4 +710,9 @@ <item></item> </string-array> <!-- List of packages that should be hidden for MVNO. Do not translate --> <string-array name="datausage_hiding_carrier_service_package_names" translatable="false"/> <!-- List of MVNO. Do not translate --> <integer-array name="datausage_hiding_carrier_service_carrier_id" translatable="false"/> </resources> src/com/android/settings/datausage/DataUsageList.java +28 −0 Original line number Diff line number Diff line Loading @@ -58,15 +58,20 @@ import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.datausage.CycleAdapter.SpinnerInterface; import com.android.settings.network.MobileDataEnabledListener; import com.android.settings.network.MobileNetworkRepository; import com.android.settings.network.ProxySubscriptionManager; import com.android.settings.widget.LoadingViewController; import com.android.settingslib.AppItem; import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; import com.android.settingslib.net.NetworkCycleChartData; import com.android.settingslib.net.NetworkCycleChartDataLoader; import com.android.settingslib.net.NetworkStatsSummaryLoader; import com.android.settingslib.net.UidDetail; import com.android.settingslib.net.UidDetailProvider; import com.android.settingslib.utils.ThreadUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Optional; Loading Loading @@ -118,6 +123,8 @@ public class DataUsageList extends DataUsageBaseFragment private Preference mUsageAmount; private PreferenceGroup mApps; private View mHeader; private MobileNetworkRepository mMobileNetworkRepository; private SubscriptionInfoEntity mSubscriptionInfoEntity; @Override public int getMetricsCategory() { Loading Loading @@ -146,6 +153,11 @@ public class DataUsageList extends DataUsageBaseFragment } processArgument(); mMobileNetworkRepository = MobileNetworkRepository.getInstance(getContext()); ThreadUtils.postOnBackgroundThread(() -> { mSubscriptionInfoEntity = mMobileNetworkRepository.getSubInfoById( String.valueOf(mSubId)); }); mDataStateListener = new MobileDataEnabledListener(activity, this); } Loading Loading @@ -451,7 +463,23 @@ public class DataUsageList extends DataUsageBaseFragment } Collections.sort(items); final List<String> packageNames = Arrays.asList(getContext().getResources().getStringArray( R.array.datausage_hiding_carrier_service_package_names)); boolean shouldHidePackageName = mSubscriptionInfoEntity != null ? Arrays.stream(getContext().getResources().getIntArray( R.array.datausage_hiding_carrier_service_carrier_id)) .anyMatch(carrierId -> (carrierId == mSubscriptionInfoEntity.carrierId)) : false; for (int i = 0; i < items.size(); i++) { UidDetail detail = mUidDetailProvider.getUidDetail(items.get(i).key, true); // Do not show carrier service package in data usage list if it should be hidden for // the carrier. if (detail != null && shouldHidePackageName && packageNames.contains( detail.packageName)) { continue; } final int percentTotal = largest != 0 ? (int) (items.get(i).total * 100 / largest) : 0; final AppDataUsagePreference preference = new AppDataUsagePreference(getContext(), items.get(i), percentTotal, mUidDetailProvider); Loading Loading
res/values/config.xml +5 −0 Original line number Diff line number Diff line Loading @@ -710,4 +710,9 @@ <item></item> </string-array> <!-- List of packages that should be hidden for MVNO. Do not translate --> <string-array name="datausage_hiding_carrier_service_package_names" translatable="false"/> <!-- List of MVNO. Do not translate --> <integer-array name="datausage_hiding_carrier_service_carrier_id" translatable="false"/> </resources>
src/com/android/settings/datausage/DataUsageList.java +28 −0 Original line number Diff line number Diff line Loading @@ -58,15 +58,20 @@ import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.datausage.CycleAdapter.SpinnerInterface; import com.android.settings.network.MobileDataEnabledListener; import com.android.settings.network.MobileNetworkRepository; import com.android.settings.network.ProxySubscriptionManager; import com.android.settings.widget.LoadingViewController; import com.android.settingslib.AppItem; import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; import com.android.settingslib.net.NetworkCycleChartData; import com.android.settingslib.net.NetworkCycleChartDataLoader; import com.android.settingslib.net.NetworkStatsSummaryLoader; import com.android.settingslib.net.UidDetail; import com.android.settingslib.net.UidDetailProvider; import com.android.settingslib.utils.ThreadUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Optional; Loading Loading @@ -118,6 +123,8 @@ public class DataUsageList extends DataUsageBaseFragment private Preference mUsageAmount; private PreferenceGroup mApps; private View mHeader; private MobileNetworkRepository mMobileNetworkRepository; private SubscriptionInfoEntity mSubscriptionInfoEntity; @Override public int getMetricsCategory() { Loading Loading @@ -146,6 +153,11 @@ public class DataUsageList extends DataUsageBaseFragment } processArgument(); mMobileNetworkRepository = MobileNetworkRepository.getInstance(getContext()); ThreadUtils.postOnBackgroundThread(() -> { mSubscriptionInfoEntity = mMobileNetworkRepository.getSubInfoById( String.valueOf(mSubId)); }); mDataStateListener = new MobileDataEnabledListener(activity, this); } Loading Loading @@ -451,7 +463,23 @@ public class DataUsageList extends DataUsageBaseFragment } Collections.sort(items); final List<String> packageNames = Arrays.asList(getContext().getResources().getStringArray( R.array.datausage_hiding_carrier_service_package_names)); boolean shouldHidePackageName = mSubscriptionInfoEntity != null ? Arrays.stream(getContext().getResources().getIntArray( R.array.datausage_hiding_carrier_service_carrier_id)) .anyMatch(carrierId -> (carrierId == mSubscriptionInfoEntity.carrierId)) : false; for (int i = 0; i < items.size(); i++) { UidDetail detail = mUidDetailProvider.getUidDetail(items.get(i).key, true); // Do not show carrier service package in data usage list if it should be hidden for // the carrier. if (detail != null && shouldHidePackageName && packageNames.contains( detail.packageName)) { continue; } final int percentTotal = largest != 0 ? (int) (items.get(i).total * 100 / largest) : 0; final AppDataUsagePreference preference = new AppDataUsagePreference(getContext(), items.get(i), percentTotal, mUidDetailProvider); Loading