private void postCallback() {
   if (mHaveRequestInFlight) return;
   mHaveRequestInFlight = true;
   if (postSyntheticVSync()) return;
   if (isVSyncSignalAvailable()) {
     mChoreographer.postFrameCallback(mVSyncFrameCallback);
   } else {
     postRunnableCallback();
   }
 }
 @Override
 public void start() {
   if (mStarted) {
     return;
   }
   mStarted = true;
   mLastTime = SystemClock.uptimeMillis();
   mChoreographer.removeFrameCallback(mFrameCallback);
   mChoreographer.postFrameCallback(mFrameCallback);
 }
Ejemplo n.º 3
0
 @Override
 public void doFrame(long frameTimeNanos) {
   if (isInitialized) {
     int oldX = location[0];
     int oldY = location[1];
     injectLocation();
     view.setTranslationX(oldX - location[0]);
     view.setTranslationY(oldY - location[1]);
   } else {
     injectLocation();
     isInitialized = true;
   }
   choreographer.postFrameCallback(this);
 }
Ejemplo n.º 4
0
 @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
 private void choreographerPostFrameCallback(Choreographer.FrameCallback frameCallback) {
   mChoreographer.postFrameCallback(frameCallback);
 }
Ejemplo n.º 5
0
 @Override
 public void onViewAttachedToWindow(View v) {
   isInitialized = false;
   view = v;
   choreographer.postFrameCallback(callback);
 }
Ejemplo n.º 6
0
 public void scheduleUpdate() {
   if (!mUpdateScheduled) {
     mUpdateScheduled = true;
     mChoreographer.postFrameCallback(this);
   }
 }