diff --git a/cmds/media/src/com/android/commands/media/Media.java b/cmds/media/src/com/android/commands/media/Media.java index b13b0093db360..b37f896c6c42b 100644 --- a/cmds/media/src/com/android/commands/media/Media.java +++ b/cmds/media/src/com/android/commands/media/Media.java @@ -225,7 +225,7 @@ public class Media extends BaseCommand { void printUsageMessage() { try { System.out.println("V2Monitoring session " + mController.getTag() - + "... available commands:"); + + "... available commands: play, pause, next, previous"); } catch (RemoteException e) { System.out.println("Error trying to monitor session!"); } @@ -257,6 +257,14 @@ public class Media extends BaseCommand { addNewline = false; } else if ("q".equals(line) || "quit".equals(line)) { break; + } else if ("play".equals(line)) { + mController.play(); + } else if ("pause".equals(line)) { + mController.pause(); + } else if ("next".equals(line)) { + mController.next(); + } else if ("previous".equals(line)) { + mController.previous(); } else { System.out.println("Invalid command: " + line); } diff --git a/media/java/android/media/session/MediaSessionLegacyHelper.java b/media/java/android/media/session/MediaSessionLegacyHelper.java index a182982e2a7cf..aa196a9fea48a 100644 --- a/media/java/android/media/session/MediaSessionLegacyHelper.java +++ b/media/java/android/media/session/MediaSessionLegacyHelper.java @@ -290,7 +290,6 @@ public class MediaSessionLegacyHelper { if (DEBUG) { Log.d(TAG, "addMediaButtonListener already added " + pi); } - return; } holder.mMediaButtonListener = new MediaButtonListener(pi, context); // TODO determine if handling transport performer commands should also @@ -468,7 +467,11 @@ public class MediaSessionLegacyHelper { mSessions.remove(mPi); } else if (mCb == null) { mCb = new SessionCallback(); - mSession.setCallback(mCb); + Handler handler = null; + if (Looper.myLooper() == null) { + handler = new Handler(Looper.getMainLooper()); + } + mSession.setCallback(mCb, handler); } }