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

Commit d4bd99bd authored by Kiwon Park's avatar Kiwon Park Committed by Automerger Merge Worker
Browse files

Merge "Deprecate setupDuration in VoiceCallSession and remove corresponding...

Merge "Deprecate setupDuration in VoiceCallSession and remove corresponding code." am: abb43768 am: 9018d987 am: 17b1e983 am: 8a44dd3d

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/2100907



Change-Id: I5019f5003cbf1380bc04babf3b3a37f0e1a1174e
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 57154d12 8a44dd3d
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -190,10 +190,10 @@ message PersistAtoms {
// NOTE: StatsLog functions use int in place of enum
// NOTE: StatsLog functions use int in place of enum


message VoiceCallSession {
message VoiceCallSession {
    reserved 4;
    optional int32 bearer_at_start = 1;
    optional int32 bearer_at_start = 1;
    optional int32 bearer_at_end = 2;
    optional int32 bearer_at_end = 2;
    optional int32 direction = 3;
    optional int32 direction = 3;
    optional int32 setup_duration = 4;
    optional bool setup_failed = 5;
    optional bool setup_failed = 5;
    optional int32 disconnect_reason_code = 6;
    optional int32 disconnect_reason_code = 6;
    optional int32 disconnect_extra_code = 7;
    optional int32 disconnect_extra_code = 7;
+3 −1
Original line number Original line Diff line number Diff line
@@ -48,6 +48,7 @@ import static com.android.internal.telephony.TelephonyStatsLog.TELEPHONY_NETWORK
import static com.android.internal.telephony.TelephonyStatsLog.UCE_EVENT_STATS;
import static com.android.internal.telephony.TelephonyStatsLog.UCE_EVENT_STATS;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_RAT_USAGE;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_RAT_USAGE;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__CALL_DURATION__CALL_DURATION_UNKNOWN;


import android.annotation.Nullable;
import android.annotation.Nullable;
import android.app.StatsManager;
import android.app.StatsManager;
@@ -737,7 +738,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                session.bearerAtStart,
                session.bearerAtStart,
                session.bearerAtEnd,
                session.bearerAtEnd,
                session.direction,
                session.direction,
                session.setupDuration,
                // deprecated and replaced by setupDurationMillis
                VOICE_CALL_SESSION__CALL_DURATION__CALL_DURATION_UNKNOWN,
                session.setupFailed,
                session.setupFailed,
                session.disconnectReasonCode,
                session.disconnectReasonCode,
                session.disconnectExtraCode,
                session.disconnectExtraCode,
+0 −61
Original line number Original line Diff line number Diff line
@@ -33,16 +33,6 @@ import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSIO
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_SUPER_WIDEBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_SUPER_WIDEBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_WIDEBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_WIDEBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_SLOW;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_NORMAL;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_SLOW;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_ULTRA_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_ULTRA_SLOW;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SIGNAL_STRENGTH_AT_END__SIGNAL_STRENGTH_GREAT;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SIGNAL_STRENGTH_AT_END__SIGNAL_STRENGTH_GREAT;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SIGNAL_STRENGTH_AT_END__SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SIGNAL_STRENGTH_AT_END__SIGNAL_STRENGTH_NONE_OR_UNKNOWN;


@@ -125,9 +115,6 @@ public class VoiceCallSessionStats {
    /** Holds the audio codec value for IMS calls. */
    /** Holds the audio codec value for IMS calls. */
    private static final SparseIntArray IMS_CODEC_MAP = buildImsCodecMap();
    private static final SparseIntArray IMS_CODEC_MAP = buildImsCodecMap();


    /** Holds setup duration buckets with values as their upper bounds in milliseconds. */
    private static final SparseIntArray CALL_SETUP_DURATION_MAP = buildCallSetupDurationMap();

    /** Holds call duration buckets with values as their upper bounds in milliseconds. */
    /** Holds call duration buckets with values as their upper bounds in milliseconds. */
    private static final SparseIntArray CALL_DURATION_MAP = buildCallDurationMap();
    private static final SparseIntArray CALL_DURATION_MAP = buildCallDurationMap();


@@ -395,7 +382,6 @@ public class VoiceCallSessionStats {
            logd("acceptCall: resetting setup info, connectionId=%d", id);
            logd("acceptCall: resetting setup info, connectionId=%d", id);
            VoiceCallSession proto = mCallProtos.get(id);
            VoiceCallSession proto = mCallProtos.get(id);
            proto.setupBeginMillis = getTimeMillis();
            proto.setupBeginMillis = getTimeMillis();
            proto.setupDuration = VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
        } else {
        } else {
            loge("acceptCall: untracked connection, connectionId=%d", id);
            loge("acceptCall: untracked connection, connectionId=%d", id);
        }
        }
@@ -424,7 +410,6 @@ public class VoiceCallSessionStats {
        proto.bearerAtStart = bearer;
        proto.bearerAtStart = bearer;
        proto.bearerAtEnd = bearer;
        proto.bearerAtEnd = bearer;
        proto.direction = getDirection(conn);
        proto.direction = getDirection(conn);
        proto.setupDuration = VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
        proto.setupFailed = true;
        proto.setupFailed = true;
        proto.disconnectReasonCode = conn.getDisconnectCause();
        proto.disconnectReasonCode = conn.getDisconnectCause();
        proto.disconnectExtraCode = conn.getPreciseDisconnectCause();
        proto.disconnectExtraCode = conn.getPreciseDisconnectCause();
@@ -542,7 +527,6 @@ public class VoiceCallSessionStats {
    private void checkCallSetup(Connection conn, VoiceCallSession proto) {
    private void checkCallSetup(Connection conn, VoiceCallSession proto) {
        if (proto.setupBeginMillis != 0L && isSetupFinished(conn.getCall())) {
        if (proto.setupBeginMillis != 0L && isSetupFinished(conn.getCall())) {
            proto.setupDurationMillis = (int) (getTimeMillis() - proto.setupBeginMillis);
            proto.setupDurationMillis = (int) (getTimeMillis() - proto.setupBeginMillis);
            proto.setupDuration = classifySetupDuration(proto.setupDurationMillis);
            proto.setupBeginMillis = 0L;
            proto.setupBeginMillis = 0L;
        }
        }
        // Clear setupFailed if call now active, but otherwise leave it unchanged
        // Clear setupFailed if call now active, but otherwise leave it unchanged
@@ -746,16 +730,6 @@ public class VoiceCallSessionStats {
        }
        }
    }
    }


    private static int classifySetupDuration(int durationMillis) {
        // keys in CALL_SETUP_DURATION_MAP are upper bounds in ascending order
        for (int i = 0; i < CALL_SETUP_DURATION_MAP.size(); i++) {
            if (durationMillis < CALL_SETUP_DURATION_MAP.keyAt(i)) {
                return CALL_SETUP_DURATION_MAP.valueAt(i);
            }
        }
        return VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_SLOW;
    }

    private static int classifyCallDuration(long durationMillis) {
    private static int classifyCallDuration(long durationMillis) {
        if (durationMillis == 0L) {
        if (durationMillis == 0L) {
            return VOICE_CALL_SESSION__CALL_DURATION__CALL_DURATION_UNKNOWN;
            return VOICE_CALL_SESSION__CALL_DURATION__CALL_DURATION_UNKNOWN;
@@ -834,41 +808,6 @@ public class VoiceCallSessionStats {
        return map;
        return map;
    }
    }


    private static SparseIntArray buildCallSetupDurationMap() {
        SparseIntArray map = new SparseIntArray();

        map.put(
                CALL_SETUP_DURATION_UNKNOWN,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN);
        map.put(
                CALL_SETUP_DURATION_EXTREMELY_FAST,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST);
        map.put(
                CALL_SETUP_DURATION_ULTRA_FAST,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_ULTRA_FAST);
        map.put(
                CALL_SETUP_DURATION_VERY_FAST,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_FAST);
        map.put(
                CALL_SETUP_DURATION_FAST,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_FAST);
        map.put(
                CALL_SETUP_DURATION_NORMAL,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_NORMAL);
        map.put(
                CALL_SETUP_DURATION_SLOW,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_SLOW);
        map.put(
                CALL_SETUP_DURATION_VERY_SLOW,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW);
        map.put(
                CALL_SETUP_DURATION_ULTRA_SLOW,
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_ULTRA_SLOW);
        // anything above would be CALL_SETUP_DURATION_EXTREMELY_SLOW

        return map;
    }

    private static SparseIntArray buildCallDurationMap() {
    private static SparseIntArray buildCallDurationMap() {
        SparseIntArray map = new SparseIntArray();
        SparseIntArray map = new SparseIntArray();


+0 −11
Original line number Original line Diff line number Diff line
@@ -30,9 +30,6 @@ import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSIO
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotNull;
@@ -231,8 +228,6 @@ public class PersistAtomsStorageTest extends TelephonyTest {
        mCall1Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall1Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall1Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_CS;
        mCall1Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_CS;
        mCall1Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO;
        mCall1Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO;
        mCall1Proto.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_FAST;
        mCall1Proto.setupFailed = false;
        mCall1Proto.setupFailed = false;
        mCall1Proto.disconnectReasonCode = DisconnectCause.LOCAL;
        mCall1Proto.disconnectReasonCode = DisconnectCause.LOCAL;
        mCall1Proto.disconnectExtraCode = 0;
        mCall1Proto.disconnectExtraCode = 0;
@@ -261,8 +256,6 @@ public class PersistAtomsStorageTest extends TelephonyTest {
        mCall2Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall2Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall2Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall2Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall2Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT;
        mCall2Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT;
        mCall2Proto.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_FAST;
        mCall2Proto.setupFailed = false;
        mCall2Proto.setupFailed = false;
        mCall2Proto.disconnectReasonCode = ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE;
        mCall2Proto.disconnectReasonCode = ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE;
        mCall2Proto.disconnectExtraCode = 0;
        mCall2Proto.disconnectExtraCode = 0;
@@ -290,8 +283,6 @@ public class PersistAtomsStorageTest extends TelephonyTest {
        mCall3Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall3Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall3Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall3Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_IMS;
        mCall3Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT;
        mCall3Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT;
        mCall3Proto.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        mCall3Proto.setupFailed = false;
        mCall3Proto.setupFailed = false;
        mCall3Proto.disconnectReasonCode = ImsReasonInfo.CODE_USER_TERMINATED;
        mCall3Proto.disconnectReasonCode = ImsReasonInfo.CODE_USER_TERMINATED;
        mCall3Proto.disconnectExtraCode = 0;
        mCall3Proto.disconnectExtraCode = 0;
@@ -318,8 +309,6 @@ public class PersistAtomsStorageTest extends TelephonyTest {
        mCall4Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_CS;
        mCall4Proto.bearerAtStart = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_CS;
        mCall4Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_CS;
        mCall4Proto.bearerAtEnd = VOICE_CALL_SESSION__BEARER_AT_END__CALL_BEARER_CS;
        mCall4Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO;
        mCall4Proto.direction = VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO;
        mCall4Proto.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW;
        mCall4Proto.setupFailed = true;
        mCall4Proto.setupFailed = true;
        mCall4Proto.disconnectReasonCode = DisconnectCause.NORMAL;
        mCall4Proto.disconnectReasonCode = DisconnectCause.NORMAL;
        mCall4Proto.disconnectExtraCode = 0;
        mCall4Proto.disconnectExtraCode = 0;
+0 −48
Original line number Original line Diff line number Diff line
@@ -30,10 +30,6 @@ import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSIO
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_NARROWBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_NARROWBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_SUPER_WIDEBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_SUPER_WIDEBAND;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__MAIN_CODEC_QUALITY__CODEC_QUALITY_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_ULTRA_FAST;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
import static com.android.internal.telephony.TelephonyStatsLog.VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW;


import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.common.truth.Truth.assertWithMessage;
@@ -228,8 +224,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_REMOTE_CALL_DECLINE);
                        ImsReasonInfo.CODE_REMOTE_CALL_DECLINE);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 200;
        expectedCall.setupDurationMillis = 200;
        expectedCall.setupFailed = true;
        expectedCall.setupFailed = true;
        expectedCall.ratAtConnected = TelephonyManager.NETWORK_TYPE_UNKNOWN;
        expectedCall.ratAtConnected = TelephonyManager.NETWORK_TYPE_UNKNOWN;
@@ -324,8 +318,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 200;
        expectedCall.setupDurationMillis = 200;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_EVS_SWB;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_EVS_SWB;
@@ -432,8 +424,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -704,8 +694,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.codecBitmask =
        expectedCall.codecBitmask =
@@ -758,8 +746,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -876,8 +862,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -929,8 +913,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
        expectedCall0.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupFailed = false;
        expectedCall0.setupFailed = false;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -952,8 +934,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall1.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupFailed = false;
        expectedCall1.setupFailed = false;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -1057,8 +1037,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall0.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupFailed = false;
        expectedCall0.setupFailed = false;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -1080,8 +1058,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
        expectedCall1.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupFailed = false;
        expectedCall1.setupFailed = false;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -1185,8 +1161,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MO,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall0.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupFailed = false;
        expectedCall0.setupFailed = false;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -1207,8 +1181,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
                        ImsReasonInfo.CODE_USER_TERMINATED_BY_REMOTE);
        expectedCall1.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupFailed = false;
        expectedCall1.setupFailed = false;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -1298,8 +1270,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        DisconnectCause.NORMAL);
                        DisconnectCause.NORMAL);
        expectedCall.ratAtEnd = TelephonyManager.NETWORK_TYPE_UMTS;
        expectedCall.ratAtEnd = TelephonyManager.NETWORK_TYPE_UMTS;
        expectedCall.bandAtEnd = 0;
        expectedCall.bandAtEnd = 0;
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW;
        expectedCall.setupDurationMillis = 5000;
        expectedCall.setupDurationMillis = 5000;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.CALL_REJECTED;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.CALL_REJECTED;
        expectedCall.ratSwitchCount = 1L;
        expectedCall.ratSwitchCount = 1L;
@@ -1416,8 +1386,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
        expectedCall.ratAtConnected = TelephonyManager.NETWORK_TYPE_UMTS;
        expectedCall.ratAtConnected = TelephonyManager.NETWORK_TYPE_UMTS;
        expectedCall.ratAtEnd = TelephonyManager.NETWORK_TYPE_UMTS;
        expectedCall.ratAtEnd = TelephonyManager.NETWORK_TYPE_UMTS;
        expectedCall.bandAtEnd = 0;
        expectedCall.bandAtEnd = 0;
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_VERY_SLOW;
        expectedCall.setupDurationMillis = 5000;
        expectedCall.setupDurationMillis = 5000;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall.ratSwitchCount = 1L;
        expectedCall.ratSwitchCount = 1L;
@@ -1481,8 +1449,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_UMTS,
                        TelephonyManager.NETWORK_TYPE_UMTS,
                        DisconnectCause.NORMAL);
                        DisconnectCause.NORMAL);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
        expectedCall.setupDurationMillis = 0;
        expectedCall.setupDurationMillis = 0;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.CALL_REJECTED;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.CALL_REJECTED;
        expectedCall.setupFailed = true;
        expectedCall.setupFailed = true;
@@ -1538,8 +1504,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_UMTS,
                        TelephonyManager.NETWORK_TYPE_UMTS,
                        DisconnectCause.NORMAL);
                        DisconnectCause.NORMAL);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_ULTRA_FAST;
        expectedCall.setupDurationMillis = 500;
        expectedCall.setupDurationMillis = 500;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
@@ -1598,8 +1562,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_LOCAL_HO_NOT_FEASIBLE);
                        ImsReasonInfo.CODE_LOCAL_HO_NOT_FEASIBLE);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.srvccFailureCount = 2L;
        expectedCall.srvccFailureCount = 2L;
@@ -1676,8 +1638,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        VOICE_CALL_SESSION__DIRECTION__CALL_DIRECTION_MT,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        ImsReasonInfo.CODE_USER_TERMINATED);
                        ImsReasonInfo.CODE_USER_TERMINATED);
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.srvccCancellationCount = 2L;
        expectedCall.srvccCancellationCount = 2L;
