diff options
author | Vinit Deshapnde <vinitd@google.com> | 2013-08-26 15:11:01 -0700 |
---|---|---|
committer | Vinit Deshapnde <vinitd@google.com> | 2013-08-26 15:11:01 -0700 |
commit | d0fec8c8857387bf009049011ca4b15260978173 (patch) | |
tree | e14a12eea6e40d48370e372e5b63db887daa428d /core | |
parent | 8e3a41738fba4883f9951406f334567f621db102 (diff) | |
download | frameworks_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.java | 14 | ||||
-rw-r--r-- | core/java/android/net/SamplingDataTracker.java | 93 | ||||
-rw-r--r-- | core/java/android/net/WifiLinkInfo.java | 12 |
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(); |