Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e9b1386 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix search indexing for game controller "use vibrator"" into oc-mr1-dev

parents a504291e 0d645772
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -83,8 +83,7 @@
        <SwitchPreference
            android:key="vibrate_input_devices"
            android:title="@string/vibrate_input_devices"
            android:summaryOn="@string/vibrate_input_devices_summary"
            android:summaryOff="@string/vibrate_input_devices_summary"/>
            android:summary="@string/vibrate_input_devices_summary" />

    </PreferenceCategory>

+0 −1
Original line number Diff line number Diff line
@@ -90,7 +90,6 @@

    <!-- Other sounds -->
    <PreferenceCategory
          android:key="other_sound_preferecence_category"
          android:title="@string/other_sound_category_preference_title"
          android:order="-50">

+13 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.inputmethod;
import android.content.Context;
import android.hardware.input.InputManager;
import android.provider.Settings;
import android.support.annotation.VisibleForTesting;
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
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.OnResume;

import java.util.List;

public class GameControllerPreferenceController extends AbstractPreferenceController
        implements PreferenceControllerMixin, InputManager.InputDeviceListener, LifecycleObserver,
        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 final InputManager mIm;
@@ -105,6 +109,14 @@ public class GameControllerPreferenceController extends AbstractPreferenceContro
                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
    public void onInputDeviceAdded(int deviceId) {
        updateGameControllers();
+23 −5
Original line number Diff line number Diff line
@@ -16,12 +16,17 @@

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.hardware.input.InputManager;
import android.view.InputDevice;

import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;

import org.junit.Before;
import org.junit.Test;
@@ -31,10 +36,9 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;

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 java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@@ -105,4 +109,18 @@ public class GameControllerPreferenceControllerTest {

        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()));
    }
}