Merge "Clear all DragView in onResume" into tm-dev am: a3764216a8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18284044 Change-Id: I90e5a7ee03b86cec07be68501ecaf3a7635588cf Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1169,6 +1169,7 @@ public class Launcher extends StatefulActivity<LauncherState>
|
|||||||
}
|
}
|
||||||
|
|
||||||
AbstractFloatingView.closeAllOpenViewsExcept(this, false, TYPE_REBIND_SAFE);
|
AbstractFloatingView.closeAllOpenViewsExcept(this, false, TYPE_REBIND_SAFE);
|
||||||
|
DragView.removeAllViews(this);
|
||||||
TraceHelper.INSTANCE.endSection(traceToken);
|
TraceHelper.INSTANCE.endSection(traceToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -578,4 +578,19 @@ public abstract class DragView<T extends Context & ActivityContext> extends Fram
|
|||||||
iv.setImageDrawable(drawable);
|
iv.setImageDrawable(drawable);
|
||||||
return iv;
|
return iv;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes any stray DragView from the DragLayer.
|
||||||
|
*/
|
||||||
|
public static void removeAllViews(ActivityContext activity) {
|
||||||
|
BaseDragLayer dragLayer = activity.getDragLayer();
|
||||||
|
// Iterate in reverse order. DragView is added later to the dragLayer,
|
||||||
|
// and will be one of the last views.
|
||||||
|
for (int i = dragLayer.getChildCount() - 1; i >= 0; i--) {
|
||||||
|
View child = dragLayer.getChildAt(i);
|
||||||
|
if (child instanceof DragView) {
|
||||||
|
dragLayer.removeView(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user