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


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