Hide "Lanauage" in search to avoid dupe results.

Change-Id: I607ac2150912bfa6ca05e6f977daab7fd90a9637
Fixes: 67515153
Test: robotests
This commit is contained in:
Fan Zhang
2017-10-10 13:53:32 -07:00
parent aa410eba1d
commit 231986ae9c
3 changed files with 23 additions and 5 deletions

View File

@@ -177,7 +177,6 @@ public class LanguageAndInputSettings extends DashboardFragment {
// Duplicates in summary and details pages. // Duplicates in summary and details pages.
keys.add(KEY_TEXT_TO_SPEECH); keys.add(KEY_TEXT_TO_SPEECH);
keys.add(KEY_PHYSICAL_KEYBOARD); keys.add(KEY_PHYSICAL_KEYBOARD);
return keys; return keys;
} }
}; };

View File

@@ -23,6 +23,8 @@ import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import java.util.List;
public class PhoneLanguagePreferenceController extends AbstractPreferenceController public class PhoneLanguagePreferenceController extends AbstractPreferenceController
implements PreferenceControllerMixin { implements PreferenceControllerMixin {
@@ -47,6 +49,13 @@ public class PhoneLanguagePreferenceController extends AbstractPreferenceControl
preference.setSummary(localeNames); preference.setSummary(localeNames);
} }
@Override
public void updateNonIndexableKeys(List<String> keys) {
// No index needed, because this pref has the same name as the parent page. Indexing it will
// make search page look like there are duplicate result, creating confusion.
keys.add(getPreferenceKey());
}
@Override @Override
public String getPreferenceKey() { public String getPreferenceKey() {
return KEY_PHONE_LANGUAGE; return KEY_PHONE_LANGUAGE;

View File

@@ -16,12 +16,16 @@
package com.android.settings.language; package com.android.settings.language;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -31,9 +35,8 @@ 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.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)
@@ -77,4 +80,11 @@ public class PhoneLanguagePreferenceControllerTest {
verify(mPreference).setSummary(testSummary); verify(mPreference).setSummary(testSummary);
} }
@Test
public void testUpdateNonIndexable_shouldAddKey() {
final List<String> niks = new ArrayList<>();
mController.updateNonIndexableKeys(niks);
assertThat(niks).containsExactly(mController.getPreferenceKey());
}
} }