mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Merge "Fix no action menu for split pairs in overview panel" into tm-qpr-dev
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
package com.android.quickstep;
|
||||
|
||||
import static com.android.launcher3.util.Executors.MAIN_EXECUTOR;
|
||||
import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACTIVITY_TYPE_HOME;
|
||||
|
||||
import android.graphics.Rect;
|
||||
import android.util.ArraySet;
|
||||
@@ -97,18 +96,6 @@ public class RecentsAnimationCallbacks implements
|
||||
RemoteAnimationTargetCompat[] appTargets,
|
||||
RemoteAnimationTargetCompat[] wallpaperTargets,
|
||||
Rect homeContentInsets, Rect minimizedHomeBounds) {
|
||||
// Convert appTargets to type RemoteAnimationTarget for all apps except Home app
|
||||
RemoteAnimationTarget[] nonHomeApps = Arrays.stream(appTargets)
|
||||
.filter(remoteAnimationTarget ->
|
||||
remoteAnimationTarget.activityType != ACTIVITY_TYPE_HOME)
|
||||
.map(RemoteAnimationTargetCompat::unwrap)
|
||||
.toArray(RemoteAnimationTarget[]::new);
|
||||
|
||||
RemoteAnimationTarget[] nonAppTargets = mSystemUiProxy.onGoingToRecentsLegacy(nonHomeApps);
|
||||
|
||||
RecentsAnimationTargets targets = new RecentsAnimationTargets(appTargets,
|
||||
wallpaperTargets, RemoteAnimationTargetCompat.wrap(nonAppTargets),
|
||||
homeContentInsets, minimizedHomeBounds);
|
||||
mController = new RecentsAnimationController(animationController,
|
||||
mAllowMinimizeSplitScreen, this::onAnimationFinished);
|
||||
|
||||
@@ -116,6 +103,13 @@ public class RecentsAnimationCallbacks implements
|
||||
Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(),
|
||||
mController::finishAnimationToApp);
|
||||
} else {
|
||||
final RemoteAnimationTarget[] nonAppTargets = mSystemUiProxy.onGoingToRecentsLegacy(
|
||||
Arrays.stream(appTargets).map(RemoteAnimationTargetCompat::unwrap)
|
||||
.toArray(RemoteAnimationTarget[]::new));
|
||||
final RecentsAnimationTargets targets = new RecentsAnimationTargets(appTargets,
|
||||
wallpaperTargets, RemoteAnimationTargetCompat.wrap(nonAppTargets),
|
||||
homeContentInsets, minimizedHomeBounds);
|
||||
|
||||
Utilities.postAsyncCallback(MAIN_EXECUTOR.getHandler(), () -> {
|
||||
for (RecentsAnimationListener listener : getListeners()) {
|
||||
listener.onRecentsAnimationStart(mController, targets);
|
||||
|
||||
@@ -45,7 +45,7 @@ import com.android.systemui.shared.system.RemoteTransitionCompat;
|
||||
import com.android.systemui.shared.system.TaskStackChangeListener;
|
||||
import com.android.systemui.shared.system.TaskStackChangeListeners;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
||||
public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAnimationListener {
|
||||
@@ -156,30 +156,21 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn
|
||||
public void onTasksAppeared(RemoteAnimationTargetCompat[] appearedTaskTargets) {
|
||||
RemoteAnimationTargetCompat appearedTaskTarget = appearedTaskTargets[0];
|
||||
BaseActivityInterface activityInterface = mLastGestureState.getActivityInterface();
|
||||
// Convert appTargets to type RemoteAnimationTarget for all apps except Home app
|
||||
final ArrayList<RemoteAnimationTargetCompat> tmpNonHomeApps = new ArrayList<>();
|
||||
final ArrayList<RemoteAnimationTargetCompat> tmpHomeApps = new ArrayList<>();
|
||||
|
||||
for (RemoteAnimationTargetCompat compat : appearedTaskTargets) {
|
||||
if (compat.activityType != ACTIVITY_TYPE_HOME) {
|
||||
tmpNonHomeApps.add(compat);
|
||||
} else {
|
||||
tmpHomeApps.add(compat);
|
||||
if (compat.activityType == ACTIVITY_TYPE_HOME
|
||||
&& activityInterface.getCreatedActivity() instanceof RecentsActivity) {
|
||||
// When receive opening home activity while recents is running, enter home
|
||||
// and dismiss recents.
|
||||
((RecentsActivity) activityInterface.getCreatedActivity()).startHome();
|
||||
return;
|
||||
}
|
||||
}
|
||||
RemoteAnimationTarget[] nonHomeApps = tmpNonHomeApps.stream()
|
||||
.map(RemoteAnimationTargetCompat::unwrap)
|
||||
.toArray(RemoteAnimationTarget[]::new);
|
||||
RemoteAnimationTarget[] homeApps = tmpHomeApps.stream()
|
||||
.map(RemoteAnimationTargetCompat::unwrap)
|
||||
.toArray(RemoteAnimationTarget[]::new);
|
||||
if (homeApps.length > 0
|
||||
&& activityInterface.getCreatedActivity() instanceof RecentsActivity) {
|
||||
((RecentsActivity) activityInterface.getCreatedActivity()).startHome();
|
||||
return;
|
||||
}
|
||||
|
||||
RemoteAnimationTarget[] nonAppTargets =
|
||||
SystemUiProxy.INSTANCE.getNoCreate().onStartingSplitLegacy(nonHomeApps);
|
||||
RemoteAnimationTarget[] nonAppTargets = SystemUiProxy.INSTANCE.getNoCreate()
|
||||
.onStartingSplitLegacy(Arrays.stream(appearedTaskTargets)
|
||||
.map(RemoteAnimationTargetCompat::unwrap)
|
||||
.toArray(RemoteAnimationTarget[]::new));
|
||||
|
||||
if (ENABLE_QUICKSTEP_LIVE_TILE.get() && activityInterface.isInLiveTileMode()
|
||||
&& activityInterface.getCreatedActivity() != null) {
|
||||
|
||||
Reference in New Issue
Block a user