mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-01 16:26:47 +00:00
Merge "Send app launch events from TaskSwitcher" into ub-launcher3-rvc-dev
This commit is contained in:
@@ -31,6 +31,7 @@ import android.animation.ObjectAnimator;
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.UserHandle;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.Surface;
|
||||
@@ -42,6 +43,7 @@ import com.android.launcher3.LauncherState;
|
||||
import com.android.launcher3.anim.Interpolators;
|
||||
import com.android.launcher3.appprediction.PredictionUiStateManager;
|
||||
import com.android.launcher3.appprediction.PredictionUiStateManager.Client;
|
||||
import com.android.launcher3.model.AppLaunchTracker;
|
||||
import com.android.launcher3.statehandlers.DepthController;
|
||||
import com.android.launcher3.statemanager.StateManager.StateListener;
|
||||
import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
|
||||
@@ -52,6 +54,7 @@ import com.android.quickstep.SysUINavigationMode;
|
||||
import com.android.quickstep.util.TransformParams;
|
||||
import com.android.systemui.plugins.PluginListener;
|
||||
import com.android.systemui.plugins.RecentsExtraCard;
|
||||
import com.android.systemui.shared.recents.model.Task;
|
||||
|
||||
/**
|
||||
* {@link RecentsView} used in Launcher activity
|
||||
@@ -167,14 +170,21 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher>
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onTaskLaunched(boolean success) {
|
||||
protected void onTaskLaunchAnimationEnd(boolean success) {
|
||||
if (success) {
|
||||
mActivity.getStateManager().goToState(NORMAL, false /* animate */);
|
||||
} else {
|
||||
LauncherState state = mActivity.getStateManager().getState();
|
||||
mActivity.getAllAppsController().setState(state);
|
||||
}
|
||||
super.onTaskLaunched(success);
|
||||
super.onTaskLaunchAnimationEnd(success);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskLaunched(Task task) {
|
||||
UserHandle user = UserHandle.of(task.key.userId);
|
||||
AppLaunchTracker.INSTANCE.get(getContext()).onStartApp(task.getTopComponent(), user,
|
||||
AppLaunchTracker.CONTAINER_OVERVIEW);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1952,7 +1952,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
mPendingAnimation.addEndListener((endState) -> {
|
||||
if (endState.isSuccess) {
|
||||
Consumer<Boolean> onLaunchResult = (result) -> {
|
||||
onTaskLaunched(result);
|
||||
onTaskLaunchAnimationEnd(result);
|
||||
if (!result) {
|
||||
tv.notifyTaskLaunchFailed(TAG);
|
||||
}
|
||||
@@ -1967,7 +1967,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
.log(LAUNCHER_TASK_LAUNCH_SWIPE_DOWN);
|
||||
}
|
||||
} else {
|
||||
onTaskLaunched(false);
|
||||
onTaskLaunchAnimationEnd(false);
|
||||
}
|
||||
mPendingAnimation = null;
|
||||
});
|
||||
@@ -1979,12 +1979,17 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
|
||||
|
||||
public abstract boolean shouldUseMultiWindowTaskSizeStrategy();
|
||||
|
||||
protected void onTaskLaunched(boolean success) {
|
||||
protected void onTaskLaunchAnimationEnd(boolean success) {
|
||||
if (success) {
|
||||
resetTaskVisuals();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when task activity is launched
|
||||
*/
|
||||
public void onTaskLaunched(Task task){ }
|
||||
|
||||
@Override
|
||||
protected void notifyPageSwitchListener(int prevPage) {
|
||||
super.notifyPageSwitchListener(prevPage);
|
||||
|
||||
@@ -30,7 +30,8 @@ import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN;
|
||||
import static com.android.launcher3.anim.Interpolators.LINEAR;
|
||||
import static com.android.launcher3.anim.Interpolators.TOUCH_RESPONSE_INTERPOLATOR;
|
||||
import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent
|
||||
.LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS;
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_TAP;
|
||||
|
||||
import android.animation.Animator;
|
||||
@@ -384,6 +385,7 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
||||
}
|
||||
}, resultCallbackHandler);
|
||||
}
|
||||
getRecentsView().onTaskLaunched(mTask);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ public class AppLaunchTracker implements ResourceBasedOverride {
|
||||
public static final String CONTAINER_ALL_APPS = Integer.toString(ContainerType.ALLAPPS);
|
||||
public static final String CONTAINER_PREDICTIONS = Integer.toString(ContainerType.PREDICTION);
|
||||
public static final String CONTAINER_SEARCH = Integer.toString(ContainerType.SEARCHRESULT);
|
||||
public static final String CONTAINER_OVERVIEW = Integer.toString(ContainerType.OVERVIEW);
|
||||
|
||||
|
||||
public static final MainThreadInitializedObject<AppLaunchTracker> INSTANCE =
|
||||
|
||||
Reference in New Issue
Block a user