Commented unresolved hidden API usages

Bug: 119539695
Test: Build
Change-Id: I6d464226eaf338e953b3a8e245af82b4cba5e221
diff --git a/packages/MediaComponents/apex/java/android/media/MediaDescription.java b/packages/MediaComponents/apex/java/android/media/MediaDescription.java
index e6aea99..ad71d9f 100644
--- a/packages/MediaComponents/apex/java/android/media/MediaDescription.java
+++ b/packages/MediaComponents/apex/java/android/media/MediaDescription.java
@@ -122,9 +122,10 @@
 
     private MediaDescription(Parcel in) {
         mMediaId = in.readString();
-        mTitle = in.readCharSequence();
-        mSubtitle = in.readCharSequence();
-        mDescription = in.readCharSequence();
+        //TODO(b/119783509): Resolve hidden API Usage. Parcel#{read,write}CharSequence
+        mTitle = "";  //in.readCharSequence();
+        mSubtitle = "";  //in.readCharSequence();
+        mDescription = "";  //in.readCharSequence();
         mIcon = in.readParcelable(null);
         mIconUri = in.readParcelable(null);
         mExtras = in.readBundle();
@@ -210,9 +211,12 @@
     @Override
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeString(mMediaId);
+        //TODO(b/119783509): Resolve hidden API Usage. Parcel#{read,write}CharSequence
+        /*
         dest.writeCharSequence(mTitle);
         dest.writeCharSequence(mSubtitle);
         dest.writeCharSequence(mDescription);
+        */
         dest.writeParcelable(mIcon, flags);
         dest.writeParcelable(mIconUri, flags);
         dest.writeBundle(mExtras);
diff --git a/packages/MediaComponents/apex/java/android/media/MediaMetadata.java b/packages/MediaComponents/apex/java/android/media/MediaMetadata.java
index 2721ad1..33e6916 100644
--- a/packages/MediaComponents/apex/java/android/media/MediaMetadata.java
+++ b/packages/MediaComponents/apex/java/android/media/MediaMetadata.java
@@ -422,7 +422,9 @@
     }
 
     private MediaMetadata(Parcel in) {
-        mBundle = Bundle.setDefusable(in.readBundle(), true);
+        //TODO(b/119789387): Resolve hidden API usage: Bundle#setDefusable
+        //mBundle = Bundle.setDefusable(in.readBundle(), true);
+        mBundle = new Bundle();  //TODO:remove this.
     }
 
     /**
diff --git a/packages/MediaComponents/apex/java/android/media/browse/MediaBrowser.java b/packages/MediaComponents/apex/java/android/media/browse/MediaBrowser.java
index 2bccd88..4e091ad 100644
--- a/packages/MediaComponents/apex/java/android/media/browse/MediaBrowser.java
+++ b/packages/MediaComponents/apex/java/android/media/browse/MediaBrowser.java
@@ -23,7 +23,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
-import android.content.pm.ParceledListSlice;
+//import android.content.pm.ParceledListSlice;
 import android.media.MediaDescription;
 import android.media.session.MediaController;
 import android.media.session.MediaSession;
@@ -652,6 +652,8 @@
         });
     }
 
+    //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+    /*
     private final void onLoadChildren(final IMediaBrowserServiceCallbacks callback,
             final String parentId, final ParceledListSlice list, final Bundle options) {
         mHandler.post(new Runnable() {
@@ -697,6 +699,7 @@
             }
         });
     }
+    */
 
     /**
      * Return true if {@code callback} is the current ServiceCallbacks. Also logs if it's not.
@@ -1106,6 +1109,8 @@
             }
         }
 
+        //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+        /*
         @Override
         public void onLoadChildren(String parentId, ParceledListSlice list) {
             onLoadChildrenWithOptions(parentId, list, null);
@@ -1119,6 +1124,7 @@
                 mediaBrowser.onLoadChildren(this, parentId, list, options);
             }
         }
+        */
     }
 
     private static class Subscription {
diff --git a/packages/MediaComponents/apex/java/android/media/session/ISession.aidl b/packages/MediaComponents/apex/java/android/media/session/ISession.aidl
index bd0019f..cbd93cb 100644
--- a/packages/MediaComponents/apex/java/android/media/session/ISession.aidl
+++ b/packages/MediaComponents/apex/java/android/media/session/ISession.aidl
@@ -17,7 +17,7 @@
 
 import android.app.PendingIntent;
 import android.content.pm.ParceledListSlice;
-import android.media.AudioAttributes;
+//import android.media.AudioAttributes;
 import android.media.MediaMetadata;
 import android.media.session.ISessionController;
 import android.media.session.PlaybackState;
@@ -41,13 +41,15 @@
     // These commands are for the TransportPerformer
     void setMetadata(in MediaMetadata metadata);
     void setPlaybackState(in PlaybackState state);
-    void setQueue(in ParceledListSlice queue);
+    //TODO(b/119750807): Resolve hidden API usage ParceledListSlice.
+    //void setQueue(in ParceledListSlice queue);
     void setQueueTitle(CharSequence title);
     void setExtras(in Bundle extras);
     void setRatingType(int type);
 
     // These commands relate to volume handling
-    void setPlaybackToLocal(in AudioAttributes attributes);
+    //TODO(b/119751592): Decide if AudioAttributes should be updated.
+    //void setPlaybackToLocal(in AudioAttributes attributes);
     void setPlaybackToRemote(int control, int max);
     void setCurrentVolume(int currentVolume);
 }
