From 4d03c5b48980faba7eff60267696da346f595714 Mon Sep 17 00:00:00 2001 From: Andre Eisenbach Date: Thu, 23 Feb 2017 12:10:03 -0800 Subject: [PATCH] Do not index NFC for search if NFC is not present Bug: 35657617 Test: manual Change-Id: I320b46d4d384611725d2dea628cf42180b8018ac --- src/com/android/settings/nfc/PaymentSettings.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/nfc/PaymentSettings.java b/src/com/android/settings/nfc/PaymentSettings.java index 37a77f9a9d0..a54ba4eb66d 100644 --- a/src/com/android/settings/nfc/PaymentSettings.java +++ b/src/com/android/settings/nfc/PaymentSettings.java @@ -19,6 +19,7 @@ package com.android.settings.nfc; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.res.Resources; import android.nfc.NfcAdapter; import android.os.Bundle; @@ -45,6 +46,9 @@ import java.util.List; public class PaymentSettings extends SettingsPreferenceFragment implements Indexable { public static final String TAG = "PaymentSettings"; + + static final String PAYMENT_KEY = "payment"; + private PaymentBackend mPaymentBackend; @Override @@ -66,7 +70,7 @@ public class PaymentSettings extends SettingsPreferenceFragment implements Index if (appInfos != null && appInfos.size() > 0) { NfcPaymentPreference preference = new NfcPaymentPreference(getPrefContext(), mPaymentBackend); - preference.setKey("payment"); + preference.setKey(PAYMENT_KEY); screen.addPreference(preference); NfcForegroundPreference foreground = new NfcForegroundPreference(getPrefContext(), mPaymentBackend); @@ -154,5 +158,14 @@ public class PaymentSettings extends SettingsPreferenceFragment implements Index result.add(data); return result; } + + @Override + public List getNonIndexableKeys(Context context) { + final PackageManager pm = context.getPackageManager(); + if (pm.hasSystemFeature(PackageManager.FEATURE_NFC)) return null; + final List nonVisibleKeys = new ArrayList(); + nonVisibleKeys.add(PAYMENT_KEY); + return nonVisibleKeys; + } }; }