Broadcast cancel event of a CUJ session

Broadcast cancel events of a CUJ session to who is interested
in it like metrics collector.

Bug: 171912046
Test: atest FrameworksCoreTests:InteractionJankMonitorTest FrameworksCoreTests:FrameTrackerTest
Change-Id: I7bbef1448a8430d79163cdf55f5fba8f1c23d603
This commit is contained in:
Ahan Wu
2021-02-24 17:15:00 +00:00
parent ea5f042755
commit cf7d9aa500
2 changed files with 4 additions and 1 deletions

View File

@@ -203,6 +203,9 @@ public class FrameTracker extends SurfaceControl.OnJankDataListener
Trace.endAsyncSection(mSession.getName(), (int) mBeginVsyncId);
mCancelled = true;
removeObservers();
if (mListener != null) {
mListener.onNotifyCujEvents(mSession, InteractionJankMonitor.ACTION_SESSION_CANCEL);
}
}
@Override

View File

@@ -99,7 +99,7 @@ public class InteractionJankMonitor {
private static final int DEFAULT_TRACE_THRESHOLD_FRAME_TIME_MILLIS = 64;
public static final String ACTION_SESSION_BEGIN = ACTION_PREFIX + ".ACTION_SESSION_BEGIN";
public static final String ACTION_SESSION_END = ACTION_PREFIX + ".ACTION_SESSION_END";
public static final String ACTION_SESSION_CANCEL = ACTION_PREFIX + ".ACTION_SESSION_CANCEL";
public static final String ACTION_METRICS_LOGGED = ACTION_PREFIX + ".ACTION_METRICS_LOGGED";
public static final String BUNDLE_KEY_CUJ_NAME = ACTION_PREFIX + ".CUJ_NAME";
public static final String BUNDLE_KEY_TIMESTAMP = ACTION_PREFIX + ".TIMESTAMP";