Merge "Make Nfc/Beam searchable based on feature availability" into pi-dev

am: dc09b3ff49

Change-Id: I3574ef8d49987b0b94bb2641d15cbf782772e5f7
This commit is contained in:
hjchangliao
2018-04-25 10:16:41 -07:00
committed by android-build-merger
4 changed files with 48 additions and 3 deletions

View File

@@ -67,7 +67,7 @@ public abstract class BaseNfcPreferenceController extends AbstractPreferenceCont
@Override
public void updateNonIndexableKeys(List<String> keys) {
if (isAvailable()) {
if (!isAvailable()) {
keys.add(getPreferenceKey());
}
}

View File

@@ -78,7 +78,6 @@ public class ConnectedDeviceDashboardFragmentTest {
final List<String> 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);
}
}

View File

@@ -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<String> keys = new ArrayList<>();
mAndroidBeamController.updateNonIndexableKeys(keys);
assertThat(keys).isEmpty();
}
@Test
public void updateNonIndexableKeys_notAvailable_shouldUpdate() {
ReflectionHelpers.setField(mAndroidBeamController, "mNfcAdapter", null);
final List<String> keys = new ArrayList<>();
mAndroidBeamController.updateNonIndexableKeys(keys);
assertThat(keys).hasSize(1);
}
}

View File

@@ -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<String> keys = new ArrayList<>();
mNfcController.updateNonIndexableKeys(keys);
assertThat(keys).isEmpty();
}
@Test
public void updateNonIndexableKeys_notAvailable_shouldUpdate() {
ReflectionHelpers.setField(mNfcController, "mNfcAdapter", null);
final List<String> keys = new ArrayList<>();
mNfcController.updateNonIndexableKeys(keys);
assertThat(keys).hasSize(1);
}
}