am a2267451: Don\'t ever report a null ServiceState

* commit 'a2267451ddf91cc330f4c283e86811e38328915b':
  Don't ever report a null ServiceState
This commit is contained in:
Robert Greenwalt
2011-06-30 14:50:32 -07:00
committed by Android Git Automerger
2 changed files with 14 additions and 19 deletions

View File

@@ -473,8 +473,8 @@ public class ServiceState implements Parcelable {
+ " EmergOnly=" + mIsEmergencyOnly); + " EmergOnly=" + mIsEmergencyOnly);
} }
public void setStateOutOfService() { private void setNullState(int state) {
mState = STATE_OUT_OF_SERVICE; mState = state;
mRoaming = false; mRoaming = false;
mOperatorAlphaLong = null; mOperatorAlphaLong = null;
mOperatorAlphaShort = null; mOperatorAlphaShort = null;
@@ -491,23 +491,12 @@ public class ServiceState implements Parcelable {
mIsEmergencyOnly = false; mIsEmergencyOnly = false;
} }
// TODO - can't this be combined with the above method? public void setStateOutOfService() {
setNullState(STATE_OUT_OF_SERVICE);
}
public void setStateOff() { public void setStateOff() {
mState = STATE_POWER_OFF; setNullState(STATE_POWER_OFF);
mRoaming = false;
mOperatorAlphaLong = null;
mOperatorAlphaShort = null;
mOperatorNumeric = null;
mIsManualNetworkSelection = false;
mRadioTechnology = 0;
mCssIndicator = false;
mNetworkId = -1;
mSystemId = -1;
mCdmaRoamingIndicator = -1;
mCdmaDefaultRoamingIndicator = -1;
mCdmaEriIconIndex = -1;
mCdmaEriIconMode = -1;
mIsEmergencyOnly = false;
} }
public void setState(int state) { public void setState(int state) {

View File

@@ -21,6 +21,7 @@ import android.net.LinkProperties;
import android.os.Bundle; import android.os.Bundle;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceManager; import android.os.ServiceManager;
import android.telephony.ServiceState;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.util.Log; import android.util.Log;
@@ -55,8 +56,13 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
} }
public void notifyServiceState(Phone sender) { public void notifyServiceState(Phone sender) {
ServiceState ss = sender.getServiceState();
if (ss == null) {
ss = new ServiceState();
ss.setStateOutOfService();
}
try { try {
mRegistry.notifyServiceState(sender.getServiceState()); mRegistry.notifyServiceState(ss);
} catch (RemoteException ex) { } catch (RemoteException ex) {
// system process is dead // system process is dead
} }