public RemotePlaybackClientAssert hasSession() { isNotNull(); assertThat(actual.hasSession()) // .overridingErrorMessage("Expected to have session but did not.") // .isTrue(); return this; }
public RemotePlaybackClientAssert doesNotHaveSession() { isNotNull(); assertThat(actual.hasSession()) // .overridingErrorMessage("Expected to not have session but did.") // .isFalse(); return this; }
private void throwIfNoSession() { if (!mClient.hasSession()) { throw new IllegalStateException("Session is invalid"); } }
@Override public void pause() { if (!mClient.hasSession()) { // ignore if no session return; } if (DEBUG) { Log.d(TAG, "pause"); } mClient.pause(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("pause: succeeded", sessionId, sessionStatus, null, null); if (mCallback != null) { mCallback.onPlaylistChanged(); } } @Override public void onError(String error, int code, Bundle data) { logError("pause: failed", error, code); } }); }
@Override public void resume() { if (!mClient.hasSession()) { // ignore if no session return; } if (DEBUG) { Log.d(TAG, "resume"); } mClient.resume(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("resume: succeeded", sessionId, sessionStatus, null, null); if (mCallback != null) { mCallback.onPlaylistChanged(); } } @Override public void onError(String error, int code, Bundle data) { logError("resume: failed", error, code); } }); }
@Override public void stop() { if (!mClient.hasSession()) { // ignore if no session return; } if (DEBUG) { Log.d(TAG, "stop"); } mClient.stop(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("stop: succeeded", sessionId, sessionStatus, null, null); if (mClient.isSessionManagementSupported()) { endSession(); } if (mCallback != null) { mCallback.onPlaylistChanged(); } } @Override public void onError(String error, int code, Bundle data) { logError("stop: failed", error, code); } }); }
@Override public void getStatus(final PlaylistItem item, final boolean update) { if (!mClient.hasSession() || item.getRemoteItemId() == null) {
@Override public void enqueue(final PlaylistItem item) { throwIfQueuingUnsupported(); if (!mClient.hasSession() && !mEnqueuePending) { mEnqueuePending = true; if (mClient.isSessionManagementSupported()) { startSession(item); } else { enqueueInternal(item); } } else if (mEnqueuePending){ mTempQueue.add(item); } else { enqueueInternal(item); } }