public static void loadCellInfo(TelephonyManager tm, Device pDevice) { int lCurrentApiVersion = android.os.Build.VERSION.SDK_INT; try { if (pDevice.mCell == null) { pDevice.mCell = new Cell(); } List<CellInfo> cellInfoList = tm.getAllCellInfo(); if (cellInfoList != null) { for (final CellInfo info : cellInfoList) { //Network Type pDevice.mCell.setNetType(tm.getNetworkType()); if (info instanceof CellInfoGsm) { final CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength(); final CellIdentityGsm identityGsm = ((CellInfoGsm) info).getCellIdentity(); // Signal Strength pDevice.mCell.setDBM(gsm.getDbm()); // [dBm] // Cell Identity pDevice.mCell.setCID(identityGsm.getCid()); pDevice.mCell.setMCC(identityGsm.getMcc()); pDevice.mCell.setMNC(identityGsm.getMnc()); pDevice.mCell.setLAC(identityGsm.getLac()); } else if (info instanceof CellInfoCdma) { final CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength(); final CellIdentityCdma identityCdma = ((CellInfoCdma) info).getCellIdentity(); // Signal Strength pDevice.mCell.setDBM(cdma.getDbm()); // Cell Identity pDevice.mCell.setCID(identityCdma.getBasestationId()); pDevice.mCell.setMNC(identityCdma.getSystemId()); pDevice.mCell.setLAC(identityCdma.getNetworkId()); pDevice.mCell.setSID(identityCdma.getSystemId()); } else if (info instanceof CellInfoLte) { final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength(); final CellIdentityLte identityLte = ((CellInfoLte) info).getCellIdentity(); // Signal Strength pDevice.mCell.setDBM(lte.getDbm()); pDevice.mCell.setTimingAdvance(lte.getTimingAdvance()); // Cell Identity pDevice.mCell.setMCC(identityLte.getMcc()); pDevice.mCell.setMNC(identityLte.getMnc()); pDevice.mCell.setCID(identityLte.getCi()); } else if (lCurrentApiVersion >= Build.VERSION_CODES.JELLY_BEAN_MR2 && info instanceof CellInfoWcdma) { final CellSignalStrengthWcdma wcdma = ((CellInfoWcdma) info).getCellSignalStrength(); final CellIdentityWcdma identityWcdma = ((CellInfoWcdma) info).getCellIdentity(); // Signal Strength pDevice.mCell.setDBM(wcdma.getDbm()); // Cell Identity pDevice.mCell.setLAC(identityWcdma.getLac()); pDevice.mCell.setMCC(identityWcdma.getMcc()); pDevice.mCell.setMNC(identityWcdma.getMnc()); pDevice.mCell.setCID(identityWcdma.getCid()); pDevice.mCell.setPSC(identityWcdma.getPsc()); } else { Log.i(TAG, mTAG + "Unknown type of cell signal!" + "\n ClassName: " + info.getClass().getSimpleName() + "\n ToString: " + info.toString()); } if (pDevice.mCell.isValid()) { break; } } } } catch (NullPointerException npe) { Log.e(TAG, mTAG + "loadCellInfo: Unable to obtain cell signal information: ", npe); } }
/** * Converts CellInfoLte into JSON * @param cellInfo CellInfoLte * @return JSON */ public static String cellInfoLTEJSON(CellInfoLte cellInfo, boolean returnSignalStrength){ final Calendar calendar = Calendar.getInstance(); final JSONObject json = new JSONObject(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && cellInfo != null) { try { json.put("provider", CELLINFO_PROVIDER); json.put("type", LTE); json.put("timestamp", calendar.getTimeInMillis()); final CellIdentityLte identityLte = cellInfo.getCellIdentity(); json.put("ci", identityLte.getCi()); json.put("mcc", identityLte.getMcc()); json.put("mnc", identityLte.getMnc()); json.put("pci", identityLte.getPci()); json.put("tac", identityLte.getTac()); if (returnSignalStrength){ final JSONObject jsonSignalStrength = new JSONObject(); final CellSignalStrengthLte cellSignalStrengthLte = cellInfo.getCellSignalStrength(); jsonSignalStrength.put("asuLevel", cellSignalStrengthLte.getAsuLevel()); jsonSignalStrength.put("dbm", cellSignalStrengthLte.getDbm()); jsonSignalStrength.put("level", cellSignalStrengthLte.getLevel()); jsonSignalStrength.put("timingAdvance", cellSignalStrengthLte.getTimingAdvance()); json.put("cellSignalStrengthLte", jsonSignalStrength); } } catch(JSONException exc) { logJSONException(exc); } } return json.toString(); }
public CellSignalStrength(CellSignalStrengthLte ss) { String desc = ss.toString(); setRsrp(getSignalStrengthValueFromDescriptionString(desc,"rsrp")); setRsrq(getSignalStrengthValueFromDescriptionString(desc,"rsrq")); setRssnr(getSignalStrengthValueFromDescriptionString(desc,"rssnr")); setCqi(getSignalStrengthValueFromDescriptionString(desc,"cqi")); setTimingAdvance(ss.getTimingAdvance()); //setSignal(ss.getDbm()); }
public static SubjectFactory<CellSignalStrengthLteSubject, CellSignalStrengthLte> type() { return new SubjectFactory<CellSignalStrengthLteSubject, CellSignalStrengthLte>() { @Override public CellSignalStrengthLteSubject getSubject(FailureStrategy fs, CellSignalStrengthLte that) { return new CellSignalStrengthLteSubject(fs, that); } }; }
public static void loadCellInfo(TelephonyManager tm, Device pDevice) { int lCurrentApiVersion = Build.VERSION.SDK_INT; try { if (pDevice.cell == null) { pDevice.cell = new Cell(); } List<CellInfo> cellInfoList = tm.getAllCellInfo(); if (cellInfoList != null) { for (final CellInfo info : cellInfoList) { //Network Type pDevice.cell.setNetType(tm.getNetworkType()); if (info instanceof CellInfoGsm) { final CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength(); final CellIdentityGsm identityGsm = ((CellInfoGsm) info).getCellIdentity(); // Signal Strength pDevice.cell.setDbm(gsm.getDbm()); // [dBm] // Cell Identity pDevice.cell.setCellId(identityGsm.getCid()); pDevice.cell.setMobileCountryCode(identityGsm.getMcc()); pDevice.cell.setMobileNetworkCode(identityGsm.getMnc()); pDevice.cell.setLocationAreaCode(identityGsm.getLac()); } else if (info instanceof CellInfoCdma) { final CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength(); final CellIdentityCdma identityCdma = ((CellInfoCdma) info).getCellIdentity(); // Signal Strength pDevice.cell.setDbm(cdma.getDbm()); // Cell Identity pDevice.cell.setCellId(identityCdma.getBasestationId()); pDevice.cell.setMobileNetworkCode(identityCdma.getSystemId()); pDevice.cell.setLocationAreaCode(identityCdma.getNetworkId()); pDevice.cell.setSid(identityCdma.getSystemId()); } else if (info instanceof CellInfoLte) { final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength(); final CellIdentityLte identityLte = ((CellInfoLte) info).getCellIdentity(); // Signal Strength pDevice.cell.setDbm(lte.getDbm()); pDevice.cell.setTimingAdvance(lte.getTimingAdvance()); // Cell Identity pDevice.cell.setMobileCountryCode(identityLte.getMcc()); pDevice.cell.setMobileNetworkCode(identityLte.getMnc()); pDevice.cell.setCellId(identityLte.getCi()); } else if (lCurrentApiVersion >= Build.VERSION_CODES.JELLY_BEAN_MR2 && info instanceof CellInfoWcdma) { final CellSignalStrengthWcdma wcdma = ((CellInfoWcdma) info).getCellSignalStrength(); final CellIdentityWcdma identityWcdma = ((CellInfoWcdma) info).getCellIdentity(); // Signal Strength pDevice.cell.setDbm(wcdma.getDbm()); // Cell Identity pDevice.cell.setLocationAreaCode(identityWcdma.getLac()); pDevice.cell.setMobileCountryCode(identityWcdma.getMcc()); pDevice.cell.setMobileNetworkCode(identityWcdma.getMnc()); pDevice.cell.setCellId(identityWcdma.getCid()); pDevice.cell.setPrimaryScramblingCode(identityWcdma.getPsc()); } else { log.info("Unknown type of cell signal!" + "\n ClassName: " + info.getClass().getSimpleName() + "\n ToString: " + info.toString()); } if (pDevice.cell.isValid()) { break; } } } } catch (NullPointerException npe) { log.error("loadCellInfo: Unable to obtain cell signal information: ", npe); } }
public static void fill(TheDictionary map, CellSignalStrengthLte value) throws Exception { if (value != null) { int i; i = value.getTimingAdvance(); if (i != Integer.MAX_VALUE) map.put("timing_advance", i); i = value.getAsuLevel(); if (i != 99) map.put("asu_level", i); map.put("dbm", value.getDbm()); map.put("level", value.getLevel()); } }
public CellInfoLteAssert hasCellSignalStrength(CellSignalStrengthLte cellSignalStrength) { isNotNull(); CellSignalStrengthLte actualCellSignalStrength = actual.getCellSignalStrength(); assertThat(actualCellSignalStrength) // .overridingErrorMessage("Expected cell signal strength <%s> but was <%s>.", cellSignalStrength, actualCellSignalStrength) // .isEqualTo(cellSignalStrength); return this; }
public CellInfoLteSubject hasCellSignalStrength(CellSignalStrengthLte cellSignalStrength) { assertThat(actual().getCellSignalStrength()) .named("cell signal strength") .isEqualTo(cellSignalStrength); return this; }
private CellSignalStrengthLteSubject(FailureStrategy failureStrategy, CellSignalStrengthLte subject) { super(failureStrategy, subject); }
public CellSignalStrengthLteAssert(CellSignalStrengthLte actual) { super(actual, CellSignalStrengthLteAssert.class); }