1d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase/* 2d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * Copyright (C) 2014 The Android Open Source Project 3d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * 4d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * Licensed under the Apache License, Version 2.0 (the "License"); 5d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * you may not use this file except in compliance with the License. 6d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * You may obtain a copy of the License at 7d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * 8d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * http://www.apache.org/licenses/LICENSE-2.0 9d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * 10d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * Unless required by applicable law or agreed to in writing, software 11d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * distributed under the License is distributed on an "AS IS" BASIS, 12d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * See the License for the specific language governing permissions and 14d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase * limitations under the License. 15d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase */ 16d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haasepackage android.support.v4.view; 17d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 18ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haaseimport android.animation.Animator; 19ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haaseimport android.animation.AnimatorListenerAdapter; 20d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.view.View; 21d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 22d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseclass ViewPropertyAnimatorCompatJB { 23d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 24d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void withStartAction(View view, Runnable runnable) { 25d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().withStartAction(runnable); 26d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 27d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 28d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void withEndAction(View view, Runnable runnable) { 29d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().withEndAction(runnable); 30d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 31d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 32d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase public static void withLayer(View view) { 33d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase view.animate().withLayer(); 34d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase } 35d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase 36ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase public static void setListener(final View view, 37ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase final ViewPropertyAnimatorListener listener) { 38ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase if (listener != null) { 39ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase view.animate().setListener(new AnimatorListenerAdapter() { 40ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase @Override 41ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase public void onAnimationCancel(Animator animation) { 42ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase listener.onAnimationCancel(view); 43ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase } 44ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase 45ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase @Override 46ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase public void onAnimationEnd(Animator animation) { 47ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase listener.onAnimationEnd(view); 48ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase } 49ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase 50ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase @Override 51ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase public void onAnimationStart(Animator animation) { 52ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase listener.onAnimationStart(view); 53ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase } 54ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase }); 55ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase } else { 56ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase view.animate().setListener(null); 57ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase } 58ead7065c8e987fefca4d0d850d824fb7d7bce677Chet Haase } 59d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase} 60