@@ -76,7 +76,7 @@ public interface OnTriggerListener {
7676 }
7777
7878 // Tuneable parameters for animation
79- private static final int WAVE_ANIMATION_DURATION = 1200 ;
79+ private static final int WAVE_ANIMATION_DURATION = 1350 ;
8080 private static final int RETURN_TO_HOME_DELAY = 1200 ;
8181 private static final int RETURN_TO_HOME_DURATION = 200 ;
8282 private static final int HIDE_ANIMATION_DELAY = 200 ;
@@ -361,6 +361,7 @@ private void switchToState(int state, float x, float y) {
361361 mHandleDrawable .setAlpha (0.0f );
362362 deactivateTargets ();
363363 showTargets (true );
364+ ping ();
364365 startBackgroundAnimation (INITIAL_SHOW_HANDLE_DURATION , 1.0f );
365366 setGrabbedState (OnTriggerListener .CENTER_HANDLE );
366367 if (AccessibilityManager .getInstance (mContext ).isEnabled ()) {
@@ -484,7 +485,12 @@ private void hideTargets(boolean animate, boolean expanded) {
484485 final int duration = animate ? HIDE_ANIMATION_DURATION : 0 ;
485486 final int delay = animate ? HIDE_ANIMATION_DELAY : 0 ;
486487
487- final float targetScale = expanded ? TARGET_SCALE_EXPANDED : TARGET_SCALE_COLLAPSED ;
488+ // TODO: add an attribute for this. For now we'll show the expand for navbar, but not
489+ // keyguard.
490+ final boolean expandDisabled = !mAlwaysTrackFinger ;
491+
492+ final float targetScale = (expanded || expandDisabled ) ?
493+ TARGET_SCALE_EXPANDED : TARGET_SCALE_COLLAPSED ;
488494 final int length = mTargetDrawables .size ();
489495 final TimeInterpolator interpolator = Ease .Cubic .easeOut ;
490496 for (int i = 0 ; i < length ; i ++) {
@@ -499,7 +505,8 @@ private void hideTargets(boolean animate, boolean expanded) {
499505 "onUpdate" , mUpdateListener ));
500506 }
501507
502- final float ringScaleTarget = expanded ? RING_SCALE_EXPANDED : RING_SCALE_COLLAPSED ;
508+ final float ringScaleTarget = (expanded || expandDisabled ) ?
509+ RING_SCALE_EXPANDED : RING_SCALE_COLLAPSED ;
503510 mTargetAnimations .add (Tweener .to (mOuterRing , duration ,
504511 "ease" , interpolator ,
505512 "alpha" , 0.0f ,
@@ -663,7 +670,20 @@ public void setVibrateEnabled(boolean enabled) {
663670 */
664671 public void ping () {
665672 if (mFeedbackCount > 0 ) {
666- startWaveAnimation ();
673+ boolean doWaveAnimation = true ;
674+ final AnimationBundle waveAnimations = mWaveAnimations ;
675+
676+ // Don't do a wave if there's already one in progress
677+ if (waveAnimations .size () > 0 && waveAnimations .get (0 ).animator .isRunning ()) {
678+ long t = waveAnimations .get (0 ).animator .getCurrentPlayTime ();
679+ if (t < WAVE_ANIMATION_DURATION /2 ) {
680+ doWaveAnimation = false ;
681+ }
682+ }
683+
684+ if (doWaveAnimation ) {
685+ startWaveAnimation ();
686+ }
667687 }
668688 }
669689
@@ -677,7 +697,7 @@ private void startWaveAnimation() {
677697 mPointCloud .waveManager .setAlpha (1.0f );
678698 mPointCloud .waveManager .setRadius (mHandleDrawable .getWidth ()/2.0f );
679699 mWaveAnimations .add (Tweener .to (mPointCloud .waveManager , WAVE_ANIMATION_DURATION ,
680- "ease" , Ease .Linear . easeNone ,
700+ "ease" , Ease .Quad . easeOut ,
681701 "delay" , 0 ,
682702 "radius" , 2.0f * mOuterRadius ,
683703 "onUpdate" , mUpdateListener ,
0 commit comments