gcc_visibility_default JNIEXPORT void JNICALL Java_org_xcsoar_NativeView_runNative(JNIEnv *env, jobject obj) { InitThreadDebug(); OpenGL::Initialise(); CheckLogCat(*io_thread); CommonInterface::main_window->RunEventLoop(); }
gcc_visibility_default JNIEXPORT void JNICALL Java_org_xcsoar_NativeView_deinitializeNative(JNIEnv *env, jobject obj) { InitThreadDebug(); delete CommonInterface::main_window; DisallowLanguage(); Fonts::Deinitialize(); #ifdef IOIOLIB delete ioio_helper; ioio_helper = NULL; #endif delete vibrator; vibrator = NULL; SoundUtil::Deinitialise(env); delete event_queue; event_queue = NULL; delete native_view; TextUtil::Deinitialise(env); OpenGL::Deinitialise(); ScreenDeinitialized(); DeinitialiseDataPath(); delete context; #ifdef IOIOLIB BMP085Device::Deinitialise(env); NativeBMP085Listener::Deinitialise(env); I2CbaroDevice::Deinitialise(env); NativeI2CbaroListener::Deinitialise(env); NunchuckDevice::Deinitialise(env); NativeNunchuckListener::Deinitialise(env); VoltageDevice::Deinitialise(env); NativeVoltageListener::Deinitialise(env); IOIOHelper::Deinitialise(env); #endif BluetoothHelper::Deinitialise(env); NativeInputListener::Deinitialise(env); InternalSensors::Deinitialise(env); Environment::Deinitialise(env); Java::URL::Deinitialise(env); DeinitialiseIOThread(); }
gcc_visibility_default JNIEXPORT void JNICALL Java_org_xcsoar_NativeView_runNative(JNIEnv *env, jobject obj) { InitThreadDebug(); OpenGL::Initialise(); if (CheckLogCat()) ShowMessageBox(_T("How embarassing, we're terribly sorry!\n" "Please submit a bug report and " "include the file from the 'crash' directory.\n" "http://bugs.xcsoar.org/newticket\n" "After your report, we'll fix it ASAP."), _T("XCSoar has crashed recently"), MB_OK|MB_ICONERROR); CommonInterface::main_window->RunEventLoop(); }
gcc_visibility_default JNIEXPORT void JNICALL Java_org_xcsoar_NativeView_deinitializeNative(JNIEnv *env, jobject obj) { Shutdown(); if (IsNookSimpleTouch()) { Nook::ExitFastMode(); } StopLogCat(); InitThreadDebug(); if (CommonInterface::main_window != nullptr) { CommonInterface::main_window->Destroy(); delete CommonInterface::main_window; CommonInterface::main_window = nullptr; } DisallowLanguage(); Fonts::Deinitialize(); delete ioio_helper; ioio_helper = nullptr; delete vibrator; vibrator = nullptr; SoundUtil::Deinitialise(env); delete event_queue; event_queue = nullptr; delete native_view; native_view = nullptr; TextUtil::Deinitialise(env); OpenGL::Deinitialise(); ScreenDeinitialized(); DeinitialiseDataPath(); delete context; context = nullptr; BMP085Device::Deinitialise(env); NativeBMP085Listener::Deinitialise(env); I2CbaroDevice::Deinitialise(env); NativeI2CbaroListener::Deinitialise(env); NunchuckDevice::Deinitialise(env); NativeNunchuckListener::Deinitialise(env); VoltageDevice::Deinitialise(env); NativeVoltageListener::Deinitialise(env); IOIOHelper::Deinitialise(env); NativeLeScanCallback::Deinitialise(env); BluetoothHelper::Deinitialise(env); NativeInputListener::Deinitialise(env); NativePortListener::Deinitialise(env); InternalSensors::Deinitialise(env); AndroidBitmap::Deinitialise(env); Environment::Deinitialise(env); NativeView::Deinitialise(env); Java::URL::Deinitialise(env); DeinitialiseIOThread(); }
gcc_visibility_default JNIEXPORT jboolean JNICALL Java_org_xcsoar_NativeView_initializeNative(JNIEnv *env, jobject obj, jobject _context, jint width, jint height, jint xdpi, jint ydpi, jint sdk_version, jstring product) { android_api_level = sdk_version; InitThreadDebug(); InitialiseIOThread(); Java::Init(env); Java::Object::Initialise(env); Java::File::Initialise(env); Java::InputStream::Initialise(env); Java::URL::Initialise(env); Java::URLConnection::Initialise(env); NativeView::Initialise(env); Environment::Initialise(env); AndroidBitmap::Initialise(env); InternalSensors::Initialise(env); NativePortListener::Initialise(env); NativeInputListener::Initialise(env); PortBridge::Initialise(env); BluetoothHelper::Initialise(env); NativeLeScanCallback::Initialise(env); IOIOHelper::Initialise(env); NativeBMP085Listener::Initialise(env); BMP085Device::Initialise(env); NativeI2CbaroListener::Initialise(env); I2CbaroDevice::Initialise(env); NativeNunchuckListener::Initialise(env); NunchuckDevice::Initialise(env); NativeVoltageListener::Initialise(env); VoltageDevice::Initialise(env); context = new Context(env, _context); InitialiseDataPath(); LogFormat(_T("Starting XCSoar %s"), XCSoar_ProductToken); OpenGL::Initialise(); TextUtil::Initialise(env); assert(native_view == nullptr); native_view = new NativeView(env, obj, width, height, xdpi, ydpi, product); #ifdef __arm__ is_nook = StringIsEqual(native_view->GetProduct(), "NOOK"); #endif event_queue = new EventQueue(); SoundUtil::Initialise(env); Vibrator::Initialise(env); vibrator = Vibrator::Create(env, *context); ioio_helper = new IOIOHelper(env); #ifdef __arm__ if (IsNookSimpleTouch()) { is_dithered = Nook::EnterFastMode(); /* enable USB host mode if this is a Nook */ Nook::InitUsb(); } #endif ScreenInitialized(); AllowLanguage(); InitLanguage(); return Startup(); }
gcc_visibility_default JNIEXPORT jboolean JNICALL Java_org_xcsoar_NativeView_initializeNative(JNIEnv *env, jobject obj, jobject _context, jint width, jint height, jint xdpi, jint ydpi, jint sdk_version, jstring product) { InitThreadDebug(); InitialiseIOThread(); Java::Init(env); Java::File::Initialise(env); Java::InputStream::Initialise(env); Java::URL::Initialise(env); Java::URLConnection::Initialise(env); Environment::Initialise(env); InternalSensors::Initialise(env); NativeInputListener::Initialise(env); PortBridge::Initialise(env); BluetoothHelper::Initialise(env); #ifdef IOIOLIB IOIOHelper::Initialise(env); NativeBMP085Listener::Initialise(env); BMP085Device::Initialise(env); NativeI2CbaroListener::Initialise(env); I2CbaroDevice::Initialise(env); NativeNunchuckListener::Initialise(env); NunchuckDevice::Initialise(env); NativeVoltageListener::Initialise(env); VoltageDevice::Initialise(env); #endif context = new Context(env, _context); InitialiseDataPath(); LogFormat(_T("Starting XCSoar %s"), XCSoar_ProductToken); OpenGL::Initialise(); TextUtil::Initialise(env); assert(native_view == NULL); native_view = new NativeView(env, obj, width, height, xdpi, ydpi, sdk_version, product); event_queue = new EventQueue(); SoundUtil::Initialise(env); Vibrator::Initialise(env); vibrator = Vibrator::Create(env, *context); #ifdef IOIOLIB ioio_helper = new IOIOHelper(env); #endif ScreenInitialized(); AllowLanguage(); return Startup(); }