Merge "Do not index NFC for search if NFC is not present"

This commit is contained in:
Andre Eisenbach
2017-02-23 21:00:53 +00:00
committed by Android (Google) Code Review

View File

@@ -19,6 +19,7 @@ package com.android.settings.nfc;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.nfc.NfcAdapter; import android.nfc.NfcAdapter;
import android.os.Bundle; import android.os.Bundle;
@@ -45,6 +46,9 @@ import java.util.List;
public class PaymentSettings extends SettingsPreferenceFragment implements Indexable { public class PaymentSettings extends SettingsPreferenceFragment implements Indexable {
public static final String TAG = "PaymentSettings"; public static final String TAG = "PaymentSettings";
static final String PAYMENT_KEY = "payment";
private PaymentBackend mPaymentBackend; private PaymentBackend mPaymentBackend;
@Override @Override
@@ -66,7 +70,7 @@ public class PaymentSettings extends SettingsPreferenceFragment implements Index
if (appInfos != null && appInfos.size() > 0) { if (appInfos != null && appInfos.size() > 0) {
NfcPaymentPreference preference = NfcPaymentPreference preference =
new NfcPaymentPreference(getPrefContext(), mPaymentBackend); new NfcPaymentPreference(getPrefContext(), mPaymentBackend);
preference.setKey("payment"); preference.setKey(PAYMENT_KEY);
screen.addPreference(preference); screen.addPreference(preference);
NfcForegroundPreference foreground = new NfcForegroundPreference(getPrefContext(), NfcForegroundPreference foreground = new NfcForegroundPreference(getPrefContext(),
mPaymentBackend); mPaymentBackend);
@@ -154,5 +158,14 @@ public class PaymentSettings extends SettingsPreferenceFragment implements Index
result.add(data); result.add(data);
return result; return result;
} }
@Override
public List<String> getNonIndexableKeys(Context context) {
final PackageManager pm = context.getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_NFC)) return null;
final List<String> nonVisibleKeys = new ArrayList<String>();
nonVisibleKeys.add(PAYMENT_KEY);
return nonVisibleKeys;
}
}; };
} }