Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3b35f24 authored by Bonian Chen's avatar Bonian Chen
Browse files

[Settings] Hide data usage when SIM support is turn OFF

Enable the UI control through configuration.

Bug: 240515161
Test: local, auto test
Merged-In: I5e49a2b0f2b563b426354f4d2e6e650dcc02c98b
Merged-In: I4e0db5688dc1b074d43f9d77dd2f6d4cc53a353c
Change-Id: I4e0db5688dc1b074d43f9d77dd2f6d4cc53a353c
parent b93416b2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@

    <PreferenceCategory
        android:key="app_data_usage_settings_category"
        settings:isPreferenceVisible="@bool/config_show_sim_info"
        android:layout="@layout/preference_category_no_label">

        <Preference
+3 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.datausage.AppDataUsage;
import com.android.settings.datausage.DataUsageUtils;
import com.android.settings.network.SubscriptionUtil;
import com.android.settingslib.AppItem;
import com.android.settingslib.applications.AppUtils;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -147,7 +148,8 @@ public class AppDataUsagePreferenceController extends AppInfoPreferenceControlle
    }

    private static NetworkTemplate getTemplate(Context context) {
        if (DataUsageUtils.hasReadyMobileRadio(context)) {
        if (SubscriptionUtil.isSimHardwareVisible(context)
                && DataUsageUtils.hasReadyMobileRadio(context)) {
            return new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE).setMeteredness(
                    NetworkStats.METERED_YES).build();
        }
+9 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import androidx.recyclerview.widget.RecyclerView;

import com.android.settings.R;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.widget.EntityHeaderController;
import com.android.settingslib.AppItem;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -109,6 +110,10 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
    private long mSelectedCycle;
    private boolean mIsLoading;

    public boolean isSimHardwareVisible(Context context) {
        return SubscriptionUtil.isSimHardwareVisible(context);
    }

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
@@ -161,7 +166,7 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
        final UidDetailProvider uidDetailProvider = getUidDetailProvider();

        if (mAppItem.key > 0) {
            if (!UserHandle.isApp(mAppItem.key)) {
            if ((!isSimHardwareVisible(mContext)) || !UserHandle.isApp(mAppItem.key)) {
                final UidDetail uidDetail = uidDetailProvider.getUidDetail(mAppItem.key, true);
                mIcon = uidDetail.icon;
                mLabel = uidDetail.label;
@@ -328,6 +333,9 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
    }

    private void updatePrefs(boolean restrictBackground, boolean unrestrictData) {
        if (!isSimHardwareVisible(mContext)) {
            return;
        }
        setBackPreferenceListAnimatorIfLoaded();
        final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfMeteredDataRestricted(
                mContext, mPackageName, UserHandle.getUserId(mAppItem.key));
+7 −1
Original line number Diff line number Diff line
@@ -42,6 +42,7 @@ import androidx.preference.SwitchPreference;

import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.net.DataUsageController;
@@ -102,6 +103,10 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements
        super.onCreate(icicle);

        final Context context = getContext();
        if (!SubscriptionUtil.isSimHardwareVisible(context)) {
            finish();
            return;
        }
        mDataUsageController = new DataUsageController(context);

        Bundle args = getArguments();
@@ -498,7 +503,8 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements

                @Override
                protected boolean isPageSearchEnabled(Context context) {
                    return DataUsageUtils.hasMobileData(context);
                    return SubscriptionUtil.isSimHardwareVisible(context)
                            && DataUsageUtils.hasMobileData(context);
                }
            };

+11 −0
Original line number Diff line number Diff line
@@ -75,11 +75,19 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
        return R.string.help_url_data_usage;
    }

    public boolean isSimHardwareVisible(Context context) {
        return SubscriptionUtil.isSimHardwareVisible(context);
    }

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        Context context = getContext();

        if (!isSimHardwareVisible(context)) {
            finish();
            return;
        }
        enableProxySubscriptionManager(context);

        boolean hasMobileData = DataUsageUtils.hasMobileData(context);
@@ -137,6 +145,9 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
        final Activity activity = getActivity();
        final ArrayList<AbstractPreferenceController> controllers = new ArrayList<>();
        if (!isSimHardwareVisible(context)) {
            return controllers;
        }
        mSummaryController =
                new DataUsageSummaryPreferenceController(activity, getSettingsLifecycle(), this,
                        DataUsageUtils.getDefaultSubscriptionId(activity));
Loading