Merge "Restrict WifiScanModeActivity for guest user" into tm-qpr-dev am: b4ad581fe7 am: 17070ee0c4

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

Change-Id: I505207cbd0ea7250583416c7fdfd898de6175948
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Weng Su
2022-07-27 04:53:46 +00:00
committed by Automerger Merge Worker
2 changed files with 54 additions and 1 deletions

View File

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