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

Unverified Commit 69850f39 authored by Michael Bestas's avatar Michael Bestas
Browse files

Merge tag 'android-12.1.0_r4' into staging/lineage-19.1_merge-android-12.1.0_r4

Android 12.1.0 release 4

# -----BEGIN PGP SIGNATURE-----
#
# iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCYksyjwAKCRDorT+BmrEO
# eDmSAJ4kwcWY5v1tHD+shWs13IpazYG4IQCfXxrcMxdvy1/gUrpt5xFvucr4nic=
# =Ul4Q
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon Apr  4 21:01:51 2022 EEST
# gpg:                using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78
# gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [marginal]
# gpg: initial-contribution@android.com: Verified 1127 signatures in the past
#      5 months.  Encrypted 4 messages in the past 2 months.
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 4340 D135 70EF 945E 8381  0964 E8AD 3F81 9AB1 0E78

# By Jack Yu
# Via Android Build Coastguard Worker
* tag 'android-12.1.0_r4':
  Do not let guest user disable secure nfc

Change-Id: If6114c3260fb92c632dd0758578f6a14c4d6e3e4
parents 7fe361d9 5fe4cc76
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;
    }
}