Merge "Make PreciseCallState Constructor System API"

This commit is contained in:
Treehugger Robot
2019-12-20 22:08:13 +00:00
committed by Gerrit Code Review
4 changed files with 109 additions and 13 deletions

View File

@@ -8589,6 +8589,7 @@ package android.telephony {
} }
public final class PreciseCallState implements android.os.Parcelable { public final class PreciseCallState implements android.os.Parcelable {
ctor public PreciseCallState(int, int, int, int, int);
method public int describeContents(); method public int describeContents();
method public int getBackgroundCallState(); method public int getBackgroundCallState();
method public int getForegroundCallState(); method public int getForegroundCallState();

View File

@@ -441,10 +441,10 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
mCallDisconnectCause[i] = DisconnectCause.NOT_VALID; mCallDisconnectCause[i] = DisconnectCause.NOT_VALID;
mCallPreciseDisconnectCause[i] = PreciseDisconnectCause.NOT_VALID; mCallPreciseDisconnectCause[i] = PreciseDisconnectCause.NOT_VALID;
mCallQuality[i] = createCallQuality(); mCallQuality[i] = createCallQuality();
mCallAttributes[i] = new CallAttributes(new PreciseCallState(), mCallAttributes[i] = new CallAttributes(createPreciseCallState(),
TelephonyManager.NETWORK_TYPE_UNKNOWN, createCallQuality()); TelephonyManager.NETWORK_TYPE_UNKNOWN, createCallQuality());
mCallNetworkType[i] = TelephonyManager.NETWORK_TYPE_UNKNOWN; mCallNetworkType[i] = TelephonyManager.NETWORK_TYPE_UNKNOWN;
mPreciseCallState[i] = new PreciseCallState(); mPreciseCallState[i] = createPreciseCallState();
mRingingCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE; mRingingCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE;
mForegroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE; mForegroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE;
mBackgroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE; mBackgroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE;
@@ -534,10 +534,10 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
mCallDisconnectCause[i] = DisconnectCause.NOT_VALID; mCallDisconnectCause[i] = DisconnectCause.NOT_VALID;
mCallPreciseDisconnectCause[i] = PreciseDisconnectCause.NOT_VALID; mCallPreciseDisconnectCause[i] = PreciseDisconnectCause.NOT_VALID;
mCallQuality[i] = createCallQuality(); mCallQuality[i] = createCallQuality();
mCallAttributes[i] = new CallAttributes(new PreciseCallState(), mCallAttributes[i] = new CallAttributes(createPreciseCallState(),
TelephonyManager.NETWORK_TYPE_UNKNOWN, createCallQuality()); TelephonyManager.NETWORK_TYPE_UNKNOWN, createCallQuality());
mCallNetworkType[i] = TelephonyManager.NETWORK_TYPE_UNKNOWN; mCallNetworkType[i] = TelephonyManager.NETWORK_TYPE_UNKNOWN;
mPreciseCallState[i] = new PreciseCallState(); mPreciseCallState[i] = createPreciseCallState();
mRingingCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE; mRingingCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE;
mForegroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE; mForegroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE;
mBackgroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE; mBackgroundCallState[i] = PreciseCallState.PRECISE_CALL_STATE_IDLE;
@@ -2645,6 +2645,15 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
} }
} }
/** Returns a new PreciseCallState object with default values. */
private static PreciseCallState createPreciseCallState() {
return new PreciseCallState(PreciseCallState.PRECISE_CALL_STATE_NOT_VALID,
PreciseCallState.PRECISE_CALL_STATE_NOT_VALID,
PreciseCallState.PRECISE_CALL_STATE_NOT_VALID,
DisconnectCause.NOT_VALID,
PreciseDisconnectCause.NOT_VALID);
}
/** Returns a new CallQuality object with default values. */ /** Returns a new CallQuality object with default values. */
private static CallQuality createCallQuality() { private static CallQuality createCallQuality() {
return new CallQuality(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); return new CallQuality(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

View File

@@ -485,6 +485,86 @@ public class Annotation {
PreciseCallState.PRECISE_CALL_STATE_DISCONNECTING}) PreciseCallState.PRECISE_CALL_STATE_DISCONNECTING})
public @interface PreciseCallStates {} public @interface PreciseCallStates {}
@IntDef(value = {
DisconnectCause.NOT_VALID,
DisconnectCause.NOT_DISCONNECTED,
DisconnectCause.INCOMING_MISSED,
DisconnectCause.NORMAL,
DisconnectCause.LOCAL,
DisconnectCause.BUSY,
DisconnectCause.CONGESTION,
DisconnectCause.MMI,
DisconnectCause.INVALID_NUMBER,
DisconnectCause.NUMBER_UNREACHABLE,
DisconnectCause.SERVER_UNREACHABLE,
DisconnectCause.INVALID_CREDENTIALS,
DisconnectCause.OUT_OF_NETWORK,
DisconnectCause.SERVER_ERROR,
DisconnectCause.TIMED_OUT,
DisconnectCause.LOST_SIGNAL,
DisconnectCause.LIMIT_EXCEEDED,
DisconnectCause.INCOMING_REJECTED,
DisconnectCause.POWER_OFF,
DisconnectCause.OUT_OF_SERVICE,
DisconnectCause.ICC_ERROR,
DisconnectCause.CALL_BARRED,
DisconnectCause.FDN_BLOCKED,
DisconnectCause.CS_RESTRICTED,
DisconnectCause.CS_RESTRICTED_NORMAL,
DisconnectCause.CS_RESTRICTED_EMERGENCY,
DisconnectCause.UNOBTAINABLE_NUMBER,
DisconnectCause.CDMA_LOCKED_UNTIL_POWER_CYCLE,
DisconnectCause.CDMA_DROP,
DisconnectCause.CDMA_INTERCEPT,
DisconnectCause.CDMA_REORDER,
DisconnectCause.CDMA_SO_REJECT,
DisconnectCause.CDMA_RETRY_ORDER,
DisconnectCause.CDMA_ACCESS_FAILURE,
DisconnectCause.CDMA_PREEMPTED,
DisconnectCause.CDMA_NOT_EMERGENCY,
DisconnectCause.CDMA_ACCESS_BLOCKED,
DisconnectCause.ERROR_UNSPECIFIED,
})
@Retention(RetentionPolicy.SOURCE)
public @interface DisconnectCauses {
}
@IntDef(value = {
PreciseDisconnectCause.NOT_VALID,
PreciseDisconnectCause.NO_DISCONNECT_CAUSE_AVAILABLE,
PreciseDisconnectCause.UNOBTAINABLE_NUMBER,
PreciseDisconnectCause.NORMAL,
PreciseDisconnectCause.BUSY,
PreciseDisconnectCause.NUMBER_CHANGED,
PreciseDisconnectCause.STATUS_ENQUIRY,
PreciseDisconnectCause.NORMAL_UNSPECIFIED,
PreciseDisconnectCause.NO_CIRCUIT_AVAIL,
PreciseDisconnectCause.TEMPORARY_FAILURE,
PreciseDisconnectCause.SWITCHING_CONGESTION,
PreciseDisconnectCause.CHANNEL_NOT_AVAIL,
PreciseDisconnectCause.QOS_NOT_AVAIL,
PreciseDisconnectCause.BEARER_NOT_AVAIL,
PreciseDisconnectCause.ACM_LIMIT_EXCEEDED,
PreciseDisconnectCause.CALL_BARRED,
PreciseDisconnectCause.FDN_BLOCKED,
PreciseDisconnectCause.IMSI_UNKNOWN_IN_VLR,
PreciseDisconnectCause.IMEI_NOT_ACCEPTED,
PreciseDisconnectCause.CDMA_LOCKED_UNTIL_POWER_CYCLE,
PreciseDisconnectCause.CDMA_DROP,
PreciseDisconnectCause.CDMA_INTERCEPT,
PreciseDisconnectCause.CDMA_REORDER,
PreciseDisconnectCause.CDMA_SO_REJECT,
PreciseDisconnectCause.CDMA_RETRY_ORDER,
PreciseDisconnectCause.CDMA_ACCESS_FAILURE,
PreciseDisconnectCause.CDMA_PREEMPTED,
PreciseDisconnectCause.CDMA_NOT_EMERGENCY,
PreciseDisconnectCause.CDMA_ACCESS_BLOCKED,
PreciseDisconnectCause.ERROR_UNSPECIFIED,
})
@Retention(RetentionPolicy.SOURCE)
public @interface PreciseDisconnectCauses {
}
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@IntDef(prefix = {"RIL_RADIO_TECHNOLOGY_" }, value = { @IntDef(prefix = {"RIL_RADIO_TECHNOLOGY_" }, value = {
ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN, ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN,

View File

@@ -16,19 +16,18 @@
package android.telephony; package android.telephony;
import android.annotation.IntDef;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.annotation.UnsupportedAppUsage; import android.annotation.UnsupportedAppUsage;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.telephony.Annotation.DisconnectCauses;
import android.telephony.Annotation.PreciseCallStates; import android.telephony.Annotation.PreciseCallStates;
import android.telephony.Annotation.PreciseDisconnectCauses;
import android.telephony.DisconnectCause; import android.telephony.DisconnectCause;
import android.telephony.PreciseDisconnectCause; import android.telephony.PreciseDisconnectCause;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Objects; import java.util.Objects;
/** /**
@@ -73,19 +72,26 @@ public final class PreciseCallState implements Parcelable {
private @PreciseCallStates int mRingingCallState = PRECISE_CALL_STATE_NOT_VALID; private @PreciseCallStates int mRingingCallState = PRECISE_CALL_STATE_NOT_VALID;
private @PreciseCallStates int mForegroundCallState = PRECISE_CALL_STATE_NOT_VALID; private @PreciseCallStates int mForegroundCallState = PRECISE_CALL_STATE_NOT_VALID;
private @PreciseCallStates int mBackgroundCallState = PRECISE_CALL_STATE_NOT_VALID; private @PreciseCallStates int mBackgroundCallState = PRECISE_CALL_STATE_NOT_VALID;
private int mDisconnectCause = DisconnectCause.NOT_VALID; private @DisconnectCauses int mDisconnectCause = DisconnectCause.NOT_VALID;
private int mPreciseDisconnectCause = PreciseDisconnectCause.NOT_VALID; private @PreciseDisconnectCauses int mPreciseDisconnectCause = PreciseDisconnectCause.NOT_VALID;
/** /**
* Constructor * Construct PreciseCallState with parameters
*
* @param ringingCall ring call state
* @param foregroundCall foreground call state
* @param backgroundCall background call state
* @param disconnectCause disconnect cause
* @param preciseDisconnectCause precise disconnect cause
* *
* @hide * @hide
*/ */
@UnsupportedAppUsage @SystemApi
public PreciseCallState(@PreciseCallStates int ringingCall, public PreciseCallState(@PreciseCallStates int ringingCall,
@PreciseCallStates int foregroundCall, @PreciseCallStates int foregroundCall,
@PreciseCallStates int backgroundCall, int disconnectCause, @PreciseCallStates int backgroundCall,
int preciseDisconnectCause) { @DisconnectCauses int disconnectCause,
@PreciseDisconnectCauses int preciseDisconnectCause) {
mRingingCallState = ringingCall; mRingingCallState = ringingCall;
mForegroundCallState = foregroundCall; mForegroundCallState = foregroundCall;
mBackgroundCallState = backgroundCall; mBackgroundCallState = backgroundCall;