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
18d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.animation.Animator;
19d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.animation.AnimatorListenerAdapter;
20d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.view.View;
21d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseimport android.view.animation.Interpolator;
22d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
23d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haaseclass ViewPropertyAnimatorCompatICS {
24d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
25d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void setDuration(View view, long value) {
26d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().setDuration(value);
27d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
28d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
29d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void alpha(View view, float value) {
30d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().alpha(value);
31d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
32d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
33d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void translationX(View view, float value) {
34d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().translationX(value);
35d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
36d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
37d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void translationY(View view, float value) {
38d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().translationY(value);
39d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
40d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
41d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static long getDuration(View view) {
42d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        return view.animate().getDuration();
43d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
44d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
45d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void setInterpolator(View view, Interpolator value) {
46d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().setInterpolator(value);
47d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
48d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
49d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void setStartDelay(View view, long value) {
50d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().setStartDelay(value);
51d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
52d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
53d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static long getStartDelay(View view) {
54d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        return view.animate().getStartDelay();
55d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
56d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
57d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void alphaBy(View view, float value) {
58d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().alphaBy(value);
59d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
60d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
61d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void rotation(View view, float value) {
62d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().rotation(value);
63d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
64d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
65d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void rotationBy(View view, float value) {
66d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().rotationBy(value);
67d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
68d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
69d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void rotationX(View view, float value) {
70d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().rotationX(value);
71d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
72d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
73d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void rotationXBy(View view, float value) {
74d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().rotationXBy(value);
75d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
76d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
77d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void rotationY(View view, float value) {
78d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().rotationY(value);
79d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
80d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
81d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void rotationYBy(View view, float value) {
82d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().rotationYBy(value);
83d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
84d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
85d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void scaleX(View view, float value) {
86d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().scaleX(value);
87d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
88d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
89d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void scaleXBy(View view, float value) {
90d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().scaleXBy(value);
91d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
92d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
93d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void scaleY(View view, float value) {
94d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().scaleY(value);
95d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
96d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
97d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void scaleYBy(View view, float value) {
98d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().scaleYBy(value);
99d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
100d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
101d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void cancel(View view) {
102d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().cancel();
103d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
104d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
105d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void x(View view, float value) {
106d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().x(value);
107d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
108d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
109d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void xBy(View view, float value) {
110d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().xBy(value);
111d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
112d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
113d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void y(View view, float value) {
114d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().y(value);
115d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
116d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
117d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void yBy(View view, float value) {
118d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().yBy(value);
119d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
120d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
121d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void translationXBy(View view, float value) {
122d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().translationXBy(value);
123d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
124d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
125d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void translationYBy(View view, float value) {
126d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().translationYBy(value);
127d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
128d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
129d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void start(View view) {
130d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase        view.animate().start();
131d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
132d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase
133d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    public static void setListener(final View view,
134d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase            final ViewPropertyAnimatorListener listener) {
135797c82a7055f7ba825169388465617f0db716739Chet Haase        if (listener != null) {
136797c82a7055f7ba825169388465617f0db716739Chet Haase            view.animate().setListener(new AnimatorListenerAdapter() {
137797c82a7055f7ba825169388465617f0db716739Chet Haase                @Override
138797c82a7055f7ba825169388465617f0db716739Chet Haase                public void onAnimationCancel(Animator animation) {
139797c82a7055f7ba825169388465617f0db716739Chet Haase                    listener.onAnimationCancel(view);
140797c82a7055f7ba825169388465617f0db716739Chet Haase                }
141797c82a7055f7ba825169388465617f0db716739Chet Haase
142797c82a7055f7ba825169388465617f0db716739Chet Haase                @Override
143797c82a7055f7ba825169388465617f0db716739Chet Haase                public void onAnimationEnd(Animator animation) {
144797c82a7055f7ba825169388465617f0db716739Chet Haase                    listener.onAnimationEnd(view);
145797c82a7055f7ba825169388465617f0db716739Chet Haase                }
146797c82a7055f7ba825169388465617f0db716739Chet Haase
147797c82a7055f7ba825169388465617f0db716739Chet Haase                @Override
148797c82a7055f7ba825169388465617f0db716739Chet Haase                public void onAnimationStart(Animator animation) {
149797c82a7055f7ba825169388465617f0db716739Chet Haase                    listener.onAnimationStart(view);
150797c82a7055f7ba825169388465617f0db716739Chet Haase                }
151797c82a7055f7ba825169388465617f0db716739Chet Haase            });
152797c82a7055f7ba825169388465617f0db716739Chet Haase        } else {
153797c82a7055f7ba825169388465617f0db716739Chet Haase            view.animate().setListener(null);
154797c82a7055f7ba825169388465617f0db716739Chet Haase        }
155d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase    }
156d7d27e9ebe5c7325e67e1a8af265378bd2056cadChet Haase}
157