diff --git a/api/current.txt b/api/current.txt index d6afd9a35f290..21fe3e2febc4d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -36363,6 +36363,7 @@ package android.telecom { 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 + field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 1024; // 0x400 field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8 field public static final int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE = 256; // 0x100 field public static final android.os.Parcelable.Creator CREATOR; diff --git a/api/system-current.txt b/api/system-current.txt index 6ca52577b18a0..974db45e2430b 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -39267,6 +39267,7 @@ package android.telecom { field public static final int CAPABILITY_MULTI_USER = 32; // 0x20 field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10 field public static final int CAPABILITY_SIM_SUBSCRIPTION = 4; // 0x4 + field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 1024; // 0x400 field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8 field public static final int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE = 256; // 0x100 field public static final android.os.Parcelable.Creator CREATOR; diff --git a/api/test-current.txt b/api/test-current.txt index c3caf4d800409..29de7a5af7032 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -36440,6 +36440,7 @@ package android.telecom { 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 + field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 1024; // 0x400 field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8 field public static final int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE = 256; // 0x100 field public static final android.os.Parcelable.Creator CREATOR; diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java index dbc2b0c9f8505..615ae49d30fbe 100644 --- a/telecomm/java/android/telecom/PhoneAccount.java +++ b/telecomm/java/android/telecom/PhoneAccount.java @@ -114,7 +114,10 @@ public final class PhoneAccount implements Parcelable { public static final int CAPABILITY_SIM_SUBSCRIPTION = 0x4; /** - * Flag indicating that this {@code PhoneAccount} is capable of placing video calls. + * Flag indicating that this {@code PhoneAccount} is currently able to place video calls. + *

+ * See also {@link #CAPABILITY_SUPPORTS_VIDEO_CALLING} which indicates whether the + * {@code PhoneAccount} supports placing video calls. *

* See {@link #getCapabilities} */ @@ -178,6 +181,23 @@ public final class PhoneAccount implements Parcelable { */ public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 0x200; + /** + * Flag indicating that this {@link PhoneAccount} supports video calling. + * This is not an indication that the {@link PhoneAccount} is currently able to make a video + * call, but rather that it has the ability to make video calls (but not necessarily at this + * time). + *

+ * Whether a {@link PhoneAccount} can make a video call is ultimately controlled by + * {@link #CAPABILITY_VIDEO_CALLING}, which indicates whether the {@link PhoneAccount} is + * currently capable of making a video call. Consider a case where, for example, a + * {@link PhoneAccount} supports making video calls (e.g. + * {@link #CAPABILITY_SUPPORTS_VIDEO_CALLING}), but a current lack of network connectivity + * prevents video calls from being made (e.g. {@link #CAPABILITY_VIDEO_CALLING}). + *

+ * See {@link #getCapabilities} + */ + public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 0x400; + /** * URI scheme for telephone number URIs. */ @@ -716,6 +736,9 @@ public final class PhoneAccount implements Parcelable { */ private String capabilitiesToString(int capabilities) { StringBuilder sb = new StringBuilder(); + if (hasCapabilities(CAPABILITY_SUPPORTS_VIDEO_CALLING)) { + sb.append("SuppVideo "); + } if (hasCapabilities(CAPABILITY_VIDEO_CALLING)) { sb.append("Video "); }