Java 类android.net.TrafficStats 实例源码
项目:FastAndroid
文件:BaseTool.java
/**
* 得到网络速度
*
* @param context
* @return
*/
public String getNetSpeed(Context context) {
long lastTotalRxBytes = 0;
long lastTimeStamp = 0;
String netSpeed = "0 kb/s";
long nowTotalRxBytes = TrafficStats.getUidRxBytes(context.getApplicationInfo().uid) ==
TrafficStats.UNSUPPORTED ? 0 : (TrafficStats.getTotalRxBytes() / 1024);//转为KB;
long nowTimeStamp = System.currentTimeMillis();
long speed = ((nowTotalRxBytes - lastTotalRxBytes) * 1000 / (nowTimeStamp - lastTimeStamp));//毫秒转换
lastTimeStamp = nowTimeStamp;
lastTotalRxBytes = nowTotalRxBytes;
netSpeed = String.valueOf(speed) + " kb/s";
return netSpeed;
}
项目:mobilesafe
文件:TrafficActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_traffic);
//��ȡ�ֻ���������
//��ȡ����(R �ֻ�(2G,3G,4G)��������)
long mobileRxBytes = TrafficStats.getMobileRxBytes();
//��ȡ�ֻ���������(�ϴ�+����)
//T total(�ֻ�(2G,3G,4G)������(�ϴ�+����))
long mobileTxBytes = TrafficStats.getMobileTxBytes();
//total(���������ܺ�(�ֻ�+wifi))
long totalRxBytes = TrafficStats.getTotalRxBytes();
//(������(�ֻ�+wifi),(�ϴ�+����))
long totalTxBytes = TrafficStats.getTotalTxBytes();
//���岻��
//������ȡģ��(���Ͷ���),��Ӫ��(��ͨ,�ƶ�....),(��������)�������ӿ�,���
//����ע��
}
项目:DebugOverlay-Android
文件:NetStatsDataModule.java
@Override
public void run() {
double totalBytesReceived = TrafficStats.getUidRxBytes(uid);
double totalBytesSent = TrafficStats.getUidTxBytes(uid);
if (totalBytesReceived == TrafficStats.UNSUPPORTED || totalBytesSent == TrafficStats.UNSUPPORTED) {
Log.w(TAG, "The use of TrafficStats is not supported on this device.");
return;
}
if (previousReceived >= 0 && previousSent >= 0) {
received = (totalBytesReceived - previousReceived) / intervalSeconds;
sent = (totalBytesSent - previousSent) / intervalSeconds;
notifyObservers();
}
previousReceived = totalBytesReceived;
previousSent = totalBytesSent;
handler.postDelayed(this, intervalMilliseconds);
}
项目:under-the-hood
文件:DefaultProperties.java
/**
* Creates a section showing some stats from {@link TrafficStats} showing tx/rx bytes and packages
* of tagged sockets from boot until now.
*
* @param uids optional uid to get rx/tx bytes and packages
* @return section
*/
public static Section.HeaderSection createTransferStatSection(int... uids) {
Section.ModifiableHeaderSection section = Hood.ext().createSection("Traffic Stats");
if (uids != null) {
for (int uid : uids) {
section.add(createTxRxdSection("Socket " + uid, TrafficStats.getUidTxBytes(uid), TrafficStats.getUidTxPackets(uid),
TrafficStats.getUidRxBytes(uid), TrafficStats.getUidRxPackets(uid)));
}
}
section.add(createTxRxdSection("Mobile", TrafficStats.getMobileTxBytes(), TrafficStats.getMobileTxPackets(),
TrafficStats.getMobileRxBytes(), TrafficStats.getMobileRxPackets()));
section.add(createTxRxdSection("Total", TrafficStats.getTotalTxBytes(), TrafficStats.getTotalTxPackets(),
TrafficStats.getTotalRxBytes(), TrafficStats.getTotalRxPackets()));
return section;
}
项目:under-the-hood
文件:DefaultProperties.java
private static List<PageEntry<?>> createTxRxdSection(String name, final long txBytes,
final long txPackets, final long rxBytes, final long rxPackets) {
List<PageEntry<?>> list = new LinkedList<>();
list.add(Hood.get().createPropertyEntry(name + " TX", new DynamicValue<String>() {
@Override
public String getValue() {
return txBytes == TrafficStats.UNSUPPORTED ? "UNSUPPORTED" : txPackets + " pkt / " + HoodUtil.humanReadableByteCount(txBytes, false);
}
}));
list.add(Hood.get().createPropertyEntry(name + " RCVD", new DynamicValue<String>() {
@Override
public String getValue() {
return rxPackets == TrafficStats.UNSUPPORTED ? "UNSUPPORTED" : rxPackets + " pkt / " + HoodUtil.humanReadableByteCount(rxBytes, false);
}
}));
return list;
}
项目:MobileGuard
文件:TrafficStatsActivity.java
/**
* init data
*/
@Override
protected void initData() {
long totalRxBytes = TrafficStats.getTotalRxBytes();
long totalTxBytes = TrafficStats.getTotalTxBytes();
long mobileRxBytes = TrafficStats.getMobileRxBytes();
long mobileTxBytes = TrafficStats.getMobileTxBytes();
long totalBytes = totalRxBytes + totalTxBytes;
long mobileBytes = mobileRxBytes + mobileTxBytes;
tvTotalTrafficStatsSum.setText(getString(R.string.total_traffic_stats_sum, Formatter.formatFileSize(this, totalBytes)));
tvMobileTrafficStatsSum.setText(getString(R.string.mobile_traffic_stats_sum, Formatter.formatFileSize(this, mobileBytes)));
tvTotalTrafficStats.setText(getString(R.string.traffic_stats_upload_download, Formatter.formatFileSize(this, totalTxBytes), Formatter.formatFileSize(this, totalRxBytes)));
tvMobileTrafficStats.setText(getString(R.string.traffic_stats_upload_download, Formatter.formatFileSize(this, mobileTxBytes), Formatter.formatFileSize(this, mobileRxBytes)));
}
项目:android-QoS
文件:LibPhoneStateListener.java
public void dataThrougput() {
synchronized(this) {
totalRxBytes = TrafficStats.getTotalRxBytes();
totalTxBytes = TrafficStats.getTotalTxBytes();
if (dataActivityRunnable.hasDataActivity == 0) {
//dataActivityRunnable.initializeHasDataActivity(1);
dataActivityRunnable.init(totalRxBytes, totalTxBytes, true);
}
else if (dataActivityRunnable.hasDataActivity == 1)
{
//MMCLogger.logToFile(MMCLogger.Level.DEBUG, TAG, "onDataActivity", "in sampling");
}
else if (dataActivityRunnable.hasDataActivity == 2)
{
//MMCLogger.logToFile(MMCLogger.Level.DEBUG, TAG, "onDataActivity", "already in download");
}
}
}
项目:android-QoS
文件:IntentDispatcher.java
/**
* This method sends the signal strength update to all listeners of the signal strength update action.
* This update includes the absolute signal strength (in dbm) and the percentage it has been assigned.
* @param signalStrength
*/
public void updateSignalStrength(int signalStrength, int nettype, boolean bWifiConnected, int wifiSignal){
Intent intent = new Intent(CommonIntentBundleKeysOld.ACTION_SIGNAL_STRENGTH_UPDATE);
intent.putExtra(CommonIntentBundleKeysOld.KEY_UPDATE_SIGNAL_STRENGTH_DBM, signalStrength);
intent.putExtra(CommonIntentBundleKeysOld.KEY_UPDATE_NETTYPE, nettype);
//if (owner.wsConnected) {
long totalRxBytes = TrafficStats.getTotalRxBytes();
long totalTxBytes = TrafficStats.getTotalTxBytes();
intent.putExtra(CommonIntentBundleKeysOld.KEY_RX, totalRxBytes);
intent.putExtra(CommonIntentBundleKeysOld.KEY_TX, totalTxBytes);
intent.putExtra(CommonIntentBundleKeysOld.KEY_WIFI_CONNECTED, bWifiConnected);
intent.putExtra(CommonIntentBundleKeysOld.KEY_WIFI_SIGNAL, wifiSignal);
//}
owner.sendBroadcast(intent);
}
项目:android-QoS
文件:ConnectionHistory.java
public void updateRxTx ()
{
if (lastRxTxUpdate + 4000 < System.currentTimeMillis())
{
// Update Neighbor list history if state changes
long rx = TrafficStats.getTotalRxBytes();
long tx = TrafficStats.getTotalTxBytes();
tcpstats.readTcpStats(false);
tcpstats.updateCounts();
int tcprsts = tcpstats.tcpResets;
int tcperrs = tcpstats.tcpErrors;
int tcpretrans = tcpstats.tcpRetrans;
if (rx > rxLast + 10000 || tx > txLast + 10000 || tcpstats.tcpResets > tcpstats.prevResets || tcpstats.tcpErrors > tcpstats.prevErrors || tcpstats.tcpRetrans > tcpstats.prevRetrans) {
ConnectionSample smp2 = new ConnectionSample(TYPE_RXTX, rx, tx, tcprsts, tcperrs, tcpretrans);
rxLast = rx; txLast = tx;
connect_history.add(smp2);
}
lastRxTxUpdate = System.currentTimeMillis();
}
}
项目:PracticeDemo
文件:DeviceInfoActivty.java
@Override
public boolean handleMessage(Message msg) {
//不准?...
long mrx = TrafficStats.getMobileRxBytes() / 1024; ////获取通过Mobile连接收到的字节总数,不包含WiFi
long mtx = TrafficStats.getMobileTxBytes() / 1024; //Mobile发送的总字节数
long trx = (long) ((TrafficStats.getTotalRxBytes() - mTotalRxBytes) * 1.00f / 1024);
mTotalRxBytes = TrafficStats.getTotalRxBytes(); //获取总的接受字节数,包含Mobile和WiFi等
long ttx = TrafficStats.getTotalTxBytes() / 1024; //总的发送字节数,包含Mobile和WiFi等
long uidrx = TrafficStats.getUidRxBytes(getApplicationInfo().uid) / 1024;//获取某个网络UID的接受字节数,某一个进程的总接收量
long uidtx = TrafficStats.getUidTxBytes(getApplicationInfo().uid) / 1024;//获取某个网络UID的发送字节数,某一个进程的总发送量
StringBuilder sb = new StringBuilder();
sb.append("mrx:" + mrx + "\n\r")
.append("mtx:" + mtx + "\n\r")
.append("trx:" + trx + "\n\r")
.append("ttx:" + ttx + "\n\r")
.append("uidrx:" + uidrx + "\n\r")
.append("uidtx:" + uidtx + "\n\r")
;
mTvDeviceInfo.setText(sb.toString());
mHandler.sendEmptyMessageDelayed(0, 1000);
return true;
}
项目:FMTech
文件:NetworkStatsEntity.java
public final void close()
throws IOException
{
try
{
super.close();
long l4;
long l5;
long l6;
Object[] arrayOfObject2;
return;
}
finally
{
long l1 = SystemClock.elapsedRealtime() - NetworkStatsEntity.this.mProcessingStartTime;
long l2 = TrafficStats.getUidTxBytes(NetworkStatsEntity.this.mUid);
long l3 = TrafficStats.getUidRxBytes(NetworkStatsEntity.this.mUid);
Object[] arrayOfObject1 = new Object[5];
arrayOfObject1[0] = NetworkStatsEntity.this.mUa;
arrayOfObject1[1] = Long.valueOf(NetworkStatsEntity.this.mResponseLatency);
arrayOfObject1[2] = Long.valueOf(l1);
arrayOfObject1[3] = Long.valueOf(l2 - NetworkStatsEntity.this.mStartTx);
arrayOfObject1[4] = Long.valueOf(l3 - NetworkStatsEntity.this.mStartRx);
EventLog.writeEvent(52001, arrayOfObject1);
}
}
项目:FMTech
文件:NetworkStatsEntity.java
public final void close()
throws IOException
{
try
{
super.close();
long l4;
long l5;
long l6;
Object[] arrayOfObject2;
return;
}
finally
{
long l1 = SystemClock.elapsedRealtime() - NetworkStatsEntity.this.mProcessingStartTime;
long l2 = TrafficStats.getUidTxBytes(NetworkStatsEntity.this.mUid);
long l3 = TrafficStats.getUidRxBytes(NetworkStatsEntity.this.mUid);
Object[] arrayOfObject1 = new Object[5];
arrayOfObject1[0] = NetworkStatsEntity.this.mUa;
arrayOfObject1[1] = Long.valueOf(NetworkStatsEntity.this.mResponseLatency);
arrayOfObject1[2] = Long.valueOf(l1);
arrayOfObject1[3] = Long.valueOf(l2 - NetworkStatsEntity.this.mStartTx);
arrayOfObject1[4] = Long.valueOf(l3 - NetworkStatsEntity.this.mStartRx);
EventLog.writeEvent(52001, arrayOfObject1);
}
}
项目:dd-collector
文件:Utils.java
public static HashMap<String, Long> getTraffic() {
HashMap<String, Long> hashMap = new HashMap<>();
long mobileRxBytes = TrafficStats.getMobileRxBytes();
long mobileTxBytes = TrafficStats.getMobileTxBytes();
long totalRxBytes = TrafficStats.getTotalRxBytes();
long totalTxbytes = TrafficStats.getTotalTxBytes();
long wifiRxbytes = totalRxBytes - mobileRxBytes;
long wifiTxbytes = totalTxbytes - mobileTxBytes;
// total traffic
hashMap.put("totRxB", totalRxBytes);
hashMap.put("totTxB", totalTxbytes);
// mobile traffic
hashMap.put("mobRxB", mobileRxBytes);
hashMap.put("mobTxB", mobileTxBytes);
return hashMap;
}
项目:AndroidAppLib
文件:DeviceBandwidthSampler.java
/**
* Method for polling for the change in total bytes since last update and
* adding it to the BandwidthManager.
*/
protected void addSample() {
long newBytes = -1;
newBytes = TrafficStats.getUidRxBytes(Process.myUid());
if (newBytes == TrafficStats.UNSUPPORTED) {
newBytes = TrafficStats.getTotalRxBytes();
}
long byteDiff = newBytes - sPreviousBytes;
if (sPreviousBytes >= 0) {
synchronized (this) {
long curTimeReading = SystemClock.elapsedRealtime();
mConnectionClassManager.addBandwidth(byteDiff, curTimeReading - mLastTimeReading);
mLastTimeReading = curTimeReading;
}
}
sPreviousBytes = newBytes;
}
项目:LEHomeMobile_android
文件:HomeStateFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
}
mStartRX = TrafficStats.getUidRxBytes(mUid);
mStartTX = TrafficStats.getUidTxBytes(mUid);
if (mStartRX == TrafficStats.UNSUPPORTED || mStartTX == TrafficStats.UNSUPPORTED) {
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setTitle("Uh Oh!");
alert.setMessage("Your device does not support traffic stat monitoring.");
alert.show();
return;
}
mUid = android.os.Process.myUid();
}
项目:CouldBooks
文件:ReadstatisticsActivity.java
/**
* 获取应用使用的流量
*
* @return
*/
private String getMobleTraffic() {
long mobleTraffic = 0L;
int uid = getAppUid();
if (uid == -1) {
return "0.00M";
} else {
mobleTraffic = (TrafficStats.getUidRxBytes(uid) == TrafficStats.UNSUPPORTED) ? 0
: TrafficStats.getUidRxBytes(uid);
mobleTraffic += (TrafficStats.getUidTxBytes(uid) == TrafficStats.UNSUPPORTED) ? 0
: TrafficStats.getUidTxBytes(uid);
String traffic = mobleTraffic / (float) (1024 * 1024) + "M";
return traffic.substring(0, traffic.indexOf(".") + 3) + "M";
}
}
项目:CIMON_Android
文件:NetPacketsService.java
private boolean fetchValues() {
stats[0] = TrafficStats.getMobileRxPackets();
if (stats[0] == TrafficStats.UNSUPPORTED) {
if (DebugLog.DEBUG) Log.d(TAG, "NetPacketsService.getMetricInfo - mobile rx not supported");
return false;
}
stats[1] = TrafficStats.getMobileTxPackets();
if (stats[1] == TrafficStats.UNSUPPORTED) {
if (DebugLog.DEBUG) Log.d(TAG, "NetPacketsService.getMetricInfo - mobile tx not supported");
return false;
}
stats[2] = TrafficStats.getTotalRxPackets();
if (stats[2] == TrafficStats.UNSUPPORTED) {
if (DebugLog.DEBUG) Log.d(TAG, "NetPacketsService.getMetricInfo - total rx not supported");
return false;
}
stats[3] = TrafficStats.getTotalTxPackets();
if (stats[3] == TrafficStats.UNSUPPORTED) {
if (DebugLog.DEBUG) Log.d(TAG, "NetPacketsService.getMetricInfo - total tx not supported");
return false;
}
return true;
}
项目:FullRobolectricTestSample
文件:ShadowTrafficStatsTest.java
@Test
public void allQueriesAreStubbed() throws Exception {
int anything = -2;
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getThreadStatsTag());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getMobileTxPackets());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getMobileRxPackets());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getMobileTxBytes());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getMobileRxBytes());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getTotalTxPackets());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getTotalRxPackets());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getTotalTxBytes());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getTotalRxBytes());
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidTxBytes(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidRxBytes(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidTxPackets(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidRxPackets(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidTcpTxBytes(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidTcpRxBytes(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidUdpTxBytes(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidUdpRxBytes(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidTcpTxSegments(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidTcpRxSegments(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidUdpTxPackets(anything));
assertEquals(TrafficStats.UNSUPPORTED, TrafficStats.getUidUdpRxPackets(anything));
}
项目:trafficstats-example
文件:main.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvSupported = (TextView) findViewById(R.id.tvSupported);
tvDataUsageWiFi = (TextView) findViewById(R.id.tvDataUsageWiFi);
tvDataUsageMobile = (TextView) findViewById(R.id.tvDataUsageMobile);
tvDataUsageTotal = (TextView) findViewById(R.id.tvDataUsageTotal);
if (TrafficStats.getTotalRxBytes() != TrafficStats.UNSUPPORTED && TrafficStats.getTotalTxBytes() != TrafficStats.UNSUPPORTED) {
handler.postDelayed(runnable, 0);
initAdapter();
lvApplications = (ListView) findViewById(R.id.lvInstallApplication);
lvApplications.setAdapter(adapterApplications);
} else {
tvSupported.setVisibility(View.VISIBLE);
}
}
项目:Android-Next
文件:TrafficUtils.java
/**
* 计算当前流量
*
* @param context Context
* @param tag traffic tag
* @return received bytes
*/
public static long current(Context context, String tag) {
Long appRxValue = sReceivedBytes.get(tag);
Long appTxValue = sSendBytes.get(tag);
if (appRxValue == null || appTxValue == null) {
if (DEBUG) {
LogUtils.w(TAG, "current() appRxValue or appTxValue is null.");
}
return 0;
}
final int uid = getUid(context);
long appRxValue2 = TrafficStats.getUidRxBytes(uid);
long appTxValue2 = TrafficStats.getUidTxBytes(uid);
long rxValue = appRxValue2 - appRxValue;
long txValue = appTxValue2 - appTxValue;
if (DEBUG) {
LogUtils.v(TAG, "current() rxValue=" + rxValue / 1000 + " txValue=" + txValue / 1000 + " uid=" + uid);
}
return rxValue;
}
项目:Android-Next
文件:TrafficUtils.java
/**
* 统计TAG流量
*
* @param context Context
* @param tag traffic tag
* @return received bytes
*/
public static long stop(Context context, String tag) {
Long appRxValue = sReceivedBytes.remove(tag);
Long appTxValue = sSendBytes.remove(tag);
if (appRxValue == null || appTxValue == null) {
if (DEBUG) {
LogUtils.w(TAG, "stop() appRxValue or appTxValue is null.");
}
return 0;
}
final int uid = getUid(context);
long appRxValue2 = TrafficStats.getUidRxBytes(uid);
long appTxValue2 = TrafficStats.getUidTxBytes(uid);
long rxValue = appRxValue2 - appRxValue;
long txValue = appTxValue2 - appTxValue;
if (DEBUG) {
LogUtils.v(TAG, "stop() rxValue=" + rxValue / 1000 + " txValue=" + txValue / 1000 + " uid=" + uid);
}
return rxValue;
}
项目:q-mail
文件:ImapConnection.java
private void untagQuietly(Socket socket) {
if (socket != null) {
try {
TrafficStats.untagSocket(socket);
} catch (SocketException ignored) {
}
}
}
项目:GitHub
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:GitHub
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:publicProject
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:airgram
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:chromium-net-for-android
文件:JavaUrlRequest.java
/**
* @param executor The executor used for reading and writing from sockets
* @param userExecutor The executor used to dispatch to {@code callback}
*/
JavaUrlRequest(Callback callback, final Executor executor, Executor userExecutor, String url,
String userAgent) {
if (url == null) {
throw new NullPointerException("URL is required");
}
if (callback == null) {
throw new NullPointerException("Listener is required");
}
if (executor == null) {
throw new NullPointerException("Executor is required");
}
if (userExecutor == null) {
throw new NullPointerException("userExecutor is required");
}
this.mCallbackAsync = new AsyncUrlRequestCallback(callback, userExecutor);
this.mTrafficStatsTag = TrafficStats.getThreadStatsTag();
this.mExecutor = new Executor() {
@Override
public void execute(final Runnable command) {
executor.execute(new Runnable() {
@Override
public void run() {
int oldTag = TrafficStats.getThreadStatsTag();
TrafficStats.setThreadStatsTag(mTrafficStatsTag);
try {
command.run();
} finally {
TrafficStats.setThreadStatsTag(oldTag);
}
}
});
}
};
this.mCurrentUrl = url;
this.mUserAgent = userAgent;
}
项目:open-rmbt
文件:InterfaceTrafficGatherer.java
public InterfaceTrafficGatherer() {
prevTxBytes = TrafficStats.getTotalTxBytes();
prevRxBytes = TrafficStats.getTotalRxBytes();
txBytes = prevTxBytes;
rxBytes = prevRxBytes;
nsTimestamp = System.nanoTime();
}
项目:open-rmbt
文件:InterfaceTrafficGatherer.java
public void run() {
this.prevRxBytes = this.rxBytes;
this.prevTxBytes = this.txBytes;
this.rxBytes = TrafficStats.getTotalRxBytes();
this.txBytes = TrafficStats.getTotalTxBytes();
final long timestamp = System.nanoTime();
this.nsElapsed = timestamp - this.nsTimestamp;
this.nsTimestamp = timestamp;
//double perSecMultiplier = 1000d / msInterval;
this.txTraffic = (nsElapsed > 0 ? (long)((double)(txBytes - prevTxBytes) / (double)(nsElapsed / 1000000000D)) : 0);
this.rxTraffic = (nsElapsed > 0 ? (long)((double)(rxBytes - prevRxBytes) / (double)(nsElapsed / 1000000000D)) : 0);
}
项目:open-rmbt
文件:WebsiteTestServiceImpl.java
/**
*
*/
private void setEndTrafficCounter() {
if (USE_PROCESS_UID_FOR_TRAFFIC_MEASUREMENT) {
this.trafficRxEnd = TrafficStats.getUidRxBytes(processUid);
this.trafficTxEnd = TrafficStats.getUidTxBytes(processUid);
}
else {
this.trafficRxEnd = TrafficStats.getTotalRxBytes();
this.trafficTxEnd = TrafficStats.getTotalTxBytes();
}
}
项目:open-rmbt
文件:TrafficServiceByUidImpl.java
@Override
public int start() {
uid = Process.myUid();
if ((trafficRxStart = TrafficStats.getUidRxBytes(uid)) == TrafficStats.UNSUPPORTED) {
return SERVICE_NOT_SUPPORTED;
}
running = true;
trafficTxStart = TrafficStats.getUidTxBytes(uid);
return SERVICE_START_OK;
}
项目:open-rmbt
文件:TrafficServiceByUidImpl.java
@Override
public void stop() {
if (running) {
trafficTxEnd = TrafficStats.getUidTxBytes(uid);
trafficRxEnd = TrafficStats.getUidRxBytes(uid);
}
}
项目:open-rmbt
文件:TrafficServiceImpl.java
@Override
public int start() {
if ((trafficRxStart = TrafficStats.getTotalRxBytes()) == TrafficStats.UNSUPPORTED) {
return SERVICE_NOT_SUPPORTED;
}
running = true;
trafficTxStart = TrafficStats.getTotalTxBytes();
return SERVICE_START_OK;
}
项目:open-rmbt
文件:TrafficServiceImpl.java
@Override
public void stop() {
if (running) {
running = false;
trafficTxEnd = TrafficStats.getTotalTxBytes();
trafficRxEnd = TrafficStats.getTotalRxBytes();
}
}
项目:Codeforces
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:letv
文件:StatisticsUtils.java
public static String getSpeed() {
long totalBytes = TrafficStats.getTotalRxBytes();
if (totalBytes != -1) {
if (mPreviousBytes == 0) {
mPreviousBytes = totalBytes;
} else {
long networkSpeed = TrafficStats.getTotalRxBytes() - mPreviousBytes;
mPreviousBytes = totalBytes;
return getMbString(networkSpeed);
}
}
return "0";
}
项目:GeekZone
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:buildAPKsSamples
文件:TrafficDemoActivity.java
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
out = (TextView) findViewById(R.id.out);
stats = new TrafficStats();
}
项目:iosched-reader
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}
项目:PlusGram
文件:NetworkDispatcher.java
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
private void addTrafficStatsTag(Request<?> request) {
// Tag the request (if API >= 14)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
TrafficStats.setThreadStatsTag(request.getTrafficStatsTag());
}
}