package com.turtleplayer.controller;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
import com.turtleplayer.player.Output;
import com.turtleplayer.player.OutputAccess;
import com.turtleplayer.player.OutputCommand;
/**
* TURTLE PLAYER
* <p/>
* Licensed under MIT & GPL
* <p/>
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
* OR OTHER DEALINGS IN THE SOFTWARE.
* <p/>
* More Information @ www.turtle-player.co.uk
*
* @author Simon Honegger (Hoene84)
*/
public class BroadcastsHandler extends BroadcastReceiver
{
private boolean headsetConnected = false;
private OutputAccess outputAccess;
public BroadcastsHandler(OutputAccess outputAccess)
{
this.outputAccess = outputAccess;
}
public void onReceive(Context context, Intent intent)
{
if (intent.hasExtra("state"))
{
OutputCommand outputCommand = null;
if (headsetConnected && intent.getIntExtra("state", 0) == 0)
{
headsetConnected = false;
Toast.makeText(context, "Headphones UnPlugged", Toast.LENGTH_LONG).show();
outputCommand = new OutputCommand()
{
public void connected(Output output)
{
output.pause();
}
};
}
else if (!headsetConnected && intent.getIntExtra("state", 0) == 1)
{
headsetConnected = true;
outputCommand = new OutputCommand()
{
public void connected(Output output)
{
output.play();
}
};
}
if(outputCommand != null)
{
outputAccess.connectPlayer(outputCommand);
}
}
}
}