Move MediaBrowserCompat and MediaControllerCompat back to android.support.* package.

Turns out both MediaBrowserCompat and MediaControllerCompat had private
inner classes that were parcelables that get passed around from app to app.
This CL moves them back to android.support.v4.media.*

Bug: 75981216
Test: media/version-compat-tests/runtest.sh
Change-Id: Id537f8e01edee24dd71eeb7b2fdef9f5855e7d51
diff --git a/jetifier/jetifier/core/src/main/resources/default.config b/jetifier/jetifier/core/src/main/resources/default.config
index 89968e3..99c3057 100644
--- a/jetifier/jetifier/core/src/main/resources/default.config
+++ b/jetifier/jetifier/core/src/main/resources/default.config
@@ -420,10 +420,6 @@
             "to": "androidx/media/AudioAttributesCompat{0}"
         },
         {
-            "from": "android/support/v4/media/MediaBrowserCompat(.*)",
-            "to": "androidx/media/MediaBrowserCompat{0}"
-        },
-        {
             "from": "android/support/v4/media/MediaBrowserCompatUtils(.*)",
             "to": "androidx/media/MediaBrowserCompatUtils{0}"
         },
@@ -444,10 +440,6 @@
             "to": "androidx/media/session/MediaButtonReceiver{0}"
         },
         {
-            "from": "android/support/v4/media/session/MediaControllerCompat(.*)",
-            "to": "androidx/media/session/MediaControllerCompat{0}"
-        },
-        {
             "from": "android/support/v4/media/(.*)",
             "to": "android/support/v4/media/{0}"
         },
