Move shell Transitions into a package

For organization.

Bug: 169035082
Test: builds/runs (no logic changed)
Change-Id: I224ab5f19df7ce49a2112dcf7c900a3fc310532d
This commit is contained in:
Evan Rosky
2021-01-08 12:19:42 -08:00
parent 19d37240a5
commit 57000adf8e
11 changed files with 42 additions and 31 deletions

View File

@@ -7,24 +7,12 @@
"group": "WM_SHELL_TASK_ORG",
"at": "com\/android\/wm\/shell\/ShellTaskOrganizer.java"
},
"-1534364071": {
"message": "onTransitionReady %s: %s",
"level": "VERBOSE",
"group": "WM_SHELL_TRANSITIONS",
"at": "com\/android\/wm\/shell\/Transitions.java"
},
"-1501874464": {
"message": "Fullscreen Task Appeared: #%d",
"level": "VERBOSE",
"group": "WM_SHELL_TASK_ORG",
"at": "com\/android\/wm\/shell\/FullscreenTaskListener.java"
},
"-1480787369": {
"message": "Transition requested: type=%d %s",
"level": "VERBOSE",
"group": "WM_SHELL_TRANSITIONS",
"at": "com\/android\/wm\/shell\/Transitions.java"
},
"-1382704050": {
"message": "Display removed: %d",
"level": "VERBOSE",
@@ -97,12 +85,6 @@
"group": "WM_SHELL_TASK_ORG",
"at": "com\/android\/wm\/shell\/apppairs\/AppPairsController.java"
},
"-191422040": {
"message": "Transition animations finished, notifying core %s",
"level": "VERBOSE",
"group": "WM_SHELL_TRANSITIONS",
"at": "com\/android\/wm\/shell\/Transitions.java"
},
"157713005": {
"message": "Task info changed taskId=%d",
"level": "VERBOSE",
@@ -115,6 +97,12 @@
"group": "WM_SHELL_DRAG_AND_DROP",
"at": "com\/android\/wm\/shell\/draganddrop\/DropOutlineDrawable.java"
},
"325110414": {
"message": "Transition animations finished, notifying core %s",
"level": "VERBOSE",
"group": "WM_SHELL_TRANSITIONS",
"at": "com\/android\/wm\/shell\/transition\/Transitions.java"
},
"375908576": {
"message": "Clip description: handlingDrag=%b itemCount=%d mimeTypes=%s",
"level": "VERBOSE",
@@ -145,6 +133,12 @@
"group": "WM_SHELL_TASK_ORG",
"at": "com\/android\/wm\/shell\/ShellTaskOrganizer.java"
},
"846958769": {
"message": "Transition requested: type=%d %s",
"level": "VERBOSE",
"group": "WM_SHELL_TRANSITIONS",
"at": "com\/android\/wm\/shell\/transition\/Transitions.java"
},
"900599280": {
"message": "Can't pair unresizeable tasks task1.isResizeable=%b task1.isResizeable=%b",
"level": "ERROR",
@@ -169,6 +163,12 @@
"group": "WM_SHELL_TASK_ORG",
"at": "com\/android\/wm\/shell\/legacysplitscreen\/LegacySplitScreenTaskListener.java"
},
"1070270131": {
"message": "onTransitionReady %s: %s",
"level": "VERBOSE",
"group": "WM_SHELL_TRANSITIONS",
"at": "com\/android\/wm\/shell\/transition\/Transitions.java"
},
"1079041527": {
"message": "incrementPool size=%d",
"level": "VERBOSE",

View File

@@ -30,6 +30,7 @@ import androidx.annotation.NonNull;
import com.android.internal.protolog.common.ProtoLog;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
import com.android.wm.shell.transition.Transitions;
import java.io.PrintWriter;

View File

@@ -24,9 +24,9 @@ import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.annotations.ExternalThread;
import com.android.wm.shell.draganddrop.DragAndDropController;
import com.android.wm.shell.legacysplitscreen.LegacySplitScreen;
import com.android.wm.shell.transition.Transitions;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
/**
* The entry point implementation into the shell for initializing shell internal state.
@@ -41,6 +41,7 @@ public class ShellInitImpl {
private final Optional<AppPairs> mAppPairsOptional;
private final FullscreenTaskListener mFullscreenTaskListener;
private final ShellExecutor mMainExecutor;
private final Transitions mTransitions;
private final InitImpl mImpl = new InitImpl();
@@ -50,6 +51,7 @@ public class ShellInitImpl {
Optional<LegacySplitScreen> legacySplitScreenOptional,
Optional<AppPairs> appPairsOptional,
FullscreenTaskListener fullscreenTaskListener,
Transitions transitions,
ShellExecutor mainExecutor) {
return new ShellInitImpl(displayImeController,
dragAndDropController,
@@ -57,6 +59,7 @@ public class ShellInitImpl {
legacySplitScreenOptional,
appPairsOptional,
fullscreenTaskListener,
transitions,
mainExecutor).mImpl;
}
@@ -66,6 +69,7 @@ public class ShellInitImpl {
Optional<LegacySplitScreen> legacySplitScreenOptional,
Optional<AppPairs> appPairsOptional,
FullscreenTaskListener fullscreenTaskListener,
Transitions transitions,
ShellExecutor mainExecutor) {
mDisplayImeController = displayImeController;
mDragAndDropController = dragAndDropController;
@@ -73,6 +77,7 @@ public class ShellInitImpl {
mLegacySplitScreenOptional = legacySplitScreenOptional;
mAppPairsOptional = appPairsOptional;
mFullscreenTaskListener = fullscreenTaskListener;
mTransitions = transitions;
mMainExecutor = mainExecutor;
}
@@ -89,6 +94,10 @@ public class ShellInitImpl {
// Bind the splitscreen impl to the drag drop controller
mDragAndDropController.initialize(mLegacySplitScreenOptional);
if (Transitions.ENABLE_SHELL_TRANSITIONS) {
mTransitions.register(mShellTaskOrganizer);
}
}
@ExternalThread

View File

@@ -43,7 +43,6 @@ import android.window.WindowContainerTransaction;
import com.android.internal.policy.DividerSnapAlgorithm;
import com.android.wm.shell.R;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.common.DisplayChangeController;
import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.DisplayImeController;
@@ -54,6 +53,7 @@ import com.android.wm.shell.common.SystemWindows;
import com.android.wm.shell.common.TaskStackListenerCallback;
import com.android.wm.shell.common.TaskStackListenerImpl;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.transition.Transitions;
import java.io.PrintWriter;
import java.lang.ref.WeakReference;

View File

@@ -38,8 +38,8 @@ import androidx.annotation.NonNull;
import com.android.internal.protolog.common.ProtoLog;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.transition.Transitions;
import java.io.PrintWriter;
import java.util.ArrayList;

View File

@@ -38,9 +38,9 @@ import android.view.WindowManager;
import android.window.TransitionInfo;
import android.window.WindowContainerTransaction;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.annotations.ExternalThread;
import com.android.wm.shell.transition.Transitions;
import java.util.ArrayList;

View File

@@ -39,8 +39,8 @@ import android.window.WindowContainerTransaction;
import android.window.WindowOrganizer;
import com.android.internal.annotations.GuardedBy;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.transition.Transitions;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2020 The Android Open Source Project
* Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.transition;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CLOSE;
@@ -42,6 +42,7 @@ import android.window.WindowOrganizer;
import androidx.annotation.BinderThread;
import com.android.internal.protolog.common.ProtoLog;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.protolog.ShellProtoLogGroup;
@@ -82,6 +83,7 @@ public class Transitions {
mPlayerImpl = new TransitionPlayerImpl();
}
/** Register this transition handler with Core */
public void register(ShellTaskOrganizer taskOrganizer) {
taskOrganizer.registerTransitionPlayer(mPlayerImpl);
}

View File

@@ -21,7 +21,6 @@ import android.view.IWindowManager;
import com.android.systemui.dagger.WMSingleton;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.DisplayImeController;
import com.android.wm.shell.common.ShellExecutor;
@@ -32,6 +31,7 @@ import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.annotations.ShellMainThread;
import com.android.wm.shell.legacysplitscreen.LegacySplitScreen;
import com.android.wm.shell.legacysplitscreen.LegacySplitScreenController;
import com.android.wm.shell.transition.Transitions;
import dagger.Module;
import dagger.Provides;

View File

@@ -42,7 +42,6 @@ import com.android.wm.shell.ShellInitImpl;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.TaskViewFactory;
import com.android.wm.shell.TaskViewFactoryController;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.apppairs.AppPairs;
import com.android.wm.shell.bubbles.BubbleController;
@@ -71,6 +70,7 @@ import com.android.wm.shell.pip.PipSurfaceTransactionHelper;
import com.android.wm.shell.pip.PipUiEventLogger;
import com.android.wm.shell.pip.phone.PipAppOpsListener;
import com.android.wm.shell.pip.phone.PipTouchHandler;
import com.android.wm.shell.transition.Transitions;
import java.util.Optional;
@@ -176,6 +176,7 @@ public abstract class WMShellBaseModule {
Optional<LegacySplitScreen> legacySplitScreenOptional,
Optional<AppPairs> appPairsOptional,
FullscreenTaskListener fullscreenTaskListener,
Transitions transitions,
@ShellMainThread ShellExecutor shellMainExecutor) {
return ShellInitImpl.create(displayImeController,
dragAndDropController,
@@ -183,6 +184,7 @@ public abstract class WMShellBaseModule {
legacySplitScreenOptional,
appPairsOptional,
fullscreenTaskListener,
transitions,
shellMainExecutor);
}

View File

@@ -17,13 +17,10 @@
package com.android.systemui.wmshell;
import android.content.Context;
import android.os.Handler;
import android.view.IWindowManager;
import com.android.systemui.dagger.WMSingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.Transitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.apppairs.AppPairs;
import com.android.wm.shell.apppairs.AppPairsController;
@@ -49,9 +46,9 @@ import com.android.wm.shell.pip.phone.PhonePipMenuController;
import com.android.wm.shell.pip.phone.PipAppOpsListener;
import com.android.wm.shell.pip.phone.PipController;
import com.android.wm.shell.pip.phone.PipTouchHandler;
import com.android.wm.shell.transition.Transitions;
import java.util.Optional;
import java.util.concurrent.Executor;
import dagger.Module;
import dagger.Provides;