From 35ae9bbaac8a7f4920e8ba50a0d7a99c3e955d10 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Tue, 13 Nov 2018 14:45:01 +0800 Subject: [PATCH] Read SettingsIntelligence package name from resource Test: make RunSettingsRoboTests Change-Id: I2143e1f7657cc0e01e91978e8c212ff079cec7d7 --- res/values/config.xml | 5 +++++ .../android/settings/search/SearchFeatureProvider.java | 9 +++++---- .../settings/search/SearchFeatureProviderImpl.java | 2 +- .../settings/search/actionbar/SearchMenuController.java | 4 ++-- .../settings/search/SearchFeatureProviderImplTest.java | 2 +- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/res/values/config.xml b/res/values/config.xml index a9fe35dc07b..d487f46321f 100755 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -145,4 +145,9 @@ true + + + + com.android.settings.intelligence + diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java index 9c1f07c9fa6..464b8f5ef2f 100644 --- a/src/com/android/settings/search/SearchFeatureProvider.java +++ b/src/com/android/settings/search/SearchFeatureProvider.java @@ -29,6 +29,7 @@ import android.view.ViewGroup; import android.widget.Toolbar; import com.android.internal.logging.nano.MetricsProto; +import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.search.SearchIndexableResources; @@ -55,8 +56,8 @@ public interface SearchFeatureProvider { */ SearchIndexableResources getSearchIndexableResources(); - default String getSettingsIntelligencePkgName() { - return "com.android.settings.intelligence"; + default String getSettingsIntelligencePkgName(Context context) { + return context.getString(R.string.config_settingsintelligence_package_name); } /** @@ -66,7 +67,7 @@ public interface SearchFeatureProvider { if (activity == null || toolbar == null) { return; } - if (!Utils.isPackageEnabled(activity, getSettingsIntelligencePkgName())) { + if (!Utils.isPackageEnabled(activity, getSettingsIntelligencePkgName(activity))) { final ViewGroup parent = (ViewGroup)toolbar.getParent(); if (parent != null) { parent.setVisibility(View.GONE); @@ -84,7 +85,7 @@ public interface SearchFeatureProvider { toolbar.setOnClickListener(tb -> { final Intent intent = SEARCH_UI_INTENT; - intent.setPackage(getSettingsIntelligencePkgName()); + intent.setPackage(getSettingsIntelligencePkgName(activity)); final Context context = activity.getApplicationContext(); FeatureFactory.getFactory(context).getSlicesFeatureProvider() diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java index 4f2f8db1893..a5a87774ee6 100644 --- a/src/com/android/settings/search/SearchFeatureProviderImpl.java +++ b/src/com/android/settings/search/SearchFeatureProviderImpl.java @@ -41,7 +41,7 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider { } final String packageName = caller.getPackageName(); final boolean isSettingsPackage = TextUtils.equals(packageName, context.getPackageName()) - || TextUtils.equals(getSettingsIntelligencePkgName(), packageName); + || TextUtils.equals(getSettingsIntelligencePkgName(context), packageName); final boolean isWhitelistedPackage = isSignatureWhitelisted(context, caller.getPackageName()); if (isSettingsPackage || isWhitelistedPackage) { diff --git a/src/com/android/settings/search/actionbar/SearchMenuController.java b/src/com/android/settings/search/actionbar/SearchMenuController.java index 0caa3086918..22adbeba775 100644 --- a/src/com/android/settings/search/actionbar/SearchMenuController.java +++ b/src/com/android/settings/search/actionbar/SearchMenuController.java @@ -57,8 +57,8 @@ public class SearchMenuController implements LifecycleObserver, OnCreateOptionsM @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { final Context context = mHost.getContext(); - final String SettingsIntelligencePkgName = FeatureFactory.getFactory(context) - .getSearchFeatureProvider().getSettingsIntelligencePkgName(); + final String SettingsIntelligencePkgName = context.getString( + R.string.config_settingsintelligence_package_name); if (!Utils.isDeviceProvisioned(mHost.getContext())) { return; } diff --git a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java index d0546b6c5a5..bcb9372308b 100644 --- a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java @@ -89,7 +89,7 @@ public class SearchFeatureProviderImplTest { @Test public void verifyLaunchSearchResultPageCaller_settingsIntelligenceCaller_shouldNotCrash() { - final String packageName = mProvider.getSettingsIntelligencePkgName(); + final String packageName = mProvider.getSettingsIntelligencePkgName(mActivity); final ComponentName cn = new ComponentName(packageName, "class"); mProvider.verifyLaunchSearchResultPageCaller(mActivity, cn); }