Loading services/core/java/com/android/server/media/MediaSessionService.java +9 −2 Original line number Diff line number Diff line Loading @@ -1179,8 +1179,15 @@ public class MediaSessionService extends SystemService implements Monitor { @Override public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err, String[] args, ShellCallback callback, ResultReceiver resultReceiver) { (new MediaShellCommand()).exec(this, in, out, err, args, callback, resultReceiver); String[] packageNames = mContext.getPackageManager().getPackagesForUid(Binder.getCallingUid()); String packageName = packageNames != null && packageNames.length > 0 ? packageNames[0] : "com.android.shell"; // We should not need this branch, but defaulting to the // current shell package name for robustness. See // b/227109905. new MediaShellCommand(packageName) .exec(this, in, out, err, args, callback, resultReceiver); } @Override Loading services/core/java/com/android/server/media/MediaShellCommand.java +9 −4 Original line number Diff line number Diff line Loading @@ -47,15 +47,19 @@ import java.util.List; * ShellCommand for MediaSessionService. */ public class MediaShellCommand extends ShellCommand { // This doesn't belongs to any package. Setting the package name to empty string. private static final String PACKAGE_NAME = ""; private static ActivityThread sThread; private static MediaSessionManager sMediaSessionManager; private final String mPackageName; private ISessionManager mSessionService; private PrintWriter mWriter; private PrintWriter mErrorWriter; private InputStream mInput; public MediaShellCommand(String packageName) { mPackageName = packageName; } @Override public int onCommand(String cmd) { mWriter = getOutPrintWriter(); Loading Loading @@ -110,7 +114,7 @@ public class MediaShellCommand extends ShellCommand { mWriter.println(); mWriter.println("media_session dispatch: dispatch a media key to the system."); mWriter.println(" KEY may be: play, pause, play-pause, mute, headsethook,"); mWriter.println(" stop, next, previous, rewind, record, fast-forword."); mWriter.println(" stop, next, previous, rewind, record, fast-forward."); mWriter.println("media_session list-sessions: print a list of the current sessions."); mWriter.println("media_session monitor: monitor updates to the specified session."); mWriter.println(" Use the tag from list-sessions."); Loading @@ -120,7 +124,8 @@ public class MediaShellCommand extends ShellCommand { private void sendMediaKey(KeyEvent event) { try { mSessionService.dispatchMediaKeyEvent(PACKAGE_NAME, false, event, false); mSessionService.dispatchMediaKeyEvent( mPackageName, /* asSystemService= */ false, event, /* needWakeLock= */ false); } catch (RemoteException e) { } } Loading Loading
services/core/java/com/android/server/media/MediaSessionService.java +9 −2 Original line number Diff line number Diff line Loading @@ -1179,8 +1179,15 @@ public class MediaSessionService extends SystemService implements Monitor { @Override public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err, String[] args, ShellCallback callback, ResultReceiver resultReceiver) { (new MediaShellCommand()).exec(this, in, out, err, args, callback, resultReceiver); String[] packageNames = mContext.getPackageManager().getPackagesForUid(Binder.getCallingUid()); String packageName = packageNames != null && packageNames.length > 0 ? packageNames[0] : "com.android.shell"; // We should not need this branch, but defaulting to the // current shell package name for robustness. See // b/227109905. new MediaShellCommand(packageName) .exec(this, in, out, err, args, callback, resultReceiver); } @Override Loading
services/core/java/com/android/server/media/MediaShellCommand.java +9 −4 Original line number Diff line number Diff line Loading @@ -47,15 +47,19 @@ import java.util.List; * ShellCommand for MediaSessionService. */ public class MediaShellCommand extends ShellCommand { // This doesn't belongs to any package. Setting the package name to empty string. private static final String PACKAGE_NAME = ""; private static ActivityThread sThread; private static MediaSessionManager sMediaSessionManager; private final String mPackageName; private ISessionManager mSessionService; private PrintWriter mWriter; private PrintWriter mErrorWriter; private InputStream mInput; public MediaShellCommand(String packageName) { mPackageName = packageName; } @Override public int onCommand(String cmd) { mWriter = getOutPrintWriter(); Loading Loading @@ -110,7 +114,7 @@ public class MediaShellCommand extends ShellCommand { mWriter.println(); mWriter.println("media_session dispatch: dispatch a media key to the system."); mWriter.println(" KEY may be: play, pause, play-pause, mute, headsethook,"); mWriter.println(" stop, next, previous, rewind, record, fast-forword."); mWriter.println(" stop, next, previous, rewind, record, fast-forward."); mWriter.println("media_session list-sessions: print a list of the current sessions."); mWriter.println("media_session monitor: monitor updates to the specified session."); mWriter.println(" Use the tag from list-sessions."); Loading @@ -120,7 +124,8 @@ public class MediaShellCommand extends ShellCommand { private void sendMediaKey(KeyEvent event) { try { mSessionService.dispatchMediaKeyEvent(PACKAGE_NAME, false, event, false); mSessionService.dispatchMediaKeyEvent( mPackageName, /* asSystemService= */ false, event, /* needWakeLock= */ false); } catch (RemoteException e) { } } Loading