From 5eb66d8abbc120c2e07d77029b59fea55ff8613f Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Wed, 16 Mar 2022 09:58:17 -0700 Subject: [PATCH] Refactor ActivityAllAppsContainerView to depend on ActivityContext. All of the all apps search support is in this class which is also being refactored to depend on ActivityContext. At the end of this refactor, this class can be merged with BaseAllAppsContainerView. Test: Manual Bug: 216683257 Change-Id: I8cbf21c8d9ce97cc60e9846cfe8c2a7bcb800a01 --- src/com/android/launcher3/BaseDraggingActivity.java | 1 + .../allapps/ActivityAllAppsContainerView.java | 9 +++++---- src/com/android/launcher3/views/ActivityContext.java | 12 ++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/BaseDraggingActivity.java b/src/com/android/launcher3/BaseDraggingActivity.java index 3af43c021b..6de3884b93 100644 --- a/src/com/android/launcher3/BaseDraggingActivity.java +++ b/src/com/android/launcher3/BaseDraggingActivity.java @@ -216,6 +216,7 @@ public abstract class BaseDraggingActivity extends BaseActivity * Creates and returns {@link SearchAdapterProvider} for build variant specific search result * views */ + @Override public SearchAdapterProvider createSearchAdapterProvider( ActivityAllAppsContainerView allApps) { return new DefaultSearchAdapterProvider(this); diff --git a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java index f530b0089c..11e0a1faae 100644 --- a/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/ActivityAllAppsContainerView.java @@ -26,12 +26,13 @@ import android.widget.RelativeLayout; import androidx.core.graphics.ColorUtils; import androidx.recyclerview.widget.RecyclerView; -import com.android.launcher3.BaseDraggingActivity; +import com.android.launcher3.DeviceProfile.DeviceProfileListenable; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.allapps.search.SearchAdapterProvider; import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.util.PackageManagerHelper; +import com.android.launcher3.views.AppLauncher; import java.util.Objects; @@ -40,8 +41,8 @@ import java.util.Objects; * * @param Type of context inflating all apps. */ -public class ActivityAllAppsContainerView extends - BaseAllAppsContainerView { +public class ActivityAllAppsContainerView extends BaseAllAppsContainerView { protected SearchUiManager mSearchUiManager; /** @@ -104,7 +105,7 @@ public class ActivityAllAppsContainerView extend } @Override - protected SearchAdapterProvider createMainAdapterProvider() { + protected final SearchAdapterProvider createMainAdapterProvider() { return mActivityContext.createSearchAdapterProvider(this); } diff --git a/src/com/android/launcher3/views/ActivityContext.java b/src/com/android/launcher3/views/ActivityContext.java index 3c90eea5d1..50c09dd4d4 100644 --- a/src/com/android/launcher3/views/ActivityContext.java +++ b/src/com/android/launcher3/views/ActivityContext.java @@ -25,7 +25,9 @@ import android.view.View.AccessibilityDelegate; import androidx.annotation.Nullable; import com.android.launcher3.DeviceProfile; +import com.android.launcher3.allapps.ActivityAllAppsContainerView; import com.android.launcher3.allapps.BaseAllAppsContainerView; +import com.android.launcher3.allapps.search.SearchAdapterProvider; import com.android.launcher3.dot.DotInfo; import com.android.launcher3.dragndrop.DragController; import com.android.launcher3.folder.FolderIcon; @@ -190,4 +192,14 @@ public interface ActivityContext { default StringCache getStringCache() { return null; } + + /** + * Creates and returns {@link SearchAdapterProvider} for build variant specific search result + * views. + */ + @Nullable + default SearchAdapterProvider createSearchAdapterProvider( + ActivityAllAppsContainerView appsView) { + return null; + } }