// Path: UtilSet/src/com/navercorp/utilset/audio/VolumeUtils.java
// public class VolumeUtils {
// 	private VolumeUtils() {}
// 
// 	/**
// 	 * Returns current media volume
// 	 * @param context
// 	 * @return current volume
// 	 */
// 	public static int getCurrentVolume(Context context) {
// 		AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
// 		return mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
// 	}
// 
// 	/**
// 	 * Sets media volume.<br>
// 	 * When setting the value of parameter 'volume' greater than the maximum value of the media volume will not either cause error or throw exception but maximize the media volume.<br>
// 	 * Setting the value of volume lower than 0 will minimize the media volume.
// 	 * 
// 	 * @param context Context
// 	 * @param volume volume to be changed
// 	 */
// 	public static void setVolume(Context context, int volume) {
// 		adjustMediaVolume(context, volume, 0);
// 	}
// 	
// 	/**
// 	 * Sets media volume and displays volume level.<br>
// 	 * When setting the value of parameter 'volume' greater than the maximum value of the media volume will not either cause error or throw exception but maximize the media volume.<br>
// 	 * Setting the value of volume lower than 0 will minimize the media volume.
// 	 * 
// 	 * @param context Context
// 	 * @param volume volume to be changed
// 	 */
// 	public static void setVolumeWithLevel(Context context, int volume) {
// 		adjustMediaVolume(context, volume, AudioManager.FLAG_SHOW_UI);
// 	}
// 	
// 	/**
// 	 * Increases media volume
// 	 * 
// 	 * @param context
// 	 */
// 	public static void increaseVolume(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) + 1, 0);
// 	}
// 	
// 	/**
// 	 * Increases media volume and displays volume level
// 	 * 
// 	 * @param context
// 	 */
// 	public static void increaseVolumeWithLevel(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) + 1, AudioManager.FLAG_SHOW_UI);
// 	}
// 	
// 	/**
// 	 * Decreases media volume
// 	 * 
// 	 * @param context
// 	 */
// 	public static void decreaseVolume(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) - 1, 0);
// 	}
// 	
// 	/**
// 	 * Decreases media volume and displays volume level
// 	 * 
// 	 * @param context
// 	 */
// 	public static void decreaseVolumeWithLevel(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) - 1, AudioManager.FLAG_SHOW_UI);
// 	}
// 
// 	/** Returns maximum volume the media volume can have
// 	 * 
// 	 * @param context Context
// 	 * @return Maximum volume
// 	 */
// 	public static int getMaximumVolume(Context context) {
// 		return ((AudioManager) context.getSystemService(Context.AUDIO_SERVICE)).getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 	}
// 	
// 	/** Returns minimum volume the media volume can have
// 	 * 
// 	 * @param context Context
// 	 * @return Minimum volume
// 	 */
// 	public static int getMinimumVolume(Context context) {
// 		return 0;
// 	}
// 	
// 	private static void adjustMediaVolume(Context context, int volume, int flag) {
// 		final int MAX_VOLUME = getMaximumVolume(context);
// 		final int MIN_VOLUME = 0;
// 
// 		if( volume < MIN_VOLUME ) {
// 			volume = MIN_VOLUME;
// 		} else if( volume > MAX_VOLUME ) {
// 			volume = MAX_VOLUME;
// 		}
// 		
// 		AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
// 		if (audioManager != null) {
// 			audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, flag);
// 		}
// 	}
// }


import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.navercorp.utilset.audio.VolumeUtils;
import com.navercorp.utilsettest.R;
package com.navercorp.utilsettest.audio;



public class VolumeUtilsTestActivity extends FragmentActivity {
	
