private Message doUpload(String sLogcatFilePath, String sDevInfoXMLFilePath) { Message msg = new Message(); Bundle bndle = new Bundle(); String sResponseCode = "", sResponseDesc = ""; try { APIManager apiClient = new APIManager(activity); String sIMEI = new DeviceUtil(activity).getIMEI(); Preferences pref = new Preferences(activity); String sUsername = pref.getUsername(); String sPwd = pref.getPassword(); APIManager.Status status = APIManager.Status.NONE; if (Validator.isEmpty(sLogcatFilePath)) { status = apiClient.processUploadSingle(sDevInfoXMLFilePath); } else { status = apiClient.processUpload(sUsername, sPwd, sIMEI, sLogcatFilePath, sDevInfoXMLFilePath); } if (status == APIManager.Status.ERROR) { sResponseCode = ResponseCodes.FAILURE; sResponseDesc = apiClient.getErrorMessage(); } else { String sResponse = apiClient.getResponse(); L.debug("Upload Response :: " + sResponse); if (sResponse != null && sResponse.trim().equalsIgnoreCase(ResponseCodes.SUCCESS_UPLOAD)) { sResponseCode = ResponseCodes.SUCCESS; sResponseDesc = "Result uploaded!"; } else { sResponseCode = ResponseCodes.FAILURE; sResponseDesc = sResponse; } } } catch (Exception e) { e.printStackTrace(); sResponseCode = ResponseCodes.FAILURE; sResponseDesc = Messages.err(e); } if (Constants.DELETE_FILES_AFTER_UPLOAD) if (sResponseCode.equals(ResponseCodes.SUCCESS)) { // Delete log files FileUtil.delete(sDevInfoXMLFilePath); FileUtil.delete(sLogcatFilePath); } bndle.putString(StringUtils.CODE, sResponseCode); bndle.putString(StringUtils.DESC, sResponseDesc); msg.setData(bndle); return msg; }
@Override public void handleMessage(Message msg) { if (!pref.isTestCanceled() && pref.isTestRunning()) { L.debug("DownloadAndUploadCompletedHandler..."); pref.setFTPTestRunningState(false); // testconfig.getTestName() new ResultUploader( context, pref.getValue(Preferences.KEY_TEST_NAME, "") + StringUtils.TEST_CYCLE_APPEND_FILE + testconfig.getTestCycle(), StringUtils.TEST_TYPE_CODE_FTP, settings.getFTPDeviceInfoPath(), settings.getFTPLogcatPath()) { public void resultUploaded(String code, String desc) { doResultUploaded(code, desc); }; }; } }
@Override public void handleMessage(Message msg) { // ################### String sResponseCode = msg.getData().getString(StringUtils.CODE); String sResponseDesc = msg.getData().getString(StringUtils.DESC); clearFTPFiles(); if (sResponseCode.equals(ResponseCodes.SUCCESS)) { L.debug("File download and upload success"); } else { L.debug(sResponseDesc); if (!pref.isTestCanceled() && pref.isTestRunning()) { L.debug("RunnableFailed..."); pref.setFTPTestRunningState(false); /* * NotificationUtil.showFinishedNotification( context, * StringUtils.TEST_TYPE_CODE_FTP, testconfig.getTestName() * + "_" + testconfig.getTestCycle(), * Messages.FTP_DOWNLOAD_FAILED); */ NotificationUtil.showFinishedNotification( context, StringUtils.TEST_TYPE_CODE_FTP, pref.getValue(Preferences.KEY_TEST_NAME, "") + "_" + testconfig.getTestCycle(), Messages.FTP_DOWNLOAD_FAILED); DeviceUtil.updateTestScreen(); doResultUploaded(sResponseCode, sResponseDesc); } } }
public String getListenerInfo() { pref = new Preferences(context); strBuffer = new StringBuffer(); SignalStrengh objSS = pref.getSignalStrengthObj(); TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); cell_info = telephonyManager.getCallState(); network_operator = telephonyManager.getNetworkOperator(); network_operator_name = telephonyManager.getNetworkOperatorName(); network_operator_name = XMLUtils.clean(network_operator_name); network_type = telephonyManager.getNetworkType(); datastate = telephonyManager.getDataState(); dataactivity = telephonyManager.getDataActivity(); batteryPercentage = pref.getBatteryLevel(); String networkOperator = telephonyManager.getNetworkOperator(); try { mcc = networkOperator.substring(0, 3); mnc = networkOperator.substring(3); } catch (Exception e) { } // wifi state ConnectivityManager c_m = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mobile_info = c_m.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo wifi_info = c_m.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mobile_info != null) network_state = "" + mobile_info.getState(); if (wifi_info != null) wifi_state = "" + wifi_info.getState(); if (telephonyManager.isNetworkRoaming()) roaming = true; if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { // GSM // Network GsmCellLocation cell_loc = (GsmCellLocation) telephonyManager.getCellLocation(); if (cell_loc != null) { cid = cell_loc.getCid(); lac = cell_loc.getLac(); } } else if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA) { // CDMA // Network CdmaCellLocation cell_loc = (CdmaCellLocation) telephonyManager.getCellLocation(); if (cell_loc != null) { // cid = cell_loc. cid = cell_loc.getBaseStationId(); L.log("CDMA Base Stattion Id: " + cid); // cid = 0; lac = 0; } } /* code added by ankit for tac & pci to get values 12/07/16 */ try { final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); for (final CellInfo info : tm.getAllCellInfo()) { if (info instanceof CellInfoGsm) { final CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength(); // tac = 11450; // pci = 50; } else if (info instanceof CellInfoCdma) { final CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength(); } else if (info instanceof CellInfoLte) { final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength(); // tac = ((CellInfoLte) info).getCellIdentity().getTac(); // pci = ((CellInfoLte) info).getCellIdentity().getPci(); // New code added by ankit on 02/07/2016 CellIdentityLte identity = ((CellInfoLte) info).getCellIdentity(); tac = identity.getTac(); pci = identity.getPci(); } else { throw new Exception("Unknown type of cell signal!"); } } } catch (Exception e) { // Log.e(TAG, "Unable to obtain cell signal information", e); } /* * GsmCellLocation cell_loc = (GsmCellLocation) telephonyManager * .getCellLocation(); if (cell_loc != null) { cid = cell_loc.getCid(); * lac = cell_loc.getLac(); } */ strBuffer.append(DATA_START); strBuffer.append(TIMESTAMP_START); strBuffer.append(TimeUtil.getCurrentTime()); strBuffer.append(TIMESTAMP_END); strBuffer.append(NETWORK_INFO_START); strBuffer.append(NETWORK_OPERATOR_START); if (network_operator != null) strBuffer.append(network_operator); strBuffer.append(NETWORK_OPERATOR_END); strBuffer.append(NETWORK_OPERATOR_NAME_START); if (network_operator_name != null) strBuffer.append(network_operator_name); strBuffer.append(NETWORK_OPERATOR_NAME_END); strBuffer.append(NETWORK_TYPE_START); WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo objWifiInfo = wifiManager.getConnectionInfo(); L.debug("BSSID: " + objWifiInfo.getBSSID()); L.debug("RSSI: " + objWifiInfo.getRssi()); L.debug("LINK SPEED: " + objWifiInfo.getLinkSpeed()); if (wifi_state != null && wifi_state.equals("CONNECTED")) strBuffer.append("wifi"); else strBuffer.append(getNetworkTypeString(network_type)); strBuffer.append(NETWORK_TYPE_END); strBuffer.append(DATA_STATE_START); strBuffer.append(getDataStateString(datastate)); strBuffer.append(DATA_STATE_END); strBuffer.append(DATA_ACTIVITY_START); strBuffer.append(getDataActivityString(dataactivity)); strBuffer.append(DATA_ACTIVITY_END); strBuffer.append(WIFI_STATE_START); if (wifi_state != null) strBuffer.append(wifi_state); strBuffer.append(WIFI_STATE_END); strBuffer.append(ROAMING_START); strBuffer.append(roaming); strBuffer.append(ROAMING_END); strBuffer.append(MCC_START); strBuffer.append(mcc); strBuffer.append(MCC_END); strBuffer.append(MNC_START); strBuffer.append(mnc); strBuffer.append(MNC_END); strBuffer.append(NETWORK_INFO_END); strBuffer.append(SIGNAL_STRENGTH_START); strBuffer.append(GSM_SIGNAL_STRENGTH_START); strBuffer.append(objSS.GSMSignalStrength); strBuffer.append(GSM_SIGNAL_STRENGTH_END); strBuffer.append(CDMA_DBM_START); strBuffer.append(objSS.CDMADbm); strBuffer.append(CDMA_DBM_END); strBuffer.append(CDMA_ECIO_START); strBuffer.append(objSS.CDMAEcio); strBuffer.append(CDMA_ECIO_END); strBuffer.append(EVDO_DBM_START); strBuffer.append(objSS.EvdoDbm); strBuffer.append(EVDO_DBM_END); strBuffer.append(EVDO_ECIO_START); strBuffer.append(objSS.EvdoEcio); strBuffer.append(EVDO_ECIO_END); strBuffer.append(EVDO_SNR_START); strBuffer.append(objSS.EvdoSnr); strBuffer.append(EVDO_SNR_END); strBuffer.append(GSM_START); strBuffer.append(objSS.blisGSM); strBuffer.append(GSM_END); strBuffer.append(GSM_BITRATE_ERROR_START); strBuffer.append(objSS.GSMBitRateError); strBuffer.append(GSM_BITRATE_ERROR_END); // strBuffer.append(LTE_SIGNAL_STRENGTH_START); strBuffer.append(objSS.LteSignalStrength); strBuffer.append(LTE_SIGNAL_STRENGTH_END); strBuffer.append(LTE_RSRP_START); strBuffer.append(objSS.LteRsrp); strBuffer.append(LTE_RSRP_END); strBuffer.append(LTE_RSRQ_START); strBuffer.append(objSS.LteRsrq); strBuffer.append(LTE_RSRQ_END); strBuffer.append(LTE_RSSNR_START); strBuffer.append(objSS.LteRssnr); strBuffer.append(LTE_RSSNR_END); strBuffer.append(LTE_CQI_START); strBuffer.append(objSS.LteCqi); strBuffer.append(LTE_CQI_END); strBuffer.append(SIGNAL_STRENGTH_END); // Change required here for LTE Network operator /** Get from signal SignalStrengthListener LAC - TAC CID - PCI */ strBuffer.append(CELL_LOCATION_START); strBuffer.append(CID_START); strBuffer.append(cid); strBuffer.append(CID_END); strBuffer.append(LAC_START); strBuffer.append(lac); strBuffer.append(LAC_END); strBuffer.append(LTE_TAC_START); strBuffer.append(tac); strBuffer.append(LTE_TAC_END); strBuffer.append(LTE_PCI_START); strBuffer.append(pci); strBuffer.append(LTE_PCI_END); strBuffer.append(CELL_LOCATION_END); /** */ strBuffer.append(NEIGHBORING_CELL_INFO_START); StringBuffer sNeightboringCellInfos = new StringBuffer(); List<NeighboringCellInfo> neighbor_cell_infos = telephonyManager.getNeighboringCellInfo(); for (int i = 0; i < neighbor_cell_infos.size(); i++) { sNeightboringCellInfos.append(NEIGHBORING_INFO_START); NeighboringCellInfo nci = neighbor_cell_infos.get(i); sNeightboringCellInfos.append(CID_START); sNeightboringCellInfos.append(nci.getCid()); sNeightboringCellInfos.append(CID_END); sNeightboringCellInfos.append(LAC_START); sNeightboringCellInfos.append(nci.getLac()); sNeightboringCellInfos.append(LAC_END); sNeightboringCellInfos.append(NET_TYPE_START); sNeightboringCellInfos.append(nci.getNetworkType()); sNeightboringCellInfos.append(NET_TYPE_END); sNeightboringCellInfos.append(PSC_START); sNeightboringCellInfos.append(nci.getPsc()); sNeightboringCellInfos.append(PSC_END); sNeightboringCellInfos.append(RSSI_START); sNeightboringCellInfos.append(nci.getRssi()); sNeightboringCellInfos.append(RSSI_END); sNeightboringCellInfos.append(NEIGHBORING_INFO_END); } strBuffer.append(sNeightboringCellInfos); strBuffer.append(NEIGHBORING_CELL_INFO_END); strBuffer.append(BATTERY_LEVEL_START); strBuffer.append(batteryPercentage); strBuffer.append(BATTERY_LEVEL_END); strBuffer.append(NETWORK_MANUALLYSET_START); manuallyset = isSpoofLocation(); strBuffer.append(manuallyset); strBuffer.append(NETWORK_MANUALLYSET_END); strBuffer.append(GEO_LOCATION_START); strBuffer.append(GEO_LAT_START); strBuffer.append(pref.getLatitude()); strBuffer.append(GEO_LAT_END); strBuffer.append(GEO_LAN_START); strBuffer.append(pref.getLongitude()); strBuffer.append(GEO_LAN_END); strBuffer.append(GEO_LOCATION_END); // ============================================================ /** Added on 15th Dec 2014. Asper Mathew's request Added by: Bhagya */ strBuffer.append(WIFI_INFO_START); strBuffer.append(BSSID_START); if (objWifiInfo.getBSSID() != null) strBuffer.append(objWifiInfo.getBSSID()); else strBuffer.append("NA"); strBuffer.append(BSSID_END); strBuffer.append(WIFI_RSSI_START); strBuffer.append(objWifiInfo.getRssi()); strBuffer.append(WIFI_RSSI_END); strBuffer.append(WIFI_LINK_SPEED_START); strBuffer.append(objWifiInfo.getLinkSpeed()); strBuffer.append(WIFI_LINK_SPEED_END); strBuffer.append(WIFI_INFO_END); // ============================================================ strBuffer.append(DATA_END); xmlFile = strBuffer.toString(); return xmlFile; }
public void startTest() { deviceOSVersion = android.os.Build.VERSION.SDK_INT; L.debug("DEVICE OS VERSION: " + deviceOSVersion); FTPTestConfigObj = testconfig.getFTPTestConfig(); /* * * String sTestName = testconfig.getTestName() + * StringUtils.TEST_CYCLE_APPEND_FILE + testconfig.getTestCycle(); */ String sTestName = pref.getValue(Preferences.KEY_TEST_NAME, "") + StringUtils.TEST_CYCLE_APPEND_FILE + testconfig.getTestCycle(); pref.setFTPTestRunningState(true); DeviceUtil dv = new DeviceUtil(context); String sDeviceInfoXML = dv.getDeviceInfo( StringUtils.FILE_CODE_TEST_TYPE_FTP, sTestName, pref.getUsername(), pref.getValue(Preferences.KEY_SELECTED_MARKET_PLACE_ID, "")); L.debug(sDeviceInfoXML); String sCurrTime = TimeUtil.getCurrentTimeFilename(); FileUtil.CURRENT_FTP_TESTTIME = sCurrTime; String path = FileUtil.FTP_LOG_DIR + "deviceinfo" + "_" + sTestName + "_" + sCurrTime + ".xml"; File fle = new File(path); if (fle.exists()) { fle.delete(); } String dev_info_path = FileUtil.writeToXMLFile(path, sDeviceInfoXML); L.debug("Device info initial data written into " + dev_info_path); pref.putValue(Preferences.KEY_CURRENT_FTP_DEV_INFO_PATH, dev_info_path); String logcat_path = FileUtil.FTP_LOG_DIR + StringUtils.FILE_CODE_TEST_TYPE_FTP + "_" + dv.getIMEI() + "_" + sTestName + "_" + sCurrTime + ".txt"; L.debug("!!! logcat_path !!!!: " + logcat_path); File log_fle = new File(logcat_path); try { log_fle.createNewFile(); } catch (IOException e) { } pref.putValue(Preferences.KEY_CURRENT_FTP_LOGCAT_PATH, log_fle.getAbsolutePath()); try { Airometric app = (Airometric) context.getApplication(); app.startListeners(dev_info_path); } catch (Exception e) { e.printStackTrace(); } NotificationUtil.cancelNotification(context, StringUtils.TEST_TYPE_CODE_FTP); uploadTask = new StartTestTask(); uploadTask.execute(); Constants.CurrentTask = uploadTask; NotificationUtil.showRunningNotification(context, StringUtils.TEST_TYPE_CODE_FTP); context.showActivity(TestTypeActivity.class); }
protected void doDownloadAndUpload() { context.print("doDownloadAndUpload()..."); Message msg = new Message(); Bundle bndle = new Bundle(); String sResponseCode = "", sResponseDesc = ""; try { ftp = new FTP(handler); if (ftp.ftpConnect(sHostURL, sUsername, sPassword, port)) { timer = new Timer(); uid = android.os.Process.myUid(); if (Constants.OS_VERSION_JELLY_BEAN_MR2 <= deviceOSVersion) { StartRXBytes = DeviceUtil.getStats(uid).getReceiveCount(); // StartRXBytes = TrafficStats.getUidRxBytes(uid); StartRXSegments = TrafficStats.getUidTcpRxSegments(uid); } else { StartRXBytes = TrafficStats.getUidTcpRxBytes(uid); StartRXSegments = TrafficStats.getUidTcpRxSegments(uid); } context.debug( "Initial RX bytes - " + StartRXBytes + ", Initial RX Segments - " + StartRXSegments); downloadTimerTask = new DownloadTimeTask(); timer.schedule(downloadTimerTask, 0, Constants.FTP_LOG_INTERVAL * 1000); // Download if (ftp.ftpDownload(sDownloadSrcFilePath, sDownloadDestFilePath)) { context.print("File downloaded"); sResponseCode = ResponseCodes.SUCCESS; timer.cancel(); try { timer = new Timer(); /* Constants.OS_VERSION_JELLY_BEAN_MR2 == deviceOSVersion || Constants.OS_VERSION_KIT_KAT == deviceOSVersion || Constants.OS_VERSION_LOLLIPOP == deviceOSVersion || Constants.OS_VERSION_LOLLIPOP_MR2 == deviceOSVersion || Constants.OS_VERSION_MARSHMALLOW == deviceOSVersion*/ if (Constants.OS_VERSION_JELLY_BEAN_MR2 <= deviceOSVersion) { StartTXBytes = TrafficStats.getUidTxBytes(uid); StartTXSegments = TrafficStats.getUidTcpTxSegments(uid); } else { StartTXBytes = TrafficStats.getUidTcpTxBytes(uid); StartTXSegments = TrafficStats.getUidTcpTxSegments(uid); } context.debug( "Initial TX bytes - " + StartTXBytes + ", Initial TX segments - " + StartTXSegments); uploadTimerTask = new UploadTimeTask(); timer.schedule(uploadTimerTask, 0, Constants.FTP_LOG_INTERVAL * 1000); L.debug("Upload Section- src file path: " + sUploadSrcFilePath); L.debug("Upload Section- dest file path: " + sUploadDestDirPath); // Upload if (ftp.ftpUpload( sUploadSrcFilePath, new File(sUploadSrcFilePath).getName(), sUploadDestDirPath)) { context.print("File uploaded"); sResponseCode = ResponseCodes.SUCCESS; L.debug("********* FTP UPLOADING SUCCESS **********"); } else { context.print("File upload failed - " + ftp.getServerError()); sResponseCode = StringUtils.ERROR_CODE; sResponseDesc = Messages.FTP_UPLOAD_FAILED + "(" + ftp.getServerError() + ")"; } } catch (Exception e) { e.printStackTrace(); sResponseCode = StringUtils.ERROR_CODE; sResponseDesc = Messages.FTP_UPLOAD_FAILED + "(" + Messages.err(e) + ")"; } } else { context.print("File download failed - " + ftp.getServerError()); sResponseCode = StringUtils.ERROR_CODE; sResponseDesc = Messages.FTP_DOWNLOAD_FAILED; } timer.cancel(); } else { sResponseCode = StringUtils.ERROR_CODE; sResponseDesc = Messages.FTP_LOGIN_FAILED; } try { if (ftp.getClient().isConnected()) ftp.ftpDisconnect(); } catch (Exception e) { } } catch (Exception e) { e.printStackTrace(); sResponseCode = StringUtils.ERROR_CODE; sResponseDesc = Messages.err(e); } bndle.putString(StringUtils.CODE, sResponseCode); bndle.putString(StringUtils.DESC, sResponseDesc); msg.setData(bndle); if (!pref.isTestCanceled() && pref.isTestRunning()) DownloadAndUploadHandler.sendMessage(msg); }