diff --git a/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java b/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java index 9d680da4d..c5c8b20f6 100644 --- a/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java +++ b/app/src/main/java/org/schabi/newpipe/player/PlayQueueActivity.java @@ -97,8 +97,48 @@ public final class PlayQueueActivity extends AppCompatActivity getSupportActionBar().setTitle(R.string.title_activity_play_queue); } - serviceConnection = getServiceConnection(); - bind(); + serviceConnection = new ServiceConnection() { + @Override + public void onServiceDisconnected(final ComponentName name) { + Log.d(TAG, "Player service is disconnected"); + } + + @Override + public void onServiceConnected(final ComponentName name, final IBinder binder) { + Log.d(TAG, "Player service is connected"); + + if (binder instanceof PlayerService.LocalBinder) { + @Nullable final PlayerService s = + ((PlayerService.LocalBinder) binder).getService(); + if (s == null) { + throw new IllegalArgumentException( + "PlayerService.LocalBinder.getService() must never be" + + "null after the service connects"); + } + player = s.getPlayer(); + } + + if (player == null || player.getPlayQueue() == null || player.exoPlayerIsNull()) { + unbind(); + } else { + onQueueUpdate(player.getPlayQueue()); + buildComponents(); + if (player != null) { + player.setActivityListener(PlayQueueActivity.this); + } + } + } + }; + + // Note: this code should not really exist, and PlayerHolder should be used instead, but + // it will be rewritten when NewPlayer will replace the current player. + final Intent bindIntent = new Intent(this, PlayerService.class); + bindIntent.setAction(PlayerService.BIND_PLAYER_HOLDER_ACTION); + final boolean success = bindService(bindIntent, serviceConnection, BIND_AUTO_CREATE); + if (!success) { + unbindService(serviceConnection); + } + serviceBound = success; } @Override @@ -180,19 +220,6 @@ public final class PlayQueueActivity extends AppCompatActivity //////////////////////////////////////////////////////////////////////////// // Service Connection - //////////////////////////////////////////////////////////////////////////// - - private void bind() { - // Note: this code should not really exist, and PlayerHolder should be used instead, but - // it will be rewritten when NewPlayer will replace the current player. - final Intent bindIntent = new Intent(this, PlayerService.class); - bindIntent.setAction(PlayerService.BIND_PLAYER_HOLDER_ACTION); - final boolean success = bindService(bindIntent, serviceConnection, BIND_AUTO_CREATE); - if (!success) { - unbindService(serviceConnection); - } - serviceBound = success; - } private void unbind() { if (serviceBound) { @@ -212,41 +239,6 @@ public final class PlayQueueActivity extends AppCompatActivity } } - private ServiceConnection getServiceConnection() { - return new ServiceConnection() { - @Override - public void onServiceDisconnected(final ComponentName name) { - Log.d(TAG, "Player service is disconnected"); - } - - @Override - public void onServiceConnected(final ComponentName name, final IBinder binder) { - Log.d(TAG, "Player service is connected"); - - if (binder instanceof PlayerService.LocalBinder) { - @Nullable final PlayerService s = - ((PlayerService.LocalBinder) binder).getService(); - if (s == null) { - throw new IllegalArgumentException( - "PlayerService.LocalBinder.getService() must never be" - + "null after the service connects"); - } - player = s.getPlayer(); - } - - if (player == null || player.getPlayQueue() == null || player.exoPlayerIsNull()) { - unbind(); - } else { - onQueueUpdate(player.getPlayQueue()); - buildComponents(); - if (player != null) { - player.setActivityListener(PlayQueueActivity.this); - } - } - } - }; - } - //////////////////////////////////////////////////////////////////////////// // Component Building ////////////////////////////////////////////////////////////////////////////