diff options
| author | 2013-10-03 23:08:22 +0000 | |
|---|---|---|
| committer | 2013-10-03 23:08:23 +0000 | |
| commit | 76a5c86df7902870c87ff07ffd0628cb10f32c00 (patch) | |
| tree | 0f816e12742ab5cd26c5e450719e0398ca49d53a | |
| parent | d6239b922901420b6855a7dad903632c85ccde68 (diff) | |
| parent | 167a32326ea3a3b30c147cd02e3b3151e794e016 (diff) | |
Merge "Fix lockscreen wave animation artifacts" into klp-dev
| -rw-r--r-- | core/java/com/android/internal/widget/multiwaveview/GlowPadView.java | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/widget/multiwaveview/PointCloud.java | 11 |
2 files changed, 6 insertions, 7 deletions
diff --git a/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java b/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java index aad285ac2f8e..cd1ccd3bb9eb 100644 --- a/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java +++ b/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java @@ -76,7 +76,7 @@ public class GlowPadView extends View { } // Tuneable parameters for animation - private static final int WAVE_ANIMATION_DURATION = 1350; + private static final int WAVE_ANIMATION_DURATION = 1000; private static final int RETURN_TO_HOME_DELAY = 1200; private static final int RETURN_TO_HOME_DURATION = 200; private static final int HIDE_ANIMATION_DELAY = 200; diff --git a/core/java/com/android/internal/widget/multiwaveview/PointCloud.java b/core/java/com/android/internal/widget/multiwaveview/PointCloud.java index bbd1276be6fe..f2999354cada 100644 --- a/core/java/com/android/internal/widget/multiwaveview/PointCloud.java +++ b/core/java/com/android/internal/widget/multiwaveview/PointCloud.java @@ -45,8 +45,8 @@ public class PointCloud { public class WaveManager { private float radius = 50; - private float width = 200.0f; // TODO: Make configurable private float alpha = 0.0f; + public void setRadius(float r) { radius = r; } @@ -186,13 +186,12 @@ public class PointCloud { // Compute contribution from Wave float radius = hypot(point.x, point.y); - float distanceToWaveRing = (radius - waveManager.radius); float waveAlpha = 0.0f; - if (distanceToWaveRing < waveManager.width * 0.5f && distanceToWaveRing < 0.0f) { - float cosf = FloatMath.cos(PI * 0.25f * distanceToWaveRing / waveManager.width); - waveAlpha = waveManager.alpha * max(0.0f, (float) Math.pow(cosf, 20.0f)); + if (radius < waveManager.radius * 2) { + float distanceToWaveRing = (radius - waveManager.radius); + float cosf = FloatMath.cos(PI * 0.5f * distanceToWaveRing / waveManager.radius); + waveAlpha = waveManager.alpha * max(0.0f, (float) Math.pow(cosf, 6.0f)); } - return (int) (max(glowAlpha, waveAlpha) * 255); } |