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

Commit 754493b8 authored by Tyler Gunn's avatar Tyler Gunn
Browse files

API Review cleanups.

- New @SystemApis on Conference and PhoneAccount were missing the required
permissions annotations.
- Rename PROPERTY_ASSISTED_DIALING_USED to PROPERTY_ASSISTED_DIALING
- Standardize get/setConnectionStartElapsedRealtimeMillis method naming
across Connection and Conference classes.
- Clarify Conference#sendConferenceEvent API documentation to match the
docs present for similar method in Connection; include some examples of
valid event/extras combinations.
- Update TelecomManager#getDefaultdialerPackage to use UserHandle instead
of userId.
- Move Conference#getConnectionStartElapsedRealtimeMillis to public API
since the setter is already part of the public API.

Test: Run Telecom and Telephony CTS tests.
Test: Run Telephony unit tests.
Test: Perform manual single-party-conference regression test to confirm
that conference behavior does not regress.

Bug: 147301297
Bug: 148286830
Bug: 148284863
Bug: 148284843
Bug: 148287068
Bug: 148285484
Bug: 148285560
Change-Id: I1f446d81859fa109d74af3661a42a0bd224de5aa
parent e2896f65
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -45416,7 +45416,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
@@ -45507,7 +45507,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();
@@ -45540,8 +45541,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);
@@ -45703,7 +45705,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_ADHOC_CONFERENCE = 4096; // 0x1000
+8 −9
Original line number Diff line number Diff line
@@ -10798,27 +10798,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
@@ -10977,7 +10976,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 {
@@ -11052,7 +11051,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
@@ -3412,23 +3412,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
@@ -3460,7 +3459,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 {
@@ -3474,7 +3473,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 −1
Original line number Diff line number Diff line
@@ -316,7 +316,8 @@ public class DataManager {
    private void updateDefaultDialer(@NonNull UserData userData) {
        TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
        String defaultDialer = telecomManager != null
                ? telecomManager.getDefaultDialerPackage(userData.getUserId()) : null;
                ? telecomManager.getDefaultDialerPackage(
                        new UserHandle(userData.getUserId())) : null;
        userData.setDefaultDialer(defaultDialer);
    }

+2 −1
Original line number Diff line number Diff line
@@ -137,7 +137,8 @@ public final class DataManagerTest {
        when(mContext.getSystemService(Context.TELECOM_SERVICE)).thenReturn(mTelecomManager);
        when(mContext.getSystemServiceName(TelecomManager.class)).thenReturn(
                Context.TELECOM_SERVICE);
        when(mTelecomManager.getDefaultDialerPackage(anyInt())).thenReturn(TEST_PKG_NAME);
        when(mTelecomManager.getDefaultDialerPackage(any(UserHandle.class)))
                .thenReturn(TEST_PKG_NAME);

        when(mExecutorService.scheduleAtFixedRate(any(Runnable.class), anyLong(), anyLong(), any(
                TimeUnit.class))).thenReturn(mScheduledFuture);
Loading