From ad01bf88a773d8fa91b4e53aca5b5c59bba8218b Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Mon, 30 Oct 2023 14:45:07 -0700 Subject: [PATCH] settings(payments): Use newly exposed formal API for CardEmulation.getServices() Bug: 307352220 Test: Compiles Merged-In: Iaaa37a8e55d755f8abcbaa26c31bf7962e166e96 Change-Id: Iaaa37a8e55d755f8abcbaa26c31bf7962e166e96 --- Android.bp | 1 + .../specialaccess/PaymentSettingsEnabler.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Android.bp b/Android.bp index 4d07913b11a..9680b8b2ac7 100644 --- a/Android.bp +++ b/Android.bp @@ -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", diff --git a/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java b/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java index 597705ca170..e378eb3ca74 100644 --- a/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java +++ b/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java @@ -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;