Merge "Support search index for Accessibility button & gesture" into main
This commit is contained in:
@@ -17,12 +17,16 @@
|
|||||||
package com.android.settings.accessibility;
|
package com.android.settings.accessibility;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Resources;
|
||||||
|
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
|
import com.android.settingslib.search.SearchIndexableRaw;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Preference controller for accessibility button preference.
|
* Preference controller for accessibility button preference.
|
||||||
@@ -41,10 +45,23 @@ public class AccessibilityButtonPreferenceController extends BasePreferenceContr
|
|||||||
@Override
|
@Override
|
||||||
public void displayPreference(PreferenceScreen screen) {
|
public void displayPreference(PreferenceScreen screen) {
|
||||||
super.displayPreference(screen);
|
super.displayPreference(screen);
|
||||||
final int titleResource = AccessibilityUtil.isGestureNavigateEnabled(mContext)
|
|
||||||
? R.string.accessibility_button_gesture_title : R.string.accessibility_button_title;
|
|
||||||
final Preference preference = screen.findPreference(getPreferenceKey());
|
final Preference preference = screen.findPreference(getPreferenceKey());
|
||||||
preference.setTitle(titleResource);
|
preference.setTitle(getPreferenceTitleResource());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
|
||||||
|
SearchIndexableRaw data = new SearchIndexableRaw(mContext);
|
||||||
|
data.key = getPreferenceKey();
|
||||||
|
final Resources res = mContext.getResources();
|
||||||
|
data.title = res.getString(getPreferenceTitleResource());
|
||||||
|
data.screenTitle = res.getString(R.string.accessibility_shortcuts_settings_title);
|
||||||
|
rawData.add(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getPreferenceTitleResource() {
|
||||||
|
return AccessibilityUtil.isGestureNavigateEnabled(mContext)
|
||||||
|
? R.string.accessibility_button_gesture_title : R.string.accessibility_button_title;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -31,6 +31,7 @@ import androidx.preference.PreferenceScreen;
|
|||||||
import androidx.test.core.app.ApplicationProvider;
|
import androidx.test.core.app.ApplicationProvider;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settingslib.search.SearchIndexableRaw;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
@@ -42,6 +43,9 @@ import org.mockito.junit.MockitoJUnit;
|
|||||||
import org.mockito.junit.MockitoRule;
|
import org.mockito.junit.MockitoRule;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/** Tests for {@link AccessibilityButtonPreferenceController}. */
|
/** Tests for {@link AccessibilityButtonPreferenceController}. */
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class AccessibilityButtonPreferenceControllerTest {
|
public class AccessibilityButtonPreferenceControllerTest {
|
||||||
@@ -88,4 +92,36 @@ public class AccessibilityButtonPreferenceControllerTest {
|
|||||||
assertThat(mPreference.getTitle()).isEqualTo(
|
assertThat(mPreference.getTitle()).isEqualTo(
|
||||||
mContext.getText(R.string.accessibility_button_title));
|
mContext.getText(R.string.accessibility_button_title));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateDynamicRawDataToIndex_navigationGestureEnabled_setCorrectIndex() {
|
||||||
|
when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
|
||||||
|
.thenReturn(NAV_BAR_MODE_GESTURAL);
|
||||||
|
List<SearchIndexableRaw> rawDataList = new ArrayList<>();
|
||||||
|
|
||||||
|
mController.updateDynamicRawDataToIndex(rawDataList);
|
||||||
|
|
||||||
|
assertThat(rawDataList).hasSize(1);
|
||||||
|
SearchIndexableRaw raw = rawDataList.get(0);
|
||||||
|
assertThat(raw.title).isEqualTo(
|
||||||
|
mResources.getString(R.string.accessibility_button_gesture_title));
|
||||||
|
assertThat(raw.screenTitle).isEqualTo(
|
||||||
|
mResources.getString(R.string.accessibility_shortcuts_settings_title));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void updateDynamicRawDataToIndex_navigationGestureDisabled_setCorrectIndex() {
|
||||||
|
when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
|
||||||
|
.thenReturn(NAV_BAR_MODE_2BUTTON);
|
||||||
|
List<SearchIndexableRaw> rawDataList = new ArrayList<>();
|
||||||
|
|
||||||
|
mController.updateDynamicRawDataToIndex(rawDataList);
|
||||||
|
|
||||||
|
assertThat(rawDataList).hasSize(1);
|
||||||
|
SearchIndexableRaw raw = rawDataList.get(0);
|
||||||
|
assertThat(raw.title).isEqualTo(
|
||||||
|
mResources.getString(R.string.accessibility_button_title));
|
||||||
|
assertThat(raw.screenTitle).isEqualTo(
|
||||||
|
mResources.getString(R.string.accessibility_shortcuts_settings_title));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user