Move reselect domain code block to a method

Bug: 353404282
Flag: EXEMPT refactor
Test: atest TeleServiceTests:NormalCallDomainSelectorTest
Change-Id: I7589f0965a312d62f76c89f81f4cbf2f82daaeb6
diff --git a/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java b/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
index bf6c647..906aa28 100644
--- a/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
+++ b/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
@@ -327,6 +327,49 @@
         }
     }
 
+    private void handleReselectDomain(ImsReasonInfo imsReasonInfo) {
+        mReselectDomain = false;
+
+        // Out of service
+        if (isOutOfService()) {
+            loge("Cannot place call in current ServiceState: " + mServiceState.getState());
+            notifySelectionTerminated(DisconnectCause.OUT_OF_SERVICE);
+            return;
+        }
+
+        // IMS -> CS
+        if (imsReasonInfo != null) {
+            logd("PsDisconnectCause:" + imsReasonInfo.getCode());
+            if (imsReasonInfo.getCode() == ImsReasonInfo.CODE_LOCAL_CALL_CS_RETRY_REQUIRED) {
+                logd("Redialing over CS");
+                notifyCsSelected();
+            } else {
+                // Not a valid redial
+                logd("Redialing cancelled.");
+                notifySelectionTerminated(DisconnectCause.NOT_VALID);
+            }
+            return;
+        }
+
+        // CS -> IMS
+        int csDisconnectCause = mSelectionAttributes.getCsDisconnectCause();
+        if (csDisconnectCause == CallFailCause.EMC_REDIAL_ON_IMS
+                || csDisconnectCause == CallFailCause.EMC_REDIAL_ON_VOWIFI) {
+            // Check IMS registration state.
+            if (mImsStateTracker.isImsRegistered()) {
+                logd("IMS is registered");
+                notifyPsSelected();
+                return;
+            }
+
+            logd("IMS is NOT registered");
+        }
+
+        // Not a valid redial
+        logd("Redialing cancelled.");
+        notifySelectionTerminated(DisconnectCause.NOT_VALID);
+    }
+
     private boolean isTtySupportedByIms() {
         CarrierConfigManager configManager = mContext.getSystemService(CarrierConfigManager.class);
 
@@ -363,50 +406,8 @@
         }
 
         // Check if this is a re-dial scenario
-        ImsReasonInfo imsReasonInfo = mSelectionAttributes.getPsDisconnectCause();
         if (mReselectDomain) {
-            mReselectDomain = false;
-
-            // Out of service
-            if (isOutOfService()) {
-                loge("Cannot place call in current ServiceState: " + mServiceState.getState());
-                notifySelectionTerminated(DisconnectCause.OUT_OF_SERVICE);
-
-                return;
-            }
-
-            // IMS -> CS
-            if (imsReasonInfo != null) {
-                logd("PsDisconnectCause:" + imsReasonInfo.getCode());
-                if (imsReasonInfo.getCode() == ImsReasonInfo.CODE_LOCAL_CALL_CS_RETRY_REQUIRED) {
-                    logd("Redialing over CS");
-                    notifyCsSelected();
-                } else {
-                    // Not a valid redial
-                    logd("Redialing cancelled.");
-                    notifySelectionTerminated(DisconnectCause.NOT_VALID);
-                }
-                return;
-            }
-
-            // CS -> IMS
-            int csDisconnectCause = mSelectionAttributes.getCsDisconnectCause();
-            switch (csDisconnectCause) {
-                case CallFailCause.EMC_REDIAL_ON_IMS:
-                case CallFailCause.EMC_REDIAL_ON_VOWIFI:
-                    // Check IMS registration state.
-                    if (mImsStateTracker.isImsRegistered()) {
-                        logd("IMS is registered");
-                        notifyPsSelected();
-                        return;
-                    } else {
-                        logd("IMS is NOT registered");
-                    }
-            }
-
-            // Not a valid redial
-            logd("Redialing cancelled.");
-            notifySelectionTerminated(DisconnectCause.NOT_VALID);
+            handleReselectDomain(mSelectionAttributes.getPsDisconnectCause());
             return;
         }