diff options
author | Felix Palmer <felix.palmer@metaswitch.com> | 2011-12-08 22:00:38 -0800 |
---|---|---|
committer | Felix Palmer <felix.palmer@metaswitch.com> | 2011-12-08 22:00:38 -0800 |
commit | d6e0e8fd21056fabb7a68e79337a9b919d9ccb1f (patch) | |
tree | d86c301e17e1019112cbe3e50692080caae3a8a3 | |
parent | 5ecda63ade42269ca6b4a114db0c81b2c5146659 (diff) | |
download | android_external_android-visualizer-d6e0e8fd21056fabb7a68e79337a9b919d9ccb1f.tar.gz android_external_android-visualizer-d6e0e8fd21056fabb7a68e79337a9b919d9ccb1f.tar.bz2 android_external_android-visualizer-d6e0e8fd21056fabb7a68e79337a9b919d9ccb1f.zip |
Fixed some Acitvity life-cycle bugs
-rw-r--r-- | src/com/pheelicks/app/MainActivity.java | 90 |
1 files changed, 41 insertions, 49 deletions
diff --git a/src/com/pheelicks/app/MainActivity.java b/src/com/pheelicks/app/MainActivity.java index 65e9eae..8ace206 100644 --- a/src/com/pheelicks/app/MainActivity.java +++ b/src/com/pheelicks/app/MainActivity.java @@ -6,6 +6,8 @@ */ package com.pheelicks.app; +import java.io.IOException; + import android.app.Activity; import android.graphics.Color; import android.graphics.Paint; @@ -20,8 +22,7 @@ import com.pheelicks.visualizer.renderer.CircleRenderer; import com.pheelicks.visualizer.renderer.LineRenderer; /** - * Basic demo to show how to use VisualizerView - * + * Demo to show how to use VisualizerView */ public class MainActivity extends Activity { private MediaPlayer mPlayer; @@ -32,15 +33,37 @@ public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); + } + + @Override + protected void onResume() + { + super.onResume(); init(); } + @Override + protected void onPause() + { + cleanUp(); + super.onPause(); + } + + @Override + protected void onDestroy() + { + cleanUp(); + super.onDestroy(); + } + private void init() { mPlayer = MediaPlayer.create(this, R.raw.test); mPlayer.setLooping(true); mPlayer.start(); + // We need to link the visualizer view to the media player so that + // it displays something mVisualizerView = (VisualizerView) findViewById(R.id.visualizerView); mVisualizerView.link(mPlayer); @@ -48,6 +71,17 @@ public class MainActivity extends Activity { addLineRenderer(); } + private void cleanUp() + { + if (mPlayer != null) + { + mVisualizerView.release(); + mPlayer.release(); + mPlayer = null; + } + } + + // Methods for adding renderers to visualizer private void addBarGraphRenderers() { Paint paint = new Paint(); @@ -90,56 +124,14 @@ public class MainActivity extends Activity { mVisualizerView.addRenderer(lineRenderer); } - // Cleanup - private void cleanUp() - { - if (mPlayer != null) - { - mVisualizerView.release(); - mPlayer.release(); - mPlayer = null; - } - } - - @Override - protected void onResume() - { - super.onResume(); - if(mPlayer == null) - { - init(); - } - else - { - mPlayer.start(); - } - } - - @Override - protected void onPause() + // Actions for buttons defined in xml + public void startPressed(View view) throws IllegalStateException, IOException { - if (isFinishing()) + if(mPlayer.isPlaying()) { - cleanUp(); + return; } - else - { - mPlayer.pause(); - } - - super.onPause(); - } - - @Override - protected void onDestroy() - { - cleanUp(); - super.onDestroy(); - } - - // Actions for buttons defined in xml - public void startPressed(View view) - { + mPlayer.prepare(); mPlayer.start(); } |