Merge "Apply ValueAnimator scale factor immediately in WM." into jb-mr1-dev

This commit is contained in:
Jeff Brown
2012-08-15 10:04:38 -07:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 3 deletions

View File

@@ -231,6 +231,13 @@ public class ValueAnimator extends Animator {
sDurationScale = durationScale;
}
/**
* @hide
*/
public static float getDurationScale() {
return sDurationScale;
}
/**
* Creates a new ValueAnimator object. This default constructor is primarily for
* use internally; the factory methods which take parameters are more generally

View File

@@ -57,6 +57,7 @@ import android.app.ActivityOptions;
import android.app.IActivityManager;
import android.app.StatusBarManager;
import android.app.admin.DevicePolicyManager;
import android.animation.ValueAnimator;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -900,8 +901,8 @@ public class WindowManagerService extends IWindowManager.Stub
Settings.System.WINDOW_ANIMATION_SCALE, mWindowAnimationScale);
mTransitionAnimationScale = Settings.System.getFloat(context.getContentResolver(),
Settings.System.TRANSITION_ANIMATION_SCALE, mTransitionAnimationScale);
mAnimatorDurationScale = Settings.System.getFloat(context.getContentResolver(),
Settings.System.ANIMATOR_DURATION_SCALE, mTransitionAnimationScale);
setAnimatorDurationScale(Settings.System.getFloat(context.getContentResolver(),
Settings.System.ANIMATOR_DURATION_SCALE, mTransitionAnimationScale));
// Track changes to DevicePolicyManager state so we can enable/disable keyguard.
IntentFilter filter = new IntentFilter();
@@ -5160,7 +5161,7 @@ public class WindowManagerService extends IWindowManager.Stub
mTransitionAnimationScale = fixScale(scales[1]);
}
if (scales.length >= 3) {
mAnimatorDurationScale = fixScale(scales[2]);
setAnimatorDurationScale(fixScale(scales[2]));
}
}
@@ -5168,6 +5169,11 @@ public class WindowManagerService extends IWindowManager.Stub
mH.obtainMessage(H.PERSIST_ANIMATION_SCALE).sendToTarget();
}
private void setAnimatorDurationScale(float scale) {
mAnimatorDurationScale = scale;
ValueAnimator.setDurationScale(scale);
}
public float getAnimationScale(int which) {
switch (which) {
case 0: return mWindowAnimationScale;