void EnterTransitionCoordinator::StartRejectedAnimations( /* [in] */ IArrayList* rejectedSnapshots) //ArrayList<View> { Boolean bval; if (rejectedSnapshots == NULL || (rejectedSnapshots->IsEmpty(&bval), bval)) { return; } AutoPtr<IViewGroup> vg; GetDecor((IViewGroup**)&vg); IView* decorView = IView::Probe(vg); if (decorView != NULL) { AutoPtr<IViewOverlay> vo; decorView->GetOverlay((IViewOverlay**)&vo); IViewGroupOverlay* overlay = IViewGroupOverlay::Probe(vo); AutoPtr<IObjectAnimator> animator; Int32 numRejected; rejectedSnapshots->GetSize(&numRejected); AutoPtr<ArrayOf<Float> > args = ArrayOf<Float>::Alloc(2); args->Set(0, 0); args->Set(1, 0); for (Int32 i = 0; i < numRejected; i++) { AutoPtr<IInterface> obj; rejectedSnapshots->Get(i, (IInterface**)&obj); IView* snapshot = IView::Probe(obj); overlay->Add(snapshot); animator = ObjectAnimator::OfFloat( snapshot, Elastos::Droid::View::View::ALPHA, args); IAnimator::Probe(animator)->Start(); } AutoPtr<IAnimatorListener> listener = new RejectedAnimatorListenerAdapter( this, decorView, rejectedSnapshots); IAnimator::Probe(animator)->AddListener(listener); } }