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

Commit b8407d69 authored by Kyunglyul Hyun's avatar Kyunglyul Hyun Committed by Android (Google) Code Review
Browse files

Merge "[Media ML] Let MCS manage MediaSession2" into sc-dev

parents 7d4e773f 970adf07
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -15,7 +15,17 @@
 */
package android.media;

import android.media.Session2Token;
import android.media.IMediaCommunicationServiceCallback;
import android.media.MediaParceledListSlice;

/** {@hide} */
interface IMediaCommunicationService {
    void notifySession2Created(in Session2Token sessionToken);
    boolean isTrusted(String controllerPackageName, int controllerPid, int controllerUid);
    MediaParceledListSlice getSession2Tokens(int userId);

    void registerCallback(IMediaCommunicationServiceCallback callback, String packageName);
    void unregisterCallback(IMediaCommunicationServiceCallback callback);
}
+26 −0
Original line number Diff line number Diff line
/**
 * Copyright 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package android.media;

import android.media.Session2Token;
import android.media.MediaParceledListSlice;

/** {@hide} */
interface IMediaCommunicationServiceCallback {
    void onSession2Created(in Session2Token token);
    void onSession2Changed(in MediaParceledListSlice tokens);
}
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ package android.media {
  }

  public class MediaCommunicationManager {
    method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens();
    method @IntRange(from=1) public int getVersion();
  }

+10 −0
Original line number Diff line number Diff line
// Signature format: 2.0
package android.media {

  public class MediaCommunicationManager {
    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaCommunicationManager.SessionCallback);
    method public void unregisterSessionCallback(@NonNull android.media.MediaCommunicationManager.SessionCallback);
  }

  public static interface MediaCommunicationManager.SessionCallback {
    method public default void onSession2TokenCreated(@NonNull android.media.Session2Token);
    method public default void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
  }

  public class MediaFrameworkInitializer {
    method public static void registerServiceWrappers();
    method public static void setMediaServiceManager(@NonNull android.media.MediaServiceManager);
+1 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import android.os.ResultReceiver;
import java.util.Objects;

/**
 * Handles incoming commands from {@link MediaSession2} to both {@link MediaController2}.
 * Handles incoming commands from {@link MediaSession2} to {@link MediaController2}.
 * @hide
 */
// @SystemApi
Loading