private boolean onPlayRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "play: " + i.getData().toString()); MediaItemStatus.Builder statusBuilder= new MediaItemStatus.Builder( MediaItemStatus.PLAYBACK_STATE_PLAYING); Bundle b=new Bundle(); b.putString(MediaControlIntent.EXTRA_SESSION_ID, DemoRouteProvider.DEMO_SESSION_ID); b.putString(MediaControlIntent.EXTRA_ITEM_ID, DemoRouteProvider.DEMO_ITEM_ID); b.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, statusBuilder.build().asBundle()); cb.onResult(b); return(true); }
data.putInt(DATA_PLAYBACK_COUNT, mEnqueueCount); if (callback != null) { callback.onResult(data);
private boolean handleRemove(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); if (sid == null || !sid.equals(mSessionManager.getSessionId())) { return false; } String iid = intent.getStringExtra(MediaControlIntent.EXTRA_ITEM_ID); PlaylistItem item = mSessionManager.remove(iid); if (callback != null) { if (item != null) { Bundle result = new Bundle(); result.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, item.getStatus().asBundle()); callback.onResult(result); } else { callback.onError("Failed to remove" + ", sid=" + sid + ", iid=" + iid, null); } } return (item != null); }
private boolean handleSeek(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); if (sid == null || !sid.equals(mSessionManager.getSessionId())) { return false; } String iid = intent.getStringExtra(MediaControlIntent.EXTRA_ITEM_ID); long pos = intent.getLongExtra(MediaControlIntent.EXTRA_ITEM_CONTENT_POSITION, 0); Log.d(TAG, mRouteId + ": Received seek request, pos=" + pos); PlaylistItem item = mSessionManager.seek(iid, pos); if (callback != null) { if (item != null) { Bundle result = new Bundle(); result.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, item.getStatus().asBundle()); callback.onResult(result); } else { callback.onError("Failed to seek" + ", sid=" + sid + ", iid=" + iid + ", pos=" + pos, null); } } return (item != null); }
private boolean handleStartSession(Intent intent, ControlRequestCallback callback) { String sid = mSessionManager.startSession(); Log.d(TAG, "StartSession returns sessionId "+sid); if (callback != null) { if (sid != null) { Bundle result = new Bundle(); result.putString(MediaControlIntent.EXTRA_SESSION_ID, sid); result.putBundle(MediaControlIntent.EXTRA_SESSION_STATUS, mSessionManager.getSessionStatus(sid).asBundle()); callback.onResult(result); mSessionReceiver = (PendingIntent)intent.getParcelableExtra( MediaControlIntent.EXTRA_SESSION_STATUS_UPDATE_RECEIVER); handleSessionStatusChange(sid); } else { callback.onError("Failed to start session.", null); } } return (sid != null); }
private boolean handleEndSession(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); boolean success = (sid != null) && sid.equals(mSessionManager.getSessionId()) && mSessionManager.endSession(); if (callback != null) { if (success) { Bundle result = new Bundle(); MediaSessionStatus sessionStatus = new MediaSessionStatus.Builder( MediaSessionStatus.SESSION_STATE_ENDED).build(); result.putBundle(MediaControlIntent.EXTRA_SESSION_STATUS, sessionStatus.asBundle()); callback.onResult(result); handleSessionStatusChange(sid); mSessionReceiver = null; } else { callback.onError("Failed to end session, sid=" + sid, null); } } return success; }
private boolean handleGetStatus(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); String iid = intent.getStringExtra(MediaControlIntent.EXTRA_ITEM_ID); Log.d(TAG, mRouteId + ": Received getStatus request, sid=" + sid + ", iid=" + iid); PlaylistItem item = mSessionManager.getStatus(iid); if (callback != null) { if (item != null) { Bundle result = new Bundle(); result.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, item.getStatus().asBundle()); callback.onResult(result); } else { callback.onError("Failed to get status" + ", sid=" + sid + ", iid=" + iid, null); } } return (item != null); }
private boolean handlePause(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); boolean success = (sid != null) && sid.equals(mSessionManager.getSessionId()); mSessionManager.pause(); if (callback != null) { if (success) { callback.onResult(new Bundle()); handleSessionStatusChange(sid); } else { callback.onError("Failed to pause, sid=" + sid, null); } } return success; }
private boolean handleGetSessionStatus(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); MediaSessionStatus sessionStatus = mSessionManager.getSessionStatus(sid); if (callback != null) { if (sessionStatus != null) { Bundle result = new Bundle(); result.putBundle(MediaControlIntent.EXTRA_SESSION_STATUS, mSessionManager.getSessionStatus(sid).asBundle()); callback.onResult(result); } else { callback.onError("Failed to get session status, sid=" + sid, null); } } return (sessionStatus != null); }
private boolean handleStop(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); boolean success = (sid != null) && sid.equals(mSessionManager.getSessionId()); mSessionManager.stop(); if (callback != null) { if (success) { callback.onResult(new Bundle()); handleSessionStatusChange(sid); } else { callback.onError("Failed to stop, sid=" + sid, null); } } return success; }
private boolean handleResume(Intent intent, ControlRequestCallback callback) { String sid = intent.getStringExtra(MediaControlIntent.EXTRA_SESSION_ID); boolean success = (sid != null) && sid.equals(mSessionManager.getSessionId()); mSessionManager.resume(); if (callback != null) { if (success) { callback.onResult(new Bundle()); handleSessionStatusChange(sid); } else { callback.onError("Failed to resume, sid=" + sid, null); } } return success; }
private boolean onPlayRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "play: " + i.getData().toString()); MediaItemStatus.Builder statusBuilder= new MediaItemStatus.Builder( MediaItemStatus.PLAYBACK_STATE_PLAYING); Bundle b=new Bundle(); b.putString(MediaControlIntent.EXTRA_SESSION_ID, DemoRouteProvider.DEMO_SESSION_ID); b.putString(MediaControlIntent.EXTRA_ITEM_ID, DemoRouteProvider.DEMO_ITEM_ID); b.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, statusBuilder.build().asBundle()); cb.onResult(b); return(true); }
private boolean onStopRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "stop"); cb.onResult(new Bundle()); return(true); }
private boolean onResumeRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "resume"); cb.onResult(new Bundle()); return(true); }
private boolean onGetStatusRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "get-status"); MediaItemStatus.Builder statusBuilder= new MediaItemStatus.Builder( MediaItemStatus.PLAYBACK_STATE_PLAYING); Bundle b=new Bundle(); b.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, statusBuilder.build().asBundle()); cb.onResult(b); return(true); }
private boolean onGetStatusRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "get-status"); MediaItemStatus.Builder statusBuilder= new MediaItemStatus.Builder( MediaItemStatus.PLAYBACK_STATE_PLAYING); Bundle b=new Bundle(); b.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, statusBuilder.build().asBundle()); cb.onResult(b); return(true); }
private boolean onPauseRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "pause"); cb.onResult(new Bundle()); return(true); }
private boolean onSeekRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "seek"); MediaItemStatus.Builder statusBuilder= new MediaItemStatus.Builder( MediaItemStatus.PLAYBACK_STATE_PLAYING); Bundle b=new Bundle(); b.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, statusBuilder.build().asBundle()); cb.onResult(b); return(true); } }
private boolean onSeekRequest(Intent i, ControlRequestCallback cb) { Log.d(getClass().getSimpleName(), "seek"); MediaItemStatus.Builder statusBuilder= new MediaItemStatus.Builder( MediaItemStatus.PLAYBACK_STATE_PLAYING); Bundle b=new Bundle(); b.putBundle(MediaControlIntent.EXTRA_ITEM_STATUS, statusBuilder.build().asBundle()); cb.onResult(b); return(true); } }