Skip to content
Snippets Groups Projects
Commit a628865b authored by Makoto Kato's avatar Makoto Kato
Browse files

Bug 1805127 - Don't use AndroidBridge to get release version. r=geckoview-reviewers,calu

Actually, we can get Android release version from JNI generator, so it is
unnecessary to use `AndroidBridge` to get it.

Also, this cleans up unused AndroidBridge functions.

Differential Revision: https://phabricator.services.mozilla.com/D164431
parent df996dfc
No related branches found
No related tags found
No related merge requests found
......@@ -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:
......
......@@ -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.
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment