Backout 8b74d5ae78c3 & c619bbb2951f (bug 734391), 772c994fa869 (bug 734324), fd23ff0f9dd1 (bug 734325), d1e037a9390e (bug 733653), 3a7bf79b5b2d (bug 733650) & 9d9392fce538 (bug 733652) for OS X M1 & M3 orange
This commit is contained in:
@@ -49,6 +49,9 @@ jfieldID AndroidGeckoEvent::jPointIndicies = 0;
|
||||
jfieldID AndroidGeckoEvent::jPressures = 0;
|
||||
jfieldID AndroidGeckoEvent::jPointRadii = 0;
|
||||
jfieldID AndroidGeckoEvent::jOrientations = 0;
|
||||
jfieldID AndroidGeckoEvent::jAlphaField = 0;
|
||||
jfieldID AndroidGeckoEvent::jBetaField = 0;
|
||||
jfieldID AndroidGeckoEvent::jGammaField = 0;
|
||||
jfieldID AndroidGeckoEvent::jXField = 0;
|
||||
jfieldID AndroidGeckoEvent::jYField = 0;
|
||||
jfieldID AndroidGeckoEvent::jZField = 0;
|
||||
@@ -70,6 +73,7 @@ jfieldID AndroidGeckoEvent::jRangeStylesField = 0;
|
||||
jfieldID AndroidGeckoEvent::jRangeForeColorField = 0;
|
||||
jfieldID AndroidGeckoEvent::jRangeBackColorField = 0;
|
||||
jfieldID AndroidGeckoEvent::jLocationField = 0;
|
||||
jfieldID AndroidGeckoEvent::jAddressField = 0;
|
||||
jfieldID AndroidGeckoEvent::jBandwidthField = 0;
|
||||
jfieldID AndroidGeckoEvent::jCanBeMeteredField = 0;
|
||||
|
||||
@@ -92,6 +96,19 @@ jmethodID AndroidLocation::jGetBearingMethod = 0;
|
||||
jmethodID AndroidLocation::jGetSpeedMethod = 0;
|
||||
jmethodID AndroidLocation::jGetTimeMethod = 0;
|
||||
|
||||
jclass AndroidAddress::jAddressClass = 0;
|
||||
jmethodID AndroidAddress::jGetAddressLineMethod;
|
||||
jmethodID AndroidAddress::jGetAdminAreaMethod;
|
||||
jmethodID AndroidAddress::jGetCountryNameMethod;
|
||||
jmethodID AndroidAddress::jGetFeatureNameMethod;
|
||||
jmethodID AndroidAddress::jGetLocalityMethod;
|
||||
jmethodID AndroidAddress::jGetPostalCodeMethod;
|
||||
jmethodID AndroidAddress::jGetPremisesMethod;
|
||||
jmethodID AndroidAddress::jGetSubAdminAreaMethod;
|
||||
jmethodID AndroidAddress::jGetSubLocalityMethod;
|
||||
jmethodID AndroidAddress::jGetSubThoroughfareMethod;
|
||||
jmethodID AndroidAddress::jGetThoroughfareMethod;
|
||||
|
||||
jclass AndroidGeckoSoftwareLayerClient::jGeckoSoftwareLayerClientClass = 0;
|
||||
jmethodID AndroidGeckoSoftwareLayerClient::jLockBufferMethod = 0;
|
||||
jmethodID AndroidGeckoSoftwareLayerClient::jUnlockBufferMethod = 0;
|
||||
@@ -125,6 +142,7 @@ mozilla::InitAndroidJavaWrappers(JNIEnv *jEnv)
|
||||
AndroidGeckoEvent::InitGeckoEventClass(jEnv);
|
||||
AndroidPoint::InitPointClass(jEnv);
|
||||
AndroidLocation::InitLocationClass(jEnv);
|
||||
AndroidAddress::InitAddressClass(jEnv);
|
||||
AndroidRect::InitRectClass(jEnv);
|
||||
AndroidGeckoSoftwareLayerClient::InitGeckoSoftwareLayerClientClass(jEnv);
|
||||
AndroidGeckoSurfaceView::InitGeckoSurfaceViewClass(jEnv);
|
||||
@@ -145,6 +163,9 @@ AndroidGeckoEvent::InitGeckoEventClass(JNIEnv *jEnv)
|
||||
jOrientations = getField("mOrientations", "[F");
|
||||
jPressures = getField("mPressures", "[F");
|
||||
jPointRadii = getField("mPointRadii", "[Landroid/graphics/Point;");
|
||||
jAlphaField = getField("mAlpha", "D");
|
||||
jBetaField = getField("mBeta", "D");
|
||||
jGammaField = getField("mGamma", "D");
|
||||
jXField = getField("mX", "D");
|
||||
jYField = getField("mY", "D");
|
||||
jZField = getField("mZ", "D");
|
||||
@@ -165,6 +186,7 @@ AndroidGeckoEvent::InitGeckoEventClass(JNIEnv *jEnv)
|
||||
jRangeForeColorField = getField("mRangeForeColor", "I");
|
||||
jRangeBackColorField = getField("mRangeBackColor", "I");
|
||||
jLocationField = getField("mLocation", "Landroid/location/Location;");
|
||||
jAddressField = getField("mAddress", "Landroid/location/Address;");
|
||||
jBandwidthField = getField("mBandwidth", "D");
|
||||
jCanBeMeteredField = getField("mCanBeMetered", "Z");
|
||||
}
|
||||
@@ -203,6 +225,60 @@ AndroidLocation::InitLocationClass(JNIEnv *jEnv)
|
||||
jGetTimeMethod = getMethod("getTime", "()J");
|
||||
}
|
||||
|
||||
void
|
||||
AndroidAddress::InitAddressClass(JNIEnv *jEnv)
|
||||
{
|
||||
initInit();
|
||||
|
||||
jAddressClass = getClassGlobalRef("android/location/Address");
|
||||
|
||||
jGetAddressLineMethod = getMethod("getAddressLine", "(I)Ljava/lang/String;");
|
||||
jGetAdminAreaMethod = getMethod("getAdminArea", "()Ljava/lang/String;");
|
||||
jGetCountryNameMethod = getMethod("getCountryName", "()Ljava/lang/String;");
|
||||
jGetFeatureNameMethod = getMethod("getFeatureName", "()Ljava/lang/String;");
|
||||
jGetLocalityMethod = getMethod("getLocality", "()Ljava/lang/String;");
|
||||
jGetPostalCodeMethod = getMethod("getPostalCode", "()Ljava/lang/String;");
|
||||
jGetPremisesMethod = getMethod("getPremises", "()Ljava/lang/String;");
|
||||
jGetSubAdminAreaMethod = getMethod("getSubAdminArea", "()Ljava/lang/String;");
|
||||
jGetSubLocalityMethod = getMethod("getSubLocality", "()Ljava/lang/String;");
|
||||
jGetSubThoroughfareMethod = getMethod("getSubThoroughfare", "()Ljava/lang/String;");
|
||||
jGetThoroughfareMethod = getMethod("getThoroughfare", "()Ljava/lang/String;");
|
||||
}
|
||||
|
||||
nsGeoPositionAddress*
|
||||
AndroidAddress::CreateGeoPositionAddress(JNIEnv *jenv, jobject jobj)
|
||||
{
|
||||
nsJNIString streetNumber(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetSubThoroughfareMethod)), jenv);
|
||||
nsJNIString street(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetThoroughfareMethod)), jenv);
|
||||
nsJNIString city(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetLocalityMethod)), jenv);
|
||||
nsJNIString county(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetSubAdminAreaMethod)), jenv);
|
||||
nsJNIString country(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetCountryNameMethod)), jenv);
|
||||
nsJNIString premises(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetPremisesMethod)), jenv);
|
||||
nsJNIString postalCode(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetPostalCodeMethod)), jenv);
|
||||
nsJNIString region(static_cast<jstring>(jenv->CallObjectMethod(jobj, jGetAdminAreaMethod, 0)), jenv);
|
||||
|
||||
#ifdef DEBUG
|
||||
printf_stderr("!!!!!!!!!!!!!! AndroidAddress::CreateGeoPositionAddress:\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s\n",
|
||||
NS_LossyConvertUTF16toASCII(streetNumber).get(),
|
||||
NS_LossyConvertUTF16toASCII(street).get(),
|
||||
NS_LossyConvertUTF16toASCII(premises).get(),
|
||||
NS_LossyConvertUTF16toASCII(city).get(),
|
||||
NS_LossyConvertUTF16toASCII(county).get(),
|
||||
NS_LossyConvertUTF16toASCII(region).get(),
|
||||
NS_LossyConvertUTF16toASCII(country).get(),
|
||||
NS_LossyConvertUTF16toASCII(postalCode).get());
|
||||
#endif
|
||||
|
||||
return new nsGeoPositionAddress(streetNumber,
|
||||
street,
|
||||
premises,
|
||||
city,
|
||||
county,
|
||||
region,
|
||||
country,
|
||||
postalCode);
|
||||
}
|
||||
|
||||
nsGeoPosition*
|
||||
AndroidLocation::CreateGeoPosition(JNIEnv *jenv, jobject jobj)
|
||||
{
|
||||
@@ -421,16 +497,25 @@ AndroidGeckoEvent::Init(JNIEnv *jenv, jobject jobj)
|
||||
ReadRectField(jenv);
|
||||
break;
|
||||
|
||||
case SENSOR_EVENT:
|
||||
mX = jenv->GetDoubleField(jobj, jXField);
|
||||
mY = jenv->GetDoubleField(jobj, jYField);
|
||||
mZ = jenv->GetDoubleField(jobj, jZField);
|
||||
mFlags = jenv->GetIntField(jobj, jFlagsField);
|
||||
break;
|
||||
case ORIENTATION_EVENT:
|
||||
mAlpha = jenv->GetDoubleField(jobj, jAlphaField);
|
||||
mBeta = jenv->GetDoubleField(jobj, jBetaField);
|
||||
mGamma = jenv->GetDoubleField(jobj, jGammaField);
|
||||
break;
|
||||
|
||||
case ACCELERATION_EVENT:
|
||||
mX = jenv->GetDoubleField(jobj, jXField);
|
||||
mY = jenv->GetDoubleField(jobj, jYField);
|
||||
mZ = jenv->GetDoubleField(jobj, jZField);
|
||||
break;
|
||||
|
||||
case LOCATION_EVENT: {
|
||||
jobject location = jenv->GetObjectField(jobj, jLocationField);
|
||||
jobject address = jenv->GetObjectField(jobj, jAddressField);
|
||||
|
||||
mGeoPosition = AndroidLocation::CreateGeoPosition(jenv, location);
|
||||
if (address)
|
||||
mGeoAddress = AndroidAddress::CreateGeoPositionAddress(jenv, address);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -462,7 +547,6 @@ AndroidGeckoEvent::Init(JNIEnv *jenv, jobject jobj)
|
||||
break;
|
||||
}
|
||||
|
||||
case SENSOR_ACCURACY:
|
||||
case ACTIVITY_STOPPING:
|
||||
case ACTIVITY_START:
|
||||
case ACTIVITY_PAUSING:
|
||||
|
||||
Reference in New Issue
Block a user