From 1cc772d30dd5eee5670cceff42f97078880f57ea Mon Sep 17 00:00:00 2001 From: Justin Ghan Date: Wed, 8 Feb 2023 17:02:43 -0800 Subject: [PATCH] Support stylus handwriting in settings search bar Bug: 270708561 Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.search Change-Id: Iec6d6deb68b834654b2bbc11d96227db5319b0f0 --- .../search/SearchFeatureProvider.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java index b14a4d7fbf5..cd096ec6e16 100644 --- a/src/com/android/settings/search/SearchFeatureProvider.java +++ b/src/com/android/settings/search/SearchFeatureProvider.java @@ -126,16 +126,24 @@ public interface SearchFeatureProvider { true /* finishSecondaryWithPrimary */, false /* clearTop */); - toolbar.setOnClickListener(tb -> { - FeatureFactory.getFactory(context).getSlicesFeatureProvider() - .indexSliceDataAsync(context); + toolbar.setOnClickListener(tb -> startSearchActivity(context, activity, pageId, intent)); - FeatureFactory.getFactory(context).getMetricsFeatureProvider() - .logSettingsTileClick(KEY_HOMEPAGE_SEARCH_BAR, pageId); + toolbar.setHandwritingDelegatorCallback( + () -> startSearchActivity(context, activity, pageId, intent)); + toolbar.setAllowedHandwritingDelegatePackage(intent.getPackage()); + } - final Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(activity).toBundle(); - activity.startActivity(intent, bundle); - }); + /** Start the search activity. */ + private static void startSearchActivity( + Context context, FragmentActivity activity, int pageId, Intent intent) { + FeatureFactory.getFactory(context).getSlicesFeatureProvider() + .indexSliceDataAsync(context); + + FeatureFactory.getFactory(context).getMetricsFeatureProvider() + .logSettingsTileClick(KEY_HOMEPAGE_SEARCH_BAR, pageId); + + final Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(activity).toBundle(); + activity.startActivity(intent, bundle); } Intent buildSearchIntent(Context context, int pageId);