Loading src/java/com/android/internal/telephony/data/DataStallRecoveryManager.java +19 −2 Original line number Diff line number Diff line Loading @@ -175,6 +175,8 @@ public class DataStallRecoveryManager extends Handler { private boolean mIsAttemptedAllSteps; /** Whether internet network connected. */ private boolean mIsInternetNetworkConnected; /** The durations for current recovery action */ private @ElapsedRealtimeLong long mTimeElapsedOfCurrentAction; /** The array for the timers between recovery actions. */ private @NonNull long[] mDataStallRecoveryDelayMillisArray; Loading Loading @@ -467,6 +469,15 @@ public class DataStallRecoveryManager extends Handler { return (SystemClock.elapsedRealtime() - mTimeLastRecoveryStartMs); } /** * Get duration time for current recovery action. * * @return the time duration for current recovery action. */ private long getDurationOfCurrentRecoveryMs() { return (SystemClock.elapsedRealtime() - mTimeElapsedOfCurrentAction); } /** * Broadcast intent when data stall occurred. * Loading Loading @@ -594,6 +605,7 @@ public class DataStallRecoveryManager extends Handler { private void setNetworkValidationState(boolean isValid) { boolean isLogNeeded = false; int timeDuration = 0; int timeDurationOfCurrentAction = 0; boolean isFirstDataStall = false; boolean isFirstValidationAfterDoRecovery = false; @RecoveredReason int reason = getRecoveredReason(isValid); Loading Loading @@ -626,9 +638,11 @@ public class DataStallRecoveryManager extends Handler { } if (isLogNeeded) { timeDurationOfCurrentAction = (isFirstDataStall == true ? 0 : (int) getDurationOfCurrentRecoveryMs()); DataStallRecoveryStats.onDataStallEvent( mLastAction, mPhone, isValid, timeDuration, reason, isFirstValidationAfterDoRecovery); isFirstValidationAfterDoRecovery, timeDurationOfCurrentAction); logl( "data stall: " + (isFirstDataStall == true ? "start" : isValid == false ? "in process" : "end") Loading @@ -641,7 +655,9 @@ public class DataStallRecoveryManager extends Handler { + ", isFirstValidationAfterDoRecovery=" + isFirstValidationAfterDoRecovery + ", TimeDuration=" + timeDuration); + timeDuration + ", TimeDurationForCurrentRecoveryAction=" + timeDurationOfCurrentAction); } } Loading Loading @@ -692,6 +708,7 @@ public class DataStallRecoveryManager extends Handler { mLastActionReported = false; broadcastDataStallDetected(recoveryAction); mNetworkCheckTimerStarted = false; mTimeElapsedOfCurrentAction = SystemClock.elapsedRealtime(); switch (recoveryAction) { case RECOVERY_ACTION_GET_DATA_CALL_LIST: Loading src/java/com/android/internal/telephony/metrics/DataStallRecoveryStats.java +4 −2 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ public class DataStallRecoveryStats { boolean isRecovered, int durationMillis, @DataStallRecoveryManager.RecoveredReason int reason, boolean isFirstValidation) { boolean isFirstValidation, int durationMillisOfCurrentAction) { if (phone.getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) { phone = phone.getDefaultPhone(); } Loading Loading @@ -131,7 +132,8 @@ public class DataStallRecoveryStats { otherNetworkRegState, phoneNetworkRegState, isFirstValidation, phoneId); phoneId, durationMillisOfCurrentAction); } /** Returns the RAT used for data (including IWLAN). */ Loading Loading
src/java/com/android/internal/telephony/data/DataStallRecoveryManager.java +19 −2 Original line number Diff line number Diff line Loading @@ -175,6 +175,8 @@ public class DataStallRecoveryManager extends Handler { private boolean mIsAttemptedAllSteps; /** Whether internet network connected. */ private boolean mIsInternetNetworkConnected; /** The durations for current recovery action */ private @ElapsedRealtimeLong long mTimeElapsedOfCurrentAction; /** The array for the timers between recovery actions. */ private @NonNull long[] mDataStallRecoveryDelayMillisArray; Loading Loading @@ -467,6 +469,15 @@ public class DataStallRecoveryManager extends Handler { return (SystemClock.elapsedRealtime() - mTimeLastRecoveryStartMs); } /** * Get duration time for current recovery action. * * @return the time duration for current recovery action. */ private long getDurationOfCurrentRecoveryMs() { return (SystemClock.elapsedRealtime() - mTimeElapsedOfCurrentAction); } /** * Broadcast intent when data stall occurred. * Loading Loading @@ -594,6 +605,7 @@ public class DataStallRecoveryManager extends Handler { private void setNetworkValidationState(boolean isValid) { boolean isLogNeeded = false; int timeDuration = 0; int timeDurationOfCurrentAction = 0; boolean isFirstDataStall = false; boolean isFirstValidationAfterDoRecovery = false; @RecoveredReason int reason = getRecoveredReason(isValid); Loading Loading @@ -626,9 +638,11 @@ public class DataStallRecoveryManager extends Handler { } if (isLogNeeded) { timeDurationOfCurrentAction = (isFirstDataStall == true ? 0 : (int) getDurationOfCurrentRecoveryMs()); DataStallRecoveryStats.onDataStallEvent( mLastAction, mPhone, isValid, timeDuration, reason, isFirstValidationAfterDoRecovery); isFirstValidationAfterDoRecovery, timeDurationOfCurrentAction); logl( "data stall: " + (isFirstDataStall == true ? "start" : isValid == false ? "in process" : "end") Loading @@ -641,7 +655,9 @@ public class DataStallRecoveryManager extends Handler { + ", isFirstValidationAfterDoRecovery=" + isFirstValidationAfterDoRecovery + ", TimeDuration=" + timeDuration); + timeDuration + ", TimeDurationForCurrentRecoveryAction=" + timeDurationOfCurrentAction); } } Loading Loading @@ -692,6 +708,7 @@ public class DataStallRecoveryManager extends Handler { mLastActionReported = false; broadcastDataStallDetected(recoveryAction); mNetworkCheckTimerStarted = false; mTimeElapsedOfCurrentAction = SystemClock.elapsedRealtime(); switch (recoveryAction) { case RECOVERY_ACTION_GET_DATA_CALL_LIST: Loading
src/java/com/android/internal/telephony/metrics/DataStallRecoveryStats.java +4 −2 Original line number Diff line number Diff line Loading @@ -62,7 +62,8 @@ public class DataStallRecoveryStats { boolean isRecovered, int durationMillis, @DataStallRecoveryManager.RecoveredReason int reason, boolean isFirstValidation) { boolean isFirstValidation, int durationMillisOfCurrentAction) { if (phone.getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) { phone = phone.getDefaultPhone(); } Loading Loading @@ -131,7 +132,8 @@ public class DataStallRecoveryStats { otherNetworkRegState, phoneNetworkRegState, isFirstValidation, phoneId); phoneId, durationMillisOfCurrentAction); } /** Returns the RAT used for data (including IWLAN). */ Loading