diff --git a/leanback/api/current.txt b/leanback/api/current.txt
index e13df6d..138509e 100644
--- a/leanback/api/current.txt
+++ b/leanback/api/current.txt
@@ -1004,9 +1004,9 @@
 package androidx.leanback.media {
 
   public class MediaControllerAdapter extends androidx.leanback.media.PlayerAdapter {
-    ctor public MediaControllerAdapter(androidx.media.session.MediaControllerCompat);
+    ctor public MediaControllerAdapter(android.support.v4.media.session.MediaControllerCompat);
     method public android.graphics.drawable.Drawable getMediaArt(android.content.Context);
-    method public androidx.media.session.MediaControllerCompat getMediaController();
+    method public android.support.v4.media.session.MediaControllerCompat getMediaController();
     method public java.lang.CharSequence getMediaSubtitle();
     method public java.lang.CharSequence getMediaTitle();
     method public void pause();
@@ -1015,12 +1015,12 @@
 
   public abstract deprecated class MediaControllerGlue extends androidx.leanback.media.PlaybackControlGlue {
     ctor public MediaControllerGlue(android.content.Context, int[], int[]);
-    method public void attachToMediaController(androidx.media.session.MediaControllerCompat);
+    method public void attachToMediaController(android.support.v4.media.session.MediaControllerCompat);
     method public void detach();
     method public int getCurrentPosition();
     method public int getCurrentSpeedId();
     method public android.graphics.drawable.Drawable getMediaArt();
-    method public final androidx.media.session.MediaControllerCompat getMediaController();
+    method public final android.support.v4.media.session.MediaControllerCompat getMediaController();
     method public int getMediaDuration();
     method public java.lang.CharSequence getMediaSubtitle();
     method public java.lang.CharSequence getMediaTitle();
diff --git a/leanback/src/androidTest/java/androidx/leanback/media/MediaControllerAdapterTest.java b/leanback/src/androidTest/java/androidx/leanback/media/MediaControllerAdapterTest.java
index 0baeb9f..eba9864 100644
--- a/leanback/src/androidTest/java/androidx/leanback/media/MediaControllerAdapterTest.java
+++ b/leanback/src/androidTest/java/androidx/leanback/media/MediaControllerAdapterTest.java
@@ -34,11 +34,11 @@
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 import android.support.v4.media.MediaMetadataCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 
 import androidx.leanback.widget.PlaybackControlsRow;
-import androidx.media.session.MediaControllerCompat;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/leanback/src/main/java/androidx/leanback/media/MediaControllerAdapter.java b/leanback/src/main/java/androidx/leanback/media/MediaControllerAdapter.java
index 16d78c4..e4fe997 100644
--- a/leanback/src/main/java/androidx/leanback/media/MediaControllerAdapter.java
+++ b/leanback/src/main/java/androidx/leanback/media/MediaControllerAdapter.java
@@ -30,11 +30,11 @@
 import android.graphics.drawable.Drawable;
 import android.os.Handler;
 import android.support.v4.media.MediaMetadataCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
 
 import androidx.leanback.widget.PlaybackControlsRow;
-import androidx.media.session.MediaControllerCompat;
 
 /**
  * A helper class for implementing a adapter layer for {@link MediaControllerCompat}.
diff --git a/leanback/src/main/java/androidx/leanback/media/MediaControllerGlue.java b/leanback/src/main/java/androidx/leanback/media/MediaControllerGlue.java
index f9cdefc..2a7977c 100644
--- a/leanback/src/main/java/androidx/leanback/media/MediaControllerGlue.java
+++ b/leanback/src/main/java/androidx/leanback/media/MediaControllerGlue.java
@@ -22,11 +22,10 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.support.v4.media.MediaMetadataCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
 
-import androidx.media.session.MediaControllerCompat;
-
 /**
  * A helper class for implementing a glue layer for {@link MediaControllerCompat}.
  * @deprecated Use {@link MediaControllerAdapter} with {@link PlaybackTransportControlGlue} or
diff --git a/media/api/current.txt b/media/api/current.txt
index 36577fa..d7df744 100644
--- a/media/api/current.txt
+++ b/media/api/current.txt
@@ -1,5 +1,79 @@
 package android.support.v4.media {
 
+  public final class MediaBrowserCompat {
+    ctor public MediaBrowserCompat(android.content.Context, android.content.ComponentName, android.support.v4.media.MediaBrowserCompat.ConnectionCallback, android.os.Bundle);
+    method public void connect();
+    method public void disconnect();
+    method public android.os.Bundle getExtras();
+    method public void getItem(java.lang.String, android.support.v4.media.MediaBrowserCompat.ItemCallback);
+    method public java.lang.String getRoot();
+    method public android.content.ComponentName getServiceComponent();
+    method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
+    method public boolean isConnected();
+    method public void search(java.lang.String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SearchCallback);
+    method public void sendCustomAction(java.lang.String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.CustomActionCallback);
+    method public void subscribe(java.lang.String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+    method public void subscribe(java.lang.String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+    method public void unsubscribe(java.lang.String);
+    method public void unsubscribe(java.lang.String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+    field public static final java.lang.String CUSTOM_ACTION_DOWNLOAD = "android.support.v4.media.action.DOWNLOAD";
+    field public static final java.lang.String CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE = "android.support.v4.media.action.REMOVE_DOWNLOADED_FILE";
+    field public static final java.lang.String EXTRA_DOWNLOAD_PROGRESS = "android.media.browse.extra.DOWNLOAD_PROGRESS";
+    field public static final java.lang.String EXTRA_MEDIA_ID = "android.media.browse.extra.MEDIA_ID";
+    field public static final java.lang.String EXTRA_PAGE = "android.media.browse.extra.PAGE";
+    field public static final java.lang.String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
+  }
+
+  public static class MediaBrowserCompat.ConnectionCallback {
+    ctor public MediaBrowserCompat.ConnectionCallback();
+    method public void onConnected();
+    method public void onConnectionFailed();
+    method public void onConnectionSuspended();
+  }
+
+  public static abstract class MediaBrowserCompat.CustomActionCallback {
+    ctor public MediaBrowserCompat.CustomActionCallback();
+    method public void onError(java.lang.String, android.os.Bundle, android.os.Bundle);
+    method public void onProgressUpdate(java.lang.String, android.os.Bundle, android.os.Bundle);
+    method public void onResult(java.lang.String, android.os.Bundle, android.os.Bundle);
+  }
+
+  public static abstract class MediaBrowserCompat.ItemCallback {
+    ctor public MediaBrowserCompat.ItemCallback();
+    method public void onError(java.lang.String);
+    method public void onItemLoaded(android.support.v4.media.MediaBrowserCompat.MediaItem);
+  }
+
+  public static class MediaBrowserCompat.MediaItem implements android.os.Parcelable {
+    ctor public MediaBrowserCompat.MediaItem(android.support.v4.media.MediaDescriptionCompat, int);
+    method public int describeContents();
+    method public static android.support.v4.media.MediaBrowserCompat.MediaItem fromMediaItem(java.lang.Object);
+    method public static java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem> fromMediaItemList(java.util.List<?>);
+    method public android.support.v4.media.MediaDescriptionCompat getDescription();
+    method public int getFlags();
+    method public java.lang.String getMediaId();
+    method public boolean isBrowsable();
+    method public boolean isPlayable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaBrowserCompat.MediaItem> CREATOR;
+    field public static final int FLAG_BROWSABLE = 1; // 0x1
+    field public static final int FLAG_PLAYABLE = 2; // 0x2
+  }
+
+  public static abstract class MediaBrowserCompat.SearchCallback {
+    ctor public MediaBrowserCompat.SearchCallback();
+    method public void onError(java.lang.String, android.os.Bundle);
+    method public void onSearchResult(java.lang.String, android.os.Bundle, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>);
+  }
+
+  public static abstract class MediaBrowserCompat.SubscriptionCallback {
+    ctor public MediaBrowserCompat.SubscriptionCallback();
+    method public void onChildrenLoaded(java.lang.String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>);
+    method public void onChildrenLoaded(java.lang.String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>, android.os.Bundle);
+    method public void onError(java.lang.String);
+    method public void onError(java.lang.String, android.os.Bundle);
+  }
+
   public final class MediaDescriptionCompat implements android.os.Parcelable {
     method public int describeContents();
     method public static android.support.v4.media.MediaDescriptionCompat fromMediaDescription(java.lang.Object);
@@ -131,12 +205,101 @@
 
 package android.support.v4.media.session {
 
+  public final class MediaControllerCompat {
+    ctor public MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat);
+    ctor public MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token) throws android.os.RemoteException;
+    method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat);
+    method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat, int);
+    method public void adjustVolume(int, int);
+    method public boolean dispatchMediaButtonEvent(android.view.KeyEvent);
+    method public android.os.Bundle getExtras();
+    method public long getFlags();
+    method public static android.support.v4.media.session.MediaControllerCompat getMediaController(android.app.Activity);
+    method public java.lang.Object getMediaController();
+    method public android.support.v4.media.MediaMetadataCompat getMetadata();
+    method public java.lang.String getPackageName();
+    method public android.support.v4.media.session.MediaControllerCompat.PlaybackInfo getPlaybackInfo();
+    method public android.support.v4.media.session.PlaybackStateCompat getPlaybackState();
+    method public java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem> getQueue();
+    method public java.lang.CharSequence getQueueTitle();
+    method public int getRatingType();
+    method public int getRepeatMode();
+    method public android.app.PendingIntent getSessionActivity();
+    method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
+    method public int getShuffleMode();
+    method public android.support.v4.media.session.MediaControllerCompat.TransportControls getTransportControls();
+    method public boolean isCaptioningEnabled();
+    method public boolean isSessionReady();
+    method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+    method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback, android.os.Handler);
+    method public void removeQueueItem(android.support.v4.media.MediaDescriptionCompat);
+    method public deprecated void removeQueueItemAt(int);
+    method public void sendCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
+    method public static void setMediaController(android.app.Activity, android.support.v4.media.session.MediaControllerCompat);
+    method public void setVolumeTo(int, int);
+    method public void unregisterCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+  }
+
+  public static abstract class MediaControllerCompat.Callback implements android.os.IBinder.DeathRecipient {
+    ctor public MediaControllerCompat.Callback();
+    method public void binderDied();
+    method public void onAudioInfoChanged(android.support.v4.media.session.MediaControllerCompat.PlaybackInfo);
+    method public void onCaptioningEnabledChanged(boolean);
+    method public void onExtrasChanged(android.os.Bundle);
+    method public void onMetadataChanged(android.support.v4.media.MediaMetadataCompat);
+    method public void onPlaybackStateChanged(android.support.v4.media.session.PlaybackStateCompat);
+    method public void onQueueChanged(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem>);
+    method public void onQueueTitleChanged(java.lang.CharSequence);
+    method public void onRepeatModeChanged(int);
+    method public void onSessionDestroyed();
+    method public void onSessionEvent(java.lang.String, android.os.Bundle);
+    method public void onSessionReady();
+    method public void onShuffleModeChanged(int);
+  }
+
+  public static final class MediaControllerCompat.PlaybackInfo {
+    method public int getAudioStream();
+    method public int getCurrentVolume();
+    method public int getMaxVolume();
+    method public int getPlaybackType();
+    method public int getVolumeControl();
+    field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
+    field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
+  }
+
+  public static abstract class MediaControllerCompat.TransportControls {
+    method public abstract void fastForward();
+    method public abstract void pause();
+    method public abstract void play();
+    method public abstract void playFromMediaId(java.lang.String, android.os.Bundle);
+    method public abstract void playFromSearch(java.lang.String, android.os.Bundle);
+    method public abstract void playFromUri(android.net.Uri, android.os.Bundle);
+    method public abstract void prepare();
+    method public abstract void prepareFromMediaId(java.lang.String, android.os.Bundle);
+    method public abstract void prepareFromSearch(java.lang.String, android.os.Bundle);
+    method public abstract void prepareFromUri(android.net.Uri, android.os.Bundle);
+    method public abstract void rewind();
+    method public abstract void seekTo(long);
+    method public abstract void sendCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction, android.os.Bundle);
+    method public abstract void sendCustomAction(java.lang.String, android.os.Bundle);
+    method public abstract void setCaptioningEnabled(boolean);
+    method public abstract void setRating(android.support.v4.media.RatingCompat);
+    method public abstract void setRating(android.support.v4.media.RatingCompat, android.os.Bundle);
+    method public abstract void setRepeatMode(int);
+    method public abstract void setShuffleMode(int);
+    method public abstract void skipToNext();
+    method public abstract void skipToPrevious();
+    method public abstract void skipToQueueItem(long);
+    method public abstract void stop();
+    field public static final java.lang.String EXTRA_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+  }
+
   public class MediaSessionCompat {
     ctor public MediaSessionCompat(android.content.Context, java.lang.String);
     ctor public MediaSessionCompat(android.content.Context, java.lang.String, android.content.ComponentName, android.app.PendingIntent);
     method public void addOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener);
     method public static android.support.v4.media.session.MediaSessionCompat fromMediaSession(android.content.Context, java.lang.Object);
-    method public androidx.media.session.MediaControllerCompat getController();
+    method public android.support.v4.media.session.MediaControllerCompat getController();
     method public java.lang.Object getMediaSession();
     method public java.lang.Object getRemoteControlClient();
     method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
@@ -402,80 +565,6 @@
     method public androidx.media.AudioAttributesCompat.Builder setUsage(int);
   }
 
-  public final class MediaBrowserCompat {
-    ctor public MediaBrowserCompat(android.content.Context, android.content.ComponentName, androidx.media.MediaBrowserCompat.ConnectionCallback, android.os.Bundle);
-    method public void connect();
-    method public void disconnect();
-    method public android.os.Bundle getExtras();
-    method public void getItem(java.lang.String, androidx.media.MediaBrowserCompat.ItemCallback);
-    method public java.lang.String getRoot();
-    method public android.content.ComponentName getServiceComponent();
-    method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
-    method public boolean isConnected();
-    method public void search(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserCompat.SearchCallback);
-    method public void sendCustomAction(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserCompat.CustomActionCallback);
-    method public void subscribe(java.lang.String, androidx.media.MediaBrowserCompat.SubscriptionCallback);
-    method public void subscribe(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserCompat.SubscriptionCallback);
-    method public void unsubscribe(java.lang.String);
-    method public void unsubscribe(java.lang.String, androidx.media.MediaBrowserCompat.SubscriptionCallback);
-    field public static final java.lang.String CUSTOM_ACTION_DOWNLOAD = "android.support.v4.media.action.DOWNLOAD";
-    field public static final java.lang.String CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE = "android.support.v4.media.action.REMOVE_DOWNLOADED_FILE";
-    field public static final java.lang.String EXTRA_DOWNLOAD_PROGRESS = "android.media.browse.extra.DOWNLOAD_PROGRESS";
-    field public static final java.lang.String EXTRA_MEDIA_ID = "android.media.browse.extra.MEDIA_ID";
-    field public static final java.lang.String EXTRA_PAGE = "android.media.browse.extra.PAGE";
-    field public static final java.lang.String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
-  }
-
-  public static class MediaBrowserCompat.ConnectionCallback {
-    ctor public MediaBrowserCompat.ConnectionCallback();
-    method public void onConnected();
-    method public void onConnectionFailed();
-    method public void onConnectionSuspended();
-  }
-
-  public static abstract class MediaBrowserCompat.CustomActionCallback {
-    ctor public MediaBrowserCompat.CustomActionCallback();
-    method public void onError(java.lang.String, android.os.Bundle, android.os.Bundle);
-    method public void onProgressUpdate(java.lang.String, android.os.Bundle, android.os.Bundle);
-    method public void onResult(java.lang.String, android.os.Bundle, android.os.Bundle);
-  }
-
-  public static abstract class MediaBrowserCompat.ItemCallback {
-    ctor public MediaBrowserCompat.ItemCallback();
-    method public void onError(java.lang.String);
-    method public void onItemLoaded(androidx.media.MediaBrowserCompat.MediaItem);
-  }
-
-  public static class MediaBrowserCompat.MediaItem implements android.os.Parcelable {
-    ctor public MediaBrowserCompat.MediaItem(android.support.v4.media.MediaDescriptionCompat, int);
-    method public int describeContents();
-    method public static androidx.media.MediaBrowserCompat.MediaItem fromMediaItem(java.lang.Object);
-    method public static java.util.List<androidx.media.MediaBrowserCompat.MediaItem> fromMediaItemList(java.util.List<?>);
-    method public android.support.v4.media.MediaDescriptionCompat getDescription();
-    method public int getFlags();
-    method public java.lang.String getMediaId();
-    method public boolean isBrowsable();
-    method public boolean isPlayable();
-    method public void writeToParcel(android.os.Parcel, int);
-    field public static final android.os.Parcelable.Creator<androidx.media.MediaBrowserCompat.MediaItem> CREATOR;
-    field public static final int FLAG_BROWSABLE = 1; // 0x1
-    field public static final int FLAG_PLAYABLE = 2; // 0x2
-  }
-
-  public static abstract class MediaBrowserCompat.SearchCallback {
-    ctor public MediaBrowserCompat.SearchCallback();
-    method public void onError(java.lang.String, android.os.Bundle);
-    method public void onSearchResult(java.lang.String, android.os.Bundle, java.util.List<androidx.media.MediaBrowserCompat.MediaItem>);
-  }
-
-  public static abstract class MediaBrowserCompat.SubscriptionCallback {
-    ctor public MediaBrowserCompat.SubscriptionCallback();
-    method public void onChildrenLoaded(java.lang.String, java.util.List<androidx.media.MediaBrowserCompat.MediaItem>);
-    method public void onChildrenLoaded(java.lang.String, java.util.List<androidx.media.MediaBrowserCompat.MediaItem>, android.os.Bundle);
-    method public void onError(java.lang.String);
-    method public void onError(java.lang.String, android.os.Bundle);
-  }
-
   public abstract class MediaBrowserServiceCompat extends android.app.Service {
     ctor public MediaBrowserServiceCompat();
     method public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
@@ -486,10 +575,10 @@
     method public android.os.IBinder onBind(android.content.Intent);
     method public void onCustomAction(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserServiceCompat.Result<android.os.Bundle>);
     method public abstract androidx.media.MediaBrowserServiceCompat.BrowserRoot onGetRoot(java.lang.String, int, android.os.Bundle);
-    method public abstract void onLoadChildren(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<androidx.media.MediaBrowserCompat.MediaItem>>);
-    method public void onLoadChildren(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<androidx.media.MediaBrowserCompat.MediaItem>>, android.os.Bundle);
-    method public void onLoadItem(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<androidx.media.MediaBrowserCompat.MediaItem>);
-    method public void onSearch(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<androidx.media.MediaBrowserCompat.MediaItem>>);
+    method public abstract void onLoadChildren(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>>);
+    method public void onLoadChildren(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>>, android.os.Bundle);
+    method public void onLoadItem(java.lang.String, androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem>);
+    method public void onSearch(java.lang.String, android.os.Bundle, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem>>);
     method public void setSessionToken(android.support.v4.media.session.MediaSessionCompat.Token);
     field public static final java.lang.String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService";
   }
@@ -564,94 +653,5 @@
     method public void onReceive(android.content.Context, android.content.Intent);
   }
 
-  public final class MediaControllerCompat {
-    ctor public MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat);
-    ctor public MediaControllerCompat(android.content.Context, android.support.v4.media.session.MediaSessionCompat.Token) throws android.os.RemoteException;
-    method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat);
-    method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat, int);
-    method public void adjustVolume(int, int);
-    method public boolean dispatchMediaButtonEvent(android.view.KeyEvent);
-    method public android.os.Bundle getExtras();
-    method public long getFlags();
-    method public static androidx.media.session.MediaControllerCompat getMediaController(android.app.Activity);
-    method public java.lang.Object getMediaController();
-    method public android.support.v4.media.MediaMetadataCompat getMetadata();
-    method public java.lang.String getPackageName();
-    method public androidx.media.session.MediaControllerCompat.PlaybackInfo getPlaybackInfo();
-    method public android.support.v4.media.session.PlaybackStateCompat getPlaybackState();
-    method public java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem> getQueue();
-    method public java.lang.CharSequence getQueueTitle();
-    method public int getRatingType();
-    method public int getRepeatMode();
-    method public android.app.PendingIntent getSessionActivity();
-    method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
-    method public int getShuffleMode();
-    method public androidx.media.session.MediaControllerCompat.TransportControls getTransportControls();
-    method public boolean isCaptioningEnabled();
-    method public boolean isSessionReady();
-    method public void registerCallback(androidx.media.session.MediaControllerCompat.Callback);
-    method public void registerCallback(androidx.media.session.MediaControllerCompat.Callback, android.os.Handler);
-    method public void removeQueueItem(android.support.v4.media.MediaDescriptionCompat);
-    method public deprecated void removeQueueItemAt(int);
-    method public void sendCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
-    method public static void setMediaController(android.app.Activity, androidx.media.session.MediaControllerCompat);
-    method public void setVolumeTo(int, int);
-    method public void unregisterCallback(androidx.media.session.MediaControllerCompat.Callback);
-  }
-
-  public static abstract class MediaControllerCompat.Callback implements android.os.IBinder.DeathRecipient {
-    ctor public MediaControllerCompat.Callback();
-    method public void binderDied();
-    method public void onAudioInfoChanged(androidx.media.session.MediaControllerCompat.PlaybackInfo);
-    method public void onCaptioningEnabledChanged(boolean);
-    method public void onExtrasChanged(android.os.Bundle);
-    method public void onMetadataChanged(android.support.v4.media.MediaMetadataCompat);
-    method public void onPlaybackStateChanged(android.support.v4.media.session.PlaybackStateCompat);
-    method public void onQueueChanged(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem>);
-    method public void onQueueTitleChanged(java.lang.CharSequence);
-    method public void onRepeatModeChanged(int);
-    method public void onSessionDestroyed();
-    method public void onSessionEvent(java.lang.String, android.os.Bundle);
-    method public void onSessionReady();
-    method public void onShuffleModeChanged(int);
-  }
-
-  public static final class MediaControllerCompat.PlaybackInfo {
-    method public int getAudioStream();
-    method public int getCurrentVolume();
-    method public int getMaxVolume();
-    method public int getPlaybackType();
-    method public int getVolumeControl();
-    field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
-    field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
-  }
-
-  public static abstract class MediaControllerCompat.TransportControls {
-    method public abstract void fastForward();
-    method public abstract void pause();
-    method public abstract void play();
-    method public abstract void playFromMediaId(java.lang.String, android.os.Bundle);
-    method public abstract void playFromSearch(java.lang.String, android.os.Bundle);
-    method public abstract void playFromUri(android.net.Uri, android.os.Bundle);
-    method public abstract void prepare();
-    method public abstract void prepareFromMediaId(java.lang.String, android.os.Bundle);
-    method public abstract void prepareFromSearch(java.lang.String, android.os.Bundle);
-    method public abstract void prepareFromUri(android.net.Uri, android.os.Bundle);
-    method public abstract void rewind();
-    method public abstract void seekTo(long);
-    method public abstract void sendCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction, android.os.Bundle);
-    method public abstract void sendCustomAction(java.lang.String, android.os.Bundle);
-    method public abstract void setCaptioningEnabled(boolean);
-    method public abstract void setRating(android.support.v4.media.RatingCompat);
-    method public abstract void setRating(android.support.v4.media.RatingCompat, android.os.Bundle);
-    method public abstract void setRepeatMode(int);
-    method public abstract void setShuffleMode(int);
-    method public abstract void skipToNext();
-    method public abstract void skipToPrevious();
-    method public abstract void skipToQueueItem(long);
-    method public abstract void stop();
-    field public static final java.lang.String EXTRA_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
-  }
-
 }
 
diff --git a/media/api21/androidx/media/MediaBrowserCompatApi21.java b/media/api21/android/support/v4/media/MediaBrowserCompatApi21.java
similarity index 97%
rename from media/api21/androidx/media/MediaBrowserCompatApi21.java
rename to media/api21/android/support/v4/media/MediaBrowserCompatApi21.java
index 842f54a..4f040df 100644
--- a/media/api21/androidx/media/MediaBrowserCompatApi21.java
+++ b/media/api21/android/support/v4/media/MediaBrowserCompatApi21.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media;
+package android.support.v4.media;
 
 import android.content.ComponentName;
 import android.content.Context;
@@ -29,7 +29,7 @@
 @RequiresApi(21)
 class MediaBrowserCompatApi21 {
     static final String NULL_MEDIA_ITEM_ID =
-            "androidx.media.MediaBrowserCompat.NULL_MEDIA_ITEM";
+            "android.support.v4.media.MediaBrowserCompat.NULL_MEDIA_ITEM";
 
     public static Object createConnectionCallback(ConnectionCallback callback) {
         return new ConnectionCallbackProxy<>(callback);
diff --git a/media/api21/androidx/media/session/MediaControllerCompatApi21.java b/media/api21/android/support/v4/media/session/MediaControllerCompatApi21.java
similarity index 99%
rename from media/api21/androidx/media/session/MediaControllerCompatApi21.java
rename to media/api21/android/support/v4/media/session/MediaControllerCompatApi21.java
index 9da2b830..6c5f860 100644
--- a/media/api21/androidx/media/session/MediaControllerCompatApi21.java
+++ b/media/api21/android/support/v4/media/session/MediaControllerCompatApi21.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media.session;
+package android.support.v4.media.session;
 
 import android.app.Activity;
 import android.app.PendingIntent;
diff --git a/media/api23/androidx/media/MediaBrowserCompatApi23.java b/media/api23/android/support/v4/media/MediaBrowserCompatApi23.java
similarity index 98%
rename from media/api23/androidx/media/MediaBrowserCompatApi23.java
rename to media/api23/android/support/v4/media/MediaBrowserCompatApi23.java
index ab05030..6f94d5d 100644
--- a/media/api23/androidx/media/MediaBrowserCompatApi23.java
+++ b/media/api23/android/support/v4/media/MediaBrowserCompatApi23.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media;
+package android.support.v4.media;
 
 import android.media.browse.MediaBrowser;
 import android.os.Parcel;
diff --git a/media/api23/androidx/media/session/MediaControllerCompatApi23.java b/media/api23/android/support/v4/media/session/MediaControllerCompatApi23.java
similarity index 96%
rename from media/api23/androidx/media/session/MediaControllerCompatApi23.java
rename to media/api23/android/support/v4/media/session/MediaControllerCompatApi23.java
index 036f128..ca424d1 100644
--- a/media/api23/androidx/media/session/MediaControllerCompatApi23.java
+++ b/media/api23/android/support/v4/media/session/MediaControllerCompatApi23.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media.session;
+package android.support.v4.media.session;
 
 import android.media.session.MediaController;
 import android.net.Uri;
diff --git a/media/api24/androidx/media/session/MediaControllerCompatApi24.java b/media/api24/android/support/v4/media/session/MediaControllerCompatApi24.java
similarity index 97%
rename from media/api24/androidx/media/session/MediaControllerCompatApi24.java
rename to media/api24/android/support/v4/media/session/MediaControllerCompatApi24.java
index df5d74b..9faeff6 100644
--- a/media/api24/androidx/media/session/MediaControllerCompatApi24.java
+++ b/media/api24/android/support/v4/media/session/MediaControllerCompatApi24.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media.session;
+package android.support.v4.media.session;
 
 import android.media.session.MediaController;
 import android.net.Uri;
diff --git a/media/api26/androidx/media/MediaBrowserCompatApi26.java b/media/api26/android/support/v4/media/MediaBrowserCompatApi26.java
similarity index 98%
rename from media/api26/androidx/media/MediaBrowserCompatApi26.java
rename to media/api26/android/support/v4/media/MediaBrowserCompatApi26.java
index 7311866..5d556d3 100644
--- a/media/api26/androidx/media/MediaBrowserCompatApi26.java
+++ b/media/api26/android/support/v4/media/MediaBrowserCompatApi26.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media;
+package android.support.v4.media;
 
 import android.media.browse.MediaBrowser;
 import android.os.Bundle;
diff --git a/media/src/main/java/androidx/media/MediaBrowserCompat.java b/media/src/main/java/android/support/v4/media/MediaBrowserCompat.java
similarity index 99%
rename from media/src/main/java/androidx/media/MediaBrowserCompat.java
rename to media/src/main/java/android/support/v4/media/MediaBrowserCompat.java
index 05123dc..a0e839bd 100644
--- a/media/src/main/java/androidx/media/MediaBrowserCompat.java
+++ b/media/src/main/java/android/support/v4/media/MediaBrowserCompat.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package androidx.media;
+package android.support.v4.media;
 
 import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
 import static androidx.media.MediaBrowserProtocol.CLIENT_MSG_ADD_SUBSCRIPTION;
@@ -62,9 +62,8 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.RemoteException;
-import android.support.v4.media.MediaDescriptionCompat;
-import android.support.v4.media.MediaMetadataCompat;
 import android.support.v4.media.session.IMediaSession;
+import android.support.v4.media.session.MediaControllerCompat.TransportControls;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.os.ResultReceiver;
 import android.text.TextUtils;
@@ -77,7 +76,8 @@
 import androidx.annotation.RestrictTo;
 import androidx.collection.ArrayMap;
 import androidx.core.app.BundleCompat;
-import androidx.media.session.MediaControllerCompat.TransportControls;
+import androidx.media.MediaBrowserCompatUtils;
+import androidx.media.MediaBrowserServiceCompat;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/media/src/main/java/android/support/v4/media/MediaDescriptionCompat.java b/media/src/main/java/android/support/v4/media/MediaDescriptionCompat.java
index 3403427..723cb3b 100644
--- a/media/src/main/java/android/support/v4/media/MediaDescriptionCompat.java
+++ b/media/src/main/java/android/support/v4/media/MediaDescriptionCompat.java
@@ -27,7 +27,6 @@
 
 import androidx.annotation.Nullable;
 import androidx.annotation.RestrictTo;
-import androidx.media.MediaBrowserCompat;
 
 /**
  * A simple set of metadata for a media item suitable for display. This can be
diff --git a/media/src/main/java/android/support/v4/media/MediaMetadataCompat.java b/media/src/main/java/android/support/v4/media/MediaMetadataCompat.java
index be5e07c..435d78e 100644
--- a/media/src/main/java/android/support/v4/media/MediaMetadataCompat.java
+++ b/media/src/main/java/android/support/v4/media/MediaMetadataCompat.java
@@ -23,14 +23,13 @@
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.support.v4.media.session.MediaControllerCompat.TransportControls;
 import android.text.TextUtils;
 import android.util.Log;
 
 import androidx.annotation.RestrictTo;
 import androidx.annotation.StringDef;
 import androidx.collection.ArrayMap;
-import androidx.media.MediaBrowserCompat;
-import androidx.media.session.MediaControllerCompat.TransportControls;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/media/src/main/java/androidx/media/session/MediaControllerCompat.java b/media/src/main/java/android/support/v4/media/session/MediaControllerCompat.java
similarity index 99%
rename from media/src/main/java/androidx/media/session/MediaControllerCompat.java
rename to media/src/main/java/android/support/v4/media/session/MediaControllerCompat.java
index 5fcf429..5e6f4ea 100644
--- a/media/src/main/java/androidx/media/session/MediaControllerCompat.java
+++ b/media/src/main/java/android/support/v4/media/session/MediaControllerCompat.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package androidx.media.session;
+package android.support.v4.media.session;
 
 import static androidx.annotation.RestrictTo.Scope.LIBRARY;
 
@@ -31,15 +31,11 @@
 import android.os.Message;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
+import android.support.v4.media.MediaBrowserCompat;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.MediaMetadataCompat;
 import android.support.v4.media.RatingCompat;
-import android.support.v4.media.session.IMediaControllerCallback;
-import android.support.v4.media.session.IMediaSession;
-import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.MediaSessionCompat.QueueItem;
-import android.support.v4.media.session.ParcelableVolumeInfo;
-import android.support.v4.media.session.PlaybackStateCompat;
 import android.support.v4.media.session.PlaybackStateCompat.CustomAction;
 import android.text.TextUtils;
 import android.util.Log;
@@ -50,7 +46,6 @@
 import androidx.annotation.RestrictTo;
 import androidx.core.app.BundleCompat;
 import androidx.core.app.SupportActivity;
-import androidx.media.MediaBrowserCompat;
 import androidx.media.VolumeProviderCompat;
 
 import java.lang.ref.WeakReference;
diff --git a/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java b/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
index fb939c0..1d78fc8 100644
--- a/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
+++ b/media/src/main/java/android/support/v4/media/session/MediaSessionCompat.java
@@ -60,7 +60,6 @@
 import androidx.core.app.BundleCompat;
 import androidx.media.VolumeProviderCompat;
 import androidx.media.session.MediaButtonReceiver;
-import androidx.media.session.MediaControllerCompat;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/media/src/main/java/android/support/v4/media/session/PlaybackStateCompat.java b/media/src/main/java/android/support/v4/media/session/PlaybackStateCompat.java
index c2a9741..e6420ea 100644
--- a/media/src/main/java/android/support/v4/media/session/PlaybackStateCompat.java
+++ b/media/src/main/java/android/support/v4/media/session/PlaybackStateCompat.java
@@ -30,7 +30,6 @@
 import androidx.annotation.LongDef;
 import androidx.annotation.Nullable;
 import androidx.annotation.RestrictTo;
-import androidx.media.session.MediaControllerCompat;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/media/src/main/java/androidx/media/MediaBrowserCompatUtils.java b/media/src/main/java/androidx/media/MediaBrowserCompatUtils.java
index dba32ca..d3f8bbb 100644
--- a/media/src/main/java/androidx/media/MediaBrowserCompatUtils.java
+++ b/media/src/main/java/androidx/media/MediaBrowserCompatUtils.java
@@ -19,6 +19,7 @@
 import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
 
 import android.os.Bundle;
+import android.support.v4.media.MediaBrowserCompat;
 
 import androidx.annotation.RestrictTo;
 
diff --git a/media/src/main/java/androidx/media/MediaBrowserProtocol.java b/media/src/main/java/androidx/media/MediaBrowserProtocol.java
index 2449435..251158f 100644
--- a/media/src/main/java/androidx/media/MediaBrowserProtocol.java
+++ b/media/src/main/java/androidx/media/MediaBrowserProtocol.java
@@ -15,10 +15,17 @@
  */
 package androidx.media;
 
+import android.support.v4.media.MediaBrowserCompat;
+
+import androidx.annotation.RestrictTo;
+
 /**
  * Defines the communication protocol for media browsers and media browser services.
+ *
+ * @hide
  */
-class MediaBrowserProtocol {
+@RestrictTo(RestrictTo.Scope.LIBRARY)
+public class MediaBrowserProtocol {
 
     public static final String DATA_CALLBACK_TOKEN = "data_callback_token";
     public static final String DATA_CALLING_UID = "data_calling_uid";
diff --git a/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java b/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java
index 3b89fd3..8f18cfc 100644
--- a/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java
+++ b/media/src/main/java/androidx/media/MediaBrowserServiceCompat.java
@@ -16,7 +16,7 @@
 
 package androidx.media;
 
-import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
+import static androidx.annotation.RestrictTo.Scope.LIBRARY;
 import static androidx.media.MediaBrowserProtocol.CLIENT_MSG_ADD_SUBSCRIPTION;
 import static androidx.media.MediaBrowserProtocol.CLIENT_MSG_CONNECT;
 import static androidx.media.MediaBrowserProtocol.CLIENT_MSG_DISCONNECT;
@@ -60,6 +60,7 @@
 import android.os.Messenger;
 import android.os.Parcel;
 import android.os.RemoteException;
+import android.support.v4.media.MediaBrowserCompat;
 import android.support.v4.media.session.IMediaSession;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.os.ResultReceiver;
@@ -130,7 +131,7 @@
      *
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP)
+    @RestrictTo(LIBRARY)
     public static final String KEY_MEDIA_ITEM = "media_item";
 
     /**
@@ -138,19 +139,32 @@
      *
      * @hide
      */
-    @RestrictTo(LIBRARY_GROUP)
+    @RestrictTo(LIBRARY)
     public static final String KEY_SEARCH_RESULTS = "search_results";
 
     static final int RESULT_FLAG_OPTION_NOT_HANDLED = 1 << 0;
     static final int RESULT_FLAG_ON_LOAD_ITEM_NOT_IMPLEMENTED = 1 << 1;
     static final int RESULT_FLAG_ON_SEARCH_NOT_IMPLEMENTED = 1 << 2;
 
-    static final int RESULT_ERROR = -1;
-    static final int RESULT_OK = 0;
-    static final int RESULT_PROGRESS_UPDATE = 1;
+    /**
+     * @hide
+     */
+    @RestrictTo(LIBRARY)
+    public static final int RESULT_ERROR = -1;
+    /**
+     * @hide
+     */
+    @RestrictTo(LIBRARY)
+    public static final int RESULT_OK = 0;
+
+    /**
+     * @hide
+     */
+    @RestrictTo(LIBRARY)
+    public static final int RESULT_PROGRESS_UPDATE = 1;
 
     /** @hide */
-    @RestrictTo(LIBRARY_GROUP)
+    @RestrictTo(LIBRARY)
     @Retention(RetentionPolicy.SOURCE)
     @IntDef(flag=true, value = { RESULT_FLAG_OPTION_NOT_HANDLED,
             RESULT_FLAG_ON_LOAD_ITEM_NOT_IMPLEMENTED, RESULT_FLAG_ON_SEARCH_NOT_IMPLEMENTED })
diff --git a/media/src/main/java/androidx/media/session/MediaButtonReceiver.java b/media/src/main/java/androidx/media/session/MediaButtonReceiver.java
index 113cdfd..15b9e95 100644
--- a/media/src/main/java/androidx/media/session/MediaButtonReceiver.java
+++ b/media/src/main/java/androidx/media/session/MediaButtonReceiver.java
@@ -28,6 +28,8 @@
 import android.content.pm.ResolveInfo;
 import android.os.Build;
 import android.os.RemoteException;
+import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.support.v4.media.session.PlaybackStateCompat.MediaKeyAction;
@@ -35,7 +37,6 @@
 import android.view.KeyEvent;
 
 import androidx.annotation.RestrictTo;
-import androidx.media.MediaBrowserCompat;
 import androidx.media.MediaBrowserServiceCompat;
 
 import java.util.List;
diff --git a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/ClientBroadcastReceiver.java b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/ClientBroadcastReceiver.java
index 2ad4d86..3227482 100644
--- a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/ClientBroadcastReceiver.java
+++ b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/ClientBroadcastReceiver.java
@@ -63,12 +63,11 @@
 import android.os.ResultReceiver;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.RatingCompat;
+import android.support.v4.media.session.MediaControllerCompat;
+import android.support.v4.media.session.MediaControllerCompat.TransportControls;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 
-import androidx.media.session.MediaControllerCompat;
-import androidx.media.session.MediaControllerCompat.TransportControls;
-
 public class ClientBroadcastReceiver extends BroadcastReceiver {
 
     @Override
diff --git a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaBrowserCompatTest.java b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaBrowserCompatTest.java
index 3d181eb..227afade 100644
--- a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaBrowserCompatTest.java
+++ b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaBrowserCompatTest.java
@@ -71,14 +71,14 @@
 import android.support.test.filters.MediumTest;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
+import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.MediaBrowserCompat.MediaItem;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.MediaMetadataCompat;
 import android.support.v4.media.RatingCompat;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
-import androidx.media.MediaBrowserCompat;
-import androidx.media.MediaBrowserCompat.MediaItem;
 import androidx.media.MediaBrowserServiceCompat;
 
 import org.junit.After;
diff --git a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaControllerCompatCallbackTest.java b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaControllerCompatCallbackTest.java
index b25812e..bc03f1a 100644
--- a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaControllerCompatCallbackTest.java
+++ b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaControllerCompatCallbackTest.java
@@ -75,18 +75,18 @@
 import android.support.test.filters.LargeTest;
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
+import android.support.v4.media.MediaBrowserCompat;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.MediaMetadataCompat;
 import android.support.v4.media.RatingCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.MediaSessionCompat.QueueItem;
 import android.support.v4.media.session.ParcelableVolumeInfo;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
 
-import androidx.media.MediaBrowserCompat;
 import androidx.media.VolumeProviderCompat;
-import androidx.media.session.MediaControllerCompat;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaItemTest.java b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaItemTest.java
index 52b93c1..179a178 100644
--- a/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaItemTest.java
+++ b/media/version-compat-tests/current/client/src/androidTest/java/android/support/mediacompat/client/MediaItemTest.java
@@ -21,10 +21,9 @@
 
 import android.os.Parcel;
 import android.support.test.filters.SmallTest;
+import android.support.v4.media.MediaBrowserCompat.MediaItem;
 import android.support.v4.media.MediaDescriptionCompat;
 
-import androidx.media.MediaBrowserCompat.MediaItem;
-
 import org.junit.Test;
 
 /**
diff --git a/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/MediaSessionCompatCallbackTest.java b/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/MediaSessionCompatCallbackTest.java
index 2120015..3519f2f 100644
--- a/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/MediaSessionCompatCallbackTest.java
+++ b/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/MediaSessionCompatCallbackTest.java
@@ -90,13 +90,13 @@
 import android.support.test.runner.AndroidJUnit4;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.RatingCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
 import android.view.KeyEvent;
 
 import androidx.media.VolumeProviderCompat;
-import androidx.media.session.MediaControllerCompat;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompat.java b/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompat.java
index f5045ec..d70ce8b 100644
--- a/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompat.java
+++ b/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompat.java
@@ -33,12 +33,12 @@
 import static org.junit.Assert.assertNull;
 
 import android.os.Bundle;
+import android.support.v4.media.MediaBrowserCompat.MediaItem;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.MediaMetadataCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 
 import androidx.annotation.NonNull;
-import androidx.media.MediaBrowserCompat.MediaItem;
 import androidx.media.MediaBrowserServiceCompat;
 
 import java.util.ArrayList;
diff --git a/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompatWithDelayedMediaSession.java b/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompatWithDelayedMediaSession.java
index 3e6f09d..7b31196 100644
--- a/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompatWithDelayedMediaSession.java
+++ b/media/version-compat-tests/current/service/src/androidTest/java/android/support/mediacompat/service/StubMediaBrowserServiceCompatWithDelayedMediaSession.java
@@ -17,11 +17,11 @@
 package android.support.mediacompat.service;
 
 import android.os.Bundle;
+import android.support.v4.media.MediaBrowserCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.media.MediaBrowserCompat;
 import androidx.media.MediaBrowserServiceCompat;
 
 import java.util.List;
diff --git a/mediarouter/src/androidTest/java/androidx/mediarouter/media/MediaRouterTest.java b/mediarouter/src/androidTest/java/androidx/mediarouter/media/MediaRouterTest.java
index 46a8f28d..b7d9eb2 100644
--- a/mediarouter/src/androidTest/java/androidx/mediarouter/media/MediaRouterTest.java
+++ b/mediarouter/src/androidTest/java/androidx/mediarouter/media/MediaRouterTest.java
@@ -26,7 +26,7 @@
 import android.support.test.runner.AndroidJUnit4;
 import android.support.v4.media.session.MediaSessionCompat;
 
-import androidx.media.session.MediaControllerCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java b/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
index 717dbe9..c9fe73a 100644
--- a/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
+++ b/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteControllerDialog.java
@@ -69,7 +69,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.core.util.ObjectsCompat;
 import androidx.core.view.accessibility.AccessibilityEventCompat;
-import androidx.media.session.MediaControllerCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import androidx.mediarouter.R;
 import androidx.mediarouter.media.MediaRouteSelector;
 import androidx.mediarouter.media.MediaRouter;
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/BrowseFragment.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/BrowseFragment.java
index aa53d494..16bd6be 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/BrowseFragment.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/BrowseFragment.java
@@ -19,6 +19,8 @@
 import android.content.Context;
 import android.os.Bundle;
 import android.os.RemoteException;
+import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -33,8 +35,6 @@
 
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.Fragment;
-import androidx.media.MediaBrowserCompat;
-import androidx.media.session.MediaControllerCompat;
 
 import com.example.android.supportv4.R;
 
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserServiceSupport.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserServiceSupport.java
index 0e6701e..dc0cd81 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserServiceSupport.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserServiceSupport.java
@@ -29,6 +29,8 @@
 import android.os.Handler;
 import android.os.Message;
 import android.os.SystemClock;
+import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.MediaBrowserCompat.MediaItem;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.MediaMetadataCompat;
 import android.support.v4.media.session.MediaSessionCompat;
@@ -36,8 +38,6 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import androidx.media.MediaBrowserCompat;
-import androidx.media.MediaBrowserCompat.MediaItem;
 import androidx.media.MediaBrowserServiceCompat;
 import androidx.media.session.MediaButtonReceiver;
 
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserSupport.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserSupport.java
index bf8e27c..8dd2408 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserSupport.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaBrowserSupport.java
@@ -17,10 +17,10 @@
 package com.example.android.supportv4.media;
 
 import android.os.Bundle;
+import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 
 import androidx.fragment.app.FragmentActivity;
-import androidx.media.MediaBrowserCompat;
-import androidx.media.session.MediaControllerCompat;
 
 import com.example.android.supportv4.R;
 
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaNotificationManager.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaNotificationManager.java
index 5a118e6..c6bf935 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaNotificationManager.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/MediaNotificationManager.java
@@ -28,13 +28,13 @@
 import android.os.RemoteException;
 import android.support.v4.media.MediaDescriptionCompat;
 import android.support.v4.media.MediaMetadataCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
 
 import androidx.core.app.NotificationCompat;
 import androidx.core.app.NotificationManagerCompat;
-import androidx.media.session.MediaControllerCompat;
 
 import com.example.android.supportv4.R;
 import com.example.android.supportv4.media.utils.ResourceHelper;
diff --git a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/QueueFragment.java b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/QueueFragment.java
index 55e54c8..7ca8c9c 100644
--- a/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/QueueFragment.java
+++ b/samples/Support4Demos/src/main/java/com/example/android/supportv4/media/QueueFragment.java
@@ -19,6 +19,8 @@
 import android.content.ComponentName;
 import android.os.Bundle;
 import android.os.RemoteException;
+import android.support.v4.media.MediaBrowserCompat;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 import android.support.v4.media.session.PlaybackStateCompat;
 import android.util.Log;
@@ -31,8 +33,6 @@
 
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.Fragment;
-import androidx.media.MediaBrowserCompat;
-import androidx.media.session.MediaControllerCompat;
 
 import com.example.android.supportv4.R;
 
diff --git a/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/MusicPlayerFragment.java b/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/MusicPlayerFragment.java
index 6106355..1fd7af1 100644
--- a/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/MusicPlayerFragment.java
+++ b/samples/SupportLeanbackDemos/src/main/java/com/example/android/leanback/MusicPlayerFragment.java
@@ -22,6 +22,7 @@
 import android.content.ServiceConnection;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.support.v4.media.session.MediaControllerCompat;
 import android.support.v4.media.session.MediaSessionCompat;
 
 import androidx.leanback.app.PlaybackFragment;
@@ -32,7 +33,6 @@
 import androidx.leanback.widget.Action;
 import androidx.leanback.widget.ArrayObjectAdapter;
 import androidx.leanback.widget.PlaybackControlsRow;
-import androidx.media.session.MediaControllerCompat;
 
 import com.google.gson.Gson;