LauncherViewPropertyAnimator.java revision 7407d2a16ed6cf22494122cf683bf13de6fa3695
17407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka/* 27407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * Copyright (C) 2012 The Android Open Source Project 37407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * 47407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * Licensed under the Apache License, Version 2.0 (the "License"); 57407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * you may not use this file except in compliance with the License. 67407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * You may obtain a copy of the License at 77407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * 87407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * http://www.apache.org/licenses/LICENSE-2.0 97407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * 107407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * Unless required by applicable law or agreed to in writing, software 117407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * distributed under the License is distributed on an "AS IS" BASIS, 127407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * See the License for the specific language governing permissions and 147407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka * limitations under the License. 157407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka */ 167407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 177407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkapackage com.android.launcher2; 187407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 197407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport android.animation.Animator; 207407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport android.animation.Animator.AnimatorListener; 217407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport android.animation.TimeInterpolator; 227407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport android.view.ViewPropertyAnimator; 237407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport android.view.View; 247407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 257407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport java.util.ArrayList; 267407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkaimport java.util.EnumSet; 277407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 287407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurkapublic class LauncherViewPropertyAnimator extends Animator implements AnimatorListener { 297407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka enum Properties { 307407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka TRANSLATION_X, 317407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka TRANSLATION_Y, 327407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka SCALE_X, 337407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka SCALE_Y, 347407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka ROTATION_Y, 357407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka ALPHA, 367407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka START_DELAY, 377407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka DURATION, 387407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka INTERPOLATOR 397407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 407407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka EnumSet<Properties> mPropertiesToSet = EnumSet.noneOf(Properties.class); 417407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka ViewPropertyAnimator mViewPropertyAnimator; 427407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka View mTarget; 437407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 447407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka float mTranslationX; 457407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka float mTranslationY; 467407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka float mScaleX; 477407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka float mScaleY; 487407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka float mRotationY; 497407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka float mAlpha; 507407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka long mStartDelay; 517407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka long mDuration; 527407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka TimeInterpolator mInterpolator; 537407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka Animator.AnimatorListener mListener; 547407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka boolean mRunning = false; 557407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 567407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator(View target) { 577407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mTarget = target; 587407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 597407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 607407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 617407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void addListener(Animator.AnimatorListener listener) { 627407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 637407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Only one listener supported"); 647407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 657407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener = listener; 667407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 677407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 687407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 697407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void cancel() { 707407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.cancel(); 717407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 727407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 737407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 747407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public Animator clone() { 757407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Not implemented"); 767407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 777407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 787407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 797407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void end() { 807407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Not implemented"); 817407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 827407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 837407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 847407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public long getDuration() { 857407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return mViewPropertyAnimator.getDuration(); 867407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 877407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 887407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 897407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public ArrayList<Animator.AnimatorListener> getListeners() { 907407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return null; 917407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 927407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 937407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 947407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public long getStartDelay() { 957407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return mViewPropertyAnimator.getStartDelay(); 967407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 977407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 987407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 997407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationCancel(Animator animation) { 1007407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1017407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationCancel(this); 1027407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1037407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRunning = false; 1047407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1057407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1067407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1077407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationEnd(Animator animation) { 1087407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1097407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationEnd(this); 1107407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1117407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRunning = false; 1127407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1137407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1147407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1157407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationRepeat(Animator animation) { 1167407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1177407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationRepeat(this); 1187407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1197407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1207407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1217407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1227407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationStart(Animator animation) { 1237407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1247407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationStart(this); 1257407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1267407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRunning = true; 1277407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1287407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1297407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1307407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public boolean isRunning() { 1317407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return mRunning; 1327407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1337407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1347407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1357407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public boolean isStarted() { 1367407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return mViewPropertyAnimator != null; 1377407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1387407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1397407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1407407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void removeAllListeners() { 1417407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener = null; 1427407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1437407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1447407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1457407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void removeListener(Animator.AnimatorListener listener) { 1467407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener == listener) { 1477407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener = null; 1487407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } else { 1497407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Removing listener that wasn't set"); 1507407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1517407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1527407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1537407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1547407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public Animator setDuration(long duration) { 1557407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.DURATION); 1567407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mDuration = duration; 1577407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 1587407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1597407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1607407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1617407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setInterpolator(TimeInterpolator value) { 1627407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.INTERPOLATOR); 1637407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mInterpolator = value; 1647407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1657407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1667407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1677407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setStartDelay(long startDelay) { 1687407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.START_DELAY); 1697407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mStartDelay = startDelay; 1707407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1717407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1727407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1737407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setTarget(Object target) { 1747407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Not implemented"); 1757407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1767407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1777407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1787407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setupEndValues() { 1797407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1807407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1817407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1827407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1837407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setupStartValues() { 1847407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1857407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1867407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1877407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void start() { 1887407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator = mTarget.animate(); 1897407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.TRANSLATION_X)) { 1907407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.translationX(mTranslationX); 1917407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1927407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.TRANSLATION_Y)) { 1937407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.translationY(mTranslationY); 1947407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1957407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.SCALE_X)) { 1967407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.scaleX(mScaleX); 1977407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1987407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.ROTATION_Y)) { 1997407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.rotationY(mRotationY); 2007407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2017407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.SCALE_Y)) { 2027407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.scaleY(mScaleY); 2037407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2047407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.ALPHA)) { 2057407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.alpha(mAlpha); 2067407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2077407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.START_DELAY)) { 2087407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setStartDelay(mStartDelay); 2097407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2107407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.DURATION)) { 2117407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setDuration(mDuration); 2127407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2137407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.INTERPOLATOR)) { 2147407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setInterpolator(mInterpolator); 2157407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2167407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setListener(this); 2177407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.start(); 2187407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2197407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2207407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator translationX(float value) { 2217407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.TRANSLATION_X); 2227407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mTranslationX = value; 2237407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2247407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2257407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2267407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator translationY(float value) { 2277407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.TRANSLATION_Y); 2287407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mTranslationY = value; 2297407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2307407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2317407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2327407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator scaleX(float value) { 2337407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.SCALE_X); 2347407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mScaleX = value; 2357407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2367407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2377407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2387407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator scaleY(float value) { 2397407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.SCALE_Y); 2407407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mScaleY = value; 2417407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2427407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2437407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2447407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator rotationY(float value) { 2457407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.ROTATION_Y); 2467407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRotationY = value; 2477407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2487407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2497407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2507407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator alpha(float value) { 2517407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.ALPHA); 2527407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mAlpha = value; 2537407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2547407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2557407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka} 256