From 472709d9ca6161df0465a46199fea4b7803c6f33 Mon Sep 17 00:00:00 2001 From: Shamali P Date: Wed, 26 Mar 2025 20:13:53 +0000 Subject: [PATCH] Delete the filter code as it will be provided differently in refactor With the dagger update the initialization happens in constructor which we would avoid once we work on refactor and move it into a repository class. The list will also be fetched from a different data source, so, makes sense to delete it at the moment. Bug: 406324964 Flag: EXEMPT BUGFIX Test: Not applicable as code is removed Change-Id: Iab8bb1e94677abf9b5b882f4d3485b002faf3e0f --- .../launcher3/WidgetPickerActivity.java | 2 +- src/com/android/launcher3/Launcher.java | 2 +- .../dagger/LauncherBaseAppComponent.java | 2 - .../model/WidgetsFilterDataProvider.kt | 53 ------------------- .../picker/model/WidgetPickerDataProvider.kt | 34 ++---------- .../util/TestSandboxModelContextWrapper.java | 3 +- .../model/WidgetPickerDataProviderTest.kt | 2 +- 7 files changed, 9 insertions(+), 89 deletions(-) delete mode 100644 src/com/android/launcher3/model/WidgetsFilterDataProvider.kt diff --git a/quickstep/src/com/android/launcher3/WidgetPickerActivity.java b/quickstep/src/com/android/launcher3/WidgetPickerActivity.java index cdae9caa5c..d8d43f1f51 100644 --- a/quickstep/src/com/android/launcher3/WidgetPickerActivity.java +++ b/quickstep/src/com/android/launcher3/WidgetPickerActivity.java @@ -167,7 +167,7 @@ public class WidgetPickerActivity extends BaseActivity implements InvariantDeviceProfile idp = mApp.getInvariantDeviceProfile(); mDeviceProfile = idp.getDeviceProfile(this); mModel = new WidgetsModel(mApp.getContext()); - mWidgetPickerDataProvider = new WidgetPickerDataProvider(this); + mWidgetPickerDataProvider = new WidgetPickerDataProvider(); setContentView(R.layout.widget_picker_activity); mDragLayer = findViewById(R.id.drag_layer); diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index f5e70dffb4..f05b76cb70 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -545,7 +545,7 @@ public class Launcher extends StatefulActivity mFocusHandler, new CellLayout(mWorkspace.getContext(), mWorkspace)); mPopupDataProvider = new PopupDataProvider(this); - mWidgetPickerDataProvider = new WidgetPickerDataProvider(this); + mWidgetPickerDataProvider = new WidgetPickerDataProvider(); PillColorProvider.getInstance(mWorkspace.getContext()).registerObserver(); boolean internalStateHandled = ACTIVITY_TRACKER.handleCreate(this); diff --git a/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java b/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java index c95c376290..0974403e0d 100644 --- a/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java +++ b/src/com/android/launcher3/dagger/LauncherBaseAppComponent.java @@ -29,7 +29,6 @@ import com.android.launcher3.graphics.ThemeManager; import com.android.launcher3.icons.LauncherIcons.IconPool; import com.android.launcher3.model.ItemInstallQueue; import com.android.launcher3.model.LoaderCursor.LoaderCursorFactory; -import com.android.launcher3.model.WidgetsFilterDataProvider; import com.android.launcher3.pm.InstallSessionHelper; import com.android.launcher3.pm.UserCache; import com.android.launcher3.util.ApiWrapper; @@ -87,7 +86,6 @@ public interface LauncherBaseAppComponent { RemoveAnimationSettingsTracker getRemoveAnimationSettingsTracker(); LauncherAppState getLauncherAppState(); GridCustomizationsProxy getGridCustomizationsProxy(); - WidgetsFilterDataProvider getWidgetsFilterDataProvider(); LoaderCursorFactory getLoaderCursorFactory(); WidgetHolderFactory getWidgetHolderFactory(); diff --git a/src/com/android/launcher3/model/WidgetsFilterDataProvider.kt b/src/com/android/launcher3/model/WidgetsFilterDataProvider.kt deleted file mode 100644 index 90d6fb2594..0000000000 --- a/src/com/android/launcher3/model/WidgetsFilterDataProvider.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.launcher3.model - -import com.android.launcher3.dagger.LauncherAppSingleton -import java.util.function.Predicate -import javax.inject.Inject - -/** Helper for the widgets model to load the filters that can be applied to available widgets. */ -@LauncherAppSingleton -open class WidgetsFilterDataProvider @Inject constructor() { - - /** Filter that should be applied to the widget predictions */ - open val predictedWidgetsFilter: Predicate? = null - - /** - * Filter that should be applied to the widgets list to see which widgets can be shown by - * default. - */ - open val defaultWidgetsFilter: Predicate? = null - - protected val listeners = mutableListOf() - - /** Adds a callback for listening to filter changes */ - fun addFilterChangeCallback(callback: WidgetsFilterLoadedCallback) { - listeners.add(callback) - } - - /** Removes a previously added callback */ - fun removeFilterChangeCallback(callback: WidgetsFilterLoadedCallback) { - listeners.remove(callback) - } - - /** Interface for the model callback to be invoked when filters are loaded. */ - interface WidgetsFilterLoadedCallback { - /** Method called back when widget filters are loaded */ - fun onWidgetsFilterLoaded() - } -} diff --git a/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProvider.kt b/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProvider.kt index 5b97a49536..16bbfd6197 100644 --- a/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProvider.kt +++ b/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProvider.kt @@ -16,11 +16,7 @@ package com.android.launcher3.widget.picker.model -import android.content.Context -import com.android.launcher3.dagger.LauncherComponentProvider.appComponent import com.android.launcher3.model.WidgetItem -import com.android.launcher3.model.WidgetsFilterDataProvider -import com.android.launcher3.model.WidgetsFilterDataProvider.WidgetsFilterLoadedCallback import com.android.launcher3.model.data.ItemInfo import com.android.launcher3.widget.model.WidgetsListBaseEntry import com.android.launcher3.widget.picker.model.data.WidgetPickerData @@ -33,11 +29,7 @@ import java.util.function.Predicate * Provides [WidgetPickerData] to various views such as widget picker, app-specific widget picker, * widgets shortcut. */ -class WidgetPickerDataProvider(private val filterProvider: WidgetsFilterDataProvider) : - WidgetsFilterLoadedCallback { - - constructor(context: Context) : this(context.appComponent.widgetsFilterDataProvider) - +class WidgetPickerDataProvider { /** All the widgets data provided for the views */ private var mWidgetPickerData: WidgetPickerData = WidgetPickerData() @@ -52,19 +44,11 @@ class WidgetPickerDataProvider(private val filterProvider: WidgetsFilterDataProv this.changeListener = changeListener } - init { - filterProvider.addFilterChangeCallback(this) - } - /** Returns the current snapshot of [WidgetPickerData]. */ fun get(): WidgetPickerData { return mWidgetPickerData } - override fun onWidgetsFilterLoaded() { - setWidgets(allWidgets) - } - /** * Updates the widgets available to the widget picker. * @@ -73,19 +57,11 @@ class WidgetPickerDataProvider(private val filterProvider: WidgetsFilterDataProv fun setWidgets(allWidgets: List) { this.allWidgets = allWidgets - val currentFilter = filterProvider.defaultWidgetsFilter - val finalFilter = - when { - currentFilter != null && hostSpecifiedDefaultWidgetsFilter != null -> - currentFilter.and(hostSpecifiedDefaultWidgetsFilter) - hostSpecifiedDefaultWidgetsFilter != null -> hostSpecifiedDefaultWidgetsFilter - else -> currentFilter - } - + val defaultWidgetsFilter = hostSpecifiedDefaultWidgetsFilter val defaultWidgets = - if (finalFilter != null) + if (defaultWidgetsFilter != null) allWidgets - .map { it.copy().apply { mWidgets.removeIf(finalFilter) } } + .map { it.copy().apply { mWidgets.removeIf(defaultWidgetsFilter) } } .filter { it.mWidgets.isNotEmpty() } else emptyList() @@ -111,7 +87,7 @@ class WidgetPickerDataProvider(private val filterProvider: WidgetsFilterDataProv } fun destroy() { - filterProvider.removeFilterChangeCallback(this) + changeListener = null } interface WidgetPickerDataChangeListener { diff --git a/tests/multivalentTests/src/com/android/launcher3/util/TestSandboxModelContextWrapper.java b/tests/multivalentTests/src/com/android/launcher3/util/TestSandboxModelContextWrapper.java index acd17d1586..8be13412e9 100644 --- a/tests/multivalentTests/src/com/android/launcher3/util/TestSandboxModelContextWrapper.java +++ b/tests/multivalentTests/src/com/android/launcher3/util/TestSandboxModelContextWrapper.java @@ -28,7 +28,6 @@ import com.android.launcher3.allapps.ActivityAllAppsContainerView; import com.android.launcher3.allapps.AllAppsStore; import com.android.launcher3.allapps.AlphabeticalAppsList; import com.android.launcher3.model.BgDataModel; -import com.android.launcher3.model.WidgetsFilterDataProvider; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.pm.UserCache; import com.android.launcher3.popup.PopupDataProvider; @@ -59,7 +58,7 @@ public class TestSandboxModelContextWrapper extends ActivityContextWrapper imple private final PopupDataProvider mPopupDataProvider = new PopupDataProvider(this); private final WidgetPickerDataProvider mWidgetPickerDataProvider = - new WidgetPickerDataProvider(new WidgetsFilterDataProvider()); + new WidgetPickerDataProvider(); protected final UserCache mUserCache; public TestSandboxModelContextWrapper(SandboxContext base) { diff --git a/tests/multivalentTests/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProviderTest.kt b/tests/multivalentTests/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProviderTest.kt index c1827bc66d..766fb780be 100644 --- a/tests/multivalentTests/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProviderTest.kt +++ b/tests/multivalentTests/src/com/android/launcher3/widget/picker/model/WidgetPickerDataProviderTest.kt @@ -80,7 +80,7 @@ class WidgetPickerDataProviderTest { userHandle = UserHandle.CURRENT context = ActivityContextWrapper(ApplicationProvider.getApplicationContext()) testInvariantProfile = LauncherAppState.getIDP(context) - underTest = WidgetPickerDataProvider(context) + underTest = WidgetPickerDataProvider() doAnswer { invocation: InvocationOnMock -> val componentWithLabel = invocation.getArgument(0) as CachedObject componentWithLabel.getComponent().shortClassName