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
}