Merge "[Settings] Hide package name if needed" into udc-dev
This commit is contained in:
@@ -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>
|
||||
|
@@ -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;
|
||||
@@ -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() {
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
Reference in New Issue
Block a user