diff --git a/packages/MediaComponents/apex/java/android/media/session/ISessionController.aidl b/packages/MediaComponents/apex/java/android/media/session/ISessionController.aidl
index 861a8ce..031a388 100644
--- a/packages/MediaComponents/apex/java/android/media/session/ISessionController.aidl
+++ b/packages/MediaComponents/apex/java/android/media/session/ISessionController.aidl
@@ -17,7 +17,7 @@
 
 import android.app.PendingIntent;
 import android.content.Intent;
-import android.content.pm.ParceledListSlice;
+//import android.content.pm.ParceledListSlice;
 import android.media.MediaMetadata;
 import android.media.Rating;
 import android.media.session.ISessionControllerCallback;
@@ -81,7 +81,8 @@
             String action, in Bundle args);
     MediaMetadata getMetadata();
     PlaybackState getPlaybackState();
-    ParceledListSlice getQueue();
+    //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+    //ParceledListSlice getQueue();
     CharSequence getQueueTitle();
     Bundle getExtras();
     int getRatingType();
diff --git a/packages/MediaComponents/apex/java/android/media/session/ISessionControllerCallback.aidl b/packages/MediaComponents/apex/java/android/media/session/ISessionControllerCallback.aidl
index cf31767..173504b 100644
--- a/packages/MediaComponents/apex/java/android/media/session/ISessionControllerCallback.aidl
+++ b/packages/MediaComponents/apex/java/android/media/session/ISessionControllerCallback.aidl
@@ -15,7 +15,7 @@
 
 package android.media.session;
 
-import android.content.pm.ParceledListSlice;
+//import android.content.pm.ParceledListSlice;
 import android.media.MediaMetadata;
 import android.media.session.ParcelableVolumeInfo;
 import android.media.session.PlaybackState;
@@ -32,7 +32,8 @@
     // These callbacks are for the TransportController
     void onPlaybackStateChanged(in PlaybackState state);
     void onMetadataChanged(in MediaMetadata metadata);
-    void onQueueChanged(in ParceledListSlice queue);
+    //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+    //void onQueueChanged(in ParceledListSlice queue);
     void onQueueTitleChanged(CharSequence title);
     void onExtrasChanged(in Bundle extras);
     void onVolumeInfoChanged(in ParcelableVolumeInfo info);
diff --git a/packages/MediaComponents/apex/java/android/media/session/MediaController.java b/packages/MediaComponents/apex/java/android/media/session/MediaController.java
index c4b82c3..1f29185 100644
--- a/packages/MediaComponents/apex/java/android/media/session/MediaController.java
+++ b/packages/MediaComponents/apex/java/android/media/session/MediaController.java
@@ -21,7 +21,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.content.Context;
-import android.content.pm.ParceledListSlice;
+//import android.content.pm.ParceledListSlice;
 import android.media.AudioAttributes;
 import android.media.AudioManager;
 import android.media.MediaMetadata;
@@ -149,11 +149,16 @@
         if (keyEvent == null) {
             throw new IllegalArgumentException("KeyEvent may not be null");
         }
