Merge "[Settings] User with restriction should avoid from having entries through Settings search" into tm-qpr-dev am: 0362083f3a

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21367719

Change-Id: I54ad21af66956d5711a72f587d9af4c8389a185f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
TreeHugger Robot
2023-03-31 01:23:13 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 1 deletions

View File

@@ -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);
}
};

View File

@@ -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;
@@ -113,6 +114,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.
*/