Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa4e23bb authored by RoboErik's avatar RoboErik
Browse files

Add getPackageName to MediaController

This removes the MediaSessionInfo class and adds a method on the
controller to get the package name. This also converts code that
depended on the session's UUID to use the token for comparison or
the Tag in the case of test code that needs a string identifier.

Change-Id: Icb8dc76c70e23e897da8fd07651c524b96372bf9
parent b214efbb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framew
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework.* $(PRODUCT_OUT)/system/framework2.*)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates)
$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/docs/api-stubs-timestamp)

# ******************************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THIS BANNER
+1 −0
Original line number Diff line number Diff line
@@ -16580,6 +16580,7 @@ package android.media.session {
    method public long getFlags();
    method public android.app.PendingIntent getLaunchActivity();
    method public android.media.MediaMetadata getMetadata();
    method public java.lang.String getPackageName();
    method public android.media.session.PlaybackState getPlaybackState();
    method public java.util.List<android.media.session.MediaSession.Track> getQueue();
    method public int getRatingType();
+7 −9
Original line number Diff line number Diff line
@@ -23,12 +23,10 @@ import android.media.MediaMetadata;
import android.media.session.ISessionController;
import android.media.session.ISessionManager;
import android.media.session.MediaController;
import android.media.session.MediaSessionInfo;
import android.media.session.PlaybackState;
import android.os.Bundle;
import android.os.HandlerThread;
import android.os.IBinder;
import android.os.Looper;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
@@ -62,14 +60,14 @@ public class Media extends BaseCommand {
                "usage: media [subcommand] [options]\n" +
                "       media dispatch KEY\n" +
                "       media list-sessions\n" +
                "       media monitor <sessionId>\n" +
                "       media monitor <tag>\n" +
                "\n" +
                "media dispatch: dispatch a media key to the system.\n" +
                "                KEY may be: play, pause, play-pause, mute, headsethook,\n" +
                "                stop, next, previous, rewind, record, fast-forword.\n" +
                "media list-sessions: print a list of the current sessions.\n" +
                        "media monitor: monitor updates to the specified session.\n" +
                "                       Use the sessionId from list-sessions.\n"
                "                       Use the tag from list-sessions.\n"
        );
    }

@@ -116,7 +114,7 @@ public class Media extends BaseCommand {
            for (IBinder session : sessions) {
                MediaController controller = new MediaController(ISessionController.Stub
                        .asInterface(session));
                if (controller != null && controller.getSessionInfo().getId().equals(id)) {
                if (controller != null && id.equals(controller.getTag())) {
                    ControllerMonitor monitor = new ControllerMonitor(controller);
                    monitor.run();
                    success = true;
@@ -192,7 +190,7 @@ public class Media extends BaseCommand {
        }

        void printUsageMessage() {
            System.out.println("V2Monitoring session " + mController.getSessionInfo().getId()
            System.out.println("V2Monitoring session " + mController.getTag()
                    + "...  available commands:");
            System.out.println("(q)uit: finish monitoring");
        }
@@ -251,9 +249,9 @@ public class Media extends BaseCommand {
                MediaController controller = new MediaController(ISessionController.Stub
                        .asInterface(session));
                if (controller != null) {
                    MediaSessionInfo info = controller.getSessionInfo();
                    System.out.println("  id=" + info.getId() + ", package="
                            + info.getPackageName());
                    String pkg = controller.getPackageName();
                    System.out.println("  tag=" + controller.getTag()
                            + ", package=" + pkg);
                }
            }
        } catch (Exception e) {
+3 −3
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ import java.util.List;
    public String getRemoteControlClientPackageName() {
        if (USE_SESSIONS) {
            synchronized (mInfoLock) {
                return mCurrentSession != null ? mCurrentSession.getSessionInfo().getPackageName()
                return mCurrentSession != null ? mCurrentSession.getPackageName()
                        : null;
            }
        } else {
@@ -980,8 +980,8 @@ import java.util.List;
                            0 /* genId */, 1 /* clearing */, null /* obj */, 0 /* delay */);
                }
            } else if (mCurrentSession == null
                    || !controller.getSessionInfo().getId()
                            .equals(mCurrentSession.getSessionInfo().getId())) {
                    || !controller.getSessionToken()
                            .equals(mCurrentSession.getSessionToken())) {
                if (mCurrentSession != null) {
                    mCurrentSession.removeCallback(mSessionCb);
                }
+2 −2
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.media.Rating;
import android.media.routing.IMediaRouterDelegate;
import android.media.routing.IMediaRouterStateCallback;
import android.media.session.ISessionControllerCallback;
import android.media.session.MediaSessionInfo;
import android.media.session.ParcelableVolumeInfo;
import android.media.session.PlaybackState;
import android.media.session.MediaSession;
@@ -44,7 +43,8 @@ interface ISessionController {
    void registerCallbackListener(in ISessionControllerCallback cb);
    void unregisterCallbackListener(in ISessionControllerCallback cb);
    boolean isTransportControlEnabled();
    MediaSessionInfo getSessionInfo();
    String getPackageName();
    String getTag();
    PendingIntent getLaunchPendingIntent();
    long getFlags();
    ParcelableVolumeInfo getVolumeAttributes();
Loading