in archived/PhoneCall/cs/Helpers/CallingInfo.cs [195:298]
private void updateCellularInformation()
{
PhoneLine line = currentPhoneLine;
PhoneLineCellularDetails cellularDetails = line.CellularDetails;
//Update SIM slot index
currentSIMSlotIndex = cellularDetails.SimSlotIndex;
//Update display name
currentDisplayName = line.DisplayName;
//Update display Color
currentDisplayColor = line.DisplayColor;
//Update voicemail number
currentVoicemailNumber = line.Voicemail.Number;
//Update voicemail count
currentVoicemailCount = line.Voicemail.MessageCount;
//Set default operator name
currentOperatorName = "N/A";
//Update sim state
PhoneSimState simState = cellularDetails.SimState;
switch (simState)
{
case PhoneSimState.Unknown:
currentSIMState = "Unknown";
break;
case PhoneSimState.PinNotRequired:
currentSIMState = "Pin Not Required";
break;
case PhoneSimState.PinUnlocked:
currentSIMState = "Pin Unlocked";
break;
case PhoneSimState.PinLocked:
currentSIMState = "Pin Locked";
break;
case PhoneSimState.PukLocked:
currentSIMState = "Puk Locked";
break;
case PhoneSimState.NotInserted:
currentSIMState = "No SIM";
break;
case PhoneSimState.Invalid:
currentSIMState = "Invalid";
break;
case PhoneSimState.Disabled:
currentSIMState = "Disabled";
break;
default:
currentSIMState = "Unknown";
break;
}
//Update network state
PhoneNetworkState networkState = line.NetworkState;
switch (line.NetworkState)
{
case PhoneNetworkState.NoSignal:
if ((bool)line.LineConfiguration.ExtendedProperties["ShouldDisplayEmergencyCallState"])
{
currentNetworkState = "Emergency calls only";
break;
}
else
{
currentNetworkState = "No Service";
break;
}
case PhoneNetworkState.Deregistered:
currentNetworkState = "Deregistered";
break;
case PhoneNetworkState.Denied:
currentNetworkState = "Denied";
break;
case PhoneNetworkState.Searching:
currentNetworkState = "Searching";
break;
case PhoneNetworkState.Home:
currentNetworkState = "Connected";
currentOperatorName = line.NetworkName;
break;
case PhoneNetworkState.RoamingInternational:
currentNetworkState = "Roaming International";
currentOperatorName = line.NetworkName;
break;
case PhoneNetworkState.RoamingDomestic:
currentNetworkState = "Roaming Domestic";
currentOperatorName = line.NetworkName;
break;
default:
currentNetworkState = "Unknown";
break;
}
//Cell info update complete. Fire event
if (CellInfoUpdateCompleted != null)
{
CellInfoUpdateCompleted();
}
}