gcc_const #else constexpr #endif static inline bool HasEPaper() { #if defined(ANDROID) && defined(__arm__) return IsNookSimpleTouch(); #else return IsKobo(); #endif }
gcc_const #else constexpr #endif static inline bool HasEPaper() { #ifdef ANDROID return IsNookSimpleTouch(); #else return IsKobo(); #endif }
gcc_const #else constexpr #endif static inline bool HasColors() { #ifdef ANDROID return !IsNookSimpleTouch(); #elif defined(GREYSCALE) return false; #else return !IsKobo(); #endif }
bool DeviceDescriptor::OpenInternalSensors() { #ifdef ANDROID if (is_simulator()) return true; if (IsNookSimpleTouch()) /* avoid a crash on startup b/c nook has no internal sensors */ return false; internal_sensors = InternalSensors::create(Java::GetEnv(), context, GetIndex()); if (internal_sensors) { // TODO: Allow user to specify whether they want certain sensors. internal_sensors->subscribeToSensor(InternalSensors::TYPE_PRESSURE); return true; } #endif return false; }
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(); }