Merge "Track generics in API definition."
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index ad7d0a2..3a8b6c7 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -108,6 +108,7 @@
 import android.system.Os;
 import android.system.OsConstants;
 import android.system.ErrnoException;
+import android.webkit.WebView;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.app.IVoiceInteractor;
@@ -1046,10 +1047,21 @@
             long dalvikMax = runtime.totalMemory() / 1024;
             long dalvikFree = runtime.freeMemory() / 1024;
             long dalvikAllocated = dalvikMax - dalvikFree;
+
+            Class[] classesToCount = new Class[] {
+                    ContextImpl.class,
+                    Activity.class,
+                    WebView.class,
+                    OpenSSLSocketImpl.class
+            };
+            long[] instanceCounts = VMDebug.countInstancesOfClasses(classesToCount, true);
+            long appContextInstanceCount = instanceCounts[0];
+            long activityInstanceCount = instanceCounts[1];
+            long webviewInstanceCount = instanceCounts[2];
+            long openSslSocketCount = instanceCounts[3];
+
             long viewInstanceCount = ViewDebug.getViewInstanceCount();
             long viewRootInstanceCount = ViewDebug.getViewRootImplCount();
-            long appContextInstanceCount = Debug.countInstancesOfClass(ContextImpl.class);
-            long activityInstanceCount = Debug.countInstancesOfClass(Activity.class);
             int globalAssetCount = AssetManager.getGlobalAssetCount();
             int globalAssetManagerCount = AssetManager.getGlobalAssetManagerCount();
             int binderLocalObjectCount = Debug.getBinderLocalObjectCount();
@@ -1057,7 +1069,6 @@
             int binderDeathObjectCount = Debug.getBinderDeathObjectCount();
             long parcelSize = Parcel.getGlobalAllocSize();
             long parcelCount = Parcel.getGlobalAllocCount();
-            long openSslSocketCount = Debug.countInstancesOfClass(OpenSSLSocketImpl.class);
             SQLiteDebug.PagerStats stats = SQLiteDebug.getDatabaseInfo();
 
             dumpMemInfoTable(pw, memInfo, checkin, dumpFullInfo, dumpDalvik, dumpSummaryOnly,
@@ -1120,6 +1131,7 @@
                     "Parcel count:", parcelCount);
             printRow(pw, TWO_COUNT_COLUMNS, "Death Recipients:", binderDeathObjectCount,
                     "OpenSSL Sockets:", openSslSocketCount);
+            printRow(pw, ONE_COUNT_COLUMN, "WebViews:", webviewInstanceCount);
 
             // SQLite mem info
             pw.println(" ");
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index d715d0cf..d060aac 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -2450,9 +2450,7 @@
      *                     1             PFLAG3_SCROLL_INDICATOR_START
      *                    1              PFLAG3_SCROLL_INDICATOR_END
      *                   1               PFLAG3_ASSIST_BLOCKED
-     *                  1                PFLAG3_POINTER_ICON_NULL
-     *                 1                 PFLAG3_POINTER_ICON_VALUE_START
-     *           11111111                PFLAG3_POINTER_ICON_MASK
+     *           xxxxxxxx                * NO LONGER NEEDED, SHOULD BE REUSED *
      *          1                        PFLAG3_OVERLAPPING_RENDERING_FORCED_VALUE
      *         1                         PFLAG3_HAS_OVERLAPPING_RENDERING_FORCED
      *        1                          PFLAG3_TEMPORARY_DETACH
