Skip to content

Commit ba69128

Browse files
HatakeKakashrihaggaie
authored andcommitted
Addressed review comments
1 parent acb1ddb commit ba69128

7 files changed

Lines changed: 33 additions & 19 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,14 +229,15 @@ public final class VideoDetailFragment
229229
private ContentObserver settingsContentObserver;
230230
@Nullable
231231
private PlayerService playerService;
232+
@Nullable
232233
private Player player;
233234
private final PlayerHolder playerHolder = PlayerHolder.getInstance();
234235

235236
/*//////////////////////////////////////////////////////////////////////////
236237
// Service management
237238
//////////////////////////////////////////////////////////////////////////*/
238239
@Override
239-
public void onServiceConnected(final Player connectedPlayer,
240+
public void onServiceConnected(@Nullable final Player connectedPlayer,
240241
final PlayerService connectedPlayerService,
241242
final boolean playAfterConnect) {
242243
player = connectedPlayer;

app/src/main/java/org/schabi/newpipe/local/dialog/PlaylistDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public static Disposable createCorrespondingDialog(
163163
* @return the disposable that was created
164164
*/
165165
public static Disposable showForPlayQueue(
166-
final Player player,
166+
@NonNull final Player player,
167167
@NonNull final FragmentManager fragmentManager) {
168168

169169
final List<StreamEntity> streamEntities = Stream.of(player.getPlayQueue())

app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public final class PlayQueueActivity extends AppCompatActivity
6161

6262
private static final int MENU_ID_AUDIO_TRACK = 71;
6363

64+
@Nullable
6465
private Player player;
6566

6667
private boolean serviceBound;
@@ -137,30 +138,38 @@ public boolean onOptionsItemSelected(final MenuItem item) {
137138
NavigationHelper.openSettings(this);
138139
return true;
139140
case R.id.action_append_playlist:
140-
PlaylistDialog.showForPlayQueue(player, getSupportFragmentManager());
141+
if (player != null) {
142+
PlaylistDialog.showForPlayQueue(player, getSupportFragmentManager());
143+
}
141144
return true;
142145
case R.id.action_playback_speed:
143146
openPlaybackParameterDialog();
144147
return true;
145148
case R.id.action_mute:
146-
player.toggleMute();
149+
if (player != null) {
150+
player.toggleMute();
151+
}
147152
return true;
148153
case R.id.action_system_audio:
149154
startActivity(new Intent(Settings.ACTION_SOUND_SETTINGS));
150155
return true;
151156
case R.id.action_switch_main:
152-
this.player.setRecovery();
153-
NavigationHelper.playOnMainPlayer(this, player.getPlayQueue(), true);
157+
if (player != null) {
158+
this.player.setRecovery();
159+
NavigationHelper.playOnMainPlayer(this, player.getPlayQueue(), true);
160+
}
154161
return true;
155162
case R.id.action_switch_popup:
156-
if (PermissionHelper.isPopupEnabledElseAsk(this)) {
163+
if (PermissionHelper.isPopupEnabledElseAsk(this) && player != null) {
157164
this.player.setRecovery();
158165
NavigationHelper.playOnPopupPlayer(this, player.getPlayQueue(), true);
159166
}
160167
return true;
161168
case R.id.action_switch_background:
162-
this.player.setRecovery();
163-
NavigationHelper.playOnBackgroundPlayer(this, player.getPlayQueue(), true);
169+
if (player != null) {
170+
this.player.setRecovery();
171+
NavigationHelper.playOnBackgroundPlayer(this, player.getPlayQueue(), true);
172+
}
164173
return true;
165174
}
166175

@@ -309,7 +318,7 @@ public void onMove(final int sourceIndex, final int targetIndex) {
309318

310319
@Override
311320
public void onSwiped(final int index) {
312-
if (index != -1) {
321+
if (index != -1 && player != null) {
313322
player.getPlayQueue().remove(index);
314323
}
315324
}
@@ -659,7 +668,7 @@ private void buildAudioTrackMenu() {
659668
* @param itemId index of the selected item
660669
*/
661670
private void onAudioTrackClick(final int itemId) {
662-
if (player.getCurrentMetadata() == null) {
671+
if (player == null || player.getCurrentMetadata() == null) {
663672
return;
664673
}
665674
player.getCurrentMetadata().getMaybeAudioTrack().ifPresent(audioTrack -> {

app/src/main/java/org/schabi/newpipe/player/PlayerService.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,10 +221,7 @@ class PlayerService : MediaBrowserServiceCompat() {
221221
) : Binder() {
222222
private val playerService = WeakReference(playerService)
223223

224-
val service: PlayerService?
225-
get() = playerService.get()
226-
227-
fun getPlayer(): Player = service?.player ?: throw Error("Player service is null")
224+
fun getPlayer(): Player? = playerService.get()?.player
228225
}
229226

230227
companion object {

app/src/main/java/org/schabi/newpipe/player/event/PlayerServiceExtendedEventListener.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package org.schabi.newpipe.player.event;
22

3+
import androidx.annotation.Nullable;
4+
35
import org.schabi.newpipe.player.PlayerService;
46
import org.schabi.newpipe.player.Player;
57

68
public interface PlayerServiceExtendedEventListener extends PlayerServiceEventListener {
7-
void onServiceConnected(Player player,
9+
void onServiceConnected(@Nullable Player player,
810
PlayerService playerService,
911
boolean playAfterConnect);
1012
void onServiceDisconnected();

app/src/main/java/org/schabi/newpipe/player/helper/PlayerHolder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public void onServiceConnected(final ComponentName compName, final IBinder servi
166166
}
167167
final PlayerService.LocalBinder localBinder = (PlayerService.LocalBinder) service;
168168

169-
playerService = localBinder.getService();
169+
playerService = localBinder.getPlayer().getService();
170170
player = localBinder.getPlayer();
171171
if (listener != null) {
172172
listener.onServiceConnected(player, playerService, playAfterConnect);

app/src/main/java/org/schabi/newpipe/player/mediabrowser/MediaBrowserConnector.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ import org.schabi.newpipe.util.NavigationHelper
5959
import org.schabi.newpipe.util.ServiceHelper
6060
import java.util.stream.Collectors
6161

62-
class MediaBrowserConnector(private val playerService: PlayerService) : PlaybackPreparer {
62+
class MediaBrowserConnector(
63+
private val playerService: PlayerService,
64+
) : PlaybackPreparer {
6365
private val mediaSession = MediaSessionCompat(playerService, TAG)
6466
val sessionConnector = MediaSessionConnector(mediaSession).apply {
6567
setMetadataDeduplicationEnabled(true)
@@ -627,7 +629,10 @@ class MediaBrowserConnector(private val playerService: PlayerService) : Playback
627629
private fun handleSearchError(throwable: Throwable) {
628630
Log.e(TAG, "Search error: $throwable")
629631
disposePrepareOrPlayCommands()
630-
playbackError(R.string.content_not_supported, PlaybackStateCompat.ERROR_CODE_NOT_SUPPORTED)
632+
sessionConnector.setCustomErrorMessage(
633+
playerService.getString(R.string.search_no_results),
634+
PlaybackStateCompat.ERROR_CODE_APP_ERROR,
635+
)
631636
}
632637

633638
override fun onPrepareFromUri(

0 commit comments

Comments
 (0)