From 81c79bb239df4a476f34d99ad25686687149f96e Mon Sep 17 00:00:00 2001 From: robertluo Date: Mon, 3 Feb 2020 14:45:46 +0800 Subject: [PATCH] Merge Tap & Pay settings entries with NFC Bug: 142231537 Test: make -j42 RunSettingsRoboTests Change-Id: I54ea0cdf711f2c381f5bba8575fc22bd6329f3c6 --- res/values/strings.xml | 4 + res/xml/connected_devices_advanced.xml | 18 +-- res/xml/nfc_and_payment_settings.xml | 40 +++++++ res/xml/special_access.xml | 7 -- ...ltPaymentSettingsPreferenceController.java | 47 +++++++- .../specialaccess/PaymentSettingsEnabler.java | 54 +++++++++ .../NfcAndPaymentFragment.java | 58 +++++++++ .../NfcAndPaymentFragmentController.java | 67 +++++++++++ ...ymentSettingsPreferenceControllerTest.java | 10 ++ .../PaymentSettingsEnablerTest.java | 67 +++++++++++ .../NfcAndPaymentFragmentControllerTest.java | 111 ++++++++++++++++++ .../NfcAndPaymentFragmentTest.java | 76 ++++++++++++ 12 files changed, 536 insertions(+), 23 deletions(-) create mode 100644 res/xml/nfc_and_payment_settings.xml create mode 100644 src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java create mode 100644 src/com/android/settings/connecteddevice/NfcAndPaymentFragment.java create mode 100644 src/com/android/settings/connecteddevice/NfcAndPaymentFragmentController.java create mode 100644 tests/robotests/src/com/android/settings/applications/specialaccess/PaymentSettingsEnablerTest.java create mode 100644 tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentControllerTest.java create mode 100644 tests/robotests/src/com/android/settings/connecteddevice/NfcAndPaymentFragmentTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index 05a80a38b9c..71a386ee732 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -7108,6 +7108,8 @@ + + Account for content @@ -7338,6 +7340,8 @@ Bluetooth, NFC Bluetooth + + Unavailable because NFC is off Apps & notifications diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml index 7c50bccb9cb..f5cef7ef5fc 100644 --- a/res/xml/connected_devices_advanced.xml +++ b/res/xml/connected_devices_advanced.xml @@ -28,21 +28,13 @@ android:order="-9" settings:searchable="false"/> - - - + android:order="-7" + settings:controller="com.android.settings.connecteddevice.NfcAndPaymentFragmentController"/> + + + + + + + + + \ No newline at end of file diff --git a/res/xml/special_access.xml b/res/xml/special_access.xml index e511d178682..200f896c4ba 100644 --- a/res/xml/special_access.xml +++ b/res/xml/special_access.xml @@ -100,13 +100,6 @@ android:fragment="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsAccess" settings:controller="com.android.settings.applications.specialaccess.premiumsms.PremiumSmsController" /> - - indexRes = + NfcAndPaymentFragment.SEARCH_INDEX_DATA_PROVIDER + .getXmlResourcesToIndex(mContext, true /* enabled */); + + assertThat(indexRes).isNotNull(); + assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId()); + } + + @Test + public void searchIndexProvider_shouldIndexAllItems() { + when(mContext.getApplicationContext()).thenReturn(mContext); + when(NfcAdapter.getDefaultAdapter(mContext)).thenReturn(mNfcAdapter); + when(mNfcAdapter.isSecureNfcSupported()).thenReturn(true); + + final List niks = NfcAndPaymentFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + assertThat(niks).isNotNull(); + assertThat(niks).isEmpty(); + } +}