@@ -1747,8 +1707,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        DisconnectCause.NORMAL);
                        DisconnectCause.NORMAL);
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupDurationMillis = 80;
        expectedCall.setupFailed = false;
        expectedCall.setupFailed = false;
        expectedCall.srvccCancellationCount = 1L;
        expectedCall.srvccCancellationCount = 1L;
@@ -1843,8 +1801,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        DisconnectCause.NORMAL);
                        DisconnectCause.NORMAL);
        expectedCall0.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall0.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall0.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupDurationMillis = 80;
        expectedCall0.setupFailed = false;
        expectedCall0.setupFailed = false;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall0.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -1871,8 +1827,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
                        TelephonyManager.NETWORK_TYPE_LTE,
                        TelephonyManager.NETWORK_TYPE_LTE,
                        DisconnectCause.NORMAL);
                        DisconnectCause.NORMAL);
        expectedCall1.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall1.disconnectExtraCode = PreciseDisconnectCause.NORMAL;
        expectedCall1.setupDuration =
                VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_EXTREMELY_FAST;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupDurationMillis = 20;
        expectedCall1.setupFailed = false;
        expectedCall1.setupFailed = false;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
        expectedCall1.codecBitmask = 1L << AudioCodec.AUDIO_CODEC_AMR;
@@ -2115,7 +2069,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
        call.bearerAtStart = bearer;
        call.bearerAtStart = bearer;
        call.bearerAtEnd = bearer;
        call.bearerAtEnd = bearer;
        call.direction = direction;
        call.direction = direction;
        call.setupDuration = VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
        call.setupDurationMillis = 0;
        call.setupDurationMillis = 0;
        call.setupFailed = true;
        call.setupFailed = true;
        call.disconnectReasonCode = reason;
        call.disconnectReasonCode = reason;
@@ -2149,7 +2102,6 @@ public class VoiceCallSessionStatsTest extends TelephonyTest {
        call.bearerAtStart = bearer;
        call.bearerAtStart = bearer;
        call.bearerAtEnd = bearer;
        call.bearerAtEnd = bearer;
        call.direction = direction;
        call.direction = direction;
        call.setupDuration = VOICE_CALL_SESSION__SETUP_DURATION__CALL_SETUP_DURATION_UNKNOWN;
        call.setupDurationMillis = 0;
        call.setupDurationMillis = 0;
        call.setupFailed = true;
        call.setupFailed = true;
        call.disconnectReasonCode = reason;
        call.disconnectReasonCode = reason;