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

Commit a6dc194d authored by Alex Dadukin's avatar Alex Dadukin Committed by Android (Google) Code Review
Browse files

Merge changes from topic "built_in_speaker_suitability_status" into main

* changes:
  Update transfer meta-data in RoutingSessionInfo on route re-selection
  Add suitability status and transfer request to the built-in route
parents fa721da2 b09389e2
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -23972,6 +23972,7 @@ package android.media {
    method @Nullable public android.net.Uri getIconUri();
    method @NonNull public String getId();
    method @NonNull public CharSequence getName();
    method @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public int getSuitabilityStatus();
    method public int getType();
    method public int getVolume();
    method public int getVolumeHandling();
@@ -23989,6 +23990,9 @@ package android.media {
    field public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK";
    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER = 2; // 0x2
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER = 0; // 0x0
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER = 1; // 0x1
    field public static final int TYPE_BLE_HEADSET = 26; // 0x1a
    field public static final int TYPE_BLUETOOTH_A2DP = 8; // 0x8
    field public static final int TYPE_BUILTIN_SPEAKER = 2; // 0x2
@@ -24029,6 +24033,7 @@ package android.media {
    method @NonNull public android.media.MediaRoute2Info.Builder setDescription(@Nullable CharSequence);
    method @NonNull public android.media.MediaRoute2Info.Builder setExtras(@Nullable android.os.Bundle);
    method @NonNull public android.media.MediaRoute2Info.Builder setIconUri(@Nullable android.net.Uri);
    method @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") @NonNull public android.media.MediaRoute2Info.Builder setSuitabilityStatus(int);
    method @NonNull public android.media.MediaRoute2Info.Builder setType(int);
    method @NonNull public android.media.MediaRoute2Info.Builder setVisibilityPublic();
    method @NonNull public android.media.MediaRoute2Info.Builder setVisibilityRestricted(@NonNull java.util.Set<java.lang.String>);
@@ -24242,6 +24247,7 @@ package android.media {
    method public void release();
    method public void selectRoute(@NonNull android.media.MediaRoute2Info);
    method public void setVolume(int);
    method @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public boolean wasTransferRequestedBySelf();
  }
  public abstract static class MediaRouter2.TransferCallback {
@@ -24639,12 +24645,16 @@ package android.media {
    method @Nullable public CharSequence getName();
    method @NonNull public java.util.List<java.lang.String> getSelectableRoutes();
    method @NonNull public java.util.List<java.lang.String> getSelectedRoutes();
    method @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public int getTransferReason();
    method @NonNull public java.util.List<java.lang.String> getTransferableRoutes();
    method public int getVolume();
    method public int getVolumeHandling();
    method public int getVolumeMax();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.RoutingSessionInfo> CREATOR;
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int TRANSFER_REASON_APP = 2; // 0x2
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int TRANSFER_REASON_FALLBACK = 0; // 0x0
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int TRANSFER_REASON_SYSTEM_REQUEST = 1; // 0x1
  }
  public static final class RoutingSessionInfo.Builder {
@@ -24665,6 +24675,8 @@ package android.media {
    method @NonNull public android.media.RoutingSessionInfo.Builder removeTransferableRoute(@NonNull String);
    method @NonNull public android.media.RoutingSessionInfo.Builder setControlHints(@Nullable android.os.Bundle);
    method @NonNull public android.media.RoutingSessionInfo.Builder setName(@Nullable CharSequence);
    method @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") @NonNull public android.media.RoutingSessionInfo.Builder setTransferInitiator(@Nullable android.os.UserHandle, @Nullable String);
    method @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") @NonNull public android.media.RoutingSessionInfo.Builder setTransferReason(int);
    method @NonNull public android.media.RoutingSessionInfo.Builder setVolume(int);
    method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeHandling(int);
    method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeMax(int);
+4 −0
Original line number Diff line number Diff line
@@ -6862,4 +6862,8 @@

    <!-- Whether the media player is shown on the quick settings -->
    <bool name="config_quickSettingsShowMediaPlayer">true</bool>

    <!-- Defines suitability of the built-in speaker route.
         Refer to {@link MediaRoute2Info} to see supported values.  -->
    <integer name="config_mediaRouter_builtInSpeakerSuitability">0</integer>
</resources>
+3 −0
Original line number Diff line number Diff line
@@ -5306,4 +5306,7 @@
  <java-symbol type="bool" name="config_viewBasedRotaryEncoderHapticsEnabled" />

  <java-symbol type="bool" name="config_quickSettingsShowMediaPlayer" />

  <!-- Android MediaRouter framework configs. -->
  <java-symbol type="integer" name="config_mediaRouter_builtInSpeakerSuitability" />
</resources>
+3 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.media;
import android.media.MediaRoute2Info;
import android.media.RoutingSessionInfo;
import android.os.Bundle;
import android.os.UserHandle;

/**
 * @hide
@@ -35,5 +36,6 @@ oneway interface IMediaRouter2 {
     * Call MediaRouterService#requestCreateSessionWithRouter2 to pass the result.
     */
    void requestCreateSessionByManager(long uniqueRequestId, in RoutingSessionInfo oldSession,
        in MediaRoute2Info route);
        in MediaRoute2Info route, in UserHandle transferInitiatorUserHandle,
        in String transferInitiatorPackageName);
}
+7 −3
Original line number Diff line number Diff line
@@ -64,7 +64,8 @@ interface IMediaRouterService {

    void requestCreateSessionWithRouter2(IMediaRouter2 router, int requestId, long managerRequestId,
            in RoutingSessionInfo oldSession, in MediaRoute2Info route,
            in @nullable Bundle sessionHints);
            in @nullable Bundle sessionHints, in UserHandle transferInitiatorUserHandle,
            in String transferInitiatorPackageName);
    void selectRouteWithRouter2(IMediaRouter2 router, String sessionId, in MediaRoute2Info route);
    void deselectRouteWithRouter2(IMediaRouter2 router, String sessionId, in MediaRoute2Info route);
    void transferToRouteWithRouter2(IMediaRouter2 router, String sessionId,
@@ -84,13 +85,16 @@ interface IMediaRouterService {
    void stopScan(IMediaRouter2Manager manager);

    void requestCreateSessionWithManager(IMediaRouter2Manager manager, int requestId,
            in RoutingSessionInfo oldSession, in @nullable MediaRoute2Info route);
            in RoutingSessionInfo oldSession, in @nullable MediaRoute2Info route,
            in UserHandle transferInitiatorUserHandle, in String transferInitiatorPackageName);
    void selectRouteWithManager(IMediaRouter2Manager manager, int requestId,
            String sessionId, in MediaRoute2Info route);
    void deselectRouteWithManager(IMediaRouter2Manager manager, int requestId,
            String sessionId, in MediaRoute2Info route);
    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL)")
    void transferToRouteWithManager(IMediaRouter2Manager manager, int requestId,
            String sessionId, in MediaRoute2Info route);
            String sessionId, in MediaRoute2Info route,
            in UserHandle transferInitiatorUserHandle, String transferInitiatorPackageName);
    void setSessionVolumeWithManager(IMediaRouter2Manager manager, int requestId,
            String sessionId, int volume);
    void releaseSessionWithManager(IMediaRouter2Manager manager, int requestId, String sessionId);
Loading