diff options
-rw-r--r-- | api/current.txt | 8 | ||||
-rw-r--r-- | telecomm/java/android/telecom/TelecomManager.java | 97 | ||||
-rw-r--r-- | telephony/java/android/telephony/TelephonyManager.java | 2 |
3 files changed, 107 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index bc0ea6d22949..f3f1cb928934 100644 --- a/api/current.txt +++ b/api/current.txt @@ -43878,19 +43878,27 @@ package android.telecom { field @Deprecated public static final String ACTION_INCOMING_CALL = "android.telecom.action.INCOMING_CALL"; field public static final String ACTION_PHONE_ACCOUNT_REGISTERED = "android.telecom.action.PHONE_ACCOUNT_REGISTERED"; field public static final String ACTION_PHONE_ACCOUNT_UNREGISTERED = "android.telecom.action.PHONE_ACCOUNT_UNREGISTERED"; + field public static final String ACTION_POST_CALL = "android.telecom.action.POST_CALL"; field public static final String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS"; field public static final String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS"; field public static final String ACTION_SHOW_MISSED_CALLS_NOTIFICATION = "android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION"; field public static final String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS = "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS"; field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ',' field public static final char DTMF_CHARACTER_WAIT = 59; // 0x003b ';' + field public static final int DURATION_LONG = 3; // 0x3 + field public static final int DURATION_MEDIUM = 2; // 0x2 + field public static final int DURATION_SHORT = 1; // 0x1 + field public static final int DURATION_VERY_SHORT = 0; // 0x0 field public static final String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER"; field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE"; field public static final String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE"; + field public static final String EXTRA_CALL_DURATION = "android.telecom.extra.CALL_DURATION"; field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telecom.extra.CALL_NETWORK_TYPE"; field public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT"; field public static final String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME"; field public static final String EXTRA_DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME = "android.telecom.extra.DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME"; + field public static final String EXTRA_DISCONNECT_CAUSE = "android.telecom.extra.DISCONNECT_CAUSE"; + field public static final String EXTRA_HANDLE = "android.telecom.extra.HANDLE"; field public static final String EXTRA_INCOMING_CALL_ADDRESS = "android.telecom.extra.INCOMING_CALL_ADDRESS"; field public static final String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS"; field public static final String EXTRA_INCOMING_VIDEO_STATE = "android.telecom.extra.INCOMING_VIDEO_STATE"; diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 5f98bda95729..22be782e13ac 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -485,6 +485,103 @@ public class TelecomManager { "android.telecom.extra.START_CALL_WITH_RTT"; /** + * Start an activity indicating that the completion of an outgoing call or an incoming call + * which was not blocked by the {@link CallScreeningService}, and which was NOT terminated + * while the call was in {@link Call#STATE_AUDIO_PROCESSING}. + * + * The {@link Uri} extra {@link #EXTRA_HANDLE} will contain the uri handle(phone number) for the + * call which completed. + * + * The integer extra {@link #EXTRA_DISCONNECT_CAUSE} will indicate the reason for the call + * disconnection. See {@link #EXTRA_DISCONNECT_CAUSE} for more information. + * + * The integer extra {@link #EXTRA_CALL_DURATION} will indicate the duration of the call. See + * {@link #EXTRA_CALL_DURATION} for more information. + */ + public static final String ACTION_POST_CALL = "android.telecom.action.POST_CALL"; + + /** + * A {@link Uri} extra, which when set on the {@link #ACTION_POST_CALL} intent, indicates the + * uri handle(phone number) of the completed call. + */ + public static final String EXTRA_HANDLE = "android.telecom.extra.HANDLE"; + + /** + * A integer value provided for completed calls to indicate the reason for the call + * disconnection. + * <p> + * Allowed values: + * <ul> + * <li>{@link DisconnectCause#UNKNOWN}</li> + * <li>{@link DisconnectCause#LOCAL}</li> + * <li>{@link DisconnectCause#REMOTE}</li> + * <li>{@link DisconnectCause#REJECTED}</li> + * <li>{@link DisconnectCause#MISSED}</li> + * </ul> + * </p> + */ + public static final String EXTRA_DISCONNECT_CAUSE = "android.telecom.extra.DISCONNECT_CAUSE"; + + /** + * A integer value provided for completed calls to indicate the duration of the call. + * <p> + * Allowed values: + * <ul> + * <li>{@link #DURATION_VERY_SHORT}</li> + * <li>{@link #DURATION_SHORT}</li> + * <li>{@link #DURATION_MEDIUM}</li> + * <li>{@link #DURATION_LONG}</li> + * </ul> + * </p> + */ + public static final String EXTRA_CALL_DURATION = "android.telecom.extra.CALL_DURATION"; + + /** + * A integer value for {@link #EXTRA_CALL_DURATION}, indicates the duration of the completed + * call was < 3 seconds. + */ + public static final int DURATION_VERY_SHORT = 0; + + /** + * A integer value for {@link #EXTRA_CALL_DURATION}, indicates the duration of the completed + * call was >= 3 seconds and < 60 seconds. + */ + public static final int DURATION_SHORT = 1; + + /** + * A integer value for {@link #EXTRA_CALL_DURATION}, indicates the duration of the completed + * call was >= 60 seconds and < 120 seconds. + */ + public static final int DURATION_MEDIUM = 2; + + /** + * A integer value for {@link #EXTRA_CALL_DURATION}, indicates the duration of the completed + * call was >= 120 seconds. + */ + public static final int DURATION_LONG = 3; + + /** + * The threshold between {@link #DURATION_VERY_SHORT} calls and {@link #DURATION_SHORT} calls in + * milliseconds. + * @hide + */ + public static final long VERY_SHORT_CALL_TIME_MS = 3000; + + /** + * The threshold between {@link #DURATION_SHORT} calls and {@link #DURATION_MEDIUM} calls in + * milliseconds. + * @hide + */ + public static final long SHORT_CALL_TIME_MS = 60000; + + /** + * The threshold between {@link #DURATION_MEDIUM} calls and {@link #DURATION_LONG} calls in + * milliseconds. + * @hide + */ + public static final long MEDIUM_CALL_TIME_MS = 120000; + + /** * A boolean meta-data value indicating whether an {@link InCallService} implements an * in-call user interface. Dialer implementations (see {@link #getDefaultDialerPackage()}) which * would also like to replace the in-call interface should set this meta-data to {@code true} in diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 3b939e5694a7..c190486f292e 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -744,8 +744,10 @@ public class TelephonyManager { * Retrieve with * {@link android.content.Intent#getIntExtra(String name, int defaultValue)}. * + * @deprecated Should use the {@link TelecomManager#EXTRA_DISCONNECT_CAUSE} instead. * @hide */ + @Deprecated public static final String EXTRA_DISCONNECT_CAUSE = "disconnect_cause"; /** |