Recycle FloatingIconView for swipe up to home animation.
Bug: 123900446 Change-Id: I63e900e86d921eddd3129ff68f895d6e8e7bff47
This commit is contained in:
parent
3658d9fa0c
commit
04d29a61c9
|
@ -118,16 +118,15 @@ public final class LauncherActivityControllerHelper implements ActivityControlHe
|
|||
}
|
||||
final RectF iconLocation = new RectF();
|
||||
boolean canUseWorkspaceView = workspaceView != null && workspaceView.isAttachedToWindow();
|
||||
final FloatingIconView floatingView = canUseWorkspaceView
|
||||
? FloatingIconView.getFloatingIconView(activity, workspaceView,
|
||||
true /* hideOriginal */, iconLocation, false /* isOpening */, null /* recycle */)
|
||||
FloatingIconView floatingIconView = canUseWorkspaceView
|
||||
? recentsView.getFloatingIconView(activity, workspaceView, iconLocation)
|
||||
: null;
|
||||
|
||||
return new HomeAnimationFactory() {
|
||||
@Nullable
|
||||
@Override
|
||||
public View getFloatingView() {
|
||||
return floatingView;
|
||||
return floatingIconView;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
|
@ -75,6 +75,7 @@ import com.android.launcher3.BaseActivity;
|
|||
import com.android.launcher3.DeviceProfile;
|
||||
import com.android.launcher3.Insettable;
|
||||
import com.android.launcher3.InvariantDeviceProfile;
|
||||
import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherAnimUtils.ViewProgressProperty;
|
||||
import com.android.launcher3.PagedView;
|
||||
import com.android.launcher3.R;
|
||||
|
@ -91,6 +92,7 @@ import com.android.launcher3.util.OverScroller;
|
|||
import com.android.launcher3.util.PendingAnimation;
|
||||
import com.android.launcher3.util.Themes;
|
||||
import com.android.launcher3.util.ViewPool;
|
||||
import com.android.launcher3.views.FloatingIconView;
|
||||
import com.android.quickstep.RecentsAnimationWrapper;
|
||||
import com.android.quickstep.RecentsModel;
|
||||
import com.android.quickstep.RecentsModel.TaskThumbnailChangeListener;
|
||||
|
@ -288,6 +290,8 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
|||
private Layout mEmptyTextLayout;
|
||||
private LiveTileOverlay mLiveTileOverlay;
|
||||
|
||||
private FloatingIconView mFloatingIconView;
|
||||
|
||||
private BaseActivity.MultiWindowModeChangedListener mMultiWindowModeChangedListener =
|
||||
(inMultiWindowMode) -> {
|
||||
if (!inMultiWindowMode && mOverviewStateEnabled) {
|
||||
|
@ -1704,4 +1708,10 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
|||
return super::onTouchEvent;
|
||||
}
|
||||
}
|
||||
|
||||
public FloatingIconView getFloatingIconView(Launcher launcher, View view, RectF iconLocation) {
|
||||
mFloatingIconView = FloatingIconView.getFloatingIconView(launcher, view,
|
||||
true /* hideOriginal */, iconLocation, false /* isOpening */, mFloatingIconView);
|
||||
return mFloatingIconView;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue