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

Commit 5e1c4d15 authored by Bonian Chen's avatar Bonian Chen
Browse files

[Settings] User with restriction should avoid from having entries

through Settings search

1. Avoid from generating search report when user been restricted.
2. Guest user should have this restriction but not available, add
   additional rule as a conpensation from UI's perspective.

Bug: 260860114
Test: local

Change-Id: I63ba7f3b10fc812dd1498f17826a15e822879613
parent 6f76d5dc
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -46,6 +46,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.network.telephony.MobileNetworkUtils;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.NetworkPolicyEditor;
import com.android.settingslib.net.DataUsageController;
@@ -517,7 +518,8 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements

                @Override
                protected boolean isPageSearchEnabled(Context context) {
                    return SubscriptionUtil.isSimHardwareVisible(context)
                    return (!MobileNetworkUtils.isMobileNetworkUserRestricted(context))
                            && SubscriptionUtil.isSimHardwareVisible(context)
                            && DataUsageUtils.hasMobileData(context);
                }
            };
+18 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import android.os.Bundle;
import android.os.PersistableBundle;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.os.UserManager;
import android.provider.Settings;
import android.telecom.PhoneAccountHandle;
import android.telecom.TelecomManager;
@@ -114,6 +115,23 @@ public class MobileNetworkUtils {
    public static final int NO_CELL_DATA_TYPE_ICON = 0;
    public static final Drawable EMPTY_DRAWABLE = new ColorDrawable(Color.TRANSPARENT);

    /**
     * Return true if current user limited by UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS.
     *
     * Note: Guest user should have this restriction through
     *       GuestTelephonyPreferenceController.java.
     *       However, it's not help with those devices upgraded their software.
     */
    public static boolean isMobileNetworkUserRestricted(Context context) {
        UserManager um = context.getSystemService(UserManager.class);
        boolean disallow = false;
        if (um != null) {
            disallow = um.isGuestUser() || um.hasUserRestriction(
                    UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
        }
        return disallow;
    }

    /**
     * Returns if DPC APNs are enforced.
     */