List of usage examples for android.telephony TelephonyManager PHONE_TYPE_GSM
int PHONE_TYPE_GSM
To view the source code for android.telephony TelephonyManager PHONE_TYPE_GSM.
Click Source Link
From source file:com.mobilyzer.util.PhoneUtils.java
/** Returns "GSM", "CDMA". */ private String getTelephonyPhoneType() { switch (telephonyManager.getPhoneType()) { case TelephonyManager.PHONE_TYPE_CDMA: return "CDMA"; case TelephonyManager.PHONE_TYPE_GSM: return "GSM"; case TelephonyManager.PHONE_TYPE_NONE: return "None"; }// w ww.jav a 2 s . c om return "Unknown"; }
From source file:org.restcomm.app.utillib.DataObjects.PhoneState.java
public int getNetworkTypeNumber() { // Any UMTS based technologies, return 2 switch (getNetworkType()) { case TelephonyManager.NETWORK_TYPE_HSDPA: case TelephonyManager.NETWORK_TYPE_HSPA: case TelephonyManager.NETWORK_TYPE_HSUPA: case TelephonyManager.NETWORK_TYPE_UMTS: case NETWORK_NEWTYPE_HSPAP: return 2; }//from w w w. j ava2 s . co m if (getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) return 1; // TODO: Can we detect UMTS and return 2? Otherwise it returns 1 for GSM which is fine if (getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) return 3; return 0; }
From source file:com.secupwn.aimsicd.service.CellTracker.java
/** * I removed the timer that activated this code and now the code will be run when * the cell changes so it will detect faster rather than using a timer that might * miss an imsi catcher, also says cpu rather than refreshing every x seconds. * * original comments below from xLaMbChOpSx * * * Description: (From xLaMbChOpSx commit comment) * * Initial implementation for detection method 1 to compare the CID & LAC with the Cell * Information Table contents as an initial implementation for detection of a changed LAC, * once OCID issues (API key use etc) have been finalised this detection method can be * extended to include checking of external data. * * REMOVED: refresh timer info// w ww.ja va 2s .c om * * As I have no real way of testing this I require testing by other project members who * do have access to equipment or an environment where a changing LAC can be simulated * thus confirming the accuracy of this implementation. * * Presently this will only invoke the MEDIUM threat level through the notification and * does not fully implement the capturing and score based method as per the issue details * once further testing is complete the alert and tracking of information can be refined. * * See: * https://github.com/xLaMbChOpSx/Android-IMSI-Catcher-Detector/commit/43ae77e2a0cad10dfd50f92da5a998f9ece95b38 * https://github.com/SecUpwN/Android-IMSI-Catcher-Detector/issues/91#issuecomment-64391732 * * Short explanation: * * This is a polling mechanism for getting the LAC/CID and location * info for the currently connected cell. * * Variables: * FIXED: now updates on cell change rather than a timer * There is a "timer" here (REFRESH_RATE), what exactly is it timing? * "Every REFRESH_RATE seconds, get connected cell details." * * Issues: [ ] We shouldn't do any detection here! * [ ] We might wanna use a listener to do this? * Are there any reasons why not using a listener? * * ChangeLog: * 2015-03-03 E:V:A Changed getProp() to use TinyDB (SharedPreferences) * 2015-0x-xx banjaxbanjo Update: ??? (hey dude what did you do?) * */ public void compareLac(CellLocation location) { @Cleanup Realm realm = Realm.getDefaultInstance(); switch (device.getPhoneId()) { case TelephonyManager.PHONE_TYPE_NONE: case TelephonyManager.PHONE_TYPE_SIP: case TelephonyManager.PHONE_TYPE_GSM: GsmCellLocation gsmCellLocation = (GsmCellLocation) location; if (gsmCellLocation != null) { monitorCell.setLocationAreaCode(gsmCellLocation.getLac()); monitorCell.setCellId(gsmCellLocation.getCid()); // Check if LAC is ok boolean lacOK = dbHelper.checkLAC(realm, monitorCell); if (!lacOK) { changedLAC = true; dbHelper.toEventLog(realm, 1, "Changing LAC"); // Detection Logs are made in checkLAC() vibrate(100, Status.MEDIUM); } else { changedLAC = false; } if (tinydb.getBoolean("ocid_downloaded")) { if (!dbHelper.openCellExists(realm, monitorCell.getCellId())) { dbHelper.toEventLog(realm, 2, "CID not in Import realm"); log.info("ALERT: Connected to unknown CID not in Import realm: " + monitorCell.getCellId()); vibrate(100, Status.MEDIUM); cellIdNotInOpenDb = true; } else { cellIdNotInOpenDb = false; } } } break; case TelephonyManager.PHONE_TYPE_CDMA: CdmaCellLocation cdmaCellLocation = (CdmaCellLocation) location; if (cdmaCellLocation != null) { monitorCell.setLocationAreaCode(cdmaCellLocation.getNetworkId()); monitorCell.setCellId(cdmaCellLocation.getBaseStationId()); boolean lacOK = dbHelper.checkLAC(realm, monitorCell); if (!lacOK) { changedLAC = true; /*dbHelper.insertEventLog( MiscUtils.getCurrentTimeStamp(), monitorCell.getLAC(), monitorCell.getCid(), monitorCell.getPSC(),//This is giving weird values like 21478364... is this right? String.valueOf(monitorCell.getLat()), String.valueOf(monitorCell.getLon()), (int)monitorCell.getAccuracy(), 1, "Changing LAC" );*/ dbHelper.toEventLog(realm, 1, "Changing LAC"); } else { changedLAC = false; } } } setNotification(); }
From source file:com.compal.telephonytest.TelephonyTest.java
public void InformatonAndStatusCheck() { StringBuilder sb = new StringBuilder(""); boolean hasFailInfo = false; if (mTelephonyManager.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE) { sb.append("getPhoneType:" + Integer.toString(mTelephonyManager.getPhoneType()) + "\n"); } else {//from w ww. j a v a 2s . co m sb.append("getPhoneType:" + "fail"); hasFailInfo = true; } if (mTelephonyManager.getNetworkType() != TelephonyManager.NETWORK_TYPE_UNKNOWN) { sb.append("getNetworkType:" + Integer.toString(mTelephonyManager.getNetworkType()) + "\n"); } else { sb.append("getNetworkType:" + "fail"); hasFailInfo = true; } String operatorName = mTelephonyManager.getNetworkOperatorName(); if (operatorName != null && !operatorName.equals("")) { // OperatorName sb.append("getNetworkOperatorName:" + mTelephonyManager.getNetworkOperatorName() + "\n"); } else { sb.append("getNetworkOperatorName:" + "fail"); hasFailInfo = true; } String serial = Build.SERIAL; if (serial != null && !serial.equals("")) { // SerialNumber sb.append("get Serial Number:" + serial + "\n"); } else { sb.append("get Serial Number:" + "fail"); hasFailInfo = true; } if (mTelephonyManager.getSimState() != TelephonyManager.SIM_STATE_UNKNOWN) { sb.append("getSimState:" + Integer.toString(mTelephonyManager.getSimState()) + "\n"); } else { sb.append("getSimState:" + "fail"); hasFailInfo = true; } //It's all ok sb.append("isNetworkRoaming:" + Boolean.toString(mTelephonyManager.isNetworkRoaming()) + "\n"); if (mTelephonyManager.getDataState() != TelephonyManager.DATA_DISCONNECTED) { sb.append("getDataState:" + Integer.toString(mTelephonyManager.getDataState()) + "\n"); } else { sb.append("getDataState:" + "fail"); hasFailInfo = true; } String formatIP = formatIpAddresses(mLinkProperties); if (formatIP != null && !formatIP.equals("")) { //IP Address sb.append("IP Address:" + formatIpAddresses(mLinkProperties) + "\n"); } else { sb.append("IP Address:" + "fail"); hasFailInfo = true; } if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { if (checkGsmDeviceId(mTelephonyManager.getDeviceId())) { sb.append("IMEI:" + mTelephonyManager.getDeviceId() + "\n"); } else { sb.append("IMEI:" + "fail"); hasFailInfo = true; } } else { sb.append("IMEI:" + "fail"); hasFailInfo = true; } Log.i(tag, sb.toString()); mLog = sb.toString(); if (!hasFailInfo) { Log.i(tag, "test_5th_InformatonAndStatus true"); outputResult(true, tTelephonyBasicFunc, dBasicInformation, testCaseId); } else { Log.i(tag, "test_5th_InformatonAndStatus false"); outputResult(false, tTelephonyBasicFunc, dBasicInformation, testCaseId); } //Log.i(tag, "getPhoneType:" + Integer.toString(mTelephonyManager.getPhoneType())); //Log.i(tag, "getNetworkType:" + Integer.toString(mTelephonyManager.getNetworkType())); //Log.i(tag, "getNetworkOperatorName:" + mTelephonyManager.getNetworkOperatorName()); //Log.i(tag, "getSimSerialNumber:" + mTelephonyManager.getSimSerialNumber()); //Log.i(tag, "getSimState:" + Integer.toString(mTelephonyManager.getSimState())); //Log.i(tag, "isNetworkRoaming:" + Boolean.toString(mTelephonyManager.isNetworkRoaming())); //Log.i(tag, "getDataState:" + Integer.toString(mTelephonyManager.getDataState())); //Log.i(tag,"formatIpAddresses(mLinkProperties): " + formatIpAddresses(mLinkProperties)); }
From source file:org.restcomm.app.utillib.Reporters.ReportManager.java
/** * @return {@link DeviceInfo} object used to get device properties * @throws RuntimeException if phone type is not GSM or CDMA *//* w ww . j a v a 2 s. co m*/ public DeviceInfo getDevice() { int phoneType = ((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE)).getPhoneType(); if (phoneType == TelephonyManager.PHONE_TYPE_GSM) { return new GSMDevice(mContext); } else if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) { return new CDMADevice(mContext); } else { return new GSMDevice(mContext); //throw new RuntimeException("Unsupported phone type"); } }
From source file:com.android.bluetooth.map.BluetoothMapContent.java
private void setType(BluetoothMapMessageListingElement e, Cursor c, FilterInfo fi, BluetoothMapAppParams ap) { if ((ap.getParameterMask() & MASK_TYPE) != 0) { TYPE type = null;//from w w w . j av a 2 s .co m if (fi.msgType == FilterInfo.TYPE_SMS) { if (fi.phoneType == TelephonyManager.PHONE_TYPE_GSM) { type = TYPE.SMS_GSM; } else if (fi.phoneType == TelephonyManager.PHONE_TYPE_CDMA) { type = TYPE.SMS_CDMA; } } else if (fi.msgType == FilterInfo.TYPE_MMS) { type = TYPE.MMS; } else { type = TYPE.EMAIL; } if (D) Log.d(TAG, "setType: " + type); e.setType(type); } }
From source file:com.secupwn.aimsicd.service.CellTracker.java
/** * Add entries to the {@link com.secupwn.aimsicd.data.model.Measure Measure} realm *///w w w .j av a 2 s . c o m public void onLocationChanged(Location loc) { // TODO: See issue #555 (DeviceApi17.java is using API 18 CellInfoWcdma calls. if (Build.VERSION.SDK_INT > 17) { DeviceApi18.loadCellInfo(tm, device); } if (!device.cell.isValid()) { CellLocation cellLocation = tm.getCellLocation(); if (cellLocation != null) { switch (device.getPhoneId()) { case TelephonyManager.PHONE_TYPE_NONE: case TelephonyManager.PHONE_TYPE_SIP: case TelephonyManager.PHONE_TYPE_GSM: GsmCellLocation gsmCellLocation = (GsmCellLocation) cellLocation; device.cell.setCellId(gsmCellLocation.getCid()); // CID device.cell.setLocationAreaCode(gsmCellLocation.getLac()); // LAC device.cell.setPrimaryScramblingCode(gsmCellLocation.getPsc()); // PSC break; case TelephonyManager.PHONE_TYPE_CDMA: CdmaCellLocation cdmaCellLocation = (CdmaCellLocation) cellLocation; device.cell.setCellId(cdmaCellLocation.getBaseStationId()); // BSID ?? device.cell.setLocationAreaCode(cdmaCellLocation.getNetworkId()); // NID device.cell.setSid(cdmaCellLocation.getSystemId()); // SID device.cell.setMobileNetworkCode(cdmaCellLocation.getSystemId()); // MNC <== BUG!?? break; } } } if (loc != null && (Double.doubleToRawLongBits(loc.getLatitude()) != 0 && Double.doubleToRawLongBits(loc.getLongitude()) != 0)) { device.cell.setLon(loc.getLongitude()); // gpsd_lon device.cell.setLat(loc.getLatitude()); // gpsd_lat device.cell.setSpeed(loc.getSpeed()); // speed // TODO: Remove, we're not using it! device.cell.setAccuracy(loc.getAccuracy()); // gpsd_accu device.cell.setBearing(loc.getBearing()); // -- [deg]?? // TODO: Remove, we're not using it! device.setLastLocation(loc); // // Store last known location in preference SharedPreferences.Editor prefsEditor; prefsEditor = prefs.edit(); prefsEditor.putString(context.getString(R.string.data_last_lat_lon), String.valueOf(loc.getLatitude()) + ":" + String.valueOf(loc.getLongitude())); prefsEditor.apply(); // This only logs a BTS if we have GPS lock // TODO: Is correct behaviour? We should consider logging all cells, even without GPS. if (trackingCell) { // This also checks that the locationAreaCode are cid are not in DB before inserting @Cleanup Realm realm = Realm.getDefaultInstance(); dbHelper.insertBTS(realm, device.cell); } } }
From source file:com.android.bluetooth.map.BluetoothMapContent.java
private void setHandle(BluetoothMapMessageListingElement e, Cursor c, FilterInfo fi, BluetoothMapAppParams ap) { long handle = c.getLong(c.getColumnIndex(BaseColumns._ID)); TYPE type = null;// w w w. j a v a 2 s . c o m if (fi.msgType == FilterInfo.TYPE_SMS) { if (fi.phoneType == TelephonyManager.PHONE_TYPE_GSM) { type = TYPE.SMS_GSM; } else if (fi.phoneType == TelephonyManager.PHONE_TYPE_CDMA) { type = TYPE.SMS_CDMA; } } else if (fi.msgType == FilterInfo.TYPE_MMS) { type = TYPE.MMS; } else { type = TYPE.EMAIL; } if (D && type != null) Log.d(TAG, "setHandle: " + handle + " - Type: " + type.name()); e.setHandle(handle, type); }
From source file:com.android.bluetooth.map.BluetoothMapContent.java
private boolean smsSelected(FilterInfo fi, BluetoothMapAppParams ap) { int msgType = ap.getFilterMessageType(); int phoneType = fi.phoneType; if (msgType == -1) return true; if ((msgType & 0x03) == 0) return true; if (((msgType & 0x01) == 0) && (phoneType == TelephonyManager.PHONE_TYPE_GSM)) return true; if (((msgType & 0x02) == 0) && (phoneType == TelephonyManager.PHONE_TYPE_CDMA)) return true; return false; }
From source file:com.android.bluetooth.map.BluetoothMapContent.java
public byte[] getSmsMessage(long id, int charset) throws UnsupportedEncodingException { int type, threadId; long time = -1; String msgBody;/*from w w w . j a va2 s.co m*/ BluetoothMapbMessageSms message = new BluetoothMapbMessageSms(); TelephonyManager tm = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); Cursor c = mResolver.query(Sms.CONTENT_URI, SMS_PROJECTION, "_ID = " + id, null, null); if (c == null || !c.moveToFirst()) { throw new IllegalArgumentException("SMS handle not found"); } try { if (V) Log.v(TAG, "c.count: " + c.getCount()); if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { message.setType(TYPE.SMS_GSM); } else if (tm.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) { message.setType(TYPE.SMS_CDMA); } else { // set SMS_GSM by default message.setType(TYPE.SMS_GSM); } String read = c.getString(c.getColumnIndex(Sms.READ)); if (read.equalsIgnoreCase("1")) message.setStatus(true); else message.setStatus(false); type = c.getInt(c.getColumnIndex(Sms.TYPE)); threadId = c.getInt(c.getColumnIndex(Sms.THREAD_ID)); message.setFolder(getFolderName(type, threadId)); msgBody = c.getString(c.getColumnIndex(Sms.BODY)); String phone = c.getString(c.getColumnIndex(Sms.ADDRESS)); time = c.getLong(c.getColumnIndex(Sms.DATE)); if (type == 1) // Inbox message needs to set the vCard as originator setVCardFromPhoneNumber(message, phone, true); else // Other messages sets the vCard as the recipient setVCardFromPhoneNumber(message, phone, false); if (charset == MAP_MESSAGE_CHARSET_NATIVE) { if (type == 1) //Inbox message.setSmsBodyPdus(BluetoothMapSmsPdu.getDeliverPdus(msgBody, phone, time)); else message.setSmsBodyPdus(BluetoothMapSmsPdu.getSubmitPdus(msgBody, phone)); } else /*if (charset == MAP_MESSAGE_CHARSET_UTF8)*/ { message.setSmsBody(msgBody); } } finally { close(c); } return message.encode(); }