Fix search indexing for game controller "use vibrator"
Change-Id: I34848a58b5ac4cdf58c7dd5f40677b78e764f2dc Fix: 64035933 Test: robotests
This commit is contained in:
@@ -83,8 +83,7 @@
|
|||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="vibrate_input_devices"
|
android:key="vibrate_input_devices"
|
||||||
android:title="@string/vibrate_input_devices"
|
android:title="@string/vibrate_input_devices"
|
||||||
android:summaryOn="@string/vibrate_input_devices_summary"
|
android:summary="@string/vibrate_input_devices_summary" />
|
||||||
android:summaryOff="@string/vibrate_input_devices_summary"/>
|
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
@@ -90,7 +90,6 @@
|
|||||||
|
|
||||||
<!-- Other sounds -->
|
<!-- Other sounds -->
|
||||||
<PreferenceCategory
|
<PreferenceCategory
|
||||||
android:key="other_sound_preferecence_category"
|
|
||||||
android:title="@string/other_sound_category_preference_title"
|
android:title="@string/other_sound_category_preference_title"
|
||||||
android:order="-50">
|
android:order="-50">
|
||||||
|
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.inputmethod;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.hardware.input.InputManager;
|
import android.hardware.input.InputManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
|
import android.support.annotation.VisibleForTesting;
|
||||||
import android.support.v14.preference.SwitchPreference;
|
import android.support.v14.preference.SwitchPreference;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
@@ -31,11 +32,14 @@ import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
|||||||
import com.android.settingslib.core.lifecycle.events.OnPause;
|
import com.android.settingslib.core.lifecycle.events.OnPause;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnResume;
|
import com.android.settingslib.core.lifecycle.events.OnResume;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class GameControllerPreferenceController extends AbstractPreferenceController
|
public class GameControllerPreferenceController extends AbstractPreferenceController
|
||||||
implements PreferenceControllerMixin, InputManager.InputDeviceListener, LifecycleObserver,
|
implements PreferenceControllerMixin, InputManager.InputDeviceListener, LifecycleObserver,
|
||||||
OnResume, OnPause {
|
OnResume, OnPause {
|
||||||
|
|
||||||
public static final String PREF_KEY = "vibrate_input_devices";
|
@VisibleForTesting
|
||||||
|
static final String PREF_KEY = "vibrate_input_devices";
|
||||||
private static final String CATEGORY_KEY = "game_controller_settings_category";
|
private static final String CATEGORY_KEY = "game_controller_settings_category";
|
||||||
|
|
||||||
private final InputManager mIm;
|
private final InputManager mIm;
|
||||||
@@ -105,6 +109,14 @@ public class GameControllerPreferenceController extends AbstractPreferenceContro
|
|||||||
Settings.System.VIBRATE_INPUT_DEVICES, 1) > 0);
|
Settings.System.VIBRATE_INPUT_DEVICES, 1) > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateNonIndexableKeys(List<String> keys) {
|
||||||
|
if (!isAvailable()) {
|
||||||
|
keys.add(CATEGORY_KEY);
|
||||||
|
keys.add(PREF_KEY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInputDeviceAdded(int deviceId) {
|
public void onInputDeviceAdded(int deviceId) {
|
||||||
updateGameControllers();
|
updateGameControllers();
|
||||||
|
@@ -16,12 +16,17 @@
|
|||||||
|
|
||||||
package com.android.settings.inputmethod;
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.hardware.input.InputManager;
|
import android.hardware.input.InputManager;
|
||||||
import android.view.InputDevice;
|
import android.view.InputDevice;
|
||||||
|
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -31,10 +36,9 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import java.util.ArrayList;
|
||||||
import static org.mockito.Mockito.never;
|
import java.util.Arrays;
|
||||||
import static org.mockito.Mockito.verify;
|
import java.util.List;
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||||
@@ -105,4 +109,18 @@ public class GameControllerPreferenceControllerTest {
|
|||||||
|
|
||||||
assertThat(mController.isAvailable()).isFalse();
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateNonIndexableKeys_shouldIncludeCategoryAndPrefKeys() {
|
||||||
|
when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{});
|
||||||
|
|
||||||
|
|
||||||
|
final List<String> nonIndexables = new ArrayList<>();
|
||||||
|
mController.updateNonIndexableKeys(nonIndexables);
|
||||||
|
|
||||||
|
assertThat(mController.isAvailable()).isFalse();
|
||||||
|
assertThat(nonIndexables).containsExactlyElementsIn(Arrays.asList(
|
||||||
|
GameControllerPreferenceController.PREF_KEY,
|
||||||
|
mController.getPreferenceKey()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user