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

Commit 418f3ef6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "settings(payments): Use newly exposed formal API for CardEmulation.getServices()" into main

parents ed32d576 a5d82be4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ android_library {
        "android.hardware.dumpstate-V1-java",
        "android.hardware.dumpstate-V1.0-java",
        "android.hardware.dumpstate-V1.1-java",
        "android.nfc.flags-aconfig-java",
        "net-utils-framework-common",
        "notification_flags_lib",
        "securebox",
+12 −1
Original line number Diff line number Diff line
@@ -17,8 +17,10 @@
package com.android.settings.applications.specialaccess;

import android.content.Context;
import android.nfc.Flags;
import android.nfc.NfcAdapter;
import android.nfc.cardemulation.CardEmulation;
import android.os.UserHandle;

import androidx.preference.Preference;

@@ -64,12 +66,21 @@ public class PaymentSettingsEnabler extends BaseNfcEnabler {
        }
    }

    private boolean hasAnyServices() {
        if (Flags.enableNfcMainline()) {
            return mCardEmuManager.getServices(
                CardEmulation.CATEGORY_PAYMENT, UserHandle.myUserId()).isEmpty();
        } else {
            return mCardEmuManager.getServices(CardEmulation.CATEGORY_PAYMENT).isEmpty();
        }
    }

    @Override
    public void resume() {
        if (!isNfcAvailable()) {
            return;
        }
        if (mCardEmuManager.getServices(CardEmulation.CATEGORY_PAYMENT).isEmpty()) {
        if (hasAnyServices()) {
            mIsPaymentAvailable = false;
        } else {
            mIsPaymentAvailable = true;