Handle SIGNAL_LOST(-3) as a retryable error.
Wink Saville [Fri, 27 Sep 2013 17:53:46 +0000 (10:53 -0700)]
Qualcomm reports SIGNAL_LOST when a signal is lost temporarily
and should be retired. If a radio technology changes then the
DataConnection will stop retrying and the DcTracker will get a
new configuration and setup a new data call. If the rat doesn't
change then DataConnection will reestablish the call on the next
retry attempt.

Bug: 10804691
Change-Id: I4d310e7f2ea2dc46c7bcdd2b8687d1ef6b901e01

src/java/com/android/internal/telephony/dataconnection/DcFailCause.java

index 8729551..a61b35f 100644 (file)
@@ -47,7 +47,7 @@ public enum DcFailCause {
     // specified in ril.h
     REGISTRATION_FAIL(-1),
     GPRS_REGISTRATION_FAIL(-2),
-    SIGNAL_LOST(-3),                        /* no retry */
+    SIGNAL_LOST(-3),
     PREF_RADIO_TECH_CHANGED(-4),            /* no retry */
     RADIO_POWER_OFF(-5),                    /* no retry */
     TETHERED_CALL_ACTIVE(-6),               /* no retry */
@@ -90,7 +90,7 @@ public enum DcFailCause {
                (this == ACTIVATION_REJECT_GGSN) || (this == SERVICE_OPTION_NOT_SUPPORTED) ||
                (this == SERVICE_OPTION_NOT_SUBSCRIBED) || (this == NSAPI_IN_USE) ||
                (this == ONLY_IPV4_ALLOWED) || (this == ONLY_IPV6_ALLOWED) ||
-               (this == PROTOCOL_ERRORS) || (this == SIGNAL_LOST) ||
+               (this == PROTOCOL_ERRORS) ||
                (this == RADIO_POWER_OFF) || (this == TETHERED_CALL_ACTIVE) ||
                (this == RADIO_NOT_AVAILABLE) || (this == UNACCEPTABLE_NETWORK_PARAMETER);
     }