Loading proto/src/persist_atoms.proto +1 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading src/java/com/android/internal/telephony/dataconnection/DataConnection.java +2 −8 Original line number Diff line number Diff line Loading @@ -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() Loading Loading @@ -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: Loading src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java +13 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading src/java/com/android/internal/telephony/metrics/DataStallRecoveryStats.java +2 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading src/java/com/android/internal/telephony/metrics/MetricsCollector.java +1 −0 Original line number Diff line number Diff line Loading @@ -519,6 +519,7 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { .writeInt(dataCallSession.deactivateReason) .writeLong(dataCallSession.durationMinutes) .writeBoolean(dataCallSession.ongoing) .writeInt(dataCallSession.bandAtEnd) .build(); } Loading Loading
proto/src/persist_atoms.proto +1 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading
src/java/com/android/internal/telephony/dataconnection/DataConnection.java +2 −8 Original line number Diff line number Diff line Loading @@ -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() Loading Loading @@ -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: Loading
src/java/com/android/internal/telephony/metrics/DataCallSessionStats.java +13 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading
src/java/com/android/internal/telephony/metrics/DataStallRecoveryStats.java +2 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
src/java/com/android/internal/telephony/metrics/MetricsCollector.java +1 −0 Original line number Diff line number Diff line Loading @@ -519,6 +519,7 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback { .writeInt(dataCallSession.deactivateReason) .writeLong(dataCallSession.durationMinutes) .writeBoolean(dataCallSession.ongoing) .writeInt(dataCallSession.bandAtEnd) .build(); } Loading