unify media button receivers
This commit is contained in:
parent
4b4743fbb9
commit
280321a321
@ -331,11 +331,6 @@
|
||||
android:scheme="package"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver android:name="de.danoeh.antennapod.core.service.playback.MediaButtonIntentReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MEDIA_BUTTON" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<meta-data
|
||||
android:name="de.danoeh.antennapod.core.glide.ApGlideModule"
|
||||
|
@ -13,6 +13,7 @@ import de.danoeh.antennapod.core.service.playback.PlaybackService;
|
||||
public class MediaButtonReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = "MediaButtonReceiver";
|
||||
public static final String EXTRA_KEYCODE = "de.danoeh.antennapod.core.service.extra.MediaButtonReceiver.KEYCODE";
|
||||
public static final String EXTRA_SOURCE = "de.danoeh.antennapod.core.service.extra.MediaButtonReceiver.SOURCE";
|
||||
|
||||
public static final String NOTIFY_BUTTON_RECEIVER = "de.danoeh.antennapod.NOTIFY_BUTTON_RECEIVER";
|
||||
|
||||
@ -20,11 +21,11 @@ public class MediaButtonReceiver extends BroadcastReceiver {
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.d(TAG, "Received intent");
|
||||
KeyEvent event = (KeyEvent) intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
|
||||
if (event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||
if (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount()==0) {
|
||||
ClientConfig.initialize(context);
|
||||
Intent serviceIntent = new Intent(context, PlaybackService.class);
|
||||
int keycode = event.getKeyCode();
|
||||
serviceIntent.putExtra(EXTRA_KEYCODE, keycode);
|
||||
serviceIntent.putExtra(EXTRA_KEYCODE, event.getKeyCode());
|
||||
serviceIntent.putExtra(EXTRA_SOURCE, event.getSource());
|
||||
context.startService(serviceIntent);
|
||||
}
|
||||
|
||||
|
@ -1,30 +0,0 @@
|
||||
package de.danoeh.antennapod.core.service.playback;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
public class MediaButtonIntentReceiver extends BroadcastReceiver {
|
||||
|
||||
private static final String TAG = "MediaButtonIntentRcver";
|
||||
|
||||
private static PlaybackService mPlaybackService;
|
||||
|
||||
public static void setMediaPlayer(PlaybackService playbackService) {
|
||||
mPlaybackService = playbackService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.d(TAG, "onReceive(Context, " + intent.toString() +")");
|
||||
if (mPlaybackService != null && Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
|
||||
KeyEvent event = intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
|
||||
if (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
|
||||
mPlaybackService.handleKeycode(event.getKeyCode(), event.getSource());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -250,8 +250,7 @@ public class PlaybackService extends Service implements SharedPreferences.OnShar
|
||||
taskManager = new PlaybackServiceTaskManager(this, taskManagerCallback);
|
||||
mediaPlayer = new PlaybackServiceMediaPlayer(this, mediaPlayerCallback);
|
||||
|
||||
MediaButtonIntentReceiver.setMediaPlayer(this);
|
||||
ComponentName eventReceiver = new ComponentName(getPackageName(), MediaButtonIntentReceiver.class.getName());
|
||||
ComponentName eventReceiver = new ComponentName(getPackageName(), MediaButtonReceiver.class.getName());
|
||||
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
|
||||
mediaButtonIntent.setComponent(eventReceiver);
|
||||
PendingIntent buttonReceiverIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
@ -284,7 +283,6 @@ public class PlaybackService extends Service implements SharedPreferences.OnShar
|
||||
|
||||
PreferenceManager.getDefaultSharedPreferences(this)
|
||||
.unregisterOnSharedPreferenceChangeListener(this);
|
||||
MediaButtonIntentReceiver.setMediaPlayer(null);
|
||||
unregisterReceiver(headsetDisconnected);
|
||||
unregisterReceiver(shutdownReceiver);
|
||||
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
@ -333,7 +331,8 @@ public class PlaybackService extends Service implements SharedPreferences.OnShar
|
||||
|
||||
if (keycode != -1) {
|
||||
Log.d(TAG, "Received media button event");
|
||||
handleKeycode(keycode, InputDevice.SOURCE_CLASS_NONE);
|
||||
handleKeycode(keycode, intent.getIntExtra(MediaButtonReceiver.EXTRA_SOURCE,
|
||||
InputDevice.SOURCE_CLASS_NONE));
|
||||
} else {
|
||||
started = true;
|
||||
boolean stream = intent.getBooleanExtra(EXTRA_SHOULD_STREAM,
|
||||
|
Loading…
x
Reference in New Issue
Block a user