Make pref unsearchable for more availibility status.
Bug: 72748524 Test: robotest Change-Id: I12b13ac3503f851857787df98a2d2f599c71b9b7
This commit is contained in:
@@ -16,12 +16,12 @@
|
||||
package com.android.settings.core;
|
||||
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
|
||||
import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
|
||||
import static com.android.settings.core.BasePreferenceController.DISABLED_FOR_USER;
|
||||
import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -36,8 +36,10 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceGroup;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@@ -72,6 +74,13 @@ public class BasePreferenceControllerTest {
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_availableStatusUnSearchable_returnsTrue() {
|
||||
mPreferenceController.setAvailability(AVAILABLE_UNSEARCHABLE);
|
||||
|
||||
assertThat(mPreferenceController.isAvailable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isAvailable_availableStatusUnsupportedOnDevice_returnsFalse() {
|
||||
mPreferenceController.setAvailability(UNSUPPORTED_ON_DEVICE);
|
||||
@@ -159,6 +168,36 @@ public class BasePreferenceControllerTest {
|
||||
assertThat(preference.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateNonIndexableKeys_controllerUnavailable_shouldAddKey() {
|
||||
final List<String> keys = new ArrayList<>();
|
||||
mPreferenceController.setAvailability(UNSUPPORTED_ON_DEVICE);
|
||||
|
||||
mPreferenceController.updateNonIndexableKeys(keys);
|
||||
|
||||
assertThat(keys).containsExactly(mPreferenceController.getPreferenceKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateNonIndexableKeys_controllerUnsearchable_shouldAddKey() {
|
||||
final List<String> keys = new ArrayList<>();
|
||||
mPreferenceController.setAvailability(AVAILABLE_UNSEARCHABLE);
|
||||
|
||||
mPreferenceController.updateNonIndexableKeys(keys);
|
||||
|
||||
assertThat(keys).containsExactly(mPreferenceController.getPreferenceKey());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateNonIndexableKeys_controllerAvailable_shouldNotAddKey() {
|
||||
final List<String> keys = new ArrayList<>();
|
||||
mPreferenceController.setAvailability(AVAILABLE);
|
||||
|
||||
mPreferenceController.updateNonIndexableKeys(keys);
|
||||
|
||||
assertThat(keys).isEmpty();
|
||||
}
|
||||
|
||||
private class FakeBasePreferenceController extends BasePreferenceController {
|
||||
|
||||
public int mAvailable;
|
||||
|
Reference in New Issue
Block a user