Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2290b0af authored by Jack Yu's avatar Jack Yu
Browse files

Do not let guest user disable secuer nfc via SettingsSlice

Do not let guest user switch the secure nfc preferernce setting.

Bug: 228314987
Test: manual
Change-Id: I60a832e32d83bb57d968af2f8b92d94e2ac7c6a2
parent 392df50d
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -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
    public static final String KEY_SECURENFC_SETTINGS = "nfc_secure_settings";
    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) {
        if (isToggleable()) {
            return mNfcAdapter.enableSecureNfc(isChecked);
        } else {
            return false;
        }
    }

    @Override
@@ -95,4 +102,12 @@ public class SecureNfcPreferenceController extends TogglePreferenceController
            mSecureNfcEnabler.pause();
        }
    }

    private boolean isToggleable() {
        if (mUserManager.isGuestUser()) {
            return false;
        }
        return true;
    }

}