mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2025-08-22 01:58:16 +00:00
PlayQueueActivity: inline getServiceConnection() and bind()
Both are only used once, and it’s easier to see what’s going on if they are just inlined in `onCreate`.
This commit is contained in:
parent
c9be4066f2
commit
86063fda6a
@ -97,8 +97,48 @@ public final class PlayQueueActivity extends AppCompatActivity
|
|||||||
getSupportActionBar().setTitle(R.string.title_activity_play_queue);
|
getSupportActionBar().setTitle(R.string.title_activity_play_queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
serviceConnection = getServiceConnection();
|
serviceConnection = new ServiceConnection() {
|
||||||
bind();
|
@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
|
@Override
|
||||||
@ -180,19 +220,6 @@ public final class PlayQueueActivity extends AppCompatActivity
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
// Service Connection
|
// 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() {
|
private void unbind() {
|
||||||
if (serviceBound) {
|
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
|
// Component Building
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
x
Reference in New Issue
Block a user