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

Commit 5f2a8c58 authored by Jack Yu's avatar Jack Yu Committed by Android Build Coastguard Worker
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 e86e7520
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;
@@ -31,10 +32,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
@@ -57,7 +60,11 @@ public class SecureNfcPreferenceController extends TogglePreferenceController

    @Override
    public boolean setChecked(boolean isChecked) {
        if (isToggleable()) {
            return mNfcAdapter.enableSecureNfc(isChecked);
        } else {
            return false;
        }
    }

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

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

}