am 0fc4accd: am 3a2daaba: Fix EmergencyCallHelper to always use the current phone object.

* commit '0fc4accdac502d9f4ee20b0b736eb9a9dd305f9a':
  Fix EmergencyCallHelper to always use the current phone object.
diff --git a/src/com/android/phone/EmergencyCallHelper.java b/src/com/android/phone/EmergencyCallHelper.java
index 866f2be..47f0e54 100644
--- a/src/com/android/phone/EmergencyCallHelper.java
+++ b/src/com/android/phone/EmergencyCallHelper.java
@@ -20,7 +20,6 @@
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
-import com.android.phone.Constants.CallStatusCode;
 
 import android.content.Context;
 import android.content.Intent;
@@ -67,7 +66,6 @@
     private CallController mCallController;
     private PhoneGlobals mApp;
     private CallManager mCM;
-    private Phone mPhone;
     private String mNumber;  // The emergency number we're trying to dial
     private int mNumRetriesSoFar;
 
@@ -136,7 +134,7 @@
     /**
      * Actual implementation of startEmergencyCallFromAirplaneModeSequence(),
      * guaranteed to run on the handler thread.
-     * @see startEmergencyCallFromAirplaneModeSequence()
+     * @see #startEmergencyCallFromAirplaneModeSequence
      */
     private void startSequenceInternal(Message msg) {
         if (DBG) log("startSequenceInternal(): msg = " + msg);
@@ -153,9 +151,6 @@
 
         mNumRetriesSoFar = 0;
 
-        // Reset mPhone to whatever the current default phone is right now.
-        mPhone = mApp.mCM.getDefaultPhone();
-
         // Wake lock to make sure the processor doesn't go to sleep midway
         // through the emergency call sequence.
         PowerManager pm = (PowerManager) mApp.getSystemService(Context.POWER_SERVICE);
@@ -269,7 +264,7 @@
      */
     private void onRetryTimeout() {
         PhoneConstants.State phoneState = mCM.getState();
-        int serviceState = mPhone.getServiceState().getState();
+        int serviceState = mCM.getDefaultPhone().getServiceState().getState();
         if (DBG) log("onRetryTimeout():  phone state " + phoneState
                      + ", service state " + serviceState
                      + ", mNumRetriesSoFar = " + mNumRetriesSoFar);
@@ -346,7 +341,7 @@
             // in airplane mode.)  In this case just turn the radio
             // back on.
             if (DBG) log("==> (Apparently) not in airplane mode; manually powering radio on...");
-            mPhone.setRadioPower(true);
+            mCM.getDefaultPhone().setRadioPower(true);
         }
     }
 
@@ -370,7 +365,7 @@
 
         if (DBG) log("- placing call to '" + mNumber + "'...");
         int callStatus = PhoneUtils.placeCall(mApp,
-                                              mPhone,
+                                              mCM.getDefaultPhone(),
                                               mNumber,
                                               null,  // contactUri
                                               true); // isEmergencyCall
@@ -479,14 +474,16 @@
         // Unregister first, just to make sure we never register ourselves
         // twice.  (We need this because Phone.registerForServiceStateChanged()
         // does not prevent multiple registration of the same handler.)
-        mPhone.unregisterForServiceStateChanged(this);  // Safe even if not currently registered
-        mPhone.registerForServiceStateChanged(this, SERVICE_STATE_CHANGED, null);
+        Phone phone = mCM.getDefaultPhone();
+        phone.unregisterForServiceStateChanged(this);  // Safe even if not currently registered
+        phone.registerForServiceStateChanged(this, SERVICE_STATE_CHANGED, null);
     }
 
     private void unregisterForServiceStateChanged() {
         // This method is safe to call even if we haven't set mPhone yet.
-        if (mPhone != null) {
-            mPhone.unregisterForServiceStateChanged(this);  // Safe even if unnecessary
+        Phone phone = mCM.getDefaultPhone();
+        if (phone != null) {
+            phone.unregisterForServiceStateChanged(this);  // Safe even if unnecessary
         }
         removeMessages(SERVICE_STATE_CHANGED);  // Clean up any pending messages too
     }