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

Commit 7db76f5d authored by Chi Zhang's avatar Chi Zhang Committed by Gerrit Code Review
Browse files

Merge "Add band to DataCallSession."

parents c2fd2d0d dc0ec3dd
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ message DataCallSession {
    optional int32 deactivate_reason = 16;
    optional int64 duration_minutes = 17;
    optional bool ongoing = 18;
    optional int32 band_at_end = 19;
}

message CellularServiceState {
+2 −8
Original line number Diff line number Diff line
@@ -2005,10 +2005,7 @@ public class DataConnection extends StateMachine {
                                + " drs=" + mDataRegState
                                + " mRilRat=" + mRilRat);
                    }
                    // this is for DRS or RAT changes, so only call onRatChanged if RAT is changed
                    if (mRilRat != 0) {
                        mDataCallSessionStats.onRatChanged(mRilRat);
                    }
                    mDataCallSessionStats.onDrsOrRatChanged(mRilRat);
                    break;

                case EVENT_START_HANDOVER:  //calls startHandover()
@@ -2659,10 +2656,7 @@ public class DataConnection extends StateMachine {
                        mNetworkAgent.sendLinkProperties(mLinkProperties, DataConnection.this);
                    }
                    retVal = HANDLED;
                    // this is for DRS or RAT changes, so only call onRatChanged if RAT is changed
                    if (mRilRat != 0) {
                        mDataCallSessionStats.onRatChanged(mRilRat);
                    }
                    mDataCallSessionStats.onDrsOrRatChanged(mRilRat);
                    break;
                }
                case EVENT_NR_FREQUENCY_CHANGED:
+13 −4
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.telephony.Annotation.ApnType;
import android.telephony.Annotation.NetworkType;
import android.telephony.DataFailCause;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting.ProtocolType;
import android.telephony.data.DataCallResponse;
import android.telephony.data.DataService;
@@ -183,20 +184,28 @@ public class DataCallSessionStats {
        mOngoingDataCall = null;
    }

    /** Updates this RAT when it changes. */
    public synchronized void onRatChanged(@ServiceState.RilRadioTechnology int radioTechnology) {
    /**
     * Updates the atom when data registration state or RAT changes.
     *
     * <p>NOTE: in {@link ServiceStateTracker}, change of channel number will trigger data
     * registration state change.
     */
    public synchronized void onDrsOrRatChanged(
            @ServiceState.RilRadioTechnology int radioTechnology) {
        @NetworkType int rat = ServiceState.rilRadioTechnologyToNetworkType(radioTechnology);
        // if no data call is initiated, or we have a new data call while the last one has ended
        // because onRatChanged might be called before onSetupDataCall
        if (mOngoingDataCall == null) {
            mOngoingDataCall = getDefaultProto(0);
            mOngoingDataCall.ratAtEnd = rat;
            mStartTime = System.currentTimeMillis();
            mOnRatChangedCalledBeforeSetup = true;
        }
        @NetworkType int rat = ServiceState.rilRadioTechnologyToNetworkType(radioTechnology);
        if (mOngoingDataCall.ratAtEnd != rat) {
        if (rat != TelephonyManager.NETWORK_TYPE_UNKNOWN && mOngoingDataCall.ratAtEnd != rat) {
            mOngoingDataCall.ratSwitchCount++;
            mOngoingDataCall.ratAtEnd = rat;
        }
        mOngoingDataCall.bandAtEnd = ServiceStateStats.getBand(mPhone, rat);
    }

    private static long convertMillisToMinutes(long millis) {
+2 −1
Original line number Diff line number Diff line
@@ -43,13 +43,14 @@ public class DataStallRecoveryStats {

        int carrierId = phone.getCarrierId();
        int rat = getRat(phone);
        int band = ServiceStateStats.getBand(phone, rat);
        // the number returned here matches the SignalStrength enum we have
        int signalStrength = phone.getSignalStrength().getLevel();
        boolean isOpportunistic = getIsOpportunistic(phone);
        boolean isMultiSim = SimSlotState.getCurrentState().numActiveSims > 1;

        TelephonyStatsLog.write(TelephonyStatsLog.DATA_STALL_RECOVERY_REPORTED, carrierId, rat,
                signalStrength, recoveryAction, isOpportunistic, isMultiSim);
                signalStrength, recoveryAction, isOpportunistic, isMultiSim, band);
    }

    private static @NetworkType int getRat(Phone phone) {
+1 −0
Original line number Diff line number Diff line
@@ -519,6 +519,7 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                .writeInt(dataCallSession.deactivateReason)
                .writeLong(dataCallSession.durationMinutes)
                .writeBoolean(dataCallSession.ongoing)
                .writeInt(dataCallSession.bandAtEnd)
                .build();
    }

Loading