Move widget related listeners to widget picker data provider

The change listener on popup provider was for listening to widget
updates. With the widget now updated in widgets picker data provider,
 this moves over the listeners to it.

Test: Existing tests
Flag: EXEMPT minor refactoring
Bug: 353347512
Change-Id: I163529d207ea65044f8e3d6e77e87e0e674b82be
This commit is contained in:
Shamali P
2024-07-19 21:21:24 +00:00
parent 74d9fbd635
commit 00d4e05072
3 changed files with 22 additions and 11 deletions
@@ -19,6 +19,8 @@ import android.content.Context;
import android.view.View;
import com.android.launcher3.views.ActivityContext;
import com.android.launcher3.widget.picker.model.WidgetPickerDataProvider;
import com.android.launcher3.widget.picker.model.WidgetPickerDataProvider.WidgetPickerDataChangeListener;
/**
* Utility class to handle updates while the popup is visible (like widgets and
@@ -27,7 +29,7 @@ import com.android.launcher3.views.ActivityContext;
* @param <T> The activity on which the popup shows
*/
public abstract class PopupLiveUpdateHandler<T extends Context & ActivityContext> implements
PopupDataProvider.PopupDataChangeListener, View.OnAttachStateChangeListener {
WidgetPickerDataChangeListener, View.OnAttachStateChangeListener {
protected final T mContext;
protected final PopupContainerWithArrow<T> mPopupContainerWithArrow;
@@ -40,19 +42,25 @@ public abstract class PopupLiveUpdateHandler<T extends Context & ActivityContext
@Override
public void onViewAttachedToWindow(View view) {
PopupDataProvider popupDataProvider = mContext.getPopupDataProvider();
WidgetPickerDataProvider widgetsDataProvider = mContext.getWidgetPickerDataProvider();
if (popupDataProvider != null) {
popupDataProvider.setChangeListener(this);
if (widgetsDataProvider != null) {
widgetsDataProvider.setChangeListener(this);
}
}
@Override
public void onViewDetachedFromWindow(View view) {
PopupDataProvider popupDataProvider = mContext.getPopupDataProvider();
WidgetPickerDataProvider widgetsDataProvider = mContext.getWidgetPickerDataProvider();
if (popupDataProvider != null) {
popupDataProvider.setChangeListener(null);
if (widgetsDataProvider != null) {
widgetsDataProvider.setChangeListener(null);
}
}
@Override
public void onWidgetsBound() {} // NO_OP
@Override
public void onRecommendedWidgetsBound() {} // NO_OP
}
@@ -45,13 +45,13 @@ import com.android.launcher3.Launcher;
import com.android.launcher3.PendingAddItemInfo;
import com.android.launcher3.R;
import com.android.launcher3.model.WidgetItem;
import com.android.launcher3.popup.PopupDataProvider;
import com.android.launcher3.testing.TestLogging;
import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.util.SystemUiController;
import com.android.launcher3.util.Themes;
import com.android.launcher3.util.window.WindowManagerProxy;
import com.android.launcher3.views.AbstractSlideInView;
import com.android.launcher3.widget.picker.model.WidgetPickerDataProvider.WidgetPickerDataChangeListener;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -60,7 +60,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
*/
public abstract class BaseWidgetSheet extends AbstractSlideInView<BaseActivity>
implements OnClickListener, OnLongClickListener,
PopupDataProvider.PopupDataChangeListener, Insettable, OnDeviceProfileChangeListener {
WidgetPickerDataChangeListener, Insettable, OnDeviceProfileChangeListener {
/** The default number of cells that can fit horizontally in a widget sheet. */
public static final int DEFAULT_MAX_HORIZONTAL_SPANS = 4;
@@ -106,14 +106,14 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView<BaseActivity>
WindowInsets windowInsets = WindowManagerProxy.INSTANCE.get(getContext())
.normalizeWindowInsets(getContext(), getRootWindowInsets(), new Rect());
mNavBarScrimHeight = getNavBarScrimHeight(windowInsets);
mActivityContext.getPopupDataProvider().setChangeListener(this);
mActivityContext.getWidgetPickerDataProvider().setChangeListener(this);
mActivityContext.addOnDeviceProfileChangeListener(this);
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
mActivityContext.getPopupDataProvider().setChangeListener(null);
mActivityContext.getWidgetPickerDataProvider().setChangeListener(null);
mActivityContext.removeOnDeviceProfileChangeListener(this);
}
@@ -247,4 +247,7 @@ public class WidgetsBottomSheet extends BaseWidgetSheet {
}
}
}
@Override
public void onRecommendedWidgetsBound() {} // no op
}