From 5968c09340e0d6df1296e482fe493b13641ee539 Mon Sep 17 00:00:00 2001 From: Hall Liu Date: Wed, 23 Sep 2020 15:36:58 -0700 Subject: [PATCH] API tweaks in response to feedback Update documentation on PhoneAccount#EXTRA_SORT_ORDER to make it more clear what the sorting order is in edge cases. Make DisconnectCause#REASON_EMULATING_SINGLE_CALL public, since it might get propogated up to dialer apps. Fixes: 169153499 Test: docs only Change-Id: I7f810f909a8a61b422283c3bafcc97307e4d863b Merged-In: I7f810f909a8a61b422283c3bafcc97307e4d863b --- api/current.txt | 1 + api/system-current.txt | 4 ---- non-updatable-api/current.txt | 1 + non-updatable-api/system-current.txt | 4 ---- telecomm/java/android/telecom/DisconnectCause.java | 4 ---- telecomm/java/android/telecom/PhoneAccount.java | 12 +++++++++++- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/api/current.txt b/api/current.txt index b251612cbfdf1..99d59d224945d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -45977,6 +45977,7 @@ package android.telecom { field public static final int MISSED = 5; // 0x5 field public static final int OTHER = 9; // 0x9 field public static final String REASON_EMERGENCY_CALL_PLACED = "REASON_EMERGENCY_CALL_PLACED"; + field public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL"; field public static final String REASON_IMS_ACCESS_BLOCKED = "REASON_IMS_ACCESS_BLOCKED"; field public static final String REASON_WIFI_ON_BUT_WFC_OFF = "REASON_WIFI_ON_BUT_WFC_OFF"; field public static final int REJECTED = 6; // 0x6 diff --git a/api/system-current.txt b/api/system-current.txt index e81f6d4c031d8..810044544dcd9 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -10270,10 +10270,6 @@ package android.telecom { method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference); } - public final class DisconnectCause implements android.os.Parcelable { - field public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL"; - } - public abstract class InCallService extends android.app.Service { method @Deprecated public android.telecom.Phone getPhone(); method @Deprecated public void onPhoneCreated(android.telecom.Phone); diff --git a/non-updatable-api/current.txt b/non-updatable-api/current.txt index c9959dab93351..ae3b2ffb1a09f 100644 --- a/non-updatable-api/current.txt +++ b/non-updatable-api/current.txt @@ -44145,6 +44145,7 @@ package android.telecom { field public static final int MISSED = 5; // 0x5 field public static final int OTHER = 9; // 0x9 field public static final String REASON_EMERGENCY_CALL_PLACED = "REASON_EMERGENCY_CALL_PLACED"; + field public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL"; field public static final String REASON_IMS_ACCESS_BLOCKED = "REASON_IMS_ACCESS_BLOCKED"; field public static final String REASON_WIFI_ON_BUT_WFC_OFF = "REASON_WIFI_ON_BUT_WFC_OFF"; field public static final int REJECTED = 6; // 0x6 diff --git a/non-updatable-api/system-current.txt b/non-updatable-api/system-current.txt index e48195e47a29e..12d6ee60bb270 100644 --- a/non-updatable-api/system-current.txt +++ b/non-updatable-api/system-current.txt @@ -9152,10 +9152,6 @@ package android.telecom { method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference); } - public final class DisconnectCause implements android.os.Parcelable { - field public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL"; - } - public abstract class InCallService extends android.app.Service { method @Deprecated public android.telecom.Phone getPhone(); method @Deprecated public void onPhoneCreated(android.telecom.Phone); diff --git a/telecomm/java/android/telecom/DisconnectCause.java b/telecomm/java/android/telecom/DisconnectCause.java index f7fe1ba1f998b..1472a4ac27bc1 100644 --- a/telecomm/java/android/telecom/DisconnectCause.java +++ b/telecomm/java/android/telecom/DisconnectCause.java @@ -16,7 +16,6 @@ package android.telecom; -import android.annotation.SystemApi; import android.media.ToneGenerator; import android.os.Parcel; import android.os.Parcelable; @@ -97,10 +96,7 @@ public final class DisconnectCause implements Parcelable { * * This reason code is only used for communication between a {@link ConnectionService} and * Telecom and should not be surfaced to the user. - * - * @hide */ - @SystemApi public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL"; /** diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java index cb57df0b2bbc0..efdb195343f5e 100644 --- a/telecomm/java/android/telecom/PhoneAccount.java +++ b/telecomm/java/android/telecom/PhoneAccount.java @@ -27,6 +27,7 @@ import android.net.Uri; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; +import android.telephony.TelephonyManager; import android.text.TextUtils; import java.util.ArrayList; @@ -51,8 +52,17 @@ public final class PhoneAccount implements Parcelable { * * This is an extras key set via {@link Builder#setExtras} which determines the order in which * {@link PhoneAccount}s from the same {@link ConnectionService} are sorted. The accounts - * are sorted by this key via standard lexicographical order, and this ordering is used to + * are sorted by this key via standard lexicographical order, (as implemented in + * {@link String#compareTo}), and this ordering is used to * determine priority when a call can be placed via multiple accounts. + * + * When multiple {@link PhoneAccount}s are supplied with the same sort order key, no ordering is + * guaranteed between those {@link PhoneAccount}s. Additionally, no ordering is guaranteed + * between {@link PhoneAccount}s that do not supply this extra, and all such accounts + * will be sorted after the accounts that do supply this extra. + * + * An example of a sort order key is slot index (see {@link TelephonyManager#getSlotIndex()}), + * which is the one used by the cell Telephony stack. * @hide */ @SystemApi