/* * Copyright (c) 2013, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * */ package com.marshalchen.common.uimodule.rebound; /** * The spring looper is an interface for implementing platform-dependent run loops. */ public abstract class SpringLooper { protected BaseSpringSystem mSpringSystem; /** * Set the BaseSpringSystem that the SpringLooper will call back to. * @param springSystem the spring system to call loop on. */ public void setSpringSystem(BaseSpringSystem springSystem) { mSpringSystem = springSystem; } /** * The BaseSpringSystem has requested that the looper begins running this {@link Runnable} * on every frame. The {@link Runnable} will continue running on every frame until * {@link #stop()} is called. * If an existing {@link Runnable} had been started on this looper, it will be cancelled. */ public abstract void start(); /** * The looper will no longer run the {@link Runnable}. */ public abstract void stop(); }