summaryrefslogtreecommitdiff
path: root/core/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorByteHamster <ByteHamster@users.noreply.github.com>2022-11-03 21:35:18 +0100
committerGitHub <noreply@github.com>2022-11-03 21:35:18 +0100
commit9b06bf0dc595579193ce1893dfe7721f4b5adf0a (patch)
treec2af7147daac2b50a494dda345e9862917212f97 /core/src/main/java/de/danoeh
parentc171ab6823150d8cba1fe836269881ff5ec9cf2a (diff)
parent1e336ac0f8dd7ad74f576f2ce478222eaab26c1b (diff)
downloadAntennaPod-9b06bf0dc595579193ce1893dfe7721f4b5adf0a.zip
Merge pull request #6173 from ByteHamster/playbackservice-cleanup
PlaybackService cleanup
Diffstat (limited to 'core/src/main/java/de/danoeh')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/receiver/MediaButtonReceiver.java66
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java4
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java12
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java60
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java52
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/widget/WidgetUpdater.java27
6 files changed, 66 insertions, 155 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/receiver/MediaButtonReceiver.java b/core/src/main/java/de/danoeh/antennapod/core/receiver/MediaButtonReceiver.java
index abee9d8d3..9a96379bc 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/receiver/MediaButtonReceiver.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/receiver/MediaButtonReceiver.java
@@ -1,8 +1,10 @@
package de.danoeh.antennapod.core.receiver;
+import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import androidx.core.content.ContextCompat;
import android.util.Log;
import android.view.KeyEvent;
@@ -10,36 +12,44 @@ import android.view.KeyEvent;
import de.danoeh.antennapod.core.ClientConfig;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
-/** Receives media button events. */
+/**
+ * Receives media button events.
+ */
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 EXTRA_HARDWAREBUTTON = "de.danoeh.antennapod.core.service.extra.MediaButtonReceiver.HARDWAREBUTTON";
+ 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 EXTRA_HARDWAREBUTTON
+ = "de.danoeh.antennapod.core.service.extra.MediaButtonReceiver.HARDWAREBUTTON";
+ public static final String NOTIFY_BUTTON_RECEIVER = "de.danoeh.antennapod.NOTIFY_BUTTON_RECEIVER";
- public static final String NOTIFY_BUTTON_RECEIVER = "de.danoeh.antennapod.NOTIFY_BUTTON_RECEIVER";
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ Log.d(TAG, "Received intent");
+ if (intent == null || intent.getExtras() == null) {
+ return;
+ }
+ KeyEvent event = (KeyEvent) intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
+ if (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) {
+ ClientConfig.initialize(context);
+ Intent serviceIntent = new Intent(context, PlaybackService.class);
+ serviceIntent.putExtra(EXTRA_KEYCODE, event.getKeyCode());
+ serviceIntent.putExtra(EXTRA_SOURCE, event.getSource());
+ serviceIntent.putExtra(EXTRA_HARDWAREBUTTON, event.getEventTime() > 0 || event.getDownTime() > 0);
+ ContextCompat.startForegroundService(context, serviceIntent);
+ }
+ }
- @Override
- public void onReceive(Context context, Intent intent) {
- Log.d(TAG, "Received intent");
- if (intent == null || intent.getExtras() == null) {
- return;
- }
- KeyEvent event = (KeyEvent) intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
- if (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount()==0) {
- ClientConfig.initialize(context);
- Intent serviceIntent = new Intent(context, PlaybackService.class);
- serviceIntent.putExtra(EXTRA_KEYCODE, event.getKeyCode());
- serviceIntent.putExtra(EXTRA_SOURCE, event.getSource());
- //detect if this is a hardware button press
- if (event.getEventTime() > 0 || event.getDownTime() > 0) {
- serviceIntent.putExtra(EXTRA_HARDWAREBUTTON, true);
- } else {
- serviceIntent.putExtra(EXTRA_HARDWAREBUTTON, false);
- }
- ContextCompat.startForegroundService(context, serviceIntent);
- }
-
- }
+ public static Intent createIntent(Context context, int eventCode) {
+ KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, eventCode);
+ Intent startingIntent = new Intent(context, MediaButtonReceiver.class);
+ startingIntent.setAction(MediaButtonReceiver.NOTIFY_BUTTON_RECEIVER);
+ startingIntent.putExtra(Intent.EXTRA_KEY_EVENT, event);
+ return startingIntent;
+ }
+ public static PendingIntent createPendingIntent(Context context, int eventCode) {
+ return PendingIntent.getBroadcast(context, eventCode, createIntent(context, eventCode),
+ (Build.VERSION.SDK_INT >= 23 ? PendingIntent.FLAG_IMMUTABLE : 0));
+ }
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
index 37f49a416..cbd552684 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java
@@ -41,7 +41,7 @@ import de.danoeh.antennapod.core.service.download.AntennapodHttpClient;
import de.danoeh.antennapod.core.service.download.HttpCredentialEncoder;
import de.danoeh.antennapod.core.util.NetworkUtils;
import de.danoeh.antennapod.core.util.playback.IPlayer;
-import de.danoeh.antennapod.playback.base.PlaybackServiceMediaPlayer;
+import de.danoeh.antennapod.model.playback.Playable;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
@@ -154,7 +154,7 @@ public class ExoPlayerWrapper implements IPlayer {
@Override
public int getDuration() {
if (exoPlayer.getDuration() == C.TIME_UNSET) {
- return PlaybackServiceMediaPlayer.INVALID_TIME;
+ return Playable.INVALID_TIME;
}
return (int) exoPlayer.getDuration();
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
index f1b9510d9..9525401d6 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/LocalPSMP.java
@@ -543,7 +543,7 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
executor.submit(() -> {
playerLock.lock();
int currentPosition = getPosition();
- if (currentPosition != INVALID_TIME) {
+ if (currentPosition != Playable.INVALID_TIME) {
seekToSync(currentPosition + d);
} else {
Log.e(TAG, "getPosition() returned INVALID_TIME in seekDelta");
@@ -559,10 +559,10 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
@Override
public int getDuration() {
if (!playerLock.tryLock()) {
- return INVALID_TIME;
+ return Playable.INVALID_TIME;
}
- int retVal = INVALID_TIME;
+ int retVal = Playable.INVALID_TIME;
if (playerStatus == PlayerStatus.PLAYING
|| playerStatus == PlayerStatus.PAUSED
|| playerStatus == PlayerStatus.PREPARED) {
@@ -583,13 +583,13 @@ public class LocalPSMP extends PlaybackServiceMediaPlayer {
public int getPosition() {
try {
if (!playerLock.tryLock(50, TimeUnit.MILLISECONDS)) {
- return INVALID_TIME;
+ return Playable.INVALID_TIME;
}
} catch (InterruptedException e) {
- return INVALID_TIME;
+ return Playable.INVALID_TIME;
}
- int retVal = INVALID_TIME;
+ int retVal = Playable.INVALID_TIME;
if (playerStatus.isAtLeast(PlayerStatus.PREPARED)) {
retVal = mediaPlayer.getCurrentPosition();
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
index 391c2b75d..c1dc5ee2d 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java
@@ -128,17 +128,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
public static final String ACTION_SHUTDOWN_PLAYBACK_SERVICE = "action.de.danoeh.antennapod.core.service.actionShutdownPlaybackService";
/**
- * If the PlaybackService receives this action, it will end playback of the
- * current episode and load the next episode if there is one available.
- */
- public static final String ACTION_SKIP_CURRENT_EPISODE = "action.de.danoeh.antennapod.core.service.skipCurrentEpisode";
-
- /**
- * If the PlaybackService receives this action, it will pause playback.
- */
- public static final String ACTION_PAUSE_PLAY_CURRENT_EPISODE = "action.de.danoeh.antennapod.core.service.pausePlayCurrentEpisode";
-
- /**
* Custom action used by Android Wear, Android Auto
*/
private static final String CUSTOM_ACTION_FAST_FORWARD = "action.de.danoeh.antennapod.core.service.fastForward";
@@ -168,12 +157,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
public static final int NOTIFICATION_TYPE_PLAYBACK_END = 7;
/**
- * Returned by getPositionSafe() or getDurationSafe() if the playbackService
- * is in an invalid state.
- */
- public static final int INVALID_TIME = -1;
-
- /**
* Is true if service is running.
*/
public static boolean isRunning = false;
@@ -263,8 +246,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
registerReceiver(shutdownReceiver, new IntentFilter(ACTION_SHUTDOWN_PLAYBACK_SERVICE));
registerReceiver(bluetoothStateUpdated, new IntentFilter(BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED));
registerReceiver(audioBecomingNoisy, new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY));
- registerReceiver(skipCurrentEpisodeReceiver, new IntentFilter(ACTION_SKIP_CURRENT_EPISODE));
- registerReceiver(pausePlayCurrentEpisodeReceiver, new IntentFilter(ACTION_PAUSE_PLAY_CURRENT_EPISODE));
EventBus.getDefault().register(this);
taskManager = new PlaybackServiceTaskManager(this, taskManagerCallback);
@@ -347,8 +328,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
unregisterReceiver(shutdownReceiver);
unregisterReceiver(bluetoothStateUpdated);
unregisterReceiver(audioBecomingNoisy);
- unregisterReceiver(skipCurrentEpisodeReceiver);
- unregisterReceiver(pausePlayCurrentEpisodeReceiver);
mediaPlayer.shutdown();
taskManager.shutdown();
}
@@ -776,7 +755,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
private final PlaybackServiceTaskManager.PSTMCallback taskManagerCallback = new PlaybackServiceTaskManager.PSTMCallback() {
@Override
public void positionSaverTick() {
- saveCurrentPosition(true, null, PlaybackServiceMediaPlayer.INVALID_TIME);
+ saveCurrentPosition(true, null, Playable.INVALID_TIME);
}
@Override
@@ -828,7 +807,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
break;
case PLAYING:
PlaybackPreferences.writePlayerStatus(mediaPlayer.getPlayerStatus());
- saveCurrentPosition(true, null, INVALID_TIME);
+ saveCurrentPosition(true, null, Playable.INVALID_TIME);
updateNotificationAndMediaSession(newInfo.playable);
setupPositionObserver();
stateManager.validStartCommandWasReceived();
@@ -883,7 +862,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
@Override
public void onPlaybackStart(@NonNull Playable playable, int position) {
taskManager.startWidgetUpdater();
- if (position != PlaybackServiceMediaPlayer.INVALID_TIME) {
+ if (position != Playable.INVALID_TIME) {
playable.setPosition(position);
} else {
skipIntro(playable);
@@ -896,8 +875,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
public void onPlaybackPause(Playable playable, int position) {
taskManager.cancelPositionSaver();
cancelPositionObserver();
- saveCurrentPosition(position == PlaybackServiceMediaPlayer.INVALID_TIME || playable == null,
- playable, position);
+ saveCurrentPosition(position == Playable.INVALID_TIME || playable == null, playable, position);
taskManager.cancelWidgetUpdater();
if (playable != null) {
if (playable instanceof FeedMedia) {
@@ -1392,7 +1370,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
} else {
duration = playable.getDuration();
}
- if (position != INVALID_TIME && duration != INVALID_TIME && playable != null) {
+ if (position != Playable.INVALID_TIME && duration != Playable.INVALID_TIME && playable != null) {
Log.d(TAG, "Saving current position to " + position);
PlayableUtils.saveCurrentPosition(playable, position, System.currentTimeMillis());
}
@@ -1551,26 +1529,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
};
- private final BroadcastReceiver skipCurrentEpisodeReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (TextUtils.equals(intent.getAction(), ACTION_SKIP_CURRENT_EPISODE)) {
- Log.d(TAG, "Received SKIP_CURRENT_EPISODE intent");
- mediaPlayer.skip();
- }
- }
- };
-
- private final BroadcastReceiver pausePlayCurrentEpisodeReceiver = new BroadcastReceiver() {
- @Override
- public void onReceive(Context context, Intent intent) {
- if (TextUtils.equals(intent.getAction(), ACTION_PAUSE_PLAY_CURRENT_EPISODE)) {
- Log.d(TAG, "Received PAUSE_PLAY_CURRENT_EPISODE intent");
- mediaPlayer.pause(false, false);
- }
- }
- };
-
@Subscribe(threadMode = ThreadMode.MAIN)
@SuppressWarnings("unused")
public void volumeAdaptionChanged(VolumeAdaptionChangedEvent event) {
@@ -1630,10 +1588,6 @@ public class PlaybackService extends MediaBrowserServiceCompat {
mediaPlayer.pause(abandonAudioFocus, reinit);
}
- public void reinit() {
- mediaPlayer.reinit();
- }
-
public PlaybackServiceMediaPlayer.PSMPInfo getPSMPInfo() {
return mediaPlayer.getPSMPInfo();
}
@@ -1692,7 +1646,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
*/
public int getDuration() {
if (mediaPlayer == null) {
- return INVALID_TIME;
+ return Playable.INVALID_TIME;
}
return mediaPlayer.getDuration();
}
@@ -1703,7 +1657,7 @@ public class PlaybackService extends MediaBrowserServiceCompat {
*/
public int getCurrentPosition() {
if (mediaPlayer == null) {
- return INVALID_TIME;
+ return Playable.INVALID_TIME;
}
return mediaPlayer.getPosition();
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java
index ea1c737a7..80795a7cd 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java
@@ -39,7 +39,6 @@ import java.util.List;
public abstract class PlaybackController {
private static final String TAG = "PlaybackController";
- private static final int INVALID_TIME = -1;
private final Activity activity;
private PlaybackService playbackService;
@@ -217,8 +216,6 @@ public abstract class PlaybackController {
}
mediaInfoLoaded = false;
queryService();
- onReloadNotification(intent.getIntExtra(
- PlaybackService.EXTRA_NOTIFICATION_CODE, -1));
break;
case PlaybackService.NOTIFICATION_TYPE_PLAYBACK_END:
onPlaybackEnd();
@@ -228,13 +225,6 @@ public abstract class PlaybackController {
};
- public void onPositionObserverUpdate() {}
-
- /**
- * Called when the currently displayed information should be refreshed.
- */
- public void onReloadNotification(int code) {}
-
public void onPlaybackEnd() {}
/**
@@ -245,18 +235,7 @@ public abstract class PlaybackController {
Log.d(TAG, "status: " + status.toString());
checkMediaInfoLoaded();
switch (status) {
- case PAUSED:
- onPositionObserverUpdate();
- updatePlayButtonShowsPlay(true);
- if (!PlaybackService.isCasting() && PlaybackService.getCurrentMediaType() == MediaType.VIDEO) {
- setScreenOn(false);
- }
- break;
case PLAYING:
- if (!PlaybackService.isCasting() && PlaybackService.getCurrentMediaType() == MediaType.VIDEO) {
- onAwaitingVideoSurface();
- setScreenOn(true);
- }
updatePlayButtonShowsPlay(false);
break;
case PREPARING:
@@ -264,15 +243,10 @@ public abstract class PlaybackController {
updatePlayButtonShowsPlay(!playbackService.isStartWhenPrepared());
}
break;
- case PREPARED:
- updatePlayButtonShowsPlay(true);
- onPositionObserverUpdate();
- break;
- case SEEKING:
- onPositionObserverUpdate();
- break;
+ case PAUSED:
+ case PREPARED: // Fall-through
case STOPPED: // Fall-through
- case INITIALIZED:
+ case INITIALIZED: // Fall-through
updatePlayButtonShowsPlay(true);
break;
default:
@@ -294,8 +268,6 @@ public abstract class PlaybackController {
public abstract void loadMediaInfo();
- public void onAwaitingVideoSurface() {}
-
/**
* Called when connection to playback service has been established or
* information has to be refreshed
@@ -317,16 +289,6 @@ public abstract class PlaybackController {
}
}
- /**
- * Should be implemented by classes that show a video. The default implementation
- * does nothing
- *
- * @param enable True if the screen should be kept on, false otherwise
- */
- protected void setScreenOn(boolean enable) {
-
- }
-
public void playPause() {
if (playbackService == null) {
new PlaybackServiceStarter(activity, media).start();
@@ -363,7 +325,7 @@ public abstract class PlaybackController {
} else if (getMedia() != null) {
return getMedia().getPosition();
} else {
- return PlaybackService.INVALID_TIME;
+ return Playable.INVALID_TIME;
}
}
@@ -373,7 +335,7 @@ public abstract class PlaybackController {
} else if (getMedia() != null) {
return getMedia().getDuration();
} else {
- return PlaybackService.INVALID_TIME;
+ return Playable.INVALID_TIME;
}
}
@@ -398,13 +360,13 @@ public abstract class PlaybackController {
if (playbackService != null) {
return playbackService.getSleepTimerTimeLeft();
} else {
- return INVALID_TIME;
+ return Playable.INVALID_TIME;
}
}
public void extendSleepTimer(long extendTime) {
long timeLeft = getSleepTimerTimeLeft();
- if (playbackService != null && timeLeft != INVALID_TIME) {
+ if (playbackService != null && timeLeft != Playable.INVALID_TIME) {
setSleepTimer(timeLeft + extendTime);
}
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/widget/WidgetUpdater.java b/core/src/main/java/de/danoeh/antennapod/core/widget/WidgetUpdater.java
index 11b0a29ca..1d1017bdc 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/widget/WidgetUpdater.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/widget/WidgetUpdater.java
@@ -4,10 +4,8 @@ import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Context;
-import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
-import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
@@ -133,21 +131,21 @@ public abstract class WidgetUpdater {
views.setContentDescription(R.id.butPlayExtended, context.getString(R.string.play_label));
}
views.setOnClickPendingIntent(R.id.butPlay,
- createMediaButtonIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
+ MediaButtonReceiver.createPendingIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
views.setOnClickPendingIntent(R.id.butPlayExtended,
- createMediaButtonIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
+ MediaButtonReceiver.createPendingIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
views.setOnClickPendingIntent(R.id.butRew,
- createMediaButtonIntent(context, KeyEvent.KEYCODE_MEDIA_REWIND));
+ MediaButtonReceiver.createPendingIntent(context, KeyEvent.KEYCODE_MEDIA_REWIND));
views.setOnClickPendingIntent(R.id.butFastForward,
- createMediaButtonIntent(context, KeyEvent.KEYCODE_MEDIA_FAST_FORWARD));
+ MediaButtonReceiver.createPendingIntent(context, KeyEvent.KEYCODE_MEDIA_FAST_FORWARD));
views.setOnClickPendingIntent(R.id.butSkip,
- createMediaButtonIntent(context, KeyEvent.KEYCODE_MEDIA_NEXT));
+ MediaButtonReceiver.createPendingIntent(context, KeyEvent.KEYCODE_MEDIA_NEXT));
} else {
// start the app if they click anything
views.setOnClickPendingIntent(R.id.layout_left, startMediaPlayer);
views.setOnClickPendingIntent(R.id.butPlay, startMediaPlayer);
views.setOnClickPendingIntent(R.id.butPlayExtended,
- createMediaButtonIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
+ MediaButtonReceiver.createPendingIntent(context, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE));
views.setViewVisibility(R.id.txtvProgress, View.GONE);
views.setViewVisibility(R.id.txtvTitle, View.GONE);
views.setViewVisibility(R.id.txtNoPlaying, View.VISIBLE);
@@ -205,19 +203,6 @@ public abstract class WidgetUpdater {
return n - 1;
}
- /**
- * Creates an intent which fakes a mediabutton press.
- */
- private static PendingIntent createMediaButtonIntent(Context context, int eventCode) {
- KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, eventCode);
- Intent startingIntent = new Intent(context, MediaButtonReceiver.class);
- startingIntent.setAction(MediaButtonReceiver.NOTIFY_BUTTON_RECEIVER);
- startingIntent.putExtra(Intent.EXTRA_KEY_EVENT, event);
-
- return PendingIntent.getBroadcast(context, eventCode, startingIntent,
- (Build.VERSION.SDK_INT >= 23 ? PendingIntent.FLAG_IMMUTABLE : 0));
- }
-
private static String getProgressString(int position, int duration, float speed) {
if (position < 0 || duration <= 0) {
return null;