Read SettingsIntelligence package name from resource

Test: make RunSettingsRoboTests
Change-Id: I2143e1f7657cc0e01e91978e8c212ff079cec7d7
This commit is contained in:
Raff Tsai
2018-11-13 14:45:01 +08:00
parent 675f843659
commit 35ae9bbaac
5 changed files with 14 additions and 8 deletions

View File

@@ -145,4 +145,9 @@
<!-- Whether or not TopLevelSettings should force rounded icon for injected tiles -->
<bool name="config_force_rounded_icon_TopLevelSettings">true</bool>
<!-- Settings intelligence package name -->
<string name="config_settingsintelligence_package_name" translatable="false">
com.android.settings.intelligence
</string>
</resources>

View File

@@ -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()

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -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);
}