From: Fan Zhang Date: Wed, 31 May 2017 19:43:48 +0000 (-0700) Subject: Add search index for support dashboard activity. X-Git-Tag: android-x86-9.0-r1~930^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b47373014f82ec9ed11c940093f3e1a312aeaae1;p=android-x86%2Fpackages-apps-Settings.git Add search index for support dashboard activity. Change-Id: Ie9cf20316f94454a3d41f76d05b662e398c2c2ea Fix: 36005923 Test: make RunSettingsRoboTests --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 7dd42df3c7..4efabab4ce 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -3013,7 +3013,7 @@ android:resource="@string/system_dashboard_summary"/> - getRawDataToIndex(Context context, + boolean enabled) { + + final List result = new ArrayList<>(); + + // Add the activity title + SearchIndexableRaw data = new SearchIndexableRaw(context); + data.title = context.getString(R.string.page_tab_title_support); + data.screenTitle = context.getString(R.string.settings_label); + data.intentTargetPackage = context.getPackageName(); + data.intentTargetClass = SupportDashboardActivity.class.getName(); + data.intentAction = Intent.ACTION_MAIN; + data.key = SUPPORT_SEARCH_INDEX_KEY; + result.add(data); + + return result; + } + + @Override + public List getNonIndexableKeys(Context context) { + final List keys = super.getNonIndexableKeys(context); + if (!context.getResources().getBoolean(R.bool.config_support_enabled)) { + keys.add(SUPPORT_SEARCH_INDEX_KEY); + } + return keys; + } + }; +} diff --git a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java new file mode 100644 index 0000000000..d90d8d6e93 --- /dev/null +++ b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.support; + + +import android.content.Context; +import android.content.Intent; + +import com.android.settings.R; +import com.android.settings.SettingsRobolectricTestRunner; +import com.android.settings.TestConfig; +import com.android.settings.search.SearchIndexableRaw; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RuntimeEnvironment; +import org.robolectric.annotation.Config; + +import java.util.List; + +import static com.google.common.truth.Truth.assertThat; + +@RunWith(SettingsRobolectricTestRunner.class) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +public class SupportDashboardActivityTest { + + private Context mContext; + + @Before + public void setUp() { + mContext = RuntimeEnvironment.application; + } + + @Test + public void shouldIndexSearchActivityForSearch() { + final List indexables = + SupportDashboardActivity.SEARCH_INDEX_DATA_PROVIDER + .getRawDataToIndex(mContext, true /* enabled */); + + assertThat(indexables).hasSize(1); + + final SearchIndexableRaw value = indexables.get(0); + + assertThat(value.title).isEqualTo(mContext.getString(R.string.page_tab_title_support)); + assertThat(value.screenTitle).isEqualTo(mContext.getString(R.string.settings_label)); + assertThat(value.intentTargetPackage).isEqualTo(mContext.getPackageName()); + assertThat(value.intentTargetClass).isEqualTo(SupportDashboardActivity.class.getName()); + assertThat(value.intentAction).isEqualTo(Intent.ACTION_MAIN); + } +}