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(); } } }