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:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user