Fix issue with tap-to-add on recycled WidgetCells
Updates BaseWidgetSheet to check if the last recorded widget cell to show an add button is still showing an add button before deciding how to handle the current click. When a widget is recycled or loses focus, it will reset to the default state of hiding the add button. However, BaseWidgetSheet still tracks it. If that cell is clicked again after being reset, we want to show the add button. Bug: TODO Test: manual Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD Change-Id: I4614674948a52b8908fabf5c0e5734bf76b9282b
This commit is contained in:
@@ -143,9 +143,17 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView<BaseActivity>
|
||||
|
||||
if (enableWidgetTapToAdd()) {
|
||||
scrollToWidgetCell(wc);
|
||||
|
||||
if (mWidgetCellWithAddButton != null) {
|
||||
// If there is a add button currently showing, hide it.
|
||||
mWidgetCellWithAddButton.hideAddButton(/* animate= */ true);
|
||||
if (mWidgetCellWithAddButton.isShowingAddButton()) {
|
||||
// If there is a add button currently showing, hide it.
|
||||
mWidgetCellWithAddButton.hideAddButton(/* animate= */ true);
|
||||
} else {
|
||||
// The last recorded widget cell to show an add button is no longer showing it,
|
||||
// likely because the widget cell has been recycled or lost focus. If this is
|
||||
// the cell that has been clicked, we will show it below.
|
||||
mWidgetCellWithAddButton = null;
|
||||
}
|
||||
}
|
||||
|
||||
if (mWidgetCellWithAddButton != wc) {
|
||||
|
||||
Reference in New Issue
Block a user