Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12bf58fe authored by Sunny Goyal's avatar Sunny Goyal Committed by Android (Google) Code Review
Browse files

Merge "Removing some unused overrides in Launcher" into udc-qpr-dev

parents ff1428ab c1d1e68a
Loading
Loading
Loading
Loading
+0 −37
Original line number Diff line number Diff line
@@ -15,23 +15,16 @@
 */
package com.android.launcher3;

import android.animation.AnimatorSet;
import android.annotation.TargetApi;
import android.os.Build;
import android.os.CancellationSignal;
import android.view.RemoteAnimationTarget;

import com.android.launcher3.uioverrides.QuickstepLauncher;
import com.android.quickstep.util.ActivityInitListener;
import com.android.quickstep.util.RemoteAnimationProvider;

import java.util.function.BiPredicate;

@TargetApi(Build.VERSION_CODES.P)
public class LauncherInitListener extends ActivityInitListener<Launcher> {

    private RemoteAnimationProvider mRemoteAnimationProvider;

    /**
     * @param onInitListener a callback made when the activity is initialized. The callback should
     *                       return true to continue receiving callbacks (ie. for if the activity is
@@ -43,37 +36,7 @@ public class LauncherInitListener extends ActivityInitListener<Launcher> {

    @Override
    public boolean handleInit(Launcher launcher, boolean alreadyOnHome) {
        if (mRemoteAnimationProvider != null) {
            QuickstepTransitionManager appTransitionManager =
                    ((QuickstepLauncher) launcher).getAppTransitionManager();

            // Set a one-time animation provider. After the first call, this will get cleared.
            // TODO: Probably also check the intended target id.
            CancellationSignal cancellationSignal = new CancellationSignal();
            appTransitionManager.setRemoteAnimationProvider(new RemoteAnimationProvider() {
                @Override
                public AnimatorSet createWindowAnimation(RemoteAnimationTarget[] appTargets,
                        RemoteAnimationTarget[] wallpaperTargets) {

                    // On the first call clear the reference.
                    cancellationSignal.cancel();
                    RemoteAnimationProvider provider = mRemoteAnimationProvider;
                    mRemoteAnimationProvider = null;

                    if (provider != null && launcher.getStateManager().getState().overviewUi) {
                        return provider.createWindowAnimation(appTargets, wallpaperTargets);
                    }
                    return null;
                }
            }, cancellationSignal);
        }
        launcher.deferOverlayCallbacksUntilNextResumeOrStop();
        return super.handleInit(launcher, alreadyOnHome);
    }

    @Override
    public void unregister() {
        mRemoteAnimationProvider = null;
        super.unregister();
    }
}
+71 −95
Original line number Diff line number Diff line
@@ -82,7 +82,6 @@ import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.CancellationSignal;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
@@ -140,7 +139,6 @@ import com.android.quickstep.util.MultiValueUpdateListener;
import com.android.quickstep.util.RectFSpringAnim;
import com.android.quickstep.util.RectFSpringAnim.DefaultSpringConfig;
import com.android.quickstep.util.RectFSpringAnim.TaskbarHotseatSpringConfig;
import com.android.quickstep.util.RemoteAnimationProvider;
import com.android.quickstep.util.StaggeredWorkspaceAnim;
import com.android.quickstep.util.SurfaceTransaction;
import com.android.quickstep.util.SurfaceTransaction.SurfaceProperties;
@@ -229,7 +227,6 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener

    private DeviceProfile mDeviceProfile;

    private RemoteAnimationProvider mRemoteAnimationProvider;
    // Strong refs to runners which are cleared when the launcher activity is destroyed
    private RemoteAnimationFactory mWallpaperOpenRunner;
    private RemoteAnimationFactory mAppLaunchRunner;
@@ -468,16 +465,6 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
        return bounds;
    }

    public void setRemoteAnimationProvider(final RemoteAnimationProvider animationProvider,
            CancellationSignal cancellationSignal) {
        mRemoteAnimationProvider = animationProvider;
        cancellationSignal.setOnCancelListener(() -> {
            if (animationProvider == mRemoteAnimationProvider) {
                mRemoteAnimationProvider = null;
            }
        });
    }

    /** Dump debug logs to bug report. */
    public void dump(@NonNull String prefix, @NonNull PrintWriter printWriter) {}

@@ -1234,7 +1221,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
     * ie. pressing home, swiping up from nav bar.
     */
    RemoteAnimationFactory createWallpaperOpenRunner(boolean fromUnlock) {
        return new WallpaperOpenLauncherAnimationRunner(mHandler, fromUnlock);
        return new WallpaperOpenLauncherAnimationRunner(fromUnlock);
    }

