diff --git a/src/com/android/settings/nfc/SecureNfcPreferenceController.java b/src/com/android/settings/nfc/SecureNfcPreferenceController.java index e1d27d0ba78..cf43ec30ded 100644 --- a/src/com/android/settings/nfc/SecureNfcPreferenceController.java +++ b/src/com/android/settings/nfc/SecureNfcPreferenceController.java @@ -17,6 +17,7 @@ package com.android.settings.nfc; import android.content.Context; import android.nfc.NfcAdapter; +import android.os.UserManager; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; @@ -32,10 +33,12 @@ public class SecureNfcPreferenceController extends TogglePreferenceController 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 @@ public class SecureNfcPreferenceController extends TogglePreferenceController @Override public boolean setChecked(boolean isChecked) { - return mNfcAdapter.enableSecureNfc(isChecked); + if (isToggleable()) { + return mNfcAdapter.enableSecureNfc(isChecked); + } else { + return false; + } } @Override @@ -100,4 +107,12 @@ public class SecureNfcPreferenceController extends TogglePreferenceController mSecureNfcEnabler.pause(); } } + + private boolean isToggleable() { + if (mUserManager.isGuestUser()) { + return false; + } + return true; + } + }