public AnimationJob playFullAnimationNow(Animation anim) { long lengthMsec = anim.getLength(); return playAnimationSegmentNow(anim, 0, lengthMsec); /*"The PlayState is not implemented for the RemoteAnimationJob." To get correct "remainingTime", when using a networked animation player. Before you play an animation set the start time and stop time on the animation, * or use the play animation with time args: anim.setStartTime(0); anim.setStopTime(anim.getLength()); or animPlayer.playAnimation(anim, 0, anim.getLength()); */ /* * if (myCachedAnimPlayer != null) { // return myCachedAnimPlayer.playAnimation(anim); } else { return AnimationUtils.playAnimation(myBundleCtx, myAnimPlayerOsgiFilterString, anim); } */ }
@Override protected boolean onComplete(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.complete(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_COMPLETE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; }
@Override protected boolean onResume(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.resume(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_RESUME, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onStop(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.stop(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_CANCEL, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onPause(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.pause(time); } if(mySource != null && mySource instanceof RampedAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); props.add(AnimationSignal.PROP_RAMPING); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_PAUSE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((RampedAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onResume(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.resume(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_RESUME, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onComplete(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.complete(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_COMPLETE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; }
@Override protected boolean onPause(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.pause(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_PAUSE, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
@Override protected boolean onStop(long time) { for(ServiceAddOn<Playable> addon : myAnimation.getAddOns()){ Playable p = addon.getAddOn(); p.stop(time); } if(mySource != null && mySource instanceof DefaultAnimationPlayer && mySignalFactory != null) { List<String> props = new ArrayList<String>(); if(myLoopFlag) { props.add(AnimationSignal.PROP_LOOP); } AnimationSignal signal = mySignalFactory.createAnimationSignal( mySource.getAnimationPlayerId(), AnimationSignal.EVENT_CANCEL, myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props); ((DefaultAnimationPlayer)mySource).notifyListeners(signal); } return true; } @Override
myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props);
myAnimation.getVersion().getName(), myAnimation.getVersion().getNumber(), myAnimation.hashCode(), myAnimation.getLength(), props);