| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "flutter/fml/platform/android/jni_util.h" |
| #include "flutter/shell/platform/android/android_image_generator.h" |
| #include "flutter/shell/platform/android/flutter_main.h" |
| #include "flutter/shell/platform/android/platform_view_android.h" |
| #include "flutter/shell/platform/android/vsync_waiter_android.h" |
| |
| // This is called by the VM when the shared library is first loaded. |
| JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) { |
| // Initialize the Java VM. |
| fml::jni::InitJavaVM(vm); |
| |
| JNIEnv* env = fml::jni::AttachCurrentThread(); |
| bool result = false; |
| |
| // Register FlutterMain. |
| result = flutter::FlutterMain::Register(env); |
| FML_CHECK(result); |
| |
| // Register PlatformView |
| result = flutter::PlatformViewAndroid::Register(env); |
| FML_CHECK(result); |
| |
| // Register VSyncWaiter. |
| result = flutter::VsyncWaiterAndroid::Register(env); |
| FML_CHECK(result); |
| |
| // Register AndroidImageDecoder. |
| result = flutter::AndroidImageGenerator::Register(env); |
| FML_CHECK(result); |
| |
| return JNI_VERSION_1_4; |
| } |