Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2a56150 authored by Tyler Gunn's avatar Tyler Gunn Committed by Gerrit Code Review
Browse files

Merge "API Review cleanups."

parents fdfc58fc c9503d6e
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -43685,7 +43685,7 @@ package android.telecom {
    field public static final int DIRECTION_INCOMING = 0; // 0x0
    field public static final int DIRECTION_OUTGOING = 1; // 0x1
    field public static final int DIRECTION_UNKNOWN = -1; // 0xffffffff
    field public static final int PROPERTY_ASSISTED_DIALING_USED = 512; // 0x200
    field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200
    field public static final int PROPERTY_CONFERENCE = 1; // 0x1
    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4
    field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20
@@ -43774,7 +43774,8 @@ package android.telecom {
    method public final java.util.List<android.telecom.Connection> getConferenceableConnections();
    method public final int getConnectionCapabilities();
    method public final int getConnectionProperties();
    method public final long getConnectionTime();
    method public final long getConnectionStartElapsedRealtimeMillis();
    method @IntRange(from=0) public final long getConnectionTime();
    method public final java.util.List<android.telecom.Connection> getConnections();
    method public final android.telecom.DisconnectCause getDisconnectCause();
    method public final android.os.Bundle getExtras();
@@ -43804,8 +43805,9 @@ package android.telecom {
    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
    method public final void setConnectionCapabilities(int);
    method public final void setConnectionProperties(int);
    method public final void setConnectionStartElapsedRealTime(long);
    method public final void setConnectionTime(long);
    method @Deprecated public final void setConnectionStartElapsedRealTime(long);
    method public final void setConnectionStartElapsedRealtimeMillis(long);
    method public final void setConnectionTime(@IntRange(from=0) long);
    method public final void setDialing();
    method public final void setDisconnected(android.telecom.DisconnectCause);
    method public final void setExtras(@Nullable android.os.Bundle);
@@ -43965,7 +43967,7 @@ package android.telecom {
    field public static final String EXTRA_IS_RTT_AUDIO_PRESENT = "android.telecom.extra.IS_RTT_AUDIO_PRESENT";
    field public static final String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
    field public static final String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE";
    field public static final int PROPERTY_ASSISTED_DIALING_USED = 512; // 0x200
    field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200
    field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20
    field public static final int PROPERTY_HIGH_DEF_AUDIO = 4; // 0x4
    field public static final int PROPERTY_IS_EXTERNAL_CALL = 16; // 0x10
+8 −9
Original line number Diff line number Diff line
@@ -8253,27 +8253,26 @@ package android.telecom {
  public abstract class Conference extends android.telecom.Conferenceable {
    method @Deprecated public final android.telecom.AudioState getAudioState();
    method @Deprecated public final long getConnectTimeMillis();
    method public final long getConnectionStartElapsedRealTime();
    method public android.telecom.Connection getPrimaryConnection();
    method @NonNull public final String getTelecomCallId();
    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
    method public final void setAddress(@NonNull android.net.Uri, int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
    method public final void setCallerDisplayName(@NonNull String, int);
    method public void setConferenceState(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
    method @Deprecated public final void setConnectTimeMillis(long);
  }
  public abstract class Connection extends android.telecom.Conferenceable {
    method @Deprecated public final android.telecom.AudioState getAudioState();
    method public final long getConnectElapsedTimeMillis();
    method public final long getConnectTimeMillis();
    method @IntRange(from=0) public final long getConnectTimeMillis();
    method public final long getConnectionStartElapsedRealtimeMillis();
    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
    method @Nullable public final String getTelecomCallId();
    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
    method public final void resetConnectionTime();
    method public void setCallDirection(int);
    method public final void setConnectTimeMillis(long);
    method public final void setConnectionStartElapsedRealTime(long);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
    method public void setTelecomCallId(@NonNull String);
    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
@@ -8425,7 +8424,7 @@ package android.telecom {
  }
  public static class PhoneAccount.Builder {
    method @NonNull public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
  }
  public class PhoneAccountSuggestionService extends android.app.Service {
@@ -8500,7 +8499,7 @@ package android.telecom {
    method public int getCallState();
    method public android.telecom.PhoneAccountHandle getConnectionManager();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(int);
    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
    method public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(String);
+8 −9
Original line number Diff line number Diff line
@@ -3005,23 +3005,22 @@ package android.telecom {
  }

  public abstract class Conference extends android.telecom.Conferenceable {
    method public final long getConnectionStartElapsedRealTime();
    method public android.telecom.Connection getPrimaryConnection();
    method @NonNull public final String getTelecomCallId();
    method public final void setAddress(@NonNull android.net.Uri, int);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
    method public final void setCallerDisplayName(@NonNull String, int);
    method public void setConferenceState(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
  }

  public abstract class Connection extends android.telecom.Conferenceable {
    method public final long getConnectElapsedTimeMillis();
    method public final long getConnectTimeMillis();
    method @IntRange(from=0) public final long getConnectTimeMillis();
    method public final long getConnectionStartElapsedRealtimeMillis();
    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
    method @Nullable public final String getTelecomCallId();
    method public final void resetConnectionTime();
    method public void setCallDirection(int);
    method public final void setConnectTimeMillis(long);
    method public final void setConnectionStartElapsedRealTime(long);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
    method public void setTelecomCallId(@NonNull String);
    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
@@ -3053,7 +3052,7 @@ package android.telecom {
  }

  public static class PhoneAccount.Builder {
    method @NonNull public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
  }

  public class PhoneAccountSuggestionService extends android.app.Service {
@@ -3067,7 +3066,7 @@ package android.telecom {
  public class TelecomManager {
    method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getCurrentTtyMode();
    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDefaultDialerPackage(int);
    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
    field public static final int TTY_MODE_FULL = 1; // 0x1
+2 −2
Original line number Diff line number Diff line
@@ -546,7 +546,7 @@ public final class Call {
         *
         * @see TelecomManager#EXTRA_USE_ASSISTED_DIALING
         */
        public static final int PROPERTY_ASSISTED_DIALING_USED = 0x00000200;
        public static final int PROPERTY_ASSISTED_DIALING = 0x00000200;

        /**
         * Indicates that the call is an RTT call. Use {@link #getRttCall()} to get the
@@ -754,7 +754,7 @@ public final class Call {
            if (hasProperty(properties, PROPERTY_HAS_CDMA_VOICE_PRIVACY)) {
                builder.append(" PROPERTY_HAS_CDMA_VOICE_PRIVACY");
            }
            if (hasProperty(properties, PROPERTY_ASSISTED_DIALING_USED)) {
            if (hasProperty(properties, PROPERTY_ASSISTED_DIALING)) {
                builder.append(" PROPERTY_ASSISTED_DIALING_USED");
            }
            if (hasProperty(properties, PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL)) {
+76 −12
Original line number Diff line number Diff line
@@ -16,8 +16,13 @@

package android.telecom;

import static android.Manifest.permission.MODIFY_PHONE_STATE;

import android.annotation.ElapsedRealtimeLong;
import android.annotation.IntRange;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.net.Uri;
@@ -632,12 +637,12 @@ public abstract class Conference extends Conferenceable {
     * Should be specified in wall-clock time returned by {@link System#currentTimeMillis()}.
     * <p>
     * When setting the connection time, you should always set the connection elapsed time via
     * {@link #setConnectionStartElapsedRealTime(long)} to ensure the duration is reflected.
     * {@link #setConnectionStartElapsedRealtimeMillis(long)} to ensure the duration is reflected.
     *
     * @param connectionTimeMillis The connection time, in milliseconds, as returned by
     *                             {@link System#currentTimeMillis()}.
     */
    public final void setConnectionTime(long connectionTimeMillis) {
    public final void setConnectionTime(@IntRange(from = 0) long connectionTimeMillis) {
        mConnectTimeMillis = connectionTimeMillis;
    }

@@ -653,8 +658,28 @@ public abstract class Conference extends Conferenceable {
     *
     * @param connectionStartElapsedRealTime The connection time, as measured by
     * {@link SystemClock#elapsedRealtime()}.
     * @deprecated use {@link #setConnectionStartElapsedRealtimeMillis(long)} instead.
     */
    @Deprecated
    public final void setConnectionStartElapsedRealTime(long connectionStartElapsedRealTime) {
        setConnectionStartElapsedRealtimeMillis(connectionStartElapsedRealTime);
    }

    /**
     * Sets the start time of the {@link Conference} which is the basis for the determining the
     * duration of the {@link Conference}.
     * <p>
     * You should use a value returned by {@link SystemClock#elapsedRealtime()} to ensure that time
     * zone changes do not impact the conference duration.
     * <p>
     * When setting this, you should also set the connection time via
     * {@link #setConnectionTime(long)}.
     *
     * @param connectionStartElapsedRealTime The connection time, as measured by
     * {@link SystemClock#elapsedRealtime()}.
     */
    public final void setConnectionStartElapsedRealtimeMillis(
            @ElapsedRealtimeLong long connectionStartElapsedRealTime) {
        mConnectionStartElapsedRealTime = connectionStartElapsedRealTime;
    }

@@ -675,7 +700,7 @@ public abstract class Conference extends Conferenceable {
     *
     * @return The time at which the {@code Conference} was connected.
     */
    public final long getConnectionTime() {
    public final @IntRange(from = 0) long getConnectionTime() {
        return mConnectTimeMillis;
    }

@@ -692,11 +717,8 @@ public abstract class Conference extends Conferenceable {
     * has no general use other than to the Telephony framework.
     *
     * @return The elapsed time at which the {@link Conference} was connected.
     * @hide
     */
    @SystemApi
    @TestApi
    public final long getConnectionStartElapsedRealTime() {
    public final @ElapsedRealtimeLong long getConnectionStartElapsedRealtimeMillis() {
        return mConnectionStartElapsedRealTime;
    }

@@ -994,6 +1016,7 @@ public abstract class Conference extends Conferenceable {
     */
    @SystemApi
    @TestApi
    @RequiresPermission(MODIFY_PHONE_STATE)
    public void setConferenceState(boolean isConference) {
        for (Listener l : mListeners) {
            l.onConferenceStateChanged(this, isConference);
@@ -1014,6 +1037,7 @@ public abstract class Conference extends Conferenceable {
     */
    @SystemApi
    @TestApi
    @RequiresPermission(MODIFY_PHONE_STATE)
    public final void setAddress(@NonNull Uri address,
            @TelecomManager.Presentation int presentation) {
        Log.d(this, "setAddress %s", address);
@@ -1120,12 +1144,52 @@ public abstract class Conference extends Conferenceable {
    }

    /**
     * Sends an event associated with this {@code Conference} with associated event extras to the
     * {@link InCallService} (note: this is identical in concept to
     * {@link Connection#sendConnectionEvent(String, Bundle)}).
     * @see Connection#sendConnectionEvent(String, Bundle)
     * Sends an event associated with this {@link Conference} with associated event extras to the
     * {@link InCallService}.
     * <p>
     * Connection events are used to communicate point in time information from a
     * {@link ConnectionService} to an {@link InCallService} implementation.  An example of a
     * custom connection event includes notifying the UI when a WIFI call has been handed over to
     * LTE, which the InCall UI might use to inform the user that billing charges may apply.  The
     * Android Telephony framework will send the {@link Connection#EVENT_MERGE_COMPLETE}
     * connection event when a call to {@link Call#mergeConference()} has completed successfully.
     * <p>
     * Events are exposed to {@link InCallService} implementations via
     * {@link Call.Callback#onConnectionEvent(Call, String, Bundle)}.
     * <p>
     * No assumptions should be made as to how an In-Call UI or service will handle these events.
     * The {@link ConnectionService} must assume that the In-Call UI could even chose to ignore
     * some events altogether.
     * <p>
     * Events should be fully qualified (e.g. {@code com.example.event.MY_EVENT}) to avoid
     * conflicts between {@link ConnectionService} implementations.  Further, custom
     * {@link ConnectionService} implementations shall not re-purpose events in the
     * {@code android.*} namespace, nor shall they define new event types in this namespace.  When
     * defining a custom event type, ensure the contents of the extras {@link Bundle} is clearly
     * defined.  Extra keys for this bundle should be named similar to the event type (e.g.
     * {@code com.example.extra.MY_EXTRA}).
     * <p>
     * When defining events and the associated extras, it is important to keep their behavior
     * consistent when the associated {@link ConnectionService} is updated.  Support for deprecated
     * events/extras should me maintained to ensure backwards compatibility with older
     * {@link InCallService} implementations which were built to support the older behavior.
     * <p>
     * Expected connection events from the Telephony stack are:
     * <p>
     * <ul>
     *      <li>{@link Connection#EVENT_CALL_HOLD_FAILED} with {@code null} {@code extras} when the
     *      {@link Conference} could not be held.</li>
     *      <li>{@link Connection#EVENT_MERGE_START} with {@code null} {@code extras} when a new
     *      call is being merged into the conference.</li>
     *      <li>{@link Connection#EVENT_MERGE_COMPLETE} with {@code null} {@code extras} a new call
     *      has completed being merged into the conference.</li>
     *      <li>{@link Connection#EVENT_CALL_MERGE_FAILED} with {@code null} {@code extras} a new
     *      call has failed to merge into the conference (the dialer app can determine which call
     *      failed to merge based on the fact that the call still exists outside of the conference
     *      at the end of the merge process).</li>
     * </ul>
     *
     * @param event The connection event.
     * @param event The conference event.
     * @param extras Optional bundle containing extra information associated with the event.
     */
    public void sendConferenceEvent(@NonNull String event, @Nullable Bundle extras) {
Loading