summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorVinit Deshapnde <vinitd@google.com>2013-08-26 15:11:01 -0700
committerVinit Deshapnde <vinitd@google.com>2013-08-26 15:11:01 -0700
commitd0fec8c8857387bf009049011ca4b15260978173 (patch)
treee14a12eea6e40d48370e372e5b63db887daa428d /core
parent8e3a41738fba4883f9951406f334567f621db102 (diff)
downloadframeworks_base-d0fec8c8857387bf009049011ca4b15260978173.zip
frameworks_base-d0fec8c8857387bf009049011ca4b15260978173.tar.gz
frameworks_base-d0fec8c8857387bf009049011ca4b15260978173.tar.bz2
Increase sampling data size limits
Integer doesn't seem to like number > 2 Gig; so converting all bits of samples to long; and handling exceptions that may crash the service Bug: 10459447 Change-Id: I1291e97ba6d0ab7304dc6a6e8ef819d17491e017
Diffstat (limited to 'core')
-rw-r--r--core/java/android/net/LinkInfo.java14
-rw-r--r--core/java/android/net/SamplingDataTracker.java93
-rw-r--r--core/java/android/net/WifiLinkInfo.java12
3 files changed, 62 insertions, 57 deletions
diff --git a/core/java/android/net/LinkInfo.java b/core/java/android/net/LinkInfo.java
index 98e8f35..47b8a95 100644
--- a/core/java/android/net/LinkInfo.java
+++ b/core/java/android/net/LinkInfo.java
@@ -30,7 +30,7 @@ import android.os.Parcelable;
*/
public class LinkInfo implements Parcelable
{
- public static final int UNKNOWN = Integer.MAX_VALUE;
+ public static final int UNKNOWN = -1;
public static final int NORMALIZED_MIN_SIGNAL_STRENGTH = 0;
@@ -43,8 +43,8 @@ public class LinkInfo implements Parcelable
public int mNormalizedSignalStrength = UNKNOWN;
- public int mPacketCount = UNKNOWN;
- public int mPacketErrorCount = UNKNOWN;
+ public long mPacketCount = UNKNOWN;
+ public long mPacketErrorCount = UNKNOWN;
public int mTheoreticalTxBandwidth = UNKNOWN;
public int mTheoreticalRxBandwidth = UNKNOWN;
public int mTheoreticalLatency = UNKNOWN;
@@ -82,8 +82,8 @@ public class LinkInfo implements Parcelable
dest.writeInt(objectType);
dest.writeInt(mNetworkType);
dest.writeInt(mNormalizedSignalStrength);
- dest.writeInt(mPacketCount);
- dest.writeInt(mPacketErrorCount);
+ dest.writeLong(mPacketCount);
+ dest.writeLong(mPacketErrorCount);
dest.writeInt(mTheoreticalTxBandwidth);
dest.writeInt(mTheoreticalRxBandwidth);
dest.writeInt(mTheoreticalLatency);
@@ -116,8 +116,8 @@ public class LinkInfo implements Parcelable
protected void initializeFromParcel(Parcel in) {
mNetworkType = in.readInt();
mNormalizedSignalStrength = in.readInt();
- mPacketCount = in.readInt();
- mPacketErrorCount = in.readInt();
+ mPacketCount = in.readLong();
+ mPacketErrorCount = in.readLong();
mTheoreticalTxBandwidth = in.readInt();
mTheoreticalRxBandwidth = in.readInt();
mTheoreticalLatency = in.readInt();
diff --git a/core/java/android/net/SamplingDataTracker.java b/core/java/android/net/SamplingDataTracker.java
index b5dc140..ac24930 100644
--- a/core/java/android/net/SamplingDataTracker.java
+++ b/core/java/android/net/SamplingDataTracker.java
@@ -37,12 +37,12 @@ public class SamplingDataTracker
public static class SamplingSnapshot
{
- public int mTxByteCount;
- public int mRxByteCount;
- public int mTxPacketCount;
- public int mRxPacketCount;
- public int mTxPacketErrorCount;
- public int mRxPacketErrorCount;
+ public long mTxByteCount;
+ public long mRxByteCount;
+ public long mTxPacketCount;
+ public long mRxPacketCount;
+ public long mTxPacketErrorCount;
+ public long mRxPacketErrorCount;
public long mTimestamp;
}
@@ -76,32 +76,37 @@ public class SamplingDataTracker
if (DBG) Slog.d(TAG, "Found data for interface " + currentIface);
if (mapIfaceToSample.containsKey(currentIface)) {
- SamplingSnapshot ss = new SamplingSnapshot();
-
- ss.mTxByteCount = Integer.parseInt(tokens[1]);
- ss.mTxPacketCount = Integer.parseInt(tokens[2]);
- ss.mTxPacketErrorCount = Integer.parseInt(tokens[3]);
- ss.mRxByteCount = Integer.parseInt(tokens[9]);
- ss.mRxPacketCount = Integer.parseInt(tokens[10]);
- ss.mRxPacketErrorCount = Integer.parseInt(tokens[11]);
-
- ss.mTimestamp = SystemClock.elapsedRealtime();
-
- if (DBG) {
- Slog.d(TAG, "Interface = " + currentIface);
- Slog.d(TAG, "ByteCount = " + String.valueOf(ss.mTxByteCount));
- Slog.d(TAG, "TxPacketCount = " + String.valueOf(ss.mTxPacketCount));
- Slog.d(TAG, "TxPacketErrorCount = "
- + String.valueOf(ss.mTxPacketErrorCount));
- Slog.d(TAG, "RxByteCount = " + String.valueOf(ss.mRxByteCount));
- Slog.d(TAG, "RxPacketCount = " + String.valueOf(ss.mRxPacketCount));
- Slog.d(TAG, "RxPacketErrorCount = "
- + String.valueOf(ss.mRxPacketErrorCount));
- Slog.d(TAG, "Timestamp = " + String.valueOf(ss.mTimestamp));
- Slog.d(TAG, "---------------------------");
+ try {
+ SamplingSnapshot ss = new SamplingSnapshot();
+
+ ss.mTxByteCount = Long.parseLong(tokens[1]);
+ ss.mTxPacketCount = Long.parseLong(tokens[2]);
+ ss.mTxPacketErrorCount = Long.parseLong(tokens[3]);
+ ss.mRxByteCount = Long.parseLong(tokens[9]);
+ ss.mRxPacketCount = Long.parseLong(tokens[10]);
+ ss.mRxPacketErrorCount = Long.parseLong(tokens[11]);
+
+ ss.mTimestamp = SystemClock.elapsedRealtime();
+
+ if (DBG) {
+ Slog.d(TAG, "Interface = " + currentIface);
+ Slog.d(TAG, "ByteCount = " + String.valueOf(ss.mTxByteCount));
+ Slog.d(TAG, "TxPacketCount = " + String.valueOf(ss.mTxPacketCount));
+ Slog.d(TAG, "TxPacketErrorCount = "
+ + String.valueOf(ss.mTxPacketErrorCount));
+ Slog.d(TAG, "RxByteCount = " + String.valueOf(ss.mRxByteCount));
+ Slog.d(TAG, "RxPacketCount = " + String.valueOf(ss.mRxPacketCount));
+ Slog.d(TAG, "RxPacketErrorCount = "
+ + String.valueOf(ss.mRxPacketErrorCount));
+ Slog.d(TAG, "Timestamp = " + String.valueOf(ss.mTimestamp));
+ Slog.d(TAG, "---------------------------");
+ }
+
+ mapIfaceToSample.put(currentIface, ss);
+
+ } catch (NumberFormatException e) {
+ // just ignore this data point
}
-
- mapIfaceToSample.put(currentIface, ss);
}
}
@@ -179,7 +184,7 @@ public class SamplingDataTracker
}
}
- public int getSampledTxByteCount() {
+ public long getSampledTxByteCount() {
synchronized(mSamplingDataLock) {
if (mBeginningSample != null && mEndingSample != null) {
return mEndingSample.mTxByteCount - mBeginningSample.mTxByteCount;
@@ -189,7 +194,7 @@ public class SamplingDataTracker
}
}
- public int getSampledTxPacketCount() {
+ public long getSampledTxPacketCount() {
synchronized(mSamplingDataLock) {
if (mBeginningSample != null && mEndingSample != null) {
return mEndingSample.mTxPacketCount - mBeginningSample.mTxPacketCount;
@@ -199,7 +204,7 @@ public class SamplingDataTracker
}
}
- public int getSampledTxPacketErrorCount() {
+ public long getSampledTxPacketErrorCount() {
synchronized(mSamplingDataLock) {
if (mBeginningSample != null && mEndingSample != null) {
return mEndingSample.mTxPacketErrorCount - mBeginningSample.mTxPacketErrorCount;
@@ -209,7 +214,7 @@ public class SamplingDataTracker
}
}
- public int getSampledRxByteCount() {
+ public long getSampledRxByteCount() {
synchronized(mSamplingDataLock) {
if (mBeginningSample != null && mEndingSample != null) {
return mEndingSample.mRxByteCount - mBeginningSample.mRxByteCount;
@@ -219,7 +224,7 @@ public class SamplingDataTracker
}
}
- public int getSampledRxPacketCount() {
+ public long getSampledRxPacketCount() {
synchronized(mSamplingDataLock) {
if (mBeginningSample != null && mEndingSample != null) {
return mEndingSample.mRxPacketCount - mBeginningSample.mRxPacketCount;
@@ -229,31 +234,31 @@ public class SamplingDataTracker
}
}
- public int getSampledPacketCount() {
+ public long getSampledPacketCount() {
return getSampledPacketCount(mBeginningSample, mEndingSample);
}
- public int getSampledPacketCount(SamplingSnapshot begin, SamplingSnapshot end) {
+ public long getSampledPacketCount(SamplingSnapshot begin, SamplingSnapshot end) {
if (begin != null && end != null) {
- int rxPacketCount = end.mRxPacketCount - begin.mRxPacketCount;
- int txPacketCount = end.mTxPacketCount - begin.mTxPacketCount;
+ long rxPacketCount = end.mRxPacketCount - begin.mRxPacketCount;
+ long txPacketCount = end.mTxPacketCount - begin.mTxPacketCount;
return rxPacketCount + txPacketCount;
} else {
return LinkInfo.UNKNOWN;
}
}
- public int getSampledPacketErrorCount() {
+ public long getSampledPacketErrorCount() {
if (mBeginningSample != null && mEndingSample != null) {
- int rxPacketErrorCount = getSampledRxPacketErrorCount();
- int txPacketErrorCount = getSampledTxPacketErrorCount();
+ long rxPacketErrorCount = getSampledRxPacketErrorCount();
+ long txPacketErrorCount = getSampledTxPacketErrorCount();
return rxPacketErrorCount + txPacketErrorCount;
} else {
return LinkInfo.UNKNOWN;
}
}
- public int getSampledRxPacketErrorCount() {
+ public long getSampledRxPacketErrorCount() {
synchronized(mSamplingDataLock) {
if (mBeginningSample != null && mEndingSample != null) {
return mEndingSample.mRxPacketErrorCount - mBeginningSample.mRxPacketErrorCount;
diff --git a/core/java/android/net/WifiLinkInfo.java b/core/java/android/net/WifiLinkInfo.java
index f3b0032..a21f1fe 100644
--- a/core/java/android/net/WifiLinkInfo.java
+++ b/core/java/android/net/WifiLinkInfo.java
@@ -39,8 +39,8 @@ public final class WifiLinkInfo extends LinkInfo
public int mRssi = UNKNOWN;
/* packet statistics */
- public int mTxGood = UNKNOWN;
- public int mTxBad = UNKNOWN;
+ public long mTxGood = UNKNOWN;
+ public long mTxBad = UNKNOWN;
/**
* Implement the Parcelable interface.
@@ -51,8 +51,8 @@ public final class WifiLinkInfo extends LinkInfo
dest.writeInt(mType);
dest.writeInt(mRssi);
- dest.writeInt(mTxGood);
- dest.writeInt(mTxBad);
+ dest.writeLong(mTxGood);
+ dest.writeLong(mTxBad);
dest.writeString(mBssid);
}
@@ -65,8 +65,8 @@ public final class WifiLinkInfo extends LinkInfo
li.mType = in.readInt();
li.mRssi = in.readInt();
- li.mTxGood = in.readInt();
- li.mTxBad = in.readInt();
+ li.mTxGood = in.readLong();
+ li.mTxBad = in.readLong();
li.mBssid = in.readString();