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

Unverified Commit 3c34dbee authored by Jack Yu's avatar Jack Yu Committed by Kevin F. Haggerty
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
(cherry picked from commit 2290b0af)
Merged-In: I60a832e32d83bb57d968af2f8b92d94e2ac7c6a2
parent f87255a4
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

    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
@@ -100,4 +107,12 @@ public class SecureNfcPreferenceController extends TogglePreferenceController
            mSecureNfcEnabler.pause();
        }
    }

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

}