Add "Call subject" capability to phone accounts.

Indicates whether the phone account supports displaying a subject line
for incoming calls and sending a subject line for outgoing calls.
Supports the IMS Instant Lettering feature.

Bug: 22769741
Change-Id: I6d803dc288bfd6d4e356310a8d10d5468c5d4186
diff --git a/api/current.txt b/api/current.txt
index 7c5115f..406a619 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -30283,6 +30283,7 @@
     method public android.telecom.PhoneAccount.Builder toBuilder();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int CAPABILITY_CALL_PROVIDER = 2; // 0x2
+    field public static final int CAPABILITY_CALL_SUBJECT = 64; // 0x40
     field public static final int CAPABILITY_CONNECTION_MANAGER = 1; // 0x1
     field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10
     field public static final int CAPABILITY_SIM_SUBSCRIPTION = 4; // 0x4
diff --git a/api/system-current.txt b/api/system-current.txt
index a08a011..978a517 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -32491,6 +32491,7 @@
     method public android.telecom.PhoneAccount.Builder toBuilder();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int CAPABILITY_CALL_PROVIDER = 2; // 0x2
+    field public static final int CAPABILITY_CALL_SUBJECT = 64; // 0x40
     field public static final int CAPABILITY_CONNECTION_MANAGER = 1; // 0x1
     field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
     field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10
diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java
index df6fa2e..cdb0bf2 100644
--- a/telecomm/java/android/telecom/PhoneAccount.java
+++ b/telecomm/java/android/telecom/PhoneAccount.java
@@ -112,6 +112,15 @@
     public static final int CAPABILITY_MULTI_USER = 0x20;
 
     /**
+     * Flag indicating that this {@code PhoneAccount} supports a subject for Calls.  This means a
+     * caller is able to specify a short subject line for an outgoing call.  A capable receiving
+     * device displays the call subject on the incoming call screen.
+     * <p>
+     * See {@link #getCapabilities}
+     */
+    public static final int CAPABILITY_CALL_SUBJECT = 0x40;
+
+    /**
      * URI scheme for telephone number URIs.
      */
     public static final String SCHEME_TEL = "tel";