@@ -2651,31 +2649,6 @@
     static final int PFLAG3_ASSIST_BLOCKED = 0x4000;
 
     /**
-     * The mask for use with private flags indicating bits used for pointer icon shapes.
-     */
-    static final int PFLAG3_POINTER_ICON_MASK = 0x7f8000;
-
-    /**
-     * Left-shift used for pointer icon shape values in private flags.
-     */
-    static final int PFLAG3_POINTER_ICON_LSHIFT = 15;
-
-    /**
-     * Value indicating no specific pointer icons.
-     */
-    private static final int PFLAG3_POINTER_ICON_NOT_SPECIFIED = 0 << PFLAG3_POINTER_ICON_LSHIFT;
-
-    /**
-     * Value indicating {@link PointerIcon.TYPE_NULL}.
-     */
-    private static final int PFLAG3_POINTER_ICON_NULL = 1 << PFLAG3_POINTER_ICON_LSHIFT;
-
-    /**
-     * The base value for other pointer icon shapes.
-     */
-    private static final int PFLAG3_POINTER_ICON_VALUE_START = 2 << PFLAG3_POINTER_ICON_LSHIFT;
-
-    /**
      * Whether this view has rendered elements that overlap (see {@link
      * #hasOverlappingRendering()}, {@link #forceHasOverlappingRendering(boolean)}, and
      * {@link #getHasOverlappingRendering()} ). The value in this bit is only valid when
diff --git a/docs/html/guide/topics/manifest/uses-feature-element.jd b/docs/html/guide/topics/manifest/uses-feature-element.jd
index 0cf517b..843fe1c 100755
--- a/docs/html/guide/topics/manifest/uses-feature-element.jd
+++ b/docs/html/guide/topics/manifest/uses-feature-element.jd
@@ -1733,7 +1733,7 @@
     </p>
     <p>
       <code>android.hardware.location.network</code>
-      (Only when target API level is 20 orlower.)
+      (Only when target API level is 20 or lower.)
     </p>
   </td>
 <!--  <td></td> -->
@@ -1746,7 +1746,7 @@
     </p>
     <p>
       <code>android.hardware.location.gps</code>
-      (Only when target API level is 20 orlower.)
+      (Only when target API level is 20 or lower.)
     </p>
   </td>
 
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index bf1559d..82cf965 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -20,6 +20,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActivityThread;
+import android.content.ContentProvider;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.AssetFileDescriptor;
@@ -982,13 +983,16 @@
     public void setDataSource(@NonNull Context context, @NonNull Uri uri,
             @Nullable Map<String, String> headers) throws IOException, IllegalArgumentException,
                     SecurityException, IllegalStateException {
+        // The context and URI usually belong to the calling user. Get a resolver for that user
+        // and strip out the userId from the URI if present.
         final ContentResolver resolver = context.getContentResolver();
         final String scheme = uri.getScheme();
+        final String authority = ContentProvider.getAuthorityWithoutUserId(uri.getAuthority());
         if (ContentResolver.SCHEME_FILE.equals(scheme)) {
             setDataSource(uri.getPath());
             return;
         } else if (ContentResolver.SCHEME_CONTENT.equals(scheme)
-                && Settings.AUTHORITY.equals(uri.getAuthority())) {
+                && Settings.AUTHORITY.equals(authority)) {
             // Try cached ringtone first since the actual provider may not be
             // encryption aware, or it may be stored on CE media storage
             final int type = RingtoneManager.getDefaultType(uri);
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
index 664765a..af1410b 100644
--- a/media/java/android/media/RingtoneManager.java
+++ b/media/java/android/media/RingtoneManager.java
@@ -816,6 +816,7 @@
      * @return The type of the defaultRingtoneUri, or -1.
      */
     public static int getDefaultType(Uri defaultRingtoneUri) {
+        defaultRingtoneUri = ContentProvider.getUriWithoutUserId(defaultRingtoneUri);
         if (defaultRingtoneUri == null) {
             return -1;
         } else if (defaultRingtoneUri.equals(Settings.System.DEFAULT_RINGTONE_URI)) {
diff --git a/wifi/java/android/net/wifi/nan/WifiNanAttachCallback.java b/wifi/java/android/net/wifi/nan/WifiNanAttachCallback.java
index aa67823..d8c310b 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanAttachCallback.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanAttachCallback.java
@@ -16,11 +16,6 @@
 
 package android.net.wifi.nan;
 
-import android.annotation.IntDef;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
 /**
  * Base class for NAN attach callbacks. Should be extended by applications and set when calling
  * {@link WifiNanManager#attach(android.os.Handler, WifiNanAttachCallback)}. These are callbacks
@@ -30,34 +25,6 @@
  * @hide PROPOSED_NAN_API
  */
 public class WifiNanAttachCallback {
-    /** @hide */
-    @IntDef({
-            REASON_INVALID_ARGS, REASON_ALREADY_CONNECTED_INCOMPAT_CONFIG, REASON_OTHER
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface EventReasonCodes {
-    }
-
-    /**
-     * Indicates invalid argument in the requested operation. Failure reason flag for
-     * {@link WifiNanAttachCallback#onAttachFailed(int)}.
-     */
-    public static final int REASON_INVALID_ARGS = 1000;
-
-    /**
-     * Indicates that a {@link ConfigRequest} passed in
-     * {@code WifiNanManager#attach(android.os.Handler, ConfigRequest, WifiNanAttachCallback)}
-     * couldn't be applied since other connections already exist with an incompatible
-     * configurations. Failure reason flag for {@link WifiNanAttachCallback#onAttachFailed(int)}.
-     */
-    public static final int REASON_ALREADY_CONNECTED_INCOMPAT_CONFIG = 1001;
-
-    /**
-     * Indicates an unspecified error occurred during the operation. Failure reason flag for
-     * {@link WifiNanAttachCallback#onAttachFailed(int)}.
-     */
-    public static final int REASON_OTHER = 1002;
-
     /**
      * Called when NAN attach operation
      * {@link WifiNanManager#attach(android.os.Handler, WifiNanAttachCallback)}
@@ -73,11 +40,8 @@
     /**
      * Called when NAN attach operation
      * {@link WifiNanManager#attach(android.os.Handler, WifiNanAttachCallback)} failed.
-     *
-     * @param reason Failure reason code, see
-     *            {@code WifiNanEventCallback.REASON_*}.
      */
-    public void onAttachFailed(@EventReasonCodes int reason) {
+    public void onAttachFailed() {
         /* empty */
     }
 }
diff --git a/wifi/java/android/net/wifi/nan/WifiNanDiscoveryBaseSession.java b/wifi/java/android/net/wifi/nan/WifiNanDiscoveryBaseSession.java
index a2ed497..fa2b547 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanDiscoveryBaseSession.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanDiscoveryBaseSession.java
@@ -144,7 +144,7 @@
      *     {@link WifiNanDiscoverySessionCallback} indicate message was transmitted successfully,
      *     {@link WifiNanDiscoverySessionCallback#onMessageSent(int)}, or transmission failed
      *     (possibly after several retries) -
-     *     {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int, int)}.
+     *     {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int)}.
      * <p>
      *     The peer will get a callback indicating a message was received using
      *     {@link WifiNanDiscoverySessionCallback#onMessageReceived(int, byte[])}.
@@ -187,7 +187,7 @@
      *     {@link WifiNanDiscoverySessionCallback} indicate message was transmitted successfully,
      *     {@link WifiNanDiscoverySessionCallback#onMessageSent(int)}, or transmission failed
      *     (possibly after several retries) -
-     *     {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int, int)}.
+     *     {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int)}.
      * <p>
      *     The peer will get a callback indicating a message was received using
      *     {@link WifiNanDiscoverySessionCallback#onMessageReceived(int, byte[])}.
diff --git a/wifi/java/android/net/wifi/nan/WifiNanDiscoverySessionCallback.java b/wifi/java/android/net/wifi/nan/WifiNanDiscoverySessionCallback.java
index 43a2d3c..058845f 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanDiscoverySessionCallback.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanDiscoverySessionCallback.java
@@ -26,8 +26,9 @@
  * Base class for NAN session events callbacks. Should be extended by
  * applications wanting notifications. The callbacks are set when a
  * publish or subscribe session is created using
- * {@link WifiNanSession#publish(PublishConfig, WifiNanDiscoverySessionCallback)} or
- * {@link WifiNanSession#subscribe(SubscribeConfig, WifiNanDiscoverySessionCallback)} .
+ * {@link WifiNanSession#publish(android.os.Handler, PublishConfig, WifiNanDiscoverySessionCallback)}
+ * or
+ * {@link WifiNanSession#subscribe(android.os.Handler, SubscribeConfig, WifiNanDiscoverySessionCallback)} .
  * <p>
  * A single callback is set at session creation - it cannot be replaced.
  *
@@ -36,53 +37,12 @@
 public class WifiNanDiscoverySessionCallback {
     /** @hide */
     @IntDef({
-            REASON_NO_RESOURCES, REASON_INVALID_ARGS, REASON_NO_MATCH_SESSION,
-            REASON_TX_FAIL, REASON_OTHER })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface SessionReasonCodes {
-    }
-
-    /** @hide */
-    @IntDef({
             TERMINATE_REASON_DONE, TERMINATE_REASON_FAIL })
     @Retention(RetentionPolicy.SOURCE)
     public @interface SessionTerminateCodes {
     }
 
     /**
-     * Indicates no resources to execute the requested operation.
-     * Failure reason flag for {@link WifiNanDiscoverySessionCallback} callbacks.
-     */
-    public static final int REASON_NO_RESOURCES = 0;
-
-    /**
-     * Indicates invalid argument in the requested operation.
-     * Failure reason flag for {@link WifiNanDiscoverySessionCallback} callbacks.
-     */
-    public static final int REASON_INVALID_ARGS = 1;
-
-    /**
-     * Indicates a message is transmitted without a match (a discovery) or received message
-     * from peer occurring first.
-     * Failure reason flag for {@link WifiNanDiscoverySessionCallback} callbacks.
-     */
-    public static final int REASON_NO_MATCH_SESSION = 2;
-
-    /**
-     * Indicates transmission failure: this may be due to local transmission
-     * failure or to no ACK received - remote device didn't receive the
-     * sent message. Failure reason flag for
-     * {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int, int)} callback.
-     */
-    public static final int REASON_TX_FAIL = 3;
-
-    /**
-     * Indicates an unspecified error occurred during the operation.
-     * Failure reason flag for {@link WifiNanDiscoverySessionCallback} callbacks.
-     */
-    public static final int REASON_OTHER = 4;
-
-    /**
      * Indicates that publish or subscribe session is done - all the
      * requested operations (per {@link PublishConfig} or
      * {@link SubscribeConfig}) have been executed. Failure reason flag for
@@ -100,7 +60,8 @@
 
     /**
      * Called when a publish operation is started successfully in response to a
-     * {@link WifiNanSession#publish(PublishConfig, WifiNanDiscoverySessionCallback)} operation.
+     * {@link WifiNanSession#publish(android.os.Handler, PublishConfig, WifiNanDiscoverySessionCallback)}
+     * operation.
      *
      * @param session The {@link WifiNanPublishDiscoverySession} used to control the
      *            discovery session.
@@ -111,7 +72,8 @@
 
     /**
      * Called when a subscribe operation is started successfully in response to a
-     * {@link WifiNanSession#subscribe(SubscribeConfig, WifiNanDiscoverySessionCallback)} operation.
+     * {@link WifiNanSession#subscribe(android.os.Handler, SubscribeConfig, WifiNanDiscoverySessionCallback)}
+     * operation.
      *
      * @param session The {@link WifiNanSubscribeDiscoverySession} used to control the
      *            discovery session.
@@ -132,19 +94,17 @@
 
     /**
      * Called when a publish or subscribe discovery session cannot be created:
-     * {@link WifiNanSession#publish(PublishConfig, WifiNanDiscoverySessionCallback)} or
-     * {@link WifiNanSession#subscribe(SubscribeConfig, WifiNanDiscoverySessionCallback)},
+     * {@link WifiNanSession#publish(android.os.Handler, PublishConfig, WifiNanDiscoverySessionCallback)}
+     * or
+     * {@link WifiNanSession#subscribe(android.os.Handler, SubscribeConfig, WifiNanDiscoverySessionCallback)},
      * or when a configuration update fails:
      * {@link WifiNanPublishDiscoverySession#updatePublish(PublishConfig)} or
      * {@link WifiNanSubscribeDiscoverySession#updateSubscribe(SubscribeConfig)}.
      * <p>
      *     For discovery session updates failure leaves the session running with its previous
      *     configuration - the discovery session is not terminated.
-     *
-     * @param reason The failure reason using
-     *            {@code WifiNanDiscoverySessionCallback.REASON_*} codes.
      */
-    public void onSessionConfigFailed(@SessionReasonCodes int reason) {
+    public void onSessionConfigFailed() {
         /* empty */
     }
 
@@ -177,12 +137,12 @@
     }
 
     /**
-     * Called in response to {@link WifiNanDiscoveryBaseSession#sendMessage(int, byte[], int)}
+     * Called in response to {@link WifiNanDiscoveryBaseSession#sendMessage(int, int, byte[])}
      * when a message is transmitted successfully - i.e. when it was received successfully by the
      * peer (corresponds to an ACK being received).
      * <p>
      * Note that either this callback or
-     * {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int, int)} will be
+     * {@link WifiNanDiscoverySessionCallback#onMessageSendFailed(int)} will be
      * received - never both.
      *
      * @param messageId The arbitrary message ID specified when sending the message.
@@ -194,7 +154,7 @@
     /**
      * Called when message transmission fails - when no ACK is received from the peer.
      * Retries when ACKs are not received are done by hardware, MAC, and in the NAN stack (using
-     * the {@link WifiNanDiscoveryBaseSession#sendMessage(int, byte[], int, int)} method) - this
+     * the {@link WifiNanDiscoveryBaseSession#sendMessage(int, int, byte[], int)} method) - this
      * event is received after all retries are exhausted.
      * <p>
      * Note that either this callback or
@@ -202,18 +162,15 @@
      * - never both.
      *
      * @param messageId The arbitrary message ID specified when sending the message.
-     * @param reason The failure reason using
-     *            {@code WifiNanDiscoverySessionCallback.REASON_*} codes.
      */
-    public void onMessageSendFailed(@SuppressWarnings("unused") int messageId,
-            @SessionReasonCodes int reason) {
+    public void onMessageSendFailed(@SuppressWarnings("unused") int messageId) {
         /* empty */
     }
 
     /**
      * Called when a message is received from a discovery session peer - in response to the
-     * peer's {@link WifiNanDiscoveryBaseSession#sendMessage(int, byte[], int)} or
-     * {@link WifiNanDiscoveryBaseSession#sendMessage(int, byte[], int, int)}.
+     * peer's {@link WifiNanDiscoveryBaseSession#sendMessage(int, int, byte[])} or
+     * {@link WifiNanDiscoveryBaseSession#sendMessage(int, int, byte[], int)}.
      *
      * @param peerId The ID of the peer sending the message.
      * @param message A byte array containing the message.
diff --git a/wifi/java/android/net/wifi/nan/WifiNanManager.java b/wifi/java/android/net/wifi/nan/WifiNanManager.java
index 6a86e7b..d66f1a3 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanManager.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanManager.java
@@ -700,7 +700,7 @@
                             break;
                         case CALLBACK_CONNECT_FAIL:
                             mNanManager.clear();
-                            attachCallback.onAttachFailed(msg.arg1);
+                            attachCallback.onAttachFailed();
                             break;
                         case CALLBACK_IDENTITY_CHANGED:
                             identityChangedListener.onIdentityChanged((byte[]) msg.obj);
@@ -857,7 +857,7 @@
                             mOriginalCallback.onSessionConfigUpdated();
                             break;
                         case CALLBACK_SESSION_CONFIG_FAIL:
-                            mOriginalCallback.onSessionConfigFailed(msg.arg1);
+                            mOriginalCallback.onSessionConfigFailed();
                             if (mSession == null) {
                                 /*
                                  * creation failed (as opposed to update
@@ -879,7 +879,7 @@
                             mOriginalCallback.onMessageSent(msg.arg1);
                             break;
                         case CALLBACK_MESSAGE_SEND_FAIL:
-                            mOriginalCallback.onMessageSendFailed(msg.arg1, msg.arg2);
+                            mOriginalCallback.onMessageSendFailed(msg.arg1);
                             break;
                         case CALLBACK_MESSAGE_RECEIVED:
                             mOriginalCallback.onMessageReceived(msg.arg1, (byte[]) msg.obj);
diff --git a/wifi/java/android/net/wifi/nan/WifiNanPublishDiscoverySession.java b/wifi/java/android/net/wifi/nan/WifiNanPublishDiscoverySession.java
index 83ff700..75c6cb7 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanPublishDiscoverySession.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanPublishDiscoverySession.java
@@ -21,8 +21,8 @@
 
 /**
  * A class representing a NAN publish session. Created when
- * {@link WifiNanSession#publish(PublishConfig, WifiNanDiscoverySessionCallback)} is called and a
- * discovery session is created and returned in
+ * {@link WifiNanSession#publish(android.os.Handler, PublishConfig, WifiNanDiscoverySessionCallback)}
+ * is called and a discovery session is created and returned in
  * {@link WifiNanDiscoverySessionCallback#onPublishStarted(WifiNanPublishDiscoverySession)}. See
  * baseline functionality of all discovery sessions in {@link WifiNanDiscoveryBaseSession}. This
  * object allows updating an existing/running publish discovery session using
@@ -46,7 +46,7 @@
      * <ul>
      *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigUpdated()}: configuration
      *     update succeeded.
-     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed(int)}: configuration
+     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed()}: configuration
      *     update failed. The publish discovery session is still running using its previous
      *     configuration (i.e. update failure does not terminate the session).
      * </ul>
diff --git a/wifi/java/android/net/wifi/nan/WifiNanSession.java b/wifi/java/android/net/wifi/nan/WifiNanSession.java
index b86be32..d4249d0 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanSession.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanSession.java
@@ -101,7 +101,7 @@
      *     <li>{@link WifiNanDiscoverySessionCallback#onPublishStarted(WifiNanPublishDiscoverySession)}
      *     is called when the publish session is created and provides a handle to the session.
      *     Further operations on the publish session can be executed on that object.
-     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed(int)} is called if the
+     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed()} is called if the
      *     publish operation failed.
      * </ul>
      * <p>
@@ -143,7 +143,7 @@
      *     <li>{@link WifiNanDiscoverySessionCallback#onSubscribeStarted(WifiNanSubscribeDiscoverySession)}
      *     is called when the subscribe session is created and provides a handle to the session.
      *     Further operations on the subscribe session can be executed on that object.
-     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed(int)} is called if the
+     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed()} is called if the
      *     subscribe operation failed.
      * </ul>
      * <p>
diff --git a/wifi/java/android/net/wifi/nan/WifiNanSubscribeDiscoverySession.java b/wifi/java/android/net/wifi/nan/WifiNanSubscribeDiscoverySession.java
index 7aa97c6..f5b4c0c 100644
--- a/wifi/java/android/net/wifi/nan/WifiNanSubscribeDiscoverySession.java
+++ b/wifi/java/android/net/wifi/nan/WifiNanSubscribeDiscoverySession.java
@@ -21,8 +21,8 @@
 
 /**
  * A class representing a NAN subscribe session. Created when
- * {@link WifiNanSession#subscribe(SubscribeConfig, WifiNanDiscoverySessionCallback)} is called
- * and a discovery session is created and returned in
+ * {@link WifiNanSession#subscribe(android.os.Handler, SubscribeConfig, WifiNanDiscoverySessionCallback)}
+ * is called and a discovery session is created and returned in
  * {@link WifiNanDiscoverySessionCallback#onSubscribeStarted(WifiNanSubscribeDiscoverySession)}.
  * See baseline functionality of all discovery sessions in {@link WifiNanDiscoveryBaseSession}.
  * This object allows updating an existing/running subscribe discovery session using
@@ -48,7 +48,7 @@
      * <ul>
      *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigUpdated()}: configuration
      *     update succeeded.
-     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed(int)}: configuration
+     *     <li>{@link WifiNanDiscoverySessionCallback#onSessionConfigFailed()}: configuration
      *     update failed. The subscribe discovery session is still running using its previous
      *     configuration (i.e. update failure does not terminate the session).
      * </ul>