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

Commit a5d82be4 authored by Roshan Pius's avatar Roshan Pius
Browse files

settings(payments): Use newly exposed formal API for CardEmulation.getServices()

Bug: 307352220
Test: Compiles
(cherry picked from https://android-review.googlesource.com/q/commit:1b6f9160c6954619bc86a3f7c7c39241b2427d91)
Change-Id: Iaaa37a8e55d755f8abcbaa26c31bf7962e166e96
parent 92219f0d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -76,6 +76,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;