Merge "Do not let guest user disable secuer nfc via SettingsSlice" into qt-dev am: 2f184b0ff4 am: e3bbadb7df am: 6fd7cf1993 am: 165c11c0da am: 2e68c87afc am: b2a6f3b640 am: e6ee0ba1ca

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

Change-Id: Idd1b1e42bacbb74d950d9aa9a367b0f3a9fe176c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/settings/nfc/SecureNfcPreferenceController.java b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
index e1d27d0..cf43ec3 100644
--- a/src/com/android/settings/nfc/SecureNfcPreferenceController.java
+++ b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
@@ -17,6 +17,7 @@
 
 import android.content.Context;
 import android.nfc.NfcAdapter;
+import android.os.UserManager;
 
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
@@ -32,10 +33,12 @@
 
     private final NfcAdapter mNfcAdapter;
     private SecureNfcEnabler mSecureNfcEnabler;
+    private final UserManager mUserManager;
 
     public SecureNfcPreferenceController(Context context, String key) {
         super(context, key);
         mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
+        mUserManager = context.getSystemService(UserManager.class);
     }
 
     @Override
@@ -58,7 +61,11 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        return mNfcAdapter.enableSecureNfc(isChecked);
+        if (isToggleable()) {
+            return mNfcAdapter.enableSecureNfc(isChecked);
+        } else {
+            return false;
+        }
     }
 
     @Override
@@ -100,4 +107,12 @@
             mSecureNfcEnabler.pause();
         }
     }
+
+    private boolean isToggleable() {
+        if (mUserManager.isGuestUser()) {
+            return false;
+        }
+        return true;
+    }
+
 }