diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 094bced31e..efe8d8fa2e 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -77,15 +77,18 @@ import com.android.quickstep.AnimatedFloat; import com.android.systemui.shared.rotation.FloatingRotationButton; import com.android.systemui.shared.rotation.RotationButton; import com.android.systemui.shared.rotation.RotationButtonController; +import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.shared.system.ViewTreeObserverWrapper; +import java.io.PrintWriter; import java.util.ArrayList; +import java.util.StringJoiner; import java.util.function.IntPredicate; /** * Controller for managing nav bar buttons in taskbar */ -public class NavbarButtonsViewController { +public class NavbarButtonsViewController implements TaskbarControllers.LoggableTaskbarController { private final Rect mTempRect = new Rect(); @@ -645,6 +648,42 @@ public class NavbarButtonsViewController { insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); } + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "NavbarButtonsViewController:"); + + pw.println(String.format("%s\tmState=%s", prefix, getStateString(mState))); + pw.println(String.format( + "%s\tmLightIconColor=0x%s", prefix, Integer.toHexString(mLightIconColor))); + pw.println(String.format( + "%s\tmDarkIconColor=0x%s", prefix, Integer.toHexString(mDarkIconColor))); + pw.println(String.format( + "%s\tmFloatingRotationButtonBounds=%s", prefix, mFloatingRotationButtonBounds)); + pw.println(String.format( + "%s\tmSysuiStateFlags=%s", + prefix, + QuickStepContract.getSystemUiStateString(mSysuiStateFlags))); + } + + private static String getStateString(int flags) { + StringJoiner str = new StringJoiner("|"); + str.add((flags & FLAG_SWITCHER_SUPPORTED) != 0 ? "FLAG_SWITCHER_SUPPORTED" : ""); + str.add((flags & FLAG_IME_VISIBLE) != 0 ? "FLAG_IME_VISIBLE" : ""); + str.add((flags & FLAG_ROTATION_BUTTON_VISIBLE) != 0 ? "FLAG_ROTATION_BUTTON_VISIBLE" : ""); + str.add((flags & FLAG_A11Y_VISIBLE) != 0 ? "FLAG_A11Y_VISIBLE" : ""); + str.add((flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0 + ? "FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE" : ""); + str.add((flags & FLAG_KEYGUARD_VISIBLE) != 0 ? "FLAG_KEYGUARD_VISIBLE" : ""); + str.add((flags & FLAG_KEYGUARD_OCCLUDED) != 0 ? "FLAG_KEYGUARD_OCCLUDED" : ""); + str.add((flags & FLAG_DISABLE_HOME) != 0 ? "FLAG_DISABLE_HOME" : ""); + str.add((flags & FLAG_DISABLE_RECENTS) != 0 ? "FLAG_DISABLE_RECENTS" : ""); + str.add((flags & FLAG_DISABLE_BACK) != 0 ? "FLAG_DISABLE_BACK" : ""); + str.add((flags & FLAG_NOTIFICATION_SHADE_EXPANDED) != 0 + ? "FLAG_NOTIFICATION_SHADE_EXPANDED" : ""); + str.add((flags & FLAG_SCREEN_PINNING_ACTIVE) != 0 ? "FLAG_SCREEN_PINNING_ACTIVE" : ""); + return str.toString(); + } + private class RotationButtonListener implements RotationButton.RotationButtonUpdatesCallback { @Override public void onVisibilityChanged(boolean isVisible) { diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java index 22ca63f963..a9ae7bdc3f 100644 --- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java @@ -34,10 +34,12 @@ import com.android.launcher3.util.MultiValueAlpha; import com.android.quickstep.AnimatedFloat; import com.android.systemui.shared.navigationbar.RegionSamplingHelper; +import java.io.PrintWriter; + /** * Handles properties/data collection, then passes the results to our stashed handle View to render. */ -public class StashedHandleViewController { +public class StashedHandleViewController implements TaskbarControllers.LoggableTaskbarController { public static final int ALPHA_INDEX_STASHED = 0; public static final int ALPHA_INDEX_HOME_DISABLED = 1; @@ -200,4 +202,15 @@ public class StashedHandleViewController { public boolean isStashedHandleVisible() { return mStashedHandleView.getVisibility() == View.VISIBLE; } + + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "StashedHandleViewController:"); + + pw.println(String.format( + "%s\tisStashedHandleVisible=%b", prefix, isStashedHandleVisible())); + pw.println(String.format("%s\tmStashedHandleWidth=%dpx", prefix, mStashedHandleWidth)); + pw.println(String.format("%s\tmStashedHandleHeight=%dpx", prefix, mStashedHandleHeight)); + mRegionSamplingHelper.dump(prefix, pw); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index b32137a036..d9108fb463 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -82,6 +82,8 @@ import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.WindowManagerWrapper; import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider; +import java.io.PrintWriter; + /** * The {@link ActivityContext} with which we inflate Taskbar-related Views. This allows UI elements * that are used by both Launcher and Taskbar (such as Folder) to reference a generic @@ -656,4 +658,16 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ setTaskbarWindowFullscreen(true); btv.post(() -> mControllers.taskbarPopupController.showForIcon(btv)); } + + protected void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarActivityContext:"); + + pw.println(String.format( + "%s\tmNavMode=%s", prefix, mNavMode)); + pw.println(String.format( + "%s\tmIsUserSetupComplete=%b", prefix, mIsUserSetupComplete)); + pw.println(String.format( + "%s\tmWindowLayoutParams.height=%dpx", prefix, mWindowLayoutParams.height)); + mControllers.dumpLogs(prefix + "\t", pw); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java index e42f83de6a..31a6aa6977 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarAutohideSuspendController.java @@ -19,17 +19,21 @@ import androidx.annotation.IntDef; import com.android.quickstep.SystemUiProxy; +import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.StringJoiner; /** * Normally Taskbar will auto-hide when entering immersive (fullscreen) apps. This controller allows * us to suspend that behavior in certain cases (e.g. opening a Folder or dragging an icon). */ -public class TaskbarAutohideSuspendController { +public class TaskbarAutohideSuspendController implements + TaskbarControllers.LoggableTaskbarController { public static final int FLAG_AUTOHIDE_SUSPEND_FULLSCREEN = 1 << 0; public static final int FLAG_AUTOHIDE_SUSPEND_DRAGGING = 1 << 1; + @IntDef(flag = true, value = { FLAG_AUTOHIDE_SUSPEND_FULLSCREEN, FLAG_AUTOHIDE_SUSPEND_DRAGGING, @@ -60,4 +64,21 @@ public class TaskbarAutohideSuspendController { } mSystemUiProxy.notifyTaskbarAutohideSuspend(mAutohideSuspendFlags != 0); } + + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarAutohideSuspendController:"); + + pw.println(String.format( + "%s\tmAutohideSuspendFlags=%s", prefix, getStateString(mAutohideSuspendFlags))); + } + + private static String getStateString(int flags) { + StringJoiner str = new StringJoiner("|"); + str.add((flags & FLAG_AUTOHIDE_SUSPEND_FULLSCREEN) != 0 + ? "FLAG_AUTOHIDE_SUSPEND_FULLSCREEN" : ""); + str.add((flags & FLAG_AUTOHIDE_SUSPEND_DRAGGING) != 0 + ? "FLAG_AUTOHIDE_SUSPEND_DRAGGING" : ""); + return str.toString(); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java index 488c822982..f4916698d9 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -18,9 +18,11 @@ package com.android.launcher3.taskbar; import android.content.pm.ActivityInfo.Config; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import com.android.systemui.shared.rotation.RotationButtonController; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; @@ -30,6 +32,7 @@ import java.util.List; public class TaskbarControllers { public final TaskbarActivityContext taskbarActivityContext; + public final TaskbarDragController taskbarDragController; public final TaskbarNavButtonController navButtonController; public final NavbarButtonsViewController navbarButtonsViewController; @@ -45,6 +48,8 @@ public class TaskbarControllers { public final TaskbarAutohideSuspendController taskbarAutohideSuspendController; public final TaskbarPopupController taskbarPopupController; + @Nullable private LoggableTaskbarController[] mControllersToLog = null; + /** Do not store this controller, as it may change at runtime. */ @NonNull public TaskbarUIController uiController = TaskbarUIController.DEFAULT; @@ -104,6 +109,14 @@ public class TaskbarControllers { taskbarEduController.init(this); taskbarPopupController.init(this); + mControllersToLog = new LoggableTaskbarController[] { + taskbarDragController, navButtonController, navbarButtonsViewController, + taskbarDragLayerController, taskbarScrimViewController, taskbarViewController, + taskbarUnfoldAnimationController, taskbarKeyguardController, + stashedHandleViewController, taskbarStashController, taskbarEduController, + taskbarAutohideSuspendController, taskbarPopupController + }; + mAreAllControllersInitialized = true; for (Runnable postInitCallback : mPostInitCallbacks) { postInitCallback.run(); @@ -129,6 +142,8 @@ public class TaskbarControllers { stashedHandleViewController.onDestroy(); taskbarAutohideSuspendController.onDestroy(); taskbarPopupController.onDestroy(); + + mControllersToLog = null; } /** @@ -143,4 +158,23 @@ public class TaskbarControllers { mPostInitCallbacks.add(callback); } } + + protected void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarControllers:"); + + if (mControllersToLog == null) { + pw.println(String.format( + "%s\t%s", prefix, "All taskbar controllers have already been destroyed.")); + return; + } + + for (LoggableTaskbarController controller : mControllersToLog) { + controller.dumpLogs(prefix + "\t", pw); + } + rotationButtonController.dumpLogs(prefix + "\t", pw); + } + + protected interface LoggableTaskbarController { + void dumpLogs(String prefix, PrintWriter pw); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java index 3315f8cad2..a698279635 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java @@ -57,10 +57,14 @@ import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.system.ClipDescriptionCompat; import com.android.systemui.shared.system.LauncherAppsCompat; +import java.io.PrintWriter; +import java.util.Arrays; + /** * Handles long click on Taskbar items to start a system drag and drop operation. */ -public class TaskbarDragController extends DragController { +public class TaskbarDragController extends DragController implements + TaskbarControllers.LoggableTaskbarController { private final int mDragIconSize; private final int[] mTempXY = new int[2]; @@ -415,4 +419,18 @@ public class TaskbarDragController extends DragController deepShortcutMapCopy) { mControllers.taskbarPopupController.setDeepShortcutMap(deepShortcutMapCopy); } + + protected void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarModelCallbacks:"); + + pw.println(String.format("%s\thotseat items count=%s", prefix, mHotseatItems.size())); + if (mPredictedItems != null) { + pw.println( + String.format("%s\tpredicted items count=%s", prefix, mPredictedItems.size())); + } + pw.println(String.format("%s\tmBindInProgress=%b", prefix, mBindInProgress)); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index a6019849dd..a70dafc4b5 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -33,6 +33,7 @@ import com.android.quickstep.OverviewCommandHelper; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; +import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -41,7 +42,7 @@ import java.lang.annotation.RetentionPolicy; * Handles all the functionality of the various buttons, making/routing the right calls into * launcher or sysui/system. */ -public class TaskbarNavButtonController { +public class TaskbarNavButtonController implements TaskbarControllers.LoggableTaskbarController { /** Allow some time in between the long press for back and recents. */ static final int SCREEN_PIN_LONG_PRESS_THRESHOLD = 200; @@ -50,6 +51,15 @@ public class TaskbarNavButtonController { private long mLastScreenPinLongPress; private boolean mScreenPinned; + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarNavButtonController:"); + + pw.println(String.format( + "%s\tmLastScreenPinLongPress=%dms", prefix, mLastScreenPinLongPress)); + pw.println(String.format("%s\tmScreenPinned=%b", prefix, mScreenPinned)); + } + @Retention(RetentionPolicy.SOURCE) @IntDef(value = { BUTTON_BACK, diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java index 2dee50688d..2d971ebdfa 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarPopupController.java @@ -40,6 +40,7 @@ import com.android.launcher3.util.LauncherBindableItemsContainer; import com.android.launcher3.util.PackageUserKey; import com.android.launcher3.views.ActivityContext; +import java.io.PrintWriter; import java.util.HashMap; import java.util.Objects; import java.util.function.Predicate; @@ -49,7 +50,7 @@ import java.util.stream.Stream; /** * Implements interfaces required to show and allow interacting with a PopupContainerWithArrow. */ -public class TaskbarPopupController { +public class TaskbarPopupController implements TaskbarControllers.LoggableTaskbarController { private static final SystemShortcut.Factory APP_INFO = SystemShortcut.AppInfo::new; @@ -157,6 +158,13 @@ public class TaskbarPopupController { return container; } + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarPopupController:"); + + mPopupDataProvider.dump(prefix + "\t", pw); + } + private class TaskbarPopupItemDragHandler implements PopupContainerWithArrow.PopupItemDragHandler { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java index 4b4ee4423c..02bbae4d53 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarScrimViewController.java @@ -25,10 +25,12 @@ import android.view.animation.PathInterpolator; import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SystemUiProxy; +import java.io.PrintWriter; + /** * Handles properties/data collection, and passes the results to {@link TaskbarScrimView} to render. */ -public class TaskbarScrimViewController { +public class TaskbarScrimViewController implements TaskbarControllers.LoggableTaskbarController { private static final float SCRIM_ALPHA = 0.6f; @@ -94,4 +96,11 @@ public class TaskbarScrimViewController { private void onClick() { SystemUiProxy.INSTANCE.get(mActivity).onBackPressed(); } + + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarScrimViewController:"); + + pw.println(String.format("%s\tmScrimAlpha.value=%.2f", prefix, mScrimAlpha.value)); + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java index 076eea1c12..748557baeb 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -36,13 +36,15 @@ import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SystemUiProxy; +import java.io.PrintWriter; +import java.util.StringJoiner; import java.util.function.IntPredicate; /** * Coordinates between controllers such as TaskbarViewController and StashedHandleViewController to * create a cohesive animation between stashed/unstashed states. */ -public class TaskbarStashController { +public class TaskbarStashController implements TaskbarControllers.LoggableTaskbarController { public static final int FLAG_IN_APP = 1 << 0; public static final int FLAG_STASHED_IN_APP_MANUAL = 1 << 1; // long press, persisted @@ -544,6 +546,34 @@ public class TaskbarStashController { mControllers.rotationButtonController.onTaskbarStateChange(visible, stashed); } + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarStashController:"); + + pw.println(String.format("%s\tmStashedHeight=%dpx", prefix, mStashedHeight)); + pw.println(String.format("%s\tmUnstashedHeight=%dpx", prefix, mUnstashedHeight)); + pw.println(String.format("%s\tmIsStashed=%b", prefix, mIsStashed)); + pw.println(String.format( + "%s\tappliedState=%s", prefix, getStateString(mStatePropertyHolder.mPrevFlags))); + pw.println(String.format("%s\tmState=%s", prefix, getStateString(mState))); + pw.println(String.format( + "%s\tmIsSystemGestureInProgress=%b", prefix, mIsSystemGestureInProgress)); + pw.println(String.format("%s\tmIsImeShowing=%b", prefix, mIsImeShowing)); + } + + private static String getStateString(int flags) { + StringJoiner str = new StringJoiner("|"); + str.add((flags & FLAG_IN_APP) != 0 ? "FLAG_IN_APP" : ""); + str.add((flags & FLAG_STASHED_IN_APP_MANUAL) != 0 ? "FLAG_STASHED_IN_APP_MANUAL" : ""); + str.add((flags & FLAG_STASHED_IN_APP_PINNED) != 0 ? "FLAG_STASHED_IN_APP_PINNED" : ""); + str.add((flags & FLAG_STASHED_IN_APP_EMPTY) != 0 ? "FLAG_STASHED_IN_APP_EMPTY" : ""); + str.add((flags & FLAG_STASHED_IN_APP_SETUP) != 0 ? "FLAG_STASHED_IN_APP_SETUP" : ""); + str.add((flags & FLAG_STASHED_IN_APP_IME) != 0 ? "FLAG_STASHED_IN_APP_IME" : ""); + str.add((flags & FLAG_IN_STASHED_LAUNCHER_STATE) != 0 + ? "FLAG_IN_STASHED_LAUNCHER_STATE" : ""); + return str.toString(); + } + private class StatePropertyHolder { private final IntPredicate mStashCondition; diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUnfoldAnimationController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUnfoldAnimationController.java index c785186446..d5ea570613 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUnfoldAnimationController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUnfoldAnimationController.java @@ -23,10 +23,13 @@ import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator; import com.android.systemui.unfold.UnfoldTransitionProgressProvider.TransitionProgressListener; import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider; +import java.io.PrintWriter; + /** * Controls animation of taskbar icons when unfolding foldable devices */ -public class TaskbarUnfoldAnimationController { +public class TaskbarUnfoldAnimationController implements + TaskbarControllers.LoggableTaskbarController { private final ScopedUnfoldTransitionProgressProvider mUnfoldTransitionProgressProvider; private final UnfoldMoveFromCenterAnimator mMoveFromCenterAnimator; @@ -59,6 +62,11 @@ public class TaskbarUnfoldAnimationController { mUnfoldTransitionProgressProvider.removeCallback(mTransitionListener); } + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarUnfoldAnimationController:"); + } + private class TransitionListener implements TransitionProgressListener { @Override diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index e00d1778fb..0508994eac 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -39,10 +39,12 @@ import com.android.launcher3.util.LauncherBindableItemsContainer; import com.android.launcher3.util.MultiValueAlpha; import com.android.quickstep.AnimatedFloat; +import java.io.PrintWriter; + /** * Handles properties/data collection, then passes the results to TaskbarView to render. */ -public class TaskbarViewController { +public class TaskbarViewController implements TaskbarControllers.LoggableTaskbarController { private static final Runnable NO_OP = () -> { }; public static final int ALPHA_INDEX_HOME = 0; @@ -258,6 +260,12 @@ public class TaskbarViewController { return mTaskbarView.isEventOverAnyItem(ev); } + @Override + public void dumpLogs(String prefix, PrintWriter pw) { + pw.println(prefix + "TaskbarViewController:"); + mModelCallbacks.dumpLogs(prefix + "\t", pw); + } + /** * Callbacks for {@link TaskbarView} to interact with its controller. */ diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index f620b62480..83b8b06fe6 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -951,6 +951,7 @@ public class TouchInteractionService extends Service RecentsModel.INSTANCE.get(this).dump("", pw); pw.println("ProtoTrace:"); pw.println(" file=" + ProtoTracer.INSTANCE.get(this).getTraceFile()); + mTaskbarManager.dumpLogs("", pw); } }