PlaybackStateCompat: Add support for custom actions, extras, and active item id

Adds support for API 21 and 22 specific PlaybackState data, allowing developers to use custom actions, active queue item ids, and extras while maintaining backward compatibility.

These newly added elements are not part of the RemoteControlClient API surface and are ignored on older devices.

BUG: 19382699
Change-Id: Idf355f6414a1035b2ae50bc3612a0deda81e4460
diff --git a/v4/api/current.txt b/v4/api/current.txt
index 75da703..ec8b65b 100644
--- a/v4/api/current.txt
+++ b/v4/api/current.txt
@@ -1379,8 +1379,11 @@
     method public int describeContents();
     method public static android.support.v4.media.session.PlaybackStateCompat fromPlaybackState(java.lang.Object);
     method public long getActions();
+    method public long getActiveQueueItemId();
     method public long getBufferedPosition();
+    method public java.util.List<android.support.v4.media.session.PlaybackStateCompat.CustomAction> getCustomActions();
     method public java.lang.CharSequence getErrorMessage();
+    method public android.os.Bundle getExtras();
     method public long getLastPositionUpdateTime();
     method public float getPlaybackSpeed();
     method public java.lang.Object getPlaybackState();
@@ -1417,17 +1420,23 @@
   public static final class PlaybackStateCompat.Builder {
     ctor public PlaybackStateCompat.Builder();
     ctor public PlaybackStateCompat.Builder(android.support.v4.media.session.PlaybackStateCompat);
+    method public android.support.v4.media.session.PlaybackStateCompat.Builder addCustomAction(java.lang.String, java.lang.String, int);
+    method public android.support.v4.media.session.PlaybackStateCompat.Builder addCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction);
     method public android.support.v4.media.session.PlaybackStateCompat build();
     method public android.support.v4.media.session.PlaybackStateCompat.Builder setActions(long);
+    method public android.support.v4.media.session.PlaybackStateCompat.Builder setActiveQueueItemId(long);
     method public android.support.v4.media.session.PlaybackStateCompat.Builder setBufferedPosition(long);
     method public android.support.v4.media.session.PlaybackStateCompat.Builder setErrorMessage(java.lang.CharSequence);
+    method public android.support.v4.media.session.PlaybackStateCompat.Builder setExtras(android.os.Bundle);
     method public android.support.v4.media.session.PlaybackStateCompat.Builder setState(int, long, float);
     method public android.support.v4.media.session.PlaybackStateCompat.Builder setState(int, long, float, long);
   }
 
   public static final class PlaybackStateCompat.CustomAction implements android.os.Parcelable {
     method public int describeContents();
+    method public static android.support.v4.media.session.PlaybackStateCompat.CustomAction fromCustomAction(java.lang.Object);
     method public java.lang.String getAction();
+    method public java.lang.Object getCustomAction();
     method public android.os.Bundle getExtras();
     method public int getIcon();
     method public java.lang.CharSequence getName();