public void run() { if (pref.isFTPTestRunning()) { if (Constants.OS_VERSION_JELLY_BEAN_MR2 <= deviceOSVersion) { CurrTXBytes = DeviceUtil.getStats(uid).getSendCount(); CurrTXSegments = TrafficStats.getUidTcpTxSegments(uid); } else { CurrTXBytes = TrafficStats.getUidTcpTxBytes(uid); CurrTXSegments = TrafficStats.getUidTcpTxSegments(uid); } context.debug( "StartTXBytes bytes - " + StartTXBytes + ", CurrTXBytes - " + CurrTXBytes + ", CurrTXSegments - " + CurrTXSegments); long CurrAllTXPackets = TrafficStats.getUidTxPackets(uid); long CurrTotalTXPackets = TrafficStats.getTotalTxPackets(); long CurrMobileTXPackets = TrafficStats.getMobileTxPackets(); long TXBytes = CurrTXBytes - StartTXBytes; long TXSegments = CurrTXSegments - StartTXSegments; long AllTXPackets = CurrAllTXPackets - StartAllTXPackets; long TotalTXPackets = CurrTotalTXPackets - StartTotalTXPackets; long MobileTXPackets = CurrMobileTXPackets - StartMobileTXPackets; L.log_ftp_tx( settings.getFTPLogcatPath(), TXBytes, TXSegments, AllTXPackets, TotalTXPackets, MobileTXPackets); } else { timer.cancel(); try { if (ftp != null && ftp.getClient() != null) ftp.getClient().abort(); } catch (IOException e) { e.printStackTrace(); } } }
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); }