1a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki/* 2a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * Copyright (C) 2017 The Android Open Source Project 3a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * 4a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * Licensed under the Apache License, Version 2.0 (the "License"); 5a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * you may not use this file except in compliance with the License. 6a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * You may obtain a copy of the License at 7a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * 8a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * http://www.apache.org/licenses/LICENSE-2.0 9a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * 10a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * Unless required by applicable law or agreed to in writing, software 11a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * distributed under the License is distributed on an "AS IS" BASIS, 12a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * See the License for the specific language governing permissions and 14a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki * limitations under the License. 15a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki */ 16a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 17a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Arakipackage android.support.transition; 18a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 19a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Arakiimport android.animation.Animator; 20a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Arakiimport android.animation.AnimatorListenerAdapter; 21a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Arakiimport android.os.Build; 22a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Arakiimport android.support.annotation.NonNull; 23a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 24a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Arakiclass AnimatorUtils { 25a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 26a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki private static final AnimatorUtilsImpl IMPL; 27a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 28a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki static { 29a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki if (Build.VERSION.SDK_INT >= 19) { 30a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki IMPL = new AnimatorUtilsApi19(); 31a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki } else { 32a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki IMPL = new AnimatorUtilsApi14(); 33a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki } 34a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki } 35a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 36a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki static void addPauseListener(@NonNull Animator animator, 37a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki @NonNull AnimatorListenerAdapter listener) { 38a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki IMPL.addPauseListener(animator, listener); 39a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki } 40a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki 41928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki static void pause(@NonNull Animator animator) { 42928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki IMPL.pause(animator); 43928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki } 44928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki 45928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki static void resume(@NonNull Animator animator) { 46928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki IMPL.resume(animator); 47928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki } 48928ae3c90e1410c734136bb39d55517efc79714fYuichi Araki 49a6f2ebe33d03c42114b0082720cf9c42f7dad5a3Yuichi Araki} 50