diff options
author | Dan Sandler <dsandler@android.com> | 2017-10-18 16:06:28 -0400 |
---|---|---|
committer | Daniel Sandler <dsandler@android.com> | 2017-10-23 20:48:33 +0000 |
commit | e5d37d7115f4fec324f9aac4dc3039815e001632 (patch) | |
tree | 15de2a740fa4514cda7020476b4c8c99b45f5ed7 /packages/EasterEgg | |
parent | 4a09e4c11e11fc6ce6d05970fe372bbee3d2c0f5 (diff) |
Stop octopus animation when paused
Bug: 65597560
Test: 1. launch easter egg
adb shell am start \
-a android.intent.action.MAIN \
-c com.android.internal.category.PLATLOGO
2. go home
adb shell input keyevent 3
3. ensure octo is not consuming CPU
adb shell top
Change-Id: I5e95e56ddb212f951b461264d3af40682d08fee3
Diffstat (limited to 'packages/EasterEgg')
-rw-r--r-- | packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java b/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java index bbbdf80612d7..8a06cc604f1e 100644 --- a/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java +++ b/packages/EasterEgg/src/com/android/egg/octo/Ocquarium.java @@ -26,6 +26,7 @@ import com.android.egg.R; public class Ocquarium extends Activity { ImageView mImageView; + private OctopusDrawable mOcto; @Override protected void onCreate(Bundle savedInstanceState) { @@ -43,10 +44,9 @@ public class Ocquarium extends Activity { bg.addView(mImageView, new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); - final OctopusDrawable octo = new OctopusDrawable(getApplicationContext()); - octo.setSizePx((int) (OctopusDrawable.randfrange(40f,180f) * dp)); - mImageView.setImageDrawable(octo); - octo.startDrift(); + mOcto = new OctopusDrawable(getApplicationContext()); + mOcto.setSizePx((int) (OctopusDrawable.randfrange(40f,180f) * dp)); + mImageView.setImageDrawable(mOcto); mImageView.setOnTouchListener(new View.OnTouchListener() { boolean touching; @@ -54,24 +54,36 @@ public class Ocquarium extends Activity { public boolean onTouch(View view, MotionEvent motionEvent) { switch (motionEvent.getActionMasked()) { case MotionEvent.ACTION_DOWN: - if (octo.hitTest(motionEvent.getX(), motionEvent.getY())) { + if (mOcto.hitTest(motionEvent.getX(), motionEvent.getY())) { touching = true; - octo.stopDrift(); + mOcto.stopDrift(); } break; case MotionEvent.ACTION_MOVE: if (touching) { - octo.moveTo(motionEvent.getX(), motionEvent.getY()); + mOcto.moveTo(motionEvent.getX(), motionEvent.getY()); } break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: touching = false; - octo.startDrift(); + mOcto.startDrift(); break; } return true; } }); } + + @Override + protected void onPause() { + mOcto.stopDrift(); + super.onPause(); + } + + @Override + protected void onResume() { + super.onResume(); + mOcto.startDrift(); + } } |