OSDN Git Service

Read SettingsIntelligence package name from resource
authorRaff Tsai <rafftsai@google.com>
Tue, 13 Nov 2018 06:45:01 +0000 (14:45 +0800)
committerRaff Tsai <rafftsai@google.com>
Tue, 13 Nov 2018 06:45:01 +0000 (14:45 +0800)
Test: make RunSettingsRoboTests
Change-Id: I2143e1f7657cc0e01e91978e8c212ff079cec7d7

res/values/config.xml
src/com/android/settings/search/SearchFeatureProvider.java
src/com/android/settings/search/SearchFeatureProviderImpl.java
src/com/android/settings/search/actionbar/SearchMenuController.java
tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java

index a9fe35d..d487f46 100755 (executable)
 
     <!-- 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>
index 9c1f07c..464b8f5 100644 (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()
index 4f2f8db..a5a8777 100644 (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) {
index 0caa308..22adbeb 100644 (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;
         }
index d0546b6..bcb9372 100644 (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);
     }