am a2267451: Don\'t ever report a null ServiceState
* commit 'a2267451ddf91cc330f4c283e86811e38328915b': Don't ever report a null ServiceState
This commit is contained in:
@@ -473,8 +473,8 @@ public class ServiceState implements Parcelable {
|
||||
+ " EmergOnly=" + mIsEmergencyOnly);
|
||||
}
|
||||
|
||||
public void setStateOutOfService() {
|
||||
mState = STATE_OUT_OF_SERVICE;
|
||||
private void setNullState(int state) {
|
||||
mState = state;
|
||||
mRoaming = false;
|
||||
mOperatorAlphaLong = null;
|
||||
mOperatorAlphaShort = null;
|
||||
@@ -491,23 +491,12 @@ public class ServiceState implements Parcelable {
|
||||
mIsEmergencyOnly = false;
|
||||
}
|
||||
|
||||
// TODO - can't this be combined with the above method?
|
||||
public void setStateOutOfService() {
|
||||
setNullState(STATE_OUT_OF_SERVICE);
|
||||
}
|
||||
|
||||
public void setStateOff() {
|
||||
mState = 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;
|
||||
setNullState(STATE_POWER_OFF);
|
||||
}
|
||||
|
||||
public void setState(int state) {
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.net.LinkProperties;
|
||||
import android.os.Bundle;
|
||||
import android.os.RemoteException;
|
||||
import android.os.ServiceManager;
|
||||
import android.telephony.ServiceState;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -55,8 +56,13 @@ public class DefaultPhoneNotifier implements PhoneNotifier {
|
||||
}
|
||||
|
||||
public void notifyServiceState(Phone sender) {
|
||||
ServiceState ss = sender.getServiceState();
|
||||
if (ss == null) {
|
||||
ss = new ServiceState();
|
||||
ss.setStateOutOfService();
|
||||
}
|
||||
try {
|
||||
mRegistry.notifyServiceState(sender.getServiceState());
|
||||
mRegistry.notifyServiceState(ss);
|
||||
} catch (RemoteException ex) {
|
||||
// system process is dead
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user