diff --git a/src/com/android/settings/nfc/BaseNfcPreferenceController.java b/src/com/android/settings/nfc/BaseNfcPreferenceController.java index b945738eab5..33d75fab672 100644 --- a/src/com/android/settings/nfc/BaseNfcPreferenceController.java +++ b/src/com/android/settings/nfc/BaseNfcPreferenceController.java @@ -67,7 +67,7 @@ public abstract class BaseNfcPreferenceController extends AbstractPreferenceCont @Override public void updateNonIndexableKeys(List keys) { - if (isAvailable()) { + if (!isAvailable()) { keys.add(getPreferenceKey()); } } diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java index 0230540a61c..90641792639 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java @@ -78,7 +78,6 @@ public class ConnectedDeviceDashboardFragmentTest { final List niks = ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER .getNonIndexableKeys(mContext); - assertThat(niks).containsExactly(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES, - NfcPreferenceController.KEY_TOGGLE_NFC); + assertThat(niks).containsExactly(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES); } } diff --git a/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java index cb18b5abd9e..df5bb64c1e8 100644 --- a/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java @@ -41,6 +41,9 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; +import java.util.ArrayList; +import java.util.List; + @RunWith(SettingsRobolectricTestRunner.class) public class AndroidBeamPreferenceControllerTest { @@ -132,4 +135,24 @@ public class AndroidBeamPreferenceControllerTest { mAndroidBeamController.onResume(); assertThat(mAndroidBeamPreference.isEnabled()).isFalse(); } + + @Test + public void updateNonIndexableKeys_available_shouldNotUpdate() { + when(mNfcAdapter.isEnabled()).thenReturn(true); + final List keys = new ArrayList<>(); + + mAndroidBeamController.updateNonIndexableKeys(keys); + + assertThat(keys).isEmpty(); + } + + @Test + public void updateNonIndexableKeys_notAvailable_shouldUpdate() { + ReflectionHelpers.setField(mAndroidBeamController, "mNfcAdapter", null); + final List keys = new ArrayList<>(); + + mAndroidBeamController.updateNonIndexableKeys(keys); + + assertThat(keys).hasSize(1); + } } diff --git a/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java index cd90820b449..802e199abf2 100644 --- a/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/nfc/NfcPreferenceControllerTest.java @@ -39,6 +39,9 @@ import org.mockito.MockitoAnnotations; import org.robolectric.RuntimeEnvironment; import org.robolectric.util.ReflectionHelpers; +import java.util.ArrayList; +import java.util.List; + @RunWith(SettingsRobolectricTestRunner.class) public class NfcPreferenceControllerTest { @@ -134,4 +137,24 @@ public class NfcPreferenceControllerTest { mNfcController.onResume(); assertThat(mNfcPreference.isChecked()).isFalse(); } + + @Test + public void updateNonIndexableKeys_available_shouldNotUpdate() { + when(mNfcAdapter.isEnabled()).thenReturn(true); + final List keys = new ArrayList<>(); + + mNfcController.updateNonIndexableKeys(keys); + + assertThat(keys).isEmpty(); + } + + @Test + public void updateNonIndexableKeys_notAvailable_shouldUpdate() { + ReflectionHelpers.setField(mNfcController, "mNfcAdapter", null); + final List keys = new ArrayList<>(); + + mNfcController.updateNonIndexableKeys(keys); + + assertThat(keys).hasSize(1); + } }