Add log dumps for taskbar state

Test: created bugreport and checked logs
Bug: -
Change-Id: Ic0c2330b18c8daf181ae5b236e0c4b212d630fa3
This commit is contained in:
Schneider Victor-tulias
2021-12-15 13:09:39 -08:00
parent 47007fccce
commit fa0bfee97a
18 changed files with 290 additions and 13 deletions

View File

@@ -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);
}
}