From a310a80c7b01057eaa89edca99085c24706c9e73 Mon Sep 17 00:00:00 2001 From: Hyunyoung Song Date: Thu, 25 Apr 2019 13:57:16 -0700 Subject: [PATCH] Add important dump logging Bug: 130851537 Bug: 119992316 Change-Id: I3de7c1d910d1aecd80b47a85284565c79fe0e2cc --- .../NavBarToHomeTouchController.java | 5 +++++ .../touchcontrollers/TaskViewTouchController.java | 5 +++++ .../touchcontrollers/StatusBarTouchController.java | 12 ++++++++++++ src/com/android/launcher3/AbstractFloatingView.java | 4 ++++ src/com/android/launcher3/Launcher.java | 3 ++- src/com/android/launcher3/LauncherStateManager.java | 10 ++++++++++ .../android/launcher3/dragndrop/DragController.java | 4 ++++ .../touch/AbstractStateChangeTouchController.java | 5 +++++ src/com/android/launcher3/util/TouchController.java | 4 ++++ src/com/android/launcher3/views/BaseDragLayer.java | 9 +++++++-- 10 files changed, 58 insertions(+), 3 deletions(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java index 8b1b51d43f..750495f7f2 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java @@ -52,6 +52,8 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch; import com.android.launcher3.util.TouchController; import com.android.quickstep.views.RecentsView; +import java.io.PrintWriter; + /** * Handles swiping up on the nav bar to go home from launcher, e.g. overview or all apps. */ @@ -224,4 +226,7 @@ public class NavBarToHomeTouchController implements TouchController, SwipeDetect mEndState.containerType, mLauncher.getWorkspace().getCurrentPage()); } + + @Override + public void dump(String prefix, PrintWriter writer) { } } diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java index 8b4aa07d79..87f1f7eb46 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/touchcontrollers/TaskViewTouchController.java @@ -42,6 +42,8 @@ import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.views.RecentsView; import com.android.quickstep.views.TaskView; +import java.io.PrintWriter; + /** * Touch controller for handling task view card swipes */ @@ -305,4 +307,7 @@ public abstract class TaskViewTouchController mPendingAnimation = null; } } + + @Override + public void dump(String prefix, PrintWriter writer) { } } diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java index 12e6f12bcc..fee18204ea 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java @@ -32,6 +32,8 @@ import com.android.launcher3.util.TouchController; import com.android.quickstep.RecentsModel; import com.android.systemui.shared.recents.ISystemUiProxy; +import java.io.PrintWriter; + /** * TouchController for handling touch events that get sent to the StatusBar. Once the * Once the event delta y passes the touch slop, the events start getting forwarded. @@ -45,6 +47,7 @@ public class StatusBarTouchController implements TouchController { protected final TouchEventTranslator mTranslator; private final float mTouchSlop; private ISystemUiProxy mSysUiProxy; + private int mLastAction; /* If {@code false}, this controller should not handle the input {@link MotionEvent}.*/ private boolean mCanIntercept; @@ -56,9 +59,18 @@ public class StatusBarTouchController implements TouchController { mTranslator = new TouchEventTranslator((MotionEvent ev)-> dispatchTouchEvent(ev)); } + @Override + public void dump(String prefix, PrintWriter writer) { + writer.println(prefix + "mCanIntercept:" + mCanIntercept); + writer.println(prefix + "mLastAction:" + MotionEvent.actionToString(mLastAction)); + writer.println(prefix + "mSysUiProxy available:" + (mSysUiProxy != null)); + + } + private void dispatchTouchEvent(MotionEvent ev) { try { if (mSysUiProxy != null) { + mLastAction = ev.getActionMasked(); mSysUiProxy.onStatusBarMotionEvent(ev); } } catch (RemoteException e) { diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java index d6f992f516..bd584996cc 100644 --- a/src/com/android/launcher3/AbstractFloatingView.java +++ b/src/com/android/launcher3/AbstractFloatingView.java @@ -41,6 +41,7 @@ import com.android.launcher3.util.TouchController; import com.android.launcher3.views.ActivityContext; import com.android.launcher3.views.BaseDragLayer; +import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -251,4 +252,7 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch @FloatingViewType int type) { return getOpenView(activity, type); } + + @Override + public void dump(String prefix, PrintWriter writer) { } } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d790c047ca..bdb71d2785 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2345,7 +2345,8 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, writer.println(" mPendingActivityResult=" + mPendingActivityResult); writer.println(" mRotationHelper: " + mRotationHelper); // Extra logging for b/116853349 - mDragLayer.dumpAlpha(writer); + mDragLayer.dump(prefix, writer); + mStateManager.dump(prefix, writer); dumpMisc(writer); try { diff --git a/src/com/android/launcher3/LauncherStateManager.java b/src/com/android/launcher3/LauncherStateManager.java index 209578d22a..b24f660e6b 100644 --- a/src/com/android/launcher3/LauncherStateManager.java +++ b/src/com/android/launcher3/LauncherStateManager.java @@ -50,6 +50,7 @@ import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.anim.PropertySetter.AnimatedPropertySetter; import com.android.launcher3.uioverrides.UiFactory; +import java.io.PrintWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; @@ -144,6 +145,15 @@ public class LauncherStateManager { return mCurrentStableState; } + public void dump(String prefix, PrintWriter writer) { + writer.println(prefix + "LauncherState"); + writer.println(prefix + "\tmLastStableState:" + mLastStableState); + writer.println(prefix + "\tmCurrentStableState:" + mCurrentStableState); + writer.println(prefix + "\tmState:" + mState); + writer.println(prefix + "\tmRestState:" + mRestState); + writer.println(prefix + "\tisInTransition:" + (mConfig.mCurrentAnimation != null)); + } + public StateHandler[] getStateHandlers() { if (mStateHandlers == null) { mStateHandlers = UiFactory.getStateHandler(mLauncher); diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java index 4d45ba9e68..5c3d4fbbf1 100644 --- a/src/com/android/launcher3/dragndrop/DragController.java +++ b/src/com/android/launcher3/dragndrop/DragController.java @@ -46,6 +46,7 @@ import com.android.launcher3.util.Thunk; import com.android.launcher3.util.TouchController; import com.android.launcher3.util.UiThreadHelper; +import java.io.PrintWriter; import java.util.ArrayList; /** @@ -697,4 +698,7 @@ public class DragController implements DragDriver.EventListener, TouchController mDropTargets.remove(target); } + @Override + public void dump(String prefix, PrintWriter writer) { } + } diff --git a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java index 0274de35cb..5f40dce9ce 100644 --- a/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java +++ b/src/com/android/launcher3/touch/AbstractStateChangeTouchController.java @@ -50,6 +50,8 @@ import com.android.launcher3.util.FlingBlockCheck; import com.android.launcher3.util.PendingAnimation; import com.android.launcher3.util.TouchController; +import java.io.PrintWriter; + /** * TouchController for handling state changes */ @@ -581,4 +583,7 @@ public abstract class AbstractStateChangeTouchController this.endTime = duration + SystemClock.elapsedRealtime(); } } + + @Override + public void dump(String prefix, PrintWriter writer) { } } diff --git a/src/com/android/launcher3/util/TouchController.java b/src/com/android/launcher3/util/TouchController.java index 3cca215002..ac6a5bdcff 100644 --- a/src/com/android/launcher3/util/TouchController.java +++ b/src/com/android/launcher3/util/TouchController.java @@ -18,6 +18,8 @@ package com.android.launcher3.util; import android.view.MotionEvent; +import java.io.PrintWriter; + public interface TouchController { /** @@ -29,4 +31,6 @@ public interface TouchController { * Called when the draglayer receives a intercept touch event. */ boolean onControllerInterceptTouchEvent(MotionEvent ev); + + void dump(String prefix, PrintWriter writer); } diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java index ab72bbe184..66cd536a54 100644 --- a/src/com/android/launcher3/views/BaseDragLayer.java +++ b/src/com/android/launcher3/views/BaseDragLayer.java @@ -383,8 +383,13 @@ public abstract class BaseDragLayer return mMultiValueAlpha.getProperty(index); } - public void dumpAlpha(PrintWriter writer) { - writer.println(" dragLayerAlpha : " + mMultiValueAlpha ); + public void dump(String prefix, PrintWriter writer) { + writer.println(prefix + "DragLayer"); + if (mActiveController != null) { + writer.println(prefix + "\tactiveController: " + mActiveController); + mActiveController.dump(prefix + "\t", writer); + } + writer.println(prefix + "\tdragLayerAlpha : " + mMultiValueAlpha ); } public static class LayoutParams extends InsettableFrameLayout.LayoutParams {