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