Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ba0ad92 authored by Pablo Gamito's avatar Pablo Gamito
Browse files

Log dispatch when handler chosen before playTransition is called

Test: capture trace in winscope and make sure we always have dispatch times
Bug: 277181336
Change-Id: I63b30960ac4a3e7d4887bb7b29b6b3d4fda374e1
parent f94880bb
Loading
Loading
Loading
Loading
+2 −4
Original line number Original line Diff line number Diff line
@@ -19,8 +19,6 @@ package com.android.wm.shell.transition;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CLOSE;
import static android.view.WindowManager.TRANSIT_CLOSE;
import static android.view.WindowManager.TRANSIT_FIRST_CUSTOM;
import static android.view.WindowManager.TRANSIT_FIRST_CUSTOM;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY;
import static android.view.WindowManager.TRANSIT_KEYGUARD_UNOCCLUDE;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_SLEEP;
import static android.view.WindowManager.TRANSIT_SLEEP;
import static android.view.WindowManager.TRANSIT_TO_BACK;
import static android.view.WindowManager.TRANSIT_TO_BACK;
@@ -851,14 +849,13 @@ public class Transitions implements RemoteCallable<Transitions>,
                    active.mStartT, active.mFinishT, (wct, cb) -> onFinish(active, wct, cb));
                    active.mStartT, active.mFinishT, (wct, cb) -> onFinish(active, wct, cb));
            if (consumed) {
            if (consumed) {
                ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " animated by firstHandler");
                ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " animated by firstHandler");
                mTracer.logDispatched(active.mInfo.getDebugId(), active.mHandler);
                return;
                return;
            }
            }
        }
        }
        // Otherwise give every other handler a chance
        // Otherwise give every other handler a chance
        active.mHandler = dispatchTransition(active.mToken, active.mInfo, active.mStartT,
        active.mHandler = dispatchTransition(active.mToken, active.mInfo, active.mStartT,
                active.mFinishT, (wct, cb) -> onFinish(active, wct, cb), active.mHandler);
                active.mFinishT, (wct, cb) -> onFinish(active, wct, cb), active.mHandler);

        mTracer.logDispatched(active.mInfo.getDebugId(), active.mHandler);
    }
    }


    /**
    /**
@@ -877,6 +874,7 @@ public class Transitions implements RemoteCallable<Transitions>,
            if (consumed) {
            if (consumed) {
                ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " animated by %s",
                ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " animated by %s",
                        mHandlers.get(i));
                        mHandlers.get(i));
                mTracer.logDispatched(info.getDebugId(), mHandlers.get(i));
                return mHandlers.get(i);
                return mHandlers.get(i);
            }
            }
        }
        }