Ver Mensaje Individual
  #1594  
Viejo 24/03/12, 19:54:21
Avatar de alonso_c
alonso_c
Usuario invitado
Mensajes: n/a
 
Mensajes: n/a
Mencionado: comentarios
Tagged: hilos
Cita:
Originalmente Escrito por elitemovil Ver Mensaje
Gracias crack, se agradece mucho el aporte.!!!!

Saludos.!

El método original es:

/**
* Set roaming state when gsmRoaming is true and, if operator mcc is the
* same as sim mcc, ons is different from spn
* @param gsmRoaming TS 27.007 7.2 CREG registered roaming
* @param s ServiceState hold current ons
* @return true for roaming state set
*
private boolean isRoamingBetweenOperators(boolean gsmRoaming, ServiceState s) {
String spn = SystemProperties.get(TelephonyProperties.PROPERTY_ ICC_OPERATOR_ALPHA, "empty");

String onsl = s.getOperatorAlphaLong();
String onss = s.getOperatorAlphaShort();
boolean equalsOnsl = onsl != null && spn.equals(onsl);
boolean equalsOnss = onss != null && spn.equals(onss);
String simNumeric = SystemProperties.get(
TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC, "");
String operatorNumeric = s.getOperatorNumeric();
boolean equalsMcc = true;
try {
equalsMcc = simNumeric.substring(0, 3).
equals(operatorNumeric.substring(0, 3));
} catch (Exception e){
}
return gsmRoaming && !(equalsMcc && (equalsOnsl || equalsOnss));
}

Para que quede más óptimo, se podrían quitar (comentar) varias cosas:


/**
* Set roaming state when gsmRoaming is true and, if operator mcc is the
* same as sim mcc, ons is different from spn
* @param gsmRoaming TS 27.007 7.2 CREG registered roaming
* @param s ServiceState hold current ons
* @return true for roaming state set
*
private boolean isRoamingBetweenOperators(boolean gsmRoaming, ServiceState s) {
String spn = SystemProperties.get(TelephonyProperties.PROPERTY_ ICC_OPERATOR_ALPHA, "empty");

//String onsl = s.getOperatorAlphaLong();
//String onss = s.getOperatorAlphaShort();
//boolean equalsOnsl = onsl != null && spn.equals(onsl);
//boolean equalsOnss = onss != null && spn.equals(onss);

String simNumeric = SystemProperties.get(
TelephonyProperties.PROPERTY_ICC_OPERATOR_NUMERIC, "");
String operatorNumeric = s.getOperatorNumeric();
boolean equalsMcc = true;
try {
equalsMcc = simNumeric.substring(0, 3).
equals(operatorNumeric.substring(0, 3));
} catch (Exception e){
}
return gsmRoaming && !(equalsMcc /*&& (equalsOnsl || equalsOnss)*);
}


Aunque esto no lo he probado.

Última edición por alonso_c Día 24/03/12 a las 20:00:35
Responder Con Cita
Los siguientes 3 usuarios han agradecido a su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]