1// Signature format: 4.0
2package androidx.metrics.performance {
3
4  public class FrameData {
5    ctor public FrameData(long frameStartNanos, long frameDurationUiNanos, boolean isJank, java.util.List<androidx.metrics.performance.StateInfo> states);
6    method public androidx.metrics.performance.FrameData copy();
7    method public final long getFrameDurationUiNanos();
8    method public final long getFrameStartNanos();
9    method public final java.util.List<androidx.metrics.performance.StateInfo> getStates();
10    method public final boolean isJank();
11    property public final long frameDurationUiNanos;
12    property public final long frameStartNanos;
13    property public final boolean isJank;
14    property public final java.util.List<androidx.metrics.performance.StateInfo> states;
15  }
16
17  public class FrameDataApi24 extends androidx.metrics.performance.FrameData {
18    ctor public FrameDataApi24(long frameStartNanos, long frameDurationUiNanos, long frameDurationCpuNanos, boolean isJank, java.util.List<androidx.metrics.performance.StateInfo> states);
19    method public final long getFrameDurationCpuNanos();
20    property public final long frameDurationCpuNanos;
21  }
22
23  public final class FrameDataApi31 extends androidx.metrics.performance.FrameDataApi24 {
24    ctor public FrameDataApi31(long frameStartNanos, long frameDurationUiNanos, long frameDurationCpuNanos, long frameDurationTotalNanos, long frameOverrunNanos, boolean isJank, java.util.List<androidx.metrics.performance.StateInfo> states);
25    method public long getFrameDurationTotalNanos();
26    method public long getFrameOverrunNanos();
27    property public long frameDurationTotalNanos;
28    property public long frameOverrunNanos;
29  }
30
31  public final class JankStats {
32    method @UiThread public static androidx.metrics.performance.JankStats createAndTrack(android.view.Window window, androidx.metrics.performance.JankStats.OnFrameListener frameListener);
33    method public float getJankHeuristicMultiplier();
34    method public boolean isTrackingEnabled();
35    method public void setJankHeuristicMultiplier(float);
36    method @UiThread public void setTrackingEnabled(boolean);
37    property public boolean isTrackingEnabled;
38    property public float jankHeuristicMultiplier;
39    field public static final androidx.metrics.performance.JankStats.Companion Companion;
40  }
41
42  public static final class JankStats.Companion {
43    method @UiThread public androidx.metrics.performance.JankStats createAndTrack(android.view.Window window, androidx.metrics.performance.JankStats.OnFrameListener frameListener);
44  }
45
46  public static fun interface JankStats.OnFrameListener {
47    method public void onFrame(androidx.metrics.performance.FrameData volatileFrameData);
48  }
49
50  public final class PerformanceMetricsState {
51    method @UiThread public static androidx.metrics.performance.PerformanceMetricsState.Holder getHolderForHierarchy(android.view.View view);
52    method public void putSingleFrameState(String key, String value);
53    method public void putState(String key, String value);
54    method public void removeState(String key);
55    field public static final androidx.metrics.performance.PerformanceMetricsState.Companion Companion;
56  }
57
58  public static final class PerformanceMetricsState.Companion {
59    method @UiThread public androidx.metrics.performance.PerformanceMetricsState.Holder getHolderForHierarchy(android.view.View view);
60  }
61
62  public static final class PerformanceMetricsState.Holder {
63    method public androidx.metrics.performance.PerformanceMetricsState? getState();
64    property public androidx.metrics.performance.PerformanceMetricsState? state;
65  }
66
67  public final class StateInfo {
68    ctor public StateInfo(String key, String value);
69    method public String getKey();
70    method public String getValue();
71    property public String key;
72    property public String value;
73  }
74
75}
76
77