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