Loading src/com/android/settings/accessibility/AccessibilityButtonPreferenceController.java +20 −3 Original line number Diff line number Diff line Loading @@ -17,12 +17,16 @@ package com.android.settings.accessibility; import android.content.Context; import android.content.res.Resources; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.search.SearchIndexableRaw; import java.util.List; /** * Preference controller for accessibility button preference. Loading @@ -41,10 +45,23 @@ public class AccessibilityButtonPreferenceController extends BasePreferenceContr @Override public void displayPreference(PreferenceScreen 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()); 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; } } tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreferenceControllerTest.java +36 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; import com.android.settingslib.search.SearchIndexableRaw; import org.junit.Before; import org.junit.Rule; Loading @@ -42,6 +43,9 @@ import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.robolectric.RobolectricTestRunner; import java.util.ArrayList; import java.util.List; /** Tests for {@link AccessibilityButtonPreferenceController}. */ @RunWith(RobolectricTestRunner.class) public class AccessibilityButtonPreferenceControllerTest { Loading Loading @@ -88,4 +92,36 @@ public class AccessibilityButtonPreferenceControllerTest { assertThat(mPreference.getTitle()).isEqualTo( 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)); } } Loading
src/com/android/settings/accessibility/AccessibilityButtonPreferenceController.java +20 −3 Original line number Diff line number Diff line Loading @@ -17,12 +17,16 @@ package com.android.settings.accessibility; import android.content.Context; import android.content.res.Resources; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settingslib.search.SearchIndexableRaw; import java.util.List; /** * Preference controller for accessibility button preference. Loading @@ -41,10 +45,23 @@ public class AccessibilityButtonPreferenceController extends BasePreferenceContr @Override public void displayPreference(PreferenceScreen 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()); 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; } }
tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreferenceControllerTest.java +36 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.R; import com.android.settingslib.search.SearchIndexableRaw; import org.junit.Before; import org.junit.Rule; Loading @@ -42,6 +43,9 @@ import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; import org.robolectric.RobolectricTestRunner; import java.util.ArrayList; import java.util.List; /** Tests for {@link AccessibilityButtonPreferenceController}. */ @RunWith(RobolectricTestRunner.class) public class AccessibilityButtonPreferenceControllerTest { Loading Loading @@ -88,4 +92,36 @@ public class AccessibilityButtonPreferenceControllerTest { assertThat(mPreference.getTitle()).isEqualTo( 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)); } }