diff --git a/widget/android/AndroidBridge.cpp b/widget/android/AndroidBridge.cpp index 50a2d93f98953eade42f214847b373e3a61c04a5..024b64036dc4e3faf9b5a20e47b5f4c5fa913bcb 100644 --- a/widget/android/AndroidBridge.cpp +++ b/widget/android/AndroidBridge.cpp @@ -229,57 +229,6 @@ void AndroidBridge::GetIconForExtension(const nsACString& aFileExt, env->ReleaseByteArrayElements(arr.Get(), elements, 0); } -bool AndroidBridge::GetStaticIntField(const char* className, - const char* fieldName, int32_t* aInt, - JNIEnv* jEnv /* = nullptr */) { - ALOG_BRIDGE("AndroidBridge::GetStaticIntField %s", fieldName); - - if (!jEnv) { - if (!jni::IsAvailable()) { - return false; - } - jEnv = jni::GetGeckoThreadEnv(); - } - - AutoJNIClass cls(jEnv, className); - jfieldID field = cls.getStaticField(fieldName, "I"); - - if (!field) { - return false; - } - - *aInt = static_cast<int32_t>(jEnv->GetStaticIntField(cls.getRawRef(), field)); - return true; -} - -bool AndroidBridge::GetStaticStringField(const char* className, - const char* fieldName, - nsAString& result, - JNIEnv* jEnv /* = nullptr */) { - ALOG_BRIDGE("AndroidBridge::GetStaticStringField %s", fieldName); - - if (!jEnv) { - if (!jni::IsAvailable()) { - return false; - } - jEnv = jni::GetGeckoThreadEnv(); - } - - AutoLocalJNIFrame jniFrame(jEnv, 1); - AutoJNIClass cls(jEnv, className); - jfieldID field = cls.getStaticField(fieldName, "Ljava/lang/String;"); - - if (!field) { - return false; - } - - jstring jstr = (jstring)jEnv->GetStaticObjectField(cls.getRawRef(), field); - if (!jstr) return false; - - result.Assign(jni::String::Ref::From(jstr)->ToString()); - return true; -} - namespace mozilla { class TracerRunnable : public Runnable { public: diff --git a/widget/android/AndroidBridge.h b/widget/android/AndroidBridge.h index 9097b217cd7706bf795818f9d1f4bdd8b057cd39..f2070ef31a21aa73489b3266de70f36c927eb962 100644 --- a/widget/android/AndroidBridge.h +++ b/widget/android/AndroidBridge.h @@ -65,12 +65,6 @@ class AndroidBridge final { void GetIconForExtension(const nsACString& aFileExt, uint32_t aIconSize, uint8_t* const aBuf); - bool GetStaticStringField(const char* classID, const char* field, - nsAString& result, JNIEnv* env = nullptr); - - bool GetStaticIntField(const char* className, const char* fieldName, - int32_t* aInt, JNIEnv* env = nullptr); - // Returns a global reference to the Context for Fennec's Activity. The // caller is responsible for ensuring this doesn't leak by calling // DeleteGlobalRef() when the context is no longer needed. diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp index 6f127896e3347854924ac321f3ada89d57f54087..88ee06d78db60a84343fd3d23c16e163aead37c3 100644 --- a/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp @@ -23,7 +23,7 @@ #endif #ifdef MOZ_WIDGET_ANDROID -# include "AndroidBridge.h" +# include "AndroidBuild.h" # include "mozilla/java/GeckoAppShellWrappers.h" #endif @@ -471,9 +471,9 @@ void ParseManifest(NSLocationType aType, FileLocation& aFile, char* aBuf, gtk_minor_version); #elif defined(MOZ_WIDGET_ANDROID) bool isTablet = false; - if (mozilla::AndroidBridge::Bridge()) { - mozilla::AndroidBridge::Bridge()->GetStaticStringField( - "android/os/Build$VERSION", "RELEASE", osVersion); + if (jni::IsAvailable()) { + jni::String::LocalRef release = java::sdk::Build::VERSION::RELEASE(); + osVersion.Assign(release->ToString()); isTablet = java::GeckoAppShell::IsTablet(); } #endif