Restrict WifiScanModeActivity for guest user
- Don't show WifiScanModeActivity if the user is a guest. Bug: 235601169 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=WifiScanModeActivityTest Change-Id: I8f1d162d9b15116c3deb3656b9af6851d4514947
This commit is contained in:
@@ -18,11 +18,15 @@ package com.android.settings.wifi;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.UserManager;
|
||||
import android.text.TextUtils;
|
||||
import android.util.EventLog;
|
||||
import android.util.Log;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
@@ -39,6 +43,7 @@ import com.android.settingslib.wifi.WifiPermissionChecker;
|
||||
* This activity requests users permission to allow scanning even when Wi-Fi is turned off
|
||||
*/
|
||||
public class WifiScanModeActivity extends FragmentActivity {
|
||||
private static final String TAG = "WifiScanModeActivity";
|
||||
private DialogFragment mDialog;
|
||||
@VisibleForTesting
|
||||
String mApp;
|
||||
@@ -78,7 +83,15 @@ public class WifiScanModeActivity extends FragmentActivity {
|
||||
mApp = Utils.getApplicationLabel(getApplicationContext(), packageName).toString();
|
||||
}
|
||||
|
||||
private void createDialog() {
|
||||
@VisibleForTesting
|
||||
void createDialog() {
|
||||
if (isGuestUser(getApplicationContext())) {
|
||||
Log.e(TAG, "Guest user is not allowed to configure Wi-Fi Scan Mode!");
|
||||
EventLog.writeEvent(0x534e4554, "235601169", -1 /* UID */, "User is a guest");
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mDialog == null) {
|
||||
mDialog = AlertDialogFragment.newInstance(mApp);
|
||||
mDialog.show(getSupportFragmentManager(), "dialog");
|
||||
@@ -169,4 +182,11 @@ public class WifiScanModeActivity extends FragmentActivity {
|
||||
((WifiScanModeActivity) getActivity()).doNegativeClick();
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isGuestUser(Context context) {
|
||||
if (context == null) return false;
|
||||
final UserManager userManager = context.getSystemService(UserManager.class);
|
||||
if (userManager == null) return false;
|
||||
return userManager.isGuestUser();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user