summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-05-02 19:37:29 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-02 19:37:29 -0700
commit3b5a7089c7d08042f8ff62e50eb76fc8f6cb80c8 (patch)
treed7ff95e14bbf1e5a6120518d79dd8f7b259e4965 /core/java/com
parent6aa3138587198c6ddf529c0daee84eea6ea05549 (diff)
parent2d6c580262ba1c19fc4f20c3566889e332fbdcb6 (diff)
downloadframeworks_base-3b5a7089c7d08042f8ff62e50eb76fc8f6cb80c8.zip
frameworks_base-3b5a7089c7d08042f8ff62e50eb76fc8f6cb80c8.tar.gz
frameworks_base-3b5a7089c7d08042f8ff62e50eb76fc8f6cb80c8.tar.bz2
Merge "Support full 32 bits for socket tags." into jb-dev
Diffstat (limited to 'core/java/com')
-rw-r--r--core/java/com/android/server/NetworkManagementSocketTagger.java14
1 files changed, 6 insertions, 8 deletions
diff --git a/core/java/com/android/server/NetworkManagementSocketTagger.java b/core/java/com/android/server/NetworkManagementSocketTagger.java
index c77992d..06ef4c9 100644
--- a/core/java/com/android/server/NetworkManagementSocketTagger.java
+++ b/core/java/com/android/server/NetworkManagementSocketTagger.java
@@ -16,20 +16,14 @@
package com.android.server;
-import android.net.NetworkStats;
import android.os.SystemProperties;
import android.util.Log;
import android.util.Slog;
import dalvik.system.SocketTagger;
-import libcore.io.IoUtils;
import java.io.FileDescriptor;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.math.BigInteger;
import java.net.SocketException;
-import java.nio.charset.Charsets;
/**
* Assigns tags to sockets for traffic stats.
@@ -141,8 +135,12 @@ public final class NetworkManagementSocketTagger extends SocketTagger {
* format like {@code 0x7fffffff00000000}.
*/
public static int kernelToTag(String string) {
- // TODO: migrate to direct integer instead of odd shifting
- return (int) (Long.decode(string) >> 32);
+ int length = string.length();
+ if (length > 10) {
+ return Long.decode(string.substring(0, length - 8)).intValue();
+ } else {
+ return 0;
+ }
}
private static native int native_tagSocketFd(FileDescriptor fd, int tag, int uid);