	private Button volumeUpButton;
	private Button volumeDownButton;
	private TextView currentVolumeTextView;
	private Context context;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.acitivty_volumeutils);
		
		volumeUpButton = (Button) findViewById(R.id.volumeUpButton);
		volumeDownButton = (Button) findViewById(R.id.volumeDownButton);
		
		volumeUpButton.setOnClickListener(onClickListener);
		volumeDownButton.setOnClickListener(onClickListener);
		
		currentVolumeTextView = (TextView) findViewById(R.id.currentVolumeTextView);
		
		context = this;
		
		init();
	}
	
	private void init() {
		int curVolume = VolumeUtils.getCurrentVolume(this);
		setCurrentVolume(curVolume);
	}
	
	private void setCurrentVolume(int currentVolume) {
		currentVolumeTextView.setText("Current Volume is " + currentVolume);
	}
	
	OnClickListener onClickListener = new OnClickListener() {
		@Override
		public void onClick(View v) {
			int id = v.getId();
			
			if (id == R.id.volumeUpButton) {
// Path: UtilSet/src/com/navercorp/utilset/audio/VolumeUtils.java
// public class VolumeUtils {
// 	private VolumeUtils() {}
// 
// 	/**
// 	 * Returns current media volume
// 	 * @param context
// 	 * @return current volume
// 	 */
// 	public static int getCurrentVolume(Context context) {
// 		AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
// 		return mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
// 	}
// 
// 	/**
// 	 * Sets media volume.<br>
// 	 * When setting the value of parameter 'volume' greater than the maximum value of the media volume will not either cause error or throw exception but maximize the media volume.<br>
// 	 * Setting the value of volume lower than 0 will minimize the media volume.
// 	 * 
// 	 * @param context Context
// 	 * @param volume volume to be changed
// 	 */
// 	public static void setVolume(Context context, int volume) {
// 		adjustMediaVolume(context, volume, 0);
// 	}
// 	
// 	/**
// 	 * Sets media volume and displays volume level.<br>
// 	 * When setting the value of parameter 'volume' greater than the maximum value of the media volume will not either cause error or throw exception but maximize the media volume.<br>
// 	 * Setting the value of volume lower than 0 will minimize the media volume.
// 	 * 
// 	 * @param context Context
// 	 * @param volume volume to be changed
// 	 */
// 	public static void setVolumeWithLevel(Context context, int volume) {
// 		adjustMediaVolume(context, volume, AudioManager.FLAG_SHOW_UI);
// 	}
// 	
// 	/**
// 	 * Increases media volume
// 	 * 
// 	 * @param context
// 	 */
// 	public static void increaseVolume(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) + 1, 0);
// 	}
// 	
// 	/**
// 	 * Increases media volume and displays volume level
// 	 * 
// 	 * @param context
// 	 */
// 	public static void increaseVolumeWithLevel(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) + 1, AudioManager.FLAG_SHOW_UI);
// 	}
// 	
// 	/**
// 	 * Decreases media volume
// 	 * 
// 	 * @param context
// 	 */
// 	public static void decreaseVolume(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) - 1, 0);
// 	}
// 	
// 	/**
// 	 * Decreases media volume and displays volume level
// 	 * 
// 	 * @param context
// 	 */
// 	public static void decreaseVolumeWithLevel(Context context) {
// 		adjustMediaVolume(context, getCurrentVolume(context) - 1, AudioManager.FLAG_SHOW_UI);
// 	}
// 
// 	/** Returns maximum volume the media volume can have
// 	 * 
// 	 * @param context Context
// 	 * @return Maximum volume
// 	 */
// 	public static int getMaximumVolume(Context context) {
// 		return ((AudioManager) context.getSystemService(Context.AUDIO_SERVICE)).getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 	}
// 	
// 	/** Returns minimum volume the media volume can have
// 	 * 
// 	 * @param context Context
// 	 * @return Minimum volume
// 	 */
// 	public static int getMinimumVolume(Context context) {
// 		return 0;
// 	}
// 	
// 	private static void adjustMediaVolume(Context context, int volume, int flag) {
// 		final int MAX_VOLUME = getMaximumVolume(context);
// 		final int MIN_VOLUME = 0;
// 
// 		if( volume < MIN_VOLUME ) {
// 			volume = MIN_VOLUME;
// 		} else if( volume > MAX_VOLUME ) {
// 			volume = MAX_VOLUME;
// 		}
// 		
// 		AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
// 		if (audioManager != null) {
// 			audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volume, flag);
// 		}
// 	}
// }


// Path: UtilSetSampleApp/src/com/navercorp/utilsettest/audio/VolumeUtilsTestActivity.java
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.navercorp.utilset.audio.VolumeUtils;
import com.navercorp.utilsettest.R;

package com.navercorp.utilsettest.audio;



public class VolumeUtilsTestActivity extends FragmentActivity {
	
	private Button volumeUpButton;
	private Button volumeDownButton;
	private TextView currentVolumeTextView;
	private Context context;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.acitivty_volumeutils);
		
		volumeUpButton = (Button) findViewById(R.id.volumeUpButton);
		volumeDownButton = (Button) findViewById(R.id.volumeDownButton);
		
		volumeUpButton.setOnClickListener(onClickListener);
		volumeDownButton.setOnClickListener(onClickListener);
		
		currentVolumeTextView = (TextView) findViewById(R.id.currentVolumeTextView);
		
		context = this;
		
		init();
	}
	
	private void init() {
		int curVolume = VolumeUtils.getCurrentVolume(this);
		setCurrentVolume(curVolume);
	}
	
	private void setCurrentVolume(int currentVolume) {
		currentVolumeTextView.setText("Current Volume is " + currentVolume);
	}
	
	OnClickListener onClickListener = new OnClickListener() {
		@Override
		public void onClick(View v) {
			int id = v.getId();
			
			if (id == R.id.volumeUpButton) {
				VolumeUtils.increaseVolumeWithLevel(context);