LauncherViewPropertyAnimator.java revision 8a309c257a97d9c4c402fae5f00941e8169ea541
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() { 708a309c257a97d9c4c402fae5f00941e8169ea541Michael Jurka if (mViewPropertyAnimator != null) { 718a309c257a97d9c4c402fae5f00941e8169ea541Michael Jurka mViewPropertyAnimator.cancel(); 728a309c257a97d9c4c402fae5f00941e8169ea541Michael Jurka } 737407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 747407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 757407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 767407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public Animator clone() { 777407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Not implemented"); 787407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 797407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 807407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 817407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void end() { 827407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Not implemented"); 837407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 847407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 857407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 867407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public long getDuration() { 878a309c257a97d9c4c402fae5f00941e8169ea541Michael Jurka return mDuration; 887407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 897407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 907407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 917407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public ArrayList<Animator.AnimatorListener> getListeners() { 927407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return null; 937407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 947407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 957407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 967407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public long getStartDelay() { 978a309c257a97d9c4c402fae5f00941e8169ea541Michael Jurka return mStartDelay; 987407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 997407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1007407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1017407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationCancel(Animator animation) { 1027407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1037407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationCancel(this); 1047407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1057407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRunning = false; 1067407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1077407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1087407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1097407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationEnd(Animator animation) { 1107407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1117407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationEnd(this); 1127407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1137407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRunning = false; 1147407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1157407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1167407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1177407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationRepeat(Animator animation) { 1187407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1197407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationRepeat(this); 1207407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1217407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1227407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1237407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1247407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void onAnimationStart(Animator animation) { 1257407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener != null) { 1267407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener.onAnimationStart(this); 1277407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1287407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRunning = true; 1297407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1307407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1317407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1327407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public boolean isRunning() { 1337407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return mRunning; 1347407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1357407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1367407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1377407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public boolean isStarted() { 1387407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return mViewPropertyAnimator != null; 1397407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1407407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1417407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1427407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void removeAllListeners() { 1437407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener = null; 1447407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1457407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1467407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1477407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void removeListener(Animator.AnimatorListener listener) { 1487407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mListener == listener) { 1497407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mListener = null; 1507407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } else { 1517407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Removing listener that wasn't set"); 1527407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1537407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1547407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1557407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1567407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public Animator setDuration(long duration) { 1577407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.DURATION); 1587407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mDuration = duration; 1597407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 1607407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1617407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1627407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1637407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setInterpolator(TimeInterpolator value) { 1647407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.INTERPOLATOR); 1657407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mInterpolator = value; 1667407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1677407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1687407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1697407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setStartDelay(long startDelay) { 1707407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.START_DELAY); 1717407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mStartDelay = startDelay; 1727407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1737407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1747407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1757407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setTarget(Object target) { 1767407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka throw new RuntimeException("Not implemented"); 1777407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1787407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1797407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1807407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setupEndValues() { 1817407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1827407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1837407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1847407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1857407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void setupStartValues() { 1867407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1877407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 1887407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka @Override 1897407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public void start() { 1907407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator = mTarget.animate(); 1917407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.TRANSLATION_X)) { 1927407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.translationX(mTranslationX); 1937407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1947407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.TRANSLATION_Y)) { 1957407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.translationY(mTranslationY); 1967407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 1977407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.SCALE_X)) { 1987407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.scaleX(mScaleX); 1997407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2007407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.ROTATION_Y)) { 2017407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.rotationY(mRotationY); 2027407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2037407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.SCALE_Y)) { 2047407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.scaleY(mScaleY); 2057407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2067407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.ALPHA)) { 2077407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.alpha(mAlpha); 2087407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2097407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.START_DELAY)) { 2107407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setStartDelay(mStartDelay); 2117407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2127407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.DURATION)) { 2137407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setDuration(mDuration); 2147407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2157407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka if (mPropertiesToSet.contains(Properties.INTERPOLATOR)) { 2167407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setInterpolator(mInterpolator); 2177407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2187407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.setListener(this); 2197407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mViewPropertyAnimator.start(); 2207407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2217407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2227407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator translationX(float value) { 2237407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.TRANSLATION_X); 2247407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mTranslationX = value; 2257407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2267407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2277407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2287407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator translationY(float value) { 2297407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.TRANSLATION_Y); 2307407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mTranslationY = value; 2317407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2327407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2337407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2347407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator scaleX(float value) { 2357407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.SCALE_X); 2367407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mScaleX = value; 2377407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2387407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2397407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2407407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator scaleY(float value) { 2417407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.SCALE_Y); 2427407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mScaleY = value; 2437407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2447407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2457407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2467407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator rotationY(float value) { 2477407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.ROTATION_Y); 2487407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mRotationY = value; 2497407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2507407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2517407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka 2527407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka public LauncherViewPropertyAnimator alpha(float value) { 2537407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mPropertiesToSet.add(Properties.ALPHA); 2547407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka mAlpha = value; 2557407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka return this; 2567407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka } 2577407d2a16ed6cf22494122cf683bf13de6fa3695Michael Jurka} 258