1{ 2 "methods": { 3 "getFrameInterval()": { 4 "isImplementation": false, 5 "modifiers": [ 6 "public", 7 "static" 8 ], 9 "params": [], 10 "returnType": "long", 11 "exceptions": [], 12 "name": "getFrameInterval()", 13 "documentation": "Return the current inter-frame interval.\n\n@return Inter-frame interval.\n" 14 }, 15 "getFrameTimeNanos()": { 16 "isImplementation": true, 17 "modifiers": [ 18 "protected" 19 ], 20 "params": [], 21 "returnType": "long", 22 "exceptions": [], 23 "name": "getFrameTimeNanos()" 24 }, 25 "getInstance()": { 26 "isImplementation": true, 27 "modifiers": [ 28 "protected", 29 "static" 30 ], 31 "params": [], 32 "returnType": "android.view.Choreographer", 33 "exceptions": [], 34 "name": "getInstance()" 35 }, 36 "makeThreadLocal()": { 37 "isImplementation": false, 38 "modifiers": [ 39 "private", 40 "static" 41 ], 42 "params": [], 43 "returnType": "org.robolectric.util.SoftThreadLocal\u003candroid.view.Choreographer\u003e", 44 "exceptions": [], 45 "name": "makeThreadLocal()" 46 }, 47 "postCallback(int,java.lang.Runnable,java.lang.Object)": { 48 "isImplementation": true, 49 "modifiers": [ 50 "protected" 51 ], 52 "params": [ 53 "callbackType", 54 "action", 55 "token" 56 ], 57 "returnType": "void", 58 "exceptions": [], 59 "name": "postCallback(int,java.lang.Runnable,java.lang.Object)", 60 "documentation": "The default implementation will call {@link #postCallbackDelayed(int, Runnable, Object, long)}\nwith no delay. {@link android.animation.AnimationHandler} calls this method to schedule\nanimation updates infinitely. Because during a Robolectric test the system time is paused and\nexecution of the event loop is invoked for each test instruction, the behavior of\nAnimationHandler would result in endless looping (the execution of the task results in a new\nanimation task created and scheduled to the front of the event loop queue).\n\n\u003cp\u003eTo prevent endless looping, a test may call {@link #setPostCallbackDelay(int)} to specify a\nsmall delay when animation is scheduled.\n\n@see #setPostCallbackDelay(int)\n" 61 }, 62 "postCallbackDelayed(int,java.lang.Runnable,java.lang.Object,long)": { 63 "isImplementation": true, 64 "modifiers": [ 65 "protected" 66 ], 67 "params": [ 68 "callbackType", 69 "action", 70 "token", 71 "delayMillis" 72 ], 73 "returnType": "void", 74 "exceptions": [], 75 "name": "postCallbackDelayed(int,java.lang.Runnable,java.lang.Object,long)" 76 }, 77 "postFrameCallback(android.view.Choreographer.FrameCallback)": { 78 "isImplementation": true, 79 "modifiers": [ 80 "protected" 81 ], 82 "params": [ 83 "callback" 84 ], 85 "returnType": "void", 86 "exceptions": [], 87 "name": "postFrameCallback(android.view.Choreographer.FrameCallback)", 88 "documentation": "The default implementation will call {@link #postFrameCallbackDelayed(FrameCallback, long)}\nwith no delay. {@link android.animation.AnimationHandler} calls this method to schedule\nanimation updates infinitely. Because during a Robolectric test the system time is paused and\nexecution of the event loop is invoked for each test instruction, the behavior of\nAnimationHandler would result in endless looping (the execution of the task results in a new\nanimation task created and scheduled to the front of the event loop queue).\n\n\u003cp\u003eTo prevent endless looping, a test may call {@link #setPostFrameCallbackDelay(int)} to\nspecify a small delay when animation is scheduled.\n\n@see #setPostCallbackDelay(int)\n" 89 }, 90 "postFrameCallbackDelayed(android.view.Choreographer.FrameCallback,long)": { 91 "isImplementation": true, 92 "modifiers": [ 93 "protected" 94 ], 95 "params": [ 96 "callback", 97 "delayMillis" 98 ], 99 "returnType": "void", 100 "exceptions": [], 101 "name": "postFrameCallbackDelayed(android.view.Choreographer.FrameCallback,long)" 102 }, 103 "removeCallbacks(int,java.lang.Runnable,java.lang.Object)": { 104 "isImplementation": true, 105 "modifiers": [ 106 "protected" 107 ], 108 "params": [ 109 "callbackType", 110 "action", 111 "token" 112 ], 113 "returnType": "void", 114 "exceptions": [], 115 "name": "removeCallbacks(int,java.lang.Runnable,java.lang.Object)" 116 }, 117 "removeFrameCallback(android.view.Choreographer.FrameCallback)": { 118 "isImplementation": true, 119 "modifiers": [ 120 "protected" 121 ], 122 "params": [ 123 "callback" 124 ], 125 "returnType": "void", 126 "exceptions": [], 127 "name": "removeFrameCallback(android.view.Choreographer.FrameCallback)" 128 }, 129 "reset()": { 130 "isImplementation": false, 131 "modifiers": [ 132 "public", 133 "static", 134 "synchronized" 135 ], 136 "params": [], 137 "returnType": "void", 138 "exceptions": [], 139 "name": "reset()" 140 }, 141 "setFrameInterval(long)": { 142 "isImplementation": false, 143 "modifiers": [ 144 "public", 145 "static" 146 ], 147 "params": [ 148 "frameInterval" 149 ], 150 "returnType": "void", 151 "exceptions": [], 152 "name": "setFrameInterval(long)", 153 "documentation": "Set the inter-frame interval used to advance the clock. By default, this is set to 1ms.\n\n@param frameInterval Inter-frame interval.\n" 154 }, 155 "setPostCallbackDelay(int)": { 156 "isImplementation": false, 157 "modifiers": [ 158 "public", 159 "static" 160 ], 161 "params": [ 162 "delayMillis" 163 ], 164 "returnType": "void", 165 "exceptions": [], 166 "name": "setPostCallbackDelay(int)", 167 "documentation": "Allows application to specify a fixed amount of delay when {@link #postCallback(int, Runnable,\nObject)} is invoked. The default delay value is `0`. This can be used to avoid infinite\nanimation tasks to be spawned when the Robolectric {@link org.robolectric.util.Scheduler} is in\n{@link org.robolectric.util.Scheduler.IdleState#PAUSED} mode.\n" 168 }, 169 "setPostFrameCallbackDelay(int)": { 170 "isImplementation": false, 171 "modifiers": [ 172 "public", 173 "static" 174 ], 175 "params": [ 176 "delayMillis" 177 ], 178 "returnType": "void", 179 "exceptions": [], 180 "name": "setPostFrameCallbackDelay(int)", 181 "documentation": "Allows application to specify a fixed amount of delay when {@link\n#postFrameCallback(FrameCallback)} is invoked. The default delay value is `0`. This can be used\nto avoid infinite animation tasks to be spawned when the Robolectric {@link\norg.robolectric.util.Scheduler} is in {@link org.robolectric.util.Scheduler.IdleState#PAUSED}\nmode.\n" 182 } 183 }, 184 "imports": [ 185 "android.os.Handler", 186 "android.os.Looper", 187 "android.os.SystemClock", 188 "android.view.Choreographer", 189 "android.view.Choreographer.FrameCallback", 190 "org.robolectric.annotation.Implementation", 191 "org.robolectric.annotation.Implements", 192 "org.robolectric.annotation.Resetter", 193 "org.robolectric.shadow.api.Shadow", 194 "org.robolectric.util.SoftThreadLocal", 195 "org.robolectric.util.TimeUtils" 196 ], 197 "name": "org.robolectric.shadows.ShadowChoreographer", 198 "documentation": "Robolectric maintains its own concept of the current time from the Choreographer\u0027s\npoint of view, aimed at making animations work correctly. Time starts out at {@code 0}\nand advances by {@code frameInterval} every time\n{@link Choreographer#getFrameTimeNanos()} is called.\n" 199}