/**
* Copyright (c) 2015-present, 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.facebook.react.animation;
import android.util.SparseArray;
import com.facebook.react.bridge.UiThreadUtil;
/**
* Coordinates catalyst animations driven by {@link UIManagerModule} and
* {@link AnimationManagerModule}
*/
public class AnimationRegistry {
private final SparseArray<Animation> mRegistry = new SparseArray<Animation>();
public void registerAnimation(Animation animation) {
UiThreadUtil.assertOnUiThread();
mRegistry.put(animation.getAnimationID(), animation);
}
public Animation getAnimation(int animationID) {
UiThreadUtil.assertOnUiThread();
return mRegistry.get(animationID);
}
public Animation removeAnimation(int animationID) {
UiThreadUtil.assertOnUiThread();
Animation animation = mRegistry.get(animationID);
if (animation != null) {
mRegistry.delete(animationID);
}
return animation;
}
}