Skip logging if device profile is not initialized
Since recentsAnimation and animationCancel come on the event queue, we may skip
recentsAnimation and only process animationCancel if they happen too close to
each other, before the first event is scheduled on eventQueue.
As a result deviceProfile is never initialized.
Prevent crash by skipping logging in this case, we shouldn't be logging it anyway
Bug: 80515833
Change-Id: Ife1d6009bcdc34af6c281d848665145cd235fa40
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
index 28062cf..c94174b 100644
--- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -683,15 +683,20 @@
}
private void doLogGesture(boolean toLauncher) {
+ DeviceProfile dp = mDp;
+ if (dp == null) {
+ // We probably never received an animation controller, skip logging.
+ return;
+ }
final int direction;
- if (mDp.isVerticalBarLayout()) {
- direction = (mDp.isSeascape() ^ toLauncher) ? Direction.LEFT : Direction.RIGHT;
+ if (dp.isVerticalBarLayout()) {
+ direction = (dp.isSeascape() ^ toLauncher) ? Direction.LEFT : Direction.RIGHT;
} else {
direction = toLauncher ? Direction.UP : Direction.DOWN;
}
int dstContainerType = toLauncher ? ContainerType.TASKSWITCHER : ContainerType.APP;
- UserEventDispatcher.newInstance(mContext, mDp).logStateChangeAction(
+ UserEventDispatcher.newInstance(mContext, dp).logStateChangeAction(
mLogAction, direction,
ContainerType.NAVBAR, ContainerType.APP,
dstContainerType,