[Provider Model] 1.Only admin can config mobile data 2.Do not connect to mobile data when device is locked

Bug: 195901667
Bug: 196020201
Test: manual
Change-Id: Id0d372cfe4e71f323ae3f3136acfb9857ad1c539
Merged-In: Id0d372cfe4e71f323ae3f3136acfb9857ad1c539
(cherry picked from commit c5c72dc43e)
This commit is contained in:
Zoey Chen
2021-08-10 18:49:56 +08:00
parent b17c58a732
commit 0cf7dc970f
2 changed files with 5 additions and 2 deletions

View File

@@ -307,7 +307,8 @@ public class InternetDialog extends SystemUIDialog implements
private void setOnClickListener() {
mMobileNetworkLayout.setOnClickListener(v -> {
if (mInternetDialogController.isMobileDataEnabled()) {
if (mInternetDialogController.isMobileDataEnabled()
&& !mInternetDialogController.isDeviceLocked()) {
if (!mInternetDialogController.activeNetworkIsCellular()) {
mInternetDialogController.connectCarrierNetwork();
}

View File

@@ -69,6 +69,7 @@ public class AccessPointControllerImpl
private final ArrayList<AccessPointCallback> mCallbacks = new ArrayList<AccessPointCallback>();
private final UserManager mUserManager;
private final UserTracker mUserTracker;
private final Executor mMainExecutor;
private @Nullable WifiPickerTracker mWifiPickerTracker;
@@ -85,6 +86,7 @@ public class AccessPointControllerImpl
WifiPickerTrackerFactory wifiPickerTrackerFactory
) {
mUserManager = userManager;
mUserTracker = userTracker;
mCurrentUser = userTracker.getUserId();
mMainExecutor = mainExecutor;
mWifiPickerTrackerFactory = wifiPickerTrackerFactory;
@@ -121,7 +123,7 @@ public class AccessPointControllerImpl
public boolean canConfigMobileData() {
return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS,
UserHandle.of(mCurrentUser));
UserHandle.of(mCurrentUser)) || mUserTracker.getUserInfo().isAdmin();
}
public void onUserSwitched(int newUserId) {