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

Unverified Commit 2b918f6a authored by Jack Yu's avatar Jack Yu Committed by Kevin F. Haggerty
Browse files

Do not let guest user disable secure nfc

Bug: 209446496
Test: manual
Merged-In: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
Change-Id: I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
(cherry picked from commit d9e3e6e4)
(cherry picked from commit a579ca75)
Merged-In:I7253f7f08fde04e30400a30d9a0d24f1ceff04b0
parent 2ade216c
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -17,6 +17,12 @@
package com.android.settings.connecteddevice;

import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.os.UserHandle;
import android.os.UserManager;


import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
@@ -54,5 +60,16 @@ public class NfcAndPaymentFragment extends DashboardFragment {
     * For Search.
     */
    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings);
            new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings) {
            @Override
                protected boolean isPageSearchEnabled(Context context) {
                    final UserManager userManager = context.getSystemService(UserManager.class);
                    final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
                    if (myUserInfo.isGuest()) {
                        return false;
                    }
                    final PackageManager pm = context.getPackageManager();
                    return pm.hasSystemFeature(PackageManager.FEATURE_NFC);
                }
            };
}
+11 −3
Original line number Diff line number Diff line
@@ -18,9 +18,8 @@ package com.android.settings.nfc;

import android.content.Context;
import android.nfc.NfcAdapter;
import android.provider.Settings;
import android.os.UserManager;

import androidx.annotation.VisibleForTesting;
import androidx.preference.SwitchPreference;

import com.android.settings.R;
@@ -32,10 +31,12 @@ import com.android.settings.R;
 */
public class SecureNfcEnabler extends BaseNfcEnabler {
    private final SwitchPreference mPreference;
    private final UserManager mUserManager;

    public SecureNfcEnabler(Context context, SwitchPreference preference) {
        super(context);
        mPreference = preference;
        mUserManager = context.getSystemService(UserManager.class);
    }

    @Override
@@ -48,7 +49,7 @@ public class SecureNfcEnabler extends BaseNfcEnabler {
            case NfcAdapter.STATE_ON:
                mPreference.setSummary(R.string.nfc_secure_toggle_summary);
                mPreference.setChecked(mPreference.isChecked());
                mPreference.setEnabled(true);
                mPreference.setEnabled(isToggleable());
                break;
            case NfcAdapter.STATE_TURNING_ON:
                mPreference.setEnabled(false);
@@ -58,4 +59,11 @@ public class SecureNfcEnabler extends BaseNfcEnabler {
                break;
        }
    }

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