Merge "Move Call state into Call.Details" into sc-dev
This commit is contained in:
@@ -39187,7 +39187,7 @@ package android.telecom {
|
||||
method public android.telecom.Call getParent();
|
||||
method public String getRemainingPostDialSequence();
|
||||
method @Nullable public android.telecom.Call.RttCall getRttCall();
|
||||
method public int getState();
|
||||
method @Deprecated public int getState();
|
||||
method public android.telecom.InCallService.VideoCall getVideoCall();
|
||||
method public void handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle);
|
||||
method public void hold();
|
||||
@@ -39282,6 +39282,7 @@ package android.telecom {
|
||||
method public android.net.Uri getHandle();
|
||||
method public int getHandlePresentation();
|
||||
method public android.os.Bundle getIntentExtras();
|
||||
method public final int getState();
|
||||
method public android.telecom.StatusHints getStatusHints();
|
||||
method public int getVideoState();
|
||||
method public static boolean hasProperty(int, int);
|
||||
|
||||
@@ -137,6 +137,27 @@ public final class Call {
|
||||
*/
|
||||
public static final int STATE_SIMULATED_RINGING = 13;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@IntDef(prefix = { "STATE_" },
|
||||
value = {
|
||||
STATE_NEW,
|
||||
STATE_DIALING,
|
||||
STATE_RINGING,
|
||||
STATE_HOLDING,
|
||||
STATE_ACTIVE,
|
||||
STATE_DISCONNECTED,
|
||||
STATE_SELECT_PHONE_ACCOUNT,
|
||||
STATE_CONNECTING,
|
||||
STATE_DISCONNECTING,
|
||||
STATE_PULLING_CALL,
|
||||
STATE_AUDIO_PROCESSING,
|
||||
STATE_SIMULATED_RINGING
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface CallState {};
|
||||
|
||||
/**
|
||||
* The key to retrieve the optional {@code PhoneAccount}s Telecom can bundle with its Call
|
||||
* extras. Used to pass the phone accounts to display on the front end to the user in order to
|
||||
@@ -674,6 +695,7 @@ public final class Call {
|
||||
// Next PROPERTY value: 0x00004000
|
||||
//******************************************************************************************
|
||||
|
||||
private final @CallState int mState;
|
||||
private final String mTelecomCallId;
|
||||
private final Uri mHandle;
|
||||
private final int mHandlePresentation;
|
||||
@@ -868,6 +890,13 @@ public final class Call {
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the state of the {@link Call} represented by this {@link Call.Details}.
|
||||
*/
|
||||
public final @CallState int getState() {
|
||||
return mState;
|
||||
}
|
||||
|
||||
/** {@hide} */
|
||||
@TestApi
|
||||
public String getTelecomCallId() {
|
||||
@@ -1069,6 +1098,7 @@ public final class Call {
|
||||
if (o instanceof Details) {
|
||||
Details d = (Details) o;
|
||||
return
|
||||
Objects.equals(mState, d.mState) &&
|
||||
Objects.equals(mHandle, d.mHandle) &&
|
||||
Objects.equals(mHandlePresentation, d.mHandlePresentation) &&
|
||||
Objects.equals(mCallerDisplayName, d.mCallerDisplayName) &&
|
||||
@@ -1095,7 +1125,8 @@ public final class Call {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(mHandle,
|
||||
return Objects.hash(mState,
|
||||
mHandle,
|
||||
mHandlePresentation,
|
||||
mCallerDisplayName,
|
||||
mCallerDisplayNamePresentation,
|
||||
@@ -1117,6 +1148,7 @@ public final class Call {
|
||||
|
||||
/** {@hide} */
|
||||
public Details(
|
||||
@CallState int state,
|
||||
String telecomCallId,
|
||||
Uri handle,
|
||||
int handlePresentation,
|
||||
@@ -1136,6 +1168,7 @@ public final class Call {
|
||||
String contactDisplayName,
|
||||
int callDirection,
|
||||
int callerNumberVerificationStatus) {
|
||||
mState = state;
|
||||
mTelecomCallId = telecomCallId;
|
||||
mHandle = handle;
|
||||
mHandlePresentation = handlePresentation;
|
||||
@@ -1160,6 +1193,7 @@ public final class Call {
|
||||
/** {@hide} */
|
||||
public static Details createFromParcelableCall(ParcelableCall parcelableCall) {
|
||||
return new Details(
|
||||
parcelableCall.getState(),
|
||||
parcelableCall.getId(),
|
||||
parcelableCall.getHandle(),
|
||||
parcelableCall.getHandlePresentation(),
|
||||
@@ -1186,6 +1220,8 @@ public final class Call {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("[id: ");
|
||||
sb.append(mTelecomCallId);
|
||||
sb.append(", state: ");
|
||||
sb.append(Call.stateToString(mState));
|
||||
sb.append(", pa: ");
|
||||
sb.append(mAccountHandle);
|
||||
sb.append(", hdl: ");
|
||||
@@ -1302,7 +1338,7 @@ public final class Call {
|
||||
* @param call The {@code Call} invoking this method.
|
||||
* @param state The new state of the {@code Call}.
|
||||
*/
|
||||
public void onStateChanged(Call call, int state) {}
|
||||
public void onStateChanged(Call call, @CallState int state) {}
|
||||
|
||||
/**
|
||||
* Invoked when the parent of this {@code Call} has changed. See {@link #getParent()}.
|
||||
@@ -2171,9 +2207,11 @@ public final class Call {
|
||||
/**
|
||||
* Obtains the state of this {@code Call}.
|
||||
*
|
||||
* @return A state value, chosen from the {@code STATE_*} constants.
|
||||
* @return The call state.
|
||||
* @deprecated The call state is available via {@link Call.Details#getState()}.
|
||||
*/
|
||||
public int getState() {
|
||||
@Deprecated
|
||||
public @CallState int getState() {
|
||||
return mState;
|
||||
}
|
||||
|
||||
@@ -2551,6 +2589,30 @@ public final class Call {
|
||||
final void internalSetDisconnected() {
|
||||
if (mState != Call.STATE_DISCONNECTED) {
|
||||
mState = Call.STATE_DISCONNECTED;
|
||||
if (mDetails != null) {
|
||||
mDetails = new Details(mState,
|
||||
mDetails.getTelecomCallId(),
|
||||
mDetails.getHandle(),
|
||||
mDetails.getHandlePresentation(),
|
||||
mDetails.getCallerDisplayName(),
|
||||
mDetails.getCallerDisplayNamePresentation(),
|
||||
mDetails.getAccountHandle(),
|
||||
mDetails.getCallCapabilities(),
|
||||
mDetails.getCallProperties(),
|
||||
mDetails.getDisconnectCause(),
|
||||
mDetails.getConnectTimeMillis(),
|
||||
mDetails.getGatewayInfo(),
|
||||
mDetails.getVideoState(),
|
||||
mDetails.getStatusHints(),
|
||||
mDetails.getExtras(),
|
||||
mDetails.getIntentExtras(),
|
||||
mDetails.getCreationTimeMillis(),
|
||||
mDetails.getContactDisplayName(),
|
||||
mDetails.getCallDirection(),
|
||||
mDetails.getCallerNumberVerificationStatus()
|
||||
);
|
||||
fireDetailsChanged(mDetails);
|
||||
}
|
||||
fireStateChanged(mState);
|
||||
fireCallDestroyed();
|
||||
}
|
||||
|
||||
@@ -399,7 +399,7 @@ public final class ParcelableCall implements Parcelable {
|
||||
}
|
||||
|
||||
/** The current state of the call. */
|
||||
public int getState() {
|
||||
public @Call.CallState int getState() {
|
||||
return mState;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user