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

Commit 8a0d26dc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Do not let guest user disable secure nfc"

parents 4d32addf d9e3e6e4
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;
    }
}