+        //TODO(b/119789707): Resolve hidden API usage: KeyEvent#isMediaKey
+        /*
         if (!KeyEvent.isMediaKey(keyEvent.getKeyCode())) {
             return false;
         }
+        */
         try {
-            return mSessionBinder.sendMediaButton(mContext.getOpPackageName(), mCbStub,
+            //TODO(b/119748678): Resolve mContext.getOpPackageName() through this file.
+            // Temporarilly it's replaced with "mContext.getOpPackageName()" for compiling.
+            return mSessionBinder.sendMediaButton("mContext.getOpPackageName()", mCbStub,
                     asSystemService, keyEvent);
         } catch (RemoteException e) {
             // System is dead. =(
@@ -186,7 +191,7 @@
                         break;
                 }
                 try {
-                    mSessionBinder.adjustVolume(mContext.getOpPackageName(), mCbStub, true,
+                    mSessionBinder.adjustVolume("mContext.getOpPackageName()", mCbStub, true,
                             direction, AudioManager.FLAG_SHOW_UI);
                 } catch (RemoteException e) {
                     Log.wtf(TAG, "Error calling adjustVolumeBy", e);
@@ -194,10 +199,11 @@
             }
 
             case KeyEvent.ACTION_UP: {
-                final int flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE
-                        | AudioManager.FLAG_FROM_KEY;
+                //TODO(b/119790339): Resolve hidden API usage. AudioManager.FLAG_FROM_KEY
+                final int flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE;
+                        //| AudioManager.FLAG_FROM_KEY;
                 try {
-                    mSessionBinder.adjustVolume(mContext.getOpPackageName(), mCbStub, true, 0,
+                    mSessionBinder.adjustVolume("mContext.getOpPackageName()", mCbStub, true, 0,
                             flags);
                 } catch (RemoteException e) {
                     Log.wtf(TAG, "Error calling adjustVolumeBy", e);
@@ -241,6 +247,8 @@
      * @return The current play queue or null.
      */
     public @Nullable List<MediaSession.QueueItem> getQueue() {
+        //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+        /*
         try {
             ParceledListSlice queue = mSessionBinder.getQueue();
             if (queue != null) {
@@ -249,6 +257,7 @@
         } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getQueue.", e);
         }
+        */
         return null;
     }
 
@@ -367,7 +376,7 @@
      */
     public void setVolumeTo(int value, int flags) {
         try {
-            mSessionBinder.setVolumeTo(mContext.getOpPackageName(), mCbStub, value, flags);
+            mSessionBinder.setVolumeTo("mContext.getOpPackageName()", mCbStub, value, flags);
         } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling setVolumeTo.", e);
         }
@@ -388,7 +397,7 @@
      */
     public void adjustVolume(int direction, int flags) {
         try {
-            mSessionBinder.adjustVolume(mContext.getOpPackageName(), mCbStub, false, direction,
+            mSessionBinder.adjustVolume("mContext.getOpPackageName()", mCbStub, false, direction,
                     flags);
         } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling adjustVolumeBy.", e);
@@ -455,7 +464,7 @@
             throw new IllegalArgumentException("command cannot be null or empty");
         }
         try {
-            mSessionBinder.sendCommand(mContext.getOpPackageName(), mCbStub, command, args, cb);
+            mSessionBinder.sendCommand("mContext.getOpPackageName()", mCbStub, command, args, cb);
         } catch (RemoteException e) {
             Log.d(TAG, "Dead object in sendCommand.", e);
         }
@@ -521,7 +530,7 @@
 
         if (!mCbRegistered) {
             try {
-                mSessionBinder.registerCallbackListener(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.registerCallbackListener("mContext.getOpPackageName()", mCbStub);
                 mCbRegistered = true;
             } catch (RemoteException e) {
                 Log.e(TAG, "Dead object in registerCallback", e);
@@ -668,7 +677,7 @@
          */
         public void prepare() {
             try {
-                mSessionBinder.prepare(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.prepare("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare.", e);
             }
@@ -692,7 +701,7 @@
                         "You must specify a non-empty String for prepareFromMediaId.");
             }
             try {
-                mSessionBinder.prepareFromMediaId(mContext.getOpPackageName(), mCbStub, mediaId,
+                mSessionBinder.prepareFromMediaId("mContext.getOpPackageName()", mCbStub, mediaId,
                         extras);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare(" + mediaId + ").", e);
@@ -719,7 +728,7 @@
                 query = "";
             }
             try {
-                mSessionBinder.prepareFromSearch(mContext.getOpPackageName(), mCbStub, query,
+                mSessionBinder.prepareFromSearch("mContext.getOpPackageName()", mCbStub, query,
                         extras);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare(" + query + ").", e);
@@ -744,7 +753,7 @@
                         "You must specify a non-empty Uri for prepareFromUri.");
             }
             try {
-                mSessionBinder.prepareFromUri(mContext.getOpPackageName(), mCbStub, uri, extras);
+                mSessionBinder.prepareFromUri("mContext.getOpPackageName()", mCbStub, uri, extras);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare(" + uri + ").", e);
             }
@@ -755,7 +764,7 @@
          */
         public void play() {
             try {
-                mSessionBinder.play(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.play("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play.", e);
             }
@@ -774,7 +783,7 @@
                         "You must specify a non-empty String for playFromMediaId.");
             }
             try {
-                mSessionBinder.playFromMediaId(mContext.getOpPackageName(), mCbStub, mediaId,
+                mSessionBinder.playFromMediaId("mContext.getOpPackageName()", mCbStub, mediaId,
                         extras);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play(" + mediaId + ").", e);
@@ -797,7 +806,7 @@
                 query = "";
             }
             try {
-                mSessionBinder.playFromSearch(mContext.getOpPackageName(), mCbStub, query, extras);
+                mSessionBinder.playFromSearch("mContext.getOpPackageName()", mCbStub, query, extras);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play(" + query + ").", e);
             }
@@ -816,7 +825,7 @@
                         "You must specify a non-empty Uri for playFromUri.");
             }
             try {
-                mSessionBinder.playFromUri(mContext.getOpPackageName(), mCbStub, uri, extras);
+                mSessionBinder.playFromUri("mContext.getOpPackageName()", mCbStub, uri, extras);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play(" + uri + ").", e);
             }
@@ -828,7 +837,7 @@
          */
         public void skipToQueueItem(long id) {
             try {
-                mSessionBinder.skipToQueueItem(mContext.getOpPackageName(), mCbStub, id);
+                mSessionBinder.skipToQueueItem("mContext.getOpPackageName()", mCbStub, id);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling skipToItem(" + id + ").", e);
             }
@@ -840,7 +849,7 @@
          */
         public void pause() {
             try {
-                mSessionBinder.pause(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.pause("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling pause.", e);
             }
@@ -852,7 +861,7 @@
          */
         public void stop() {
             try {
-                mSessionBinder.stop(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.stop("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling stop.", e);
             }
@@ -865,7 +874,7 @@
          */
         public void seekTo(long pos) {
             try {
-                mSessionBinder.seekTo(mContext.getOpPackageName(), mCbStub, pos);
+                mSessionBinder.seekTo("mContext.getOpPackageName()", mCbStub, pos);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling seekTo.", e);
             }
@@ -877,7 +886,7 @@
          */
         public void fastForward() {
             try {
-                mSessionBinder.fastForward(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.fastForward("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling fastForward.", e);
             }
@@ -888,7 +897,7 @@
          */
         public void skipToNext() {
             try {
-                mSessionBinder.next(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.next("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling next.", e);
             }
@@ -900,7 +909,7 @@
          */
         public void rewind() {
             try {
-                mSessionBinder.rewind(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.rewind("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling rewind.", e);
             }
@@ -911,7 +920,7 @@
          */
         public void skipToPrevious() {
             try {
-                mSessionBinder.previous(mContext.getOpPackageName(), mCbStub);
+                mSessionBinder.previous("mContext.getOpPackageName()", mCbStub);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling previous.", e);
             }
@@ -926,7 +935,7 @@
          */
         public void setRating(Rating rating) {
             try {
-                mSessionBinder.rate(mContext.getOpPackageName(), mCbStub, rating);
+                mSessionBinder.rate("mContext.getOpPackageName()", mCbStub, rating);
             } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling rate.", e);
             }
@@ -961,7 +970,7 @@
                 throw new IllegalArgumentException("CustomAction cannot be null.");
             }
             try {
-                mSessionBinder.sendCustomAction(mContext.getOpPackageName(), mCbStub, action, args);
+                mSessionBinder.sendCustomAction("mContext.getOpPackageName()", mCbStub, action, args);
             } catch (RemoteException e) {
                 Log.d(TAG, "Dead object in sendCustomAction.", e);
             }
@@ -1097,6 +1106,8 @@
             }
         }
 
+        //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+        /*
         @Override
         public void onQueueChanged(ParceledListSlice parceledQueue) {
             List<MediaSession.QueueItem> queue = parceledQueue == null ? null : parceledQueue
@@ -1106,6 +1117,7 @@
                 controller.postMessage(MSG_UPDATE_QUEUE, queue, null);
             }
         }
+        */
 
         @Override
         public void onQueueTitleChanged(CharSequence title) {
@@ -1140,7 +1152,8 @@
         private boolean mRegistered = false;
 
         public MessageHandler(Looper looper, MediaController.Callback cb) {
-            super(looper, null, true);
+            //TODO:(b/119539849) Uncomment below line and resolve the error.
+            // super(looper, null, true);
             mCallback = cb;
         }
 
diff --git a/packages/MediaComponents/apex/java/android/media/session/MediaSession.java b/packages/MediaComponents/apex/java/android/media/session/MediaSession.java
index d43cd30..b3ebbc8 100644
--- a/packages/MediaComponents/apex/java/android/media/session/MediaSession.java
+++ b/packages/MediaComponents/apex/java/android/media/session/MediaSession.java
@@ -24,7 +24,7 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.ParceledListSlice;
+//import android.content.pm.ParceledListSlice;
 import android.media.AudioAttributes;
 import android.media.MediaDescription;
 import android.media.MediaMetadata;
@@ -150,7 +150,9 @@
      * @param tag A short name for debugging purposes.
      */
     public MediaSession(@NonNull Context context, @NonNull String tag) {
-        this(context, tag, UserHandle.myUserId());
+        //TODO(b/119749861): Resolve hidden API usage, UserHandle.myUserId
+        //this(context, tag, UserHandle.myUserId());
+        this(context, tag, 0);  //TODO: remove this.
     }
 
     /**
@@ -171,13 +173,17 @@
         if (TextUtils.isEmpty(tag)) {
             throw new IllegalArgumentException("tag cannot be null or empty");
         }
-        mMaxBitmapSize = context.getResources().getDimensionPixelSize(
-                com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize);
+        //TODO(b/119749798): Resolve hidden API usage. com.android.internal.R
+        //mMaxBitmapSize = context.getResources().getDimensionPixelSize(
+                //com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize);
+        mMaxBitmapSize = 1024;  //TODO: remove this.
         mCbStub = new CallbackStub(this);
         MediaSessionManager manager = (MediaSessionManager) context
                 .getSystemService(Context.MEDIA_SESSION_SERVICE);
         try {
-            mBinder = manager.createSession(mCbStub, tag, userId);
+            //TODO(b/119749862): Resolve hidden API usage. MediaSessioManager#createSession
+            //mBinder = manager.createSession(mCbStub, tag, userId);
+            mBinder = null;  //TODO: remove this.
             mSessionToken = new Token(mBinder.getController());
             mController = new MediaController(context, mSessionToken);
         } catch (RemoteException e) {
@@ -287,11 +293,14 @@
         if (attributes == null) {
             throw new IllegalArgumentException("Attributes cannot be null for local playback.");
         }
+        //TODO(b/119751592): Decide if AudioAttributes should be updated.
+        /*
         try {
             mBinder.setPlaybackToLocal(attributes);
         } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setPlaybackToLocal.", e);
         }
+        */
     }
 
     /**
@@ -456,11 +465,14 @@
      * @param queue A list of items in the play queue.
      */
     public void setQueue(@Nullable List<QueueItem> queue) {
+        //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+        /*
         try {
             mBinder.setQueue(queue == null ? null : new ParceledListSlice<QueueItem>(queue));
         } catch (RemoteException e) {
             Log.wtf("Dead object in setQueue.", e);
         }
+        */
     }
 
     /**
@@ -1062,8 +1074,12 @@
 
         private static RemoteUserInfo createRemoteUserInfo(String packageName, int pid, int uid,
                 ISessionControllerCallback caller) {
+            //TODO(b/119752205): Resolve hidden API usage. 4-param constructor of RemoteUserInfo
+            /*
             return new RemoteUserInfo(packageName, pid, uid,
                     caller != null ? caller.asBinder() : null);
+            */
+            return new RemoteUserInfo(packageName, pid, uid);
         }
 
         @Override
@@ -1443,7 +1459,8 @@
         private RemoteUserInfo mCurrentControllerInfo;
 
         public CallbackMessageHandler(Looper looper, MediaSession.Callback callback) {
-            super(looper, null, true);
+            //TODO:(b/119539849) Uncomment below line and resolve the error.
+            //super(looper, null, true);
             mCallback = callback;
             mCallback.mHandler = this;
         }
diff --git a/packages/MediaComponents/apex/java/android/media/session/PlaybackState.java b/packages/MediaComponents/apex/java/android/media/session/PlaybackState.java
index 17d16b8..38df10d 100644
--- a/packages/MediaComponents/apex/java/android/media/session/PlaybackState.java
+++ b/packages/MediaComponents/apex/java/android/media/session/PlaybackState.java
@@ -318,7 +318,9 @@
         mActions = in.readLong();
         mCustomActions = in.createTypedArrayList(CustomAction.CREATOR);
         mActiveItemId = in.readLong();
-        mErrorMessage = in.readCharSequence();
+        //TODO(b/119783509): Resolve hidden API Usage. Parcel#{read,write}CharSequence
+        //mErrorMessage = in.readCharSequence();
+        mErrorMessage = "";  //TODO: remove this.
         mExtras = in.readBundle();
     }
 
@@ -353,7 +355,8 @@
         dest.writeLong(mActions);
         dest.writeTypedList(mCustomActions);
         dest.writeLong(mActiveItemId);
-        dest.writeCharSequence(mErrorMessage);
+        //TODO(b/119783509): Resolve hidden API Usage. Parcel#{read,write}CharSequence
+        //dest.writeCharSequence(mErrorMessage);
         dest.writeBundle(mExtras);
     }
 
@@ -497,7 +500,8 @@
                 return STATE_ERROR;
             case RemoteControlClient.PLAYSTATE_FAST_FORWARDING:
                 return STATE_FAST_FORWARDING;
-            case RemoteControlClient.PLAYSTATE_NONE:
+            //RemoteControlClient.PLAYSTATE_NONE is hidden
+            case 0:  //RemoteControlClient.PLAYSTATE_NONE:
                 return STATE_NONE;
             case RemoteControlClient.PLAYSTATE_PAUSED:
                 return STATE_PAUSED;
@@ -533,7 +537,8 @@
             case STATE_FAST_FORWARDING:
                 return RemoteControlClient.PLAYSTATE_FAST_FORWARDING;
             case STATE_NONE:
-                return RemoteControlClient.PLAYSTATE_NONE;
+                //RemoteControlClient.PLAYSTATE_NONE is hidden
+                return 0;  //RemoteControlClient.PLAYSTATE_NONE;
             case STATE_PAUSED:
                 return RemoteControlClient.PLAYSTATE_PAUSED;
             case STATE_PLAYING:
diff --git a/packages/MediaComponents/apex/java/android/service/media/IMediaBrowserServiceCallbacks.aidl b/packages/MediaComponents/apex/java/android/service/media/IMediaBrowserServiceCallbacks.aidl
index deeab1a..bcc2826 100644
--- a/packages/MediaComponents/apex/java/android/service/media/IMediaBrowserServiceCallbacks.aidl
+++ b/packages/MediaComponents/apex/java/android/service/media/IMediaBrowserServiceCallbacks.aidl
@@ -2,7 +2,7 @@
 
 package android.service.media;
 
-import android.content.pm.ParceledListSlice;
+//import android.content.pm.ParceledListSlice;
 import android.graphics.Bitmap;
 import android.media.session.MediaSession;
 import android.os.Bundle;
@@ -22,6 +22,7 @@
      */
     void onConnect(String root, in MediaSession.Token session, in Bundle extras);
     void onConnectFailed();
-    void onLoadChildren(String mediaId, in ParceledListSlice list);
-    void onLoadChildrenWithOptions(String mediaId, in ParceledListSlice list, in Bundle options);
+    //TODO:(b/119750807) Resolve hidden API usage ParceledListSlice.
+    //void onLoadChildren(String mediaId, in ParceledListSlice list);
+    //void onLoadChildrenWithOptions(String mediaId, in ParceledListSlice list, in Bundle options);
 }