Merge "Restrict WifiDppConfiguratorActivity" into main

This commit is contained in:
Treehugger Robot
2024-04-03 08:18:15 +00:00
committed by Android (Google) Code Review
4 changed files with 188 additions and 0 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.wifi.dpp;
import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
@@ -99,6 +101,10 @@ public class WifiDppConfiguratorActivity extends WifiDppBaseActivity implements
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isAddWifiConfigAllowed(getApplicationContext())) {
finish();
return;
}
if (savedInstanceState != null) {
String qrCode = savedInstanceState.getString(KEY_QR_CODE);
@@ -119,6 +125,10 @@ public class WifiDppConfiguratorActivity extends WifiDppBaseActivity implements
@Override
protected void handleIntent(Intent intent) {
if (!isAddWifiConfigAllowed(getApplicationContext())) {
finish();
return;
}
if (isGuestUser(getApplicationContext())) {
Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!");
EventLog.writeEvent(0x534e4554, "224772890", -1 /* UID */, "User is a guest");
@@ -402,4 +412,14 @@ public class WifiDppConfiguratorActivity extends WifiDppBaseActivity implements
if (userManager == null) return false;
return userManager.isGuestUser();
}
@VisibleForTesting
static boolean isAddWifiConfigAllowed(Context context) {
UserManager userManager = context.getSystemService(UserManager.class);
if (userManager != null && userManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)) {
Log.e(TAG, "The user is not allowed to add Wi-Fi configuration.");
return false;
}
return true;
}
}