bug 888268 - wifi tickler for mitigating 802.11 psp mode on android r=dougt

This commit is contained in:
Patrick McManus
2013-07-11 11:39:36 -04:00
parent 3f7761262a
commit 84ca191bc5
21 changed files with 566 additions and 7 deletions

View File

@@ -1858,13 +1858,13 @@ AndroidBridge::GetCurrentNetworkInformation(hal::NetworkInformation* aNetworkInf
AutoLocalJNIFrame jniFrame(env);
// To prevent calling too many methods through JNI, the Java method returns
// an array of double even if we actually want a double and a boolean.
// an array of double even if we actually want a double, two booleans, and an integer.
jobject obj = env->CallStaticObjectMethod(mGeckoAppShellClass, jGetCurrentNetworkInformation);
if (jniFrame.CheckForException())
return;
jdoubleArray arr = static_cast<jdoubleArray>(obj);
if (!arr || env->GetArrayLength(arr) != 2) {
if (!arr || env->GetArrayLength(arr) != 4) {
return;
}
@@ -1872,6 +1872,8 @@ AndroidBridge::GetCurrentNetworkInformation(hal::NetworkInformation* aNetworkInf
aNetworkInfo->bandwidth() = info[0];
aNetworkInfo->canBeMetered() = info[1] == 1.0f;
aNetworkInfo->isWifi() = info[2] == 1.0f;
aNetworkInfo->dhcpGateway() = info[3];
env->ReleaseDoubleArrayElements(arr, info, 0);
}