package com.soyblue.bluesound; import android.content.Context; import android.media.AudioManager; public final class BluetoothManager { private static BluetoothManager mInstance = null; //Remember the status of audio private boolean mAudioStatus = false; public static boolean power(boolean on) { return false; } public boolean getStatus(){ return mAudioStatus; } private BluetoothManager(){ } public static BluetoothManager getInstance(){ if( mInstance == null ){ mInstance = new BluetoothManager(); } return mInstance; } public boolean streamAudioStart(Context context) { try{ AudioManager localAudioManager = (AudioManager) context .getSystemService(Context.AUDIO_SERVICE); if( localAudioManager == null ){ return false; } localAudioManager.setMode(0); localAudioManager.setBluetoothScoOn(true); localAudioManager.startBluetoothSco(); localAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION); mAudioStatus = true; }catch( Exception ex){ System.out.println("Exception on Start " + ex.getMessage() ); mAudioStatus = false; return false; } return mAudioStatus; } public boolean streamAudioStop(Context context) { mAudioStatus = false; AudioManager localAudioManager = (AudioManager) context .getSystemService(Context.AUDIO_SERVICE); if( localAudioManager == null ){ return false; } localAudioManager.setBluetoothScoOn(false); localAudioManager.stopBluetoothSco(); localAudioManager.setMode(AudioManager.MODE_NORMAL); return true; } protected void toggleAudioStatus(Context context) { if ( getStatus()) { // Turn Audio Off streamAudioStop(context); } else { // Turn Audio ON streamAudioStart(context); } ControlWidget.requestWidgetUpdate( context ); } }