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

Commit 70a214c6 authored by Jack Yu's avatar Jack Yu
Browse files

Properly support handover retry

1. If retrying handover, do not tear down the
   data connection on the source transport.
2. For handover fallback, fail fast the retry instead
   of letting it retry and fail with ON_OTHER_TRANSPORT
   error. This is no behavioral change but optimization
   only.

Fix: 170796126
Test: Manual
Change-Id: I1ee4e638892bfdba19f368c5e2ae7ecaf2c7364c
parent ab52125c
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -410,6 +410,25 @@ public final class DataCallResponse implements Parcelable {
                }
            };

    /**
     * Convert handover failure mode to string.
     *
     * @param handoverFailureMode Handover failure mode
     * @return Handover failure mode in string
     *
     * @hide
     */
    public static String failureModeToString(@HandoverFailureMode int handoverFailureMode) {
        switch (handoverFailureMode) {
            case HANDOVER_FAILURE_MODE_UNKNOWN: return "unknown";
            case HANDOVER_FAILURE_MODE_LEGACY: return "legacy";
            case HANDOVER_FAILURE_MODE_DO_FALLBACK: return "fallback";
            case HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER: return "retry handover";
            case HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL: return "retry setup new one";
            default: return Integer.toString(handoverFailureMode);
        }
    }

    /**
     * Provides a convenient way to set the fields of a {@link DataCallResponse} when creating a new
     * instance.