0
				// Perform action on click 
 
				Log.v("FreshAir", "Play/stop button pressed");
 
				if (mediaPlayer == null) {
					mediaPlayer = new MediaPlayer();
					mediaPlayer
							.setOnCompletionListener((OnCompletionListener) rootActivity);
					mediaPlayer
							.setOnErrorListener((OnErrorListener) rootActivity);
					mediaPlayer
							.setOnInfoListener((OnInfoListener) rootActivity);
					mediaPlayer
							.setOnPreparedListener((OnPreparedListener) rootActivity);
					try { 
						mediaPlayer.setDataSource(STREAM_URI);
					} catch (IllegalArgumentException e) {
						onError(mediaPlayer, -1, -1);
						return; 
					} catch (IllegalStateException e) {
						onError(mediaPlayer, -1, -1);
						return; 
					} catch (IOException e) {
						onError(mediaPlayer, -1, -1);
						return; 
					} 
				} 
 
				// if we wanted to stop 
				if (isPlaying || (mediaPlayer != null && mediaPlayer.isPlaying()) ) {
					 
					if(mediaPlayer.isPlaying()){
						mediaPlayer.stop();
					} 
					mediaPlayer.release();
					mediaPlayer = null;
					 
					text_info.setText("");
					isPlaying = false;
					 
				// if we wanted to start 
				} else { 
					try { 
						mediaPlayer.prepareAsync();
						text_info.setText("Loading ...");
						isPlaying = true;
					} catch (IllegalStateException e) {
						onError(mediaPlayer, -1, -1);
					} 
				} 
			} 
		}); 
		 
	} 
 
	public void onPrepared(MediaPlayer mp) {
		if(mp == null)
			return; 
		Log.v("FreshAir", "playStarted Update UI (Playing)");
		 
		try { 
			mp.start();
		} catch (IllegalStateException e) {
			onError(mp, -1, -1);
		} 
 
		text_info.setText("Playing ...");
		progress_main.setVisibility(View.INVISIBLE);
		button_play.setChecked(true);
 
	} 
 
	public void onCompletion(MediaPlayer mp) {
		if(mp == null)
			return; 
		 
		mp.release();
		mp = null;
		 
		isPlaying = false;
 
		text_info.setText("Stoped");
		button_play.setChecked(false);
		progress_main.setVisibility(View.INVISIBLE);
 
	} 
 
	public boolean onError(MediaPlayer mp, int what, int extra) {
		Log.v("FreshAir", "onError (" + what + ")");
		 
		if(mp != null){
			mp.release();
			mp = null;
		} 
		isPlaying = false;
 
		text_info.setText("Error: Please Retry");