package com.iwedia.service.overlay;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
public class OverlayService extends Service {
private final static String TAG = "OverlayService";
public String ACTION_PLAY_OVERLAY = "iwedia.intent.action.PLAY_OVERLAY";
public String ACTION_STOP_OVERLAY = "iwedia.intent.action.STOP_OVERLAY";
public String EXTRA_PLAY_URI = "play_uri";
public String EXTRA_VIDEO_SIZE = "video_size";
private OverlayPlayer mOverlayPlayer;
Handler mHandler = new Handler();
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.d(TAG, "INTENT: action=" + action);
if (action != null) {
if (action.equals(ACTION_PLAY_OVERLAY)) {
// play overlay
String play_uri = intent.getStringExtra(EXTRA_PLAY_URI);
String video_size = intent.getStringExtra(EXTRA_VIDEO_SIZE);
Log.d(TAG, "creating overlay player...");
mOverlayPlayer.start(play_uri, video_size);
} else if (action.equals(ACTION_STOP_OVERLAY)) {
// stop overlay
mOverlayPlayer.stop();
}
}
}
};
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
Log.d(TAG, "onCreate");
mOverlayPlayer = new OverlayPlayer(this);
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_PLAY_OVERLAY);
filter.addAction(ACTION_STOP_OVERLAY);
registerReceiver(mIntentReceiver, filter, null, mHandler);
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
String play_uri = intent.getStringExtra(EXTRA_PLAY_URI);
String video_size = intent.getStringExtra(EXTRA_VIDEO_SIZE);
Log.d(TAG, "onStart: play_uri=" + play_uri + " video_size="
+ video_size);
mOverlayPlayer.start(play_uri, video_size);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy");
unregisterReceiver(mIntentReceiver);
mOverlayPlayer.stop();
}
}