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

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

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

Bug: 307352220
Test: Compiles
Merged-In: Iaaa37a8e55d755f8abcbaa26c31bf7962e166e96
Change-Id: Iaaa37a8e55d755f8abcbaa26c31bf7962e166e96
parent 5abd3420
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ android_library {
        "res-product",
    ],
    static_libs: [
        "android.nfc.flags-aconfig-java",
        "androidx-constraintlayout_constraintlayout",
        "androidx.slice_slice-builders",
        "androidx.slice_slice-core",
+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;