Restrict AddAppNetworksActivity for guest user

- Don't show AddAppNetworksActivity if the user is a guest.

Bug: 224772678
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=AddAppNetworksActivityTest

Change-Id: I17571905f1c4a38db884e6d0523b7f8d668df607
This commit is contained in:
Weng Su
2022-06-16 00:33:07 +08:00
parent 5f50ce04f1
commit f53f3e6e41
2 changed files with 55 additions and 8 deletions

View File

@@ -18,11 +18,14 @@ package com.android.settings.wifi.addappnetworks;
import android.app.ActivityManager;
import android.app.IActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.UserManager;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.EventLog;
import android.util.Log;
import android.view.Gravity;
import android.view.Window;
@@ -85,7 +88,13 @@ public class AddAppNetworksActivity extends FragmentActivity {
}
@VisibleForTesting
protected boolean showAddNetworksFragment() {
boolean showAddNetworksFragment() {
if (isGuestUser(getApplicationContext())) {
Log.e(TAG, "Guest user is not allowed to configure Wi-Fi!");
EventLog.writeEvent(0x534e4554, "224772678", -1 /* UID */, "User is a guest");
return false;
}
if (!isAddWifiConfigAllow()) {
Log.d(TAG, "Not allowed by Enterprise Restriction");
return false;
@@ -130,4 +139,11 @@ public class AddAppNetworksActivity extends FragmentActivity {
boolean isAddWifiConfigAllow() {
return WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(this);
}
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();
}
}