    /**
@@ -1352,7 +1339,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
    /**
     * Closing animator that animates the window into its final location on the workspace.
     */
    private RectFSpringAnim getClosingWindowAnimators(AnimatorSet animation,
    protected RectFSpringAnim getClosingWindowAnimators(AnimatorSet animation,
            RemoteAnimationTarget[] targets, View launcherView, PointF velocityPxPerS,
            RectF closingWindowStartRect, float startWindowCornerRadius) {
        FloatingIconView floatingIconView = null;
@@ -1592,17 +1579,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
            RectF startRect,
            float startWindowCornerRadius,
            boolean fromPredictiveBack) {
        AnimatorSet anim = null;
        AnimatorSet anim = new AnimatorSet();
        RectFSpringAnim rectFSpringAnim = null;

        RemoteAnimationProvider provider = mRemoteAnimationProvider;
        if (provider != null) {
            anim = provider.createWindowAnimation(appTargets, wallpaperTargets);
        }

        if (anim == null) {
            anim = new AnimatorSet();

        final boolean launcherIsForceInvisibleOrOpening = mLauncher.isForceInvisible()
                || launcherIsATargetWithMode(appTargets, MODE_OPENING);

@@ -1677,7 +1656,6 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
                }
            }
        }
        }

        return new Pair(rectFSpringAnim, anim);
    }
@@ -1687,11 +1665,9 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
     */
    protected class WallpaperOpenLauncherAnimationRunner implements RemoteAnimationFactory {

        private final Handler mHandler;
        private final boolean mFromUnlock;

        public WallpaperOpenLauncherAnimationRunner(Handler handler, boolean fromUnlock) {
            mHandler = handler;
        public WallpaperOpenLauncherAnimationRunner(boolean fromUnlock) {
            mFromUnlock = fromUnlock;
        }

+1 −2
Original line number Diff line number Diff line
@@ -114,8 +114,7 @@ public class HotseatPredictionController implements DragController.DragListener,
        WorkspaceItemInfo dragItem = new WorkspaceItemInfo((WorkspaceItemInfo) v.getTag());
        v.setVisibility(View.INVISIBLE);
        mLauncher.getWorkspace().beginDragShared(
                v, null, this, dragItem, new DragPreviewProvider(v),
                mLauncher.getDefaultWorkspaceDragOptions());
                v, null, this, dragItem, new DragPreviewProvider(v), new DragOptions());
        return true;
    };

+12 −0
Original line number Diff line number Diff line
@@ -16,13 +16,16 @@

package com.android.launcher3.uioverrides;

import android.app.ActivityOptions;
import android.app.Person;
import android.content.Context;
import android.content.pm.LauncherActivityInfo;
import android.content.pm.LauncherApps;
import android.content.pm.ShortcutInfo;
import android.window.RemoteTransition;

import com.android.launcher3.Utilities;
import com.android.quickstep.util.FadeOutRemoteTransition;

import java.util.Map;

@@ -41,4 +44,13 @@ public class ApiWrapper {
    public static Map<String, LauncherActivityInfo> getActivityOverrides(Context context) {
        return context.getSystemService(LauncherApps.class).getActivityOverrides();
    }

    /**
     * Creates an ActivityOptions to play fade-out animation on closing targets
     */
    public static ActivityOptions createFadeOutAnimOptions(Context context) {
        ActivityOptions options = ActivityOptions.makeBasic();
        options.setRemoteTransition(new RemoteTransition(new FadeOutRemoteTransition()));
        return options;
    }
}
+0 −43
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import static com.android.launcher3.LauncherState.OVERVIEW;
import static com.android.launcher3.LauncherState.OVERVIEW_MODAL_TASK;
import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT;
import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent;
import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_DESKTOP_TO_WORKSPACE;
import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE;
import static com.android.launcher3.config.FeatureFlags.RECEIVE_UNFOLD_EVENTS_FROM_SYSUI;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_APP_LAUNCH_TAP;
@@ -59,7 +58,6 @@ import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SY
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.AnimatorSet;
import android.animation.ValueAnimator;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.content.Context;
@@ -76,13 +74,11 @@ import android.hardware.display.DisplayManager;
import android.media.permission.SafeCloseable;
import android.os.Build;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.IBinder;
import android.os.SystemProperties;
import android.os.Trace;
import android.view.Display;
import android.view.HapticFeedbackConstants;
import android.view.RemoteAnimationTarget;
import android.view.View;
import android.window.BackEvent;
import android.window.OnBackAnimationCallback;
@@ -110,7 +106,6 @@ import com.android.launcher3.anim.AnimatorPlaybackController;
import com.android.launcher3.anim.PendingAnimation;
import com.android.launcher3.appprediction.PredictionRowView;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.dragndrop.DragOptions;
import com.android.launcher3.hybridhotseat.HotseatPredictionController;
import com.android.launcher3.logging.InstanceId;
import com.android.launcher3.logging.StatsLogManager;
@@ -164,8 +159,6 @@ import com.android.quickstep.util.GroupTask;
import com.android.quickstep.util.LauncherUnfoldAnimationController;
import com.android.quickstep.util.ProxyScreenStatusProvider;
import com.android.quickstep.util.QuickstepOnboardingPrefs;
import com.android.quickstep.util.RemoteAnimationProvider;
import com.android.quickstep.util.RemoteFadeOutAnimationListener;
import com.android.quickstep.util.SplitSelectStateController;
import com.android.quickstep.util.SplitToWorkspaceController;
import com.android.quickstep.util.SplitWithKeyboardShortcutController;
@@ -221,7 +214,6 @@ public class QuickstepLauncher extends Launcher {
    private TISBindHelper mTISBindHelper;
    private @Nullable LauncherTaskbarUIController mTaskbarUIController;
    // Will be updated when dragging from taskbar.
    private @Nullable DragOptions mNextWorkspaceDragOptions = null;
    private @Nullable UnfoldTransitionProgressProvider mUnfoldTransitionProgressProvider;
    private @Nullable LauncherUnfoldAnimationController mLauncherUnfoldAnimationController;

@@ -1048,41 +1040,6 @@ public class QuickstepLauncher extends Launcher {
        return mAppTransitionManager.hasControlRemoteAppTransitionPermission();
    }

    @Override
    public DragOptions getDefaultWorkspaceDragOptions() {
        if (mNextWorkspaceDragOptions != null) {
            DragOptions options = mNextWorkspaceDragOptions;
            mNextWorkspaceDragOptions = null;
            return options;
        }
        return super.getDefaultWorkspaceDragOptions();
    }

    public void setNextWorkspaceDragOptions(DragOptions dragOptions) {
        mNextWorkspaceDragOptions = dragOptions;
    }

    @Override
    public void useFadeOutAnimationForLauncherStart(CancellationSignal signal) {
        QuickstepTransitionManager appTransitionManager = getAppTransitionManager();
        appTransitionManager.setRemoteAnimationProvider(new RemoteAnimationProvider() {
            @Override
            public AnimatorSet createWindowAnimation(RemoteAnimationTarget[] appTargets,
                    RemoteAnimationTarget[] wallpaperTargets) {

                // On the first call clear the reference.
                signal.cancel();

                ValueAnimator fadeAnimation = ValueAnimator.ofFloat(1, 0);
                fadeAnimation.addUpdateListener(new RemoteFadeOutAnimationListener(appTargets,
                        wallpaperTargets));
                AnimatorSet anim = new AnimatorSet();
                anim.play(fadeAnimation);
                return anim;
            }
        }, signal);
    }

    @Override
    public float[] getNormalOverviewScaleAndOffset() {
        return DisplayController.getNavigationMode(this).hasGestures
Loading