From 8e2fa0fe269f137f9afcd5a87f19f7148ab2430b Mon Sep 17 00:00:00 2001 From: Pranav Vashi Date: Mon, 24 Mar 2025 00:57:45 +0530 Subject: [PATCH] Settings: Check GSA package too for CTS availability Signed-off-by: Pranav Vashi --- ...ionSettingsContextualSearchController.java | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java b/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java index 5938b5f906f..5e50a4ba589 100644 --- a/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java +++ b/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java @@ -19,6 +19,7 @@ package com.android.settings.gestures; import static android.app.contextualsearch.ContextualSearchManager.FEATURE_CONTEXTUAL_SEARCH; import android.content.Context; +import android.content.pm.PackageManager; import android.provider.Settings; import androidx.annotation.NonNull; @@ -30,17 +31,23 @@ import com.android.settings.core.TogglePreferenceController; */ public class NavigationSettingsContextualSearchController extends TogglePreferenceController { + private final boolean mDefaultEnabled; + private final String mCtsPackage; + public NavigationSettingsContextualSearchController(@NonNull Context context, @NonNull String preferenceKey) { super(context, preferenceKey); + + mDefaultEnabled = context.getResources().getBoolean( + com.android.internal.R.bool.config_searchAllEntrypointsEnabledDefault); + mCtsPackage = context.getResources().getString( + com.android.internal.R.string.config_defaultContextualSearchPackageName); } @Override public boolean isChecked() { - boolean onByDefault = mContext.getResources().getBoolean( - com.android.internal.R.bool.config_searchAllEntrypointsEnabledDefault); return Settings.Secure.getInt(mContext.getContentResolver(), - Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, onByDefault ? 1 : 0) + Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, mDefaultEnabled ? 1 : 0) == 1; } @@ -52,8 +59,17 @@ public class NavigationSettingsContextualSearchController extends TogglePreferen @Override public int getAvailabilityStatus() { - if (mContext.getPackageManager().hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH)) { - return AVAILABLE; + PackageManager pm = mContext.getPackageManager(); + if (pm == null) { + return UNSUPPORTED_ON_DEVICE; + } + try { + if (pm.hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH) && + pm.getApplicationInfo(mCtsPackage, 0).enabled) { + return AVAILABLE; + } + } catch (PackageManager.NameNotFoundException e) { + return UNSUPPORTED_ON_DEVICE; } return UNSUPPORTED_ON_DEVICE; }