├── .github
└── workflows
│ ├── build.yml
│ └── release.yml
├── .gitignore
├── LICENSE
├── LICENSE-zxing
├── README.md
├── build.gradle
├── gradle.properties
├── gradle
├── android_project
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── library
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ └── AndroidManifest.xml
│ └── settings.gradle
├── include
│ ├── AttachMacros.h
│ └── android
│ │ ├── attach_macros_android.h
│ │ └── grandroid_ext.h
├── mavenPublish.gradle
├── native-build.gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── modules
├── accelerometer
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── accelerometer
│ │ │ │ ├── Acceleration.java
│ │ │ │ ├── AccelerometerService.java
│ │ │ │ ├── Parameters.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidAccelerometerService.java
│ │ │ │ ├── DummyAccelerometerService.java
│ │ │ │ ├── IOSAccelerometerService.java
│ │ │ │ └── MobileAccelerometerService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── accelerometer.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikAccelerometerService.java
│ │ └── ios
│ │ │ ├── Accelerometer.h
│ │ │ └── Accelerometer.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── audio-recording
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── audiorecording
│ │ │ │ ├── AudioRecordingService.java
│ │ │ │ ├── impl
│ │ │ │ ├── DefaultAudioRecordingService.java
│ │ │ │ ├── DesktopAudioRecordingService.java
│ │ │ │ ├── DummyAudioRecordingService.java
│ │ │ │ └── IOSAudioRecordingService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ └── ios
│ │ │ ├── AudioRecording.h
│ │ │ └── AudioRecording.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
│ │ └── ios
│ │ └── Partial-Info.plist
├── audio
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── audio
│ │ │ │ ├── Audio.java
│ │ │ │ ├── AudioService.java
│ │ │ │ └── impl
│ │ │ │ ├── AndroidAudioService.java
│ │ │ │ ├── DummyAudioService.java
│ │ │ │ └── IOSAudioService.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── audio.c
│ │ │ └── dalvik
│ │ │ │ ├── DalvikAudio.java
│ │ │ │ ├── DalvikAudioService.java
│ │ │ │ ├── DalvikMusic.java
│ │ │ │ └── DalvikSound.java
│ │ └── ios
│ │ │ ├── Audio.h
│ │ │ └── Audio.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── augmented-reality
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── augmentedreality
│ │ │ │ ├── ARModel.java
│ │ │ │ ├── AugmentedRealityService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidAugmentedRealityService.java
│ │ │ │ ├── DefaultAugmentedRealityService.java
│ │ │ │ ├── DummyAugmentedRealityService.java
│ │ │ │ └── IOSAugmentedRealityService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── augmentedreality.c
│ │ │ └── dalvik
│ │ │ │ ├── DalvikAugmentedRealityService.java
│ │ │ │ └── ar
│ │ │ │ ├── ARModel.java
│ │ │ │ ├── ARRenderer.java
│ │ │ │ ├── BackgroundRenderer.java
│ │ │ │ ├── ComplexObjectRenderer.java
│ │ │ │ ├── DisplayRotationHelper.java
│ │ │ │ ├── ObjectRenderer.java
│ │ │ │ ├── PlaneRenderer.java
│ │ │ │ ├── PointCloudRenderer.java
│ │ │ │ ├── ShaderUtil.java
│ │ │ │ └── TapHelper.java
│ │ └── ios
│ │ │ ├── AugmentedReality.h
│ │ │ └── AugmentedReality.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ ├── AndroidManifest.xml
│ │ ├── android-dependencies.txt
│ │ ├── assets
│ │ ├── models
│ │ │ └── trigrid.png
│ │ └── shaders
│ │ │ ├── ar_object.frag
│ │ │ ├── ar_object.vert
│ │ │ ├── background_show_depth_color_visualization.frag
│ │ │ ├── background_show_depth_color_visualization.vert
│ │ │ ├── object.frag
│ │ │ ├── object.vert
│ │ │ ├── plane.frag
│ │ │ ├── plane.vert
│ │ │ ├── point_cloud.frag
│ │ │ ├── point_cloud.vert
│ │ │ ├── screenquad.frag
│ │ │ └── screenquad.vert
│ │ └── build.gradle
├── barcode-scan
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── barcodescan
│ │ │ │ ├── BarcodeScanService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidBarcodeScanService.java
│ │ │ │ ├── DummyBarcodeScanService.java
│ │ │ │ └── IOSBarcodeScanService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── barcodescan.c
│ │ │ └── dalvik
│ │ │ │ ├── DalvikBarcodeScanService.java
│ │ │ │ └── zxing
│ │ │ │ ├── Actions.java
│ │ │ │ ├── AmbientLightManager.java
│ │ │ │ ├── CaptureActivity.java
│ │ │ │ ├── CaptureActivityHandler.java
│ │ │ │ ├── DecodeFormatManager.java
│ │ │ │ ├── DecodeHandler.java
│ │ │ │ ├── DecodeHintManager.java
│ │ │ │ ├── DecodeThread.java
│ │ │ │ ├── FinishListener.java
│ │ │ │ ├── InactivityTimer.java
│ │ │ │ ├── IntentSource.java
│ │ │ │ ├── Intents.java
│ │ │ │ ├── PreferencesActivity.java
│ │ │ │ ├── ViewfinderResultPointCallback.java
│ │ │ │ ├── ViewfinderView.java
│ │ │ │ ├── camera
│ │ │ │ ├── AutoFocusManager.java
│ │ │ │ ├── CameraConfigurationManager.java
│ │ │ │ ├── CameraConfigurationUtils.java
│ │ │ │ ├── CameraManager.java
│ │ │ │ ├── FrontLightMode.java
│ │ │ │ ├── PreviewCallback.java
│ │ │ │ └── open
│ │ │ │ │ ├── CameraFacing.java
│ │ │ │ │ ├── OpenCamera.java
│ │ │ │ │ └── OpenCameraInterface.java
│ │ │ │ ├── res
│ │ │ │ └── layout
│ │ │ │ │ └── CaptureActivityView.java
│ │ │ │ └── result
│ │ │ │ ├── ResultHandler.java
│ │ │ │ ├── ResultHandlerFactory.java
│ │ │ │ └── TextResultHandler.java
│ │ └── ios
│ │ │ ├── BarcodeScan.h
│ │ │ └── BarcodeScan.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ ├── dalvik
│ │ ├── AndroidManifest.xml
│ │ ├── android-dependencies.txt
│ │ └── build.gradle
│ │ └── ios
│ │ └── Partial-Info.plist
├── battery
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── battery
│ │ │ │ ├── BatteryService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidBatteryService.java
│ │ │ │ ├── DummyBatteryService.java
│ │ │ │ └── IOSBatteryService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── battery.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikBatteryService.java
│ │ └── ios
│ │ │ ├── Battery.h
│ │ │ └── Battery.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── ble
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── ble
│ │ │ │ ├── BleCharacteristic.java
│ │ │ │ ├── BleDescriptor.java
│ │ │ │ ├── BleDevice.java
│ │ │ │ ├── BleProfile.java
│ │ │ │ ├── BleService.java
│ │ │ │ ├── BleSpecs.java
│ │ │ │ ├── Configuration.java
│ │ │ │ ├── Proximity.java
│ │ │ │ ├── ScanDetection.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidBleService.java
│ │ │ │ ├── DummyBleService.java
│ │ │ │ └── IOSBleService.java
│ │ │ │ ├── package-info.java
│ │ │ │ └── parser
│ │ │ │ ├── AppearanceBleParser.java
│ │ │ │ ├── BleParser.java
│ │ │ │ ├── BleSpecsFactory.java
│ │ │ │ ├── BleUtils.java
│ │ │ │ ├── ClientConfigurationBleParser.java
│ │ │ │ ├── DefaultBleParser.java
│ │ │ │ ├── HeartRateBleParser.java
│ │ │ │ ├── HeartRateMeasurementBleParser.java
│ │ │ │ ├── PeripheralPreferredBleParser.java
│ │ │ │ └── StringBleParser.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── ble.c
│ │ │ └── dalvik
│ │ │ │ ├── BleGattCallback.java
│ │ │ │ └── DalvikBleService.java
│ │ └── ios
│ │ │ ├── BLE.h
│ │ │ └── BLE.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ ├── dalvik
│ │ └── AndroidManifest.xml
│ │ └── ios
│ │ └── Partial-Info.plist
├── browser
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── browser
│ │ │ │ ├── BrowserService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidBrowserService.java
│ │ │ │ ├── DesktopBrowserService.java
│ │ │ │ ├── DummyBrowserService.java
│ │ │ │ └── IOSBrowserService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── browser.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikBrowserService.java
│ │ └── ios
│ │ │ └── Browser.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
├── cache
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── cache
│ │ │ │ ├── Cache.java
│ │ │ │ ├── CacheService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidCacheService.java
│ │ │ │ ├── DefaultCache.java
│ │ │ │ ├── DefaultCacheService.java
│ │ │ │ ├── DesktopCacheService.java
│ │ │ │ ├── DummyCacheService.java
│ │ │ │ └── IOSCacheService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
├── compass
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── compass
│ │ │ │ ├── CompassService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidCompassService.java
│ │ │ │ ├── DummyCompassService.java
│ │ │ │ ├── IOSCompassService.java
│ │ │ │ └── MobileCompassService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── connectivity
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── connectivity
│ │ │ │ ├── ConnectivityService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidConnectivityService.java
│ │ │ │ ├── DummyConnectivityService.java
│ │ │ │ └── IOSConnectivityService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── connectivity.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikConnectivityService.java
│ │ └── ios
│ │ │ └── Connectivity.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
├── device
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── device
│ │ │ │ ├── DeviceService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidDeviceService.java
│ │ │ │ ├── DeviceInfo.java
│ │ │ │ ├── DummyDeviceServiceImpl.java
│ │ │ │ └── IOSDeviceService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── device.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikDeviceService.java
│ │ └── ios
│ │ │ └── Device.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── dialer
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── dialer
│ │ │ │ ├── DialerService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidDialerService.java
│ │ │ │ ├── DummyDialerService.java
│ │ │ │ └── IOSDialerService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── dialer.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikDialerService.java
│ │ └── ios
│ │ │ └── Dialer.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
├── display
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── display
│ │ │ │ ├── DisplayService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidDisplayService.java
│ │ │ │ ├── DesktopDisplayService.java
│ │ │ │ ├── DummyDisplayService.java
│ │ │ │ └── IOSDisplayService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── display.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikDisplayService.java
│ │ └── ios
│ │ │ ├── Display.h
│ │ │ └── Display.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
├── in-app-billing
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── inappbilling
│ │ │ │ ├── InAppBillingException.java
│ │ │ │ ├── InAppBillingQueryResult.java
│ │ │ │ ├── InAppBillingQueryResultListener.java
│ │ │ │ ├── InAppBillingService.java
│ │ │ │ ├── Product.java
│ │ │ │ ├── ProductDetails.java
│ │ │ │ ├── ProductOrder.java
│ │ │ │ ├── impl
│ │ │ │ ├── DummyInAppBillingService.java
│ │ │ │ └── IOSInAppBillingService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ └── ios
│ │ │ ├── InAppBilling.h
│ │ │ └── InAppBilling.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── keyboard
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── keyboard
│ │ │ │ ├── KeyboardService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidKeyboardService.java
│ │ │ │ ├── DummyKeyboardService.java
│ │ │ │ └── IOSKeyboardService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── keyboard.c
│ │ │ └── dalvik
│ │ │ │ ├── KeyboardHeightListener.java
│ │ │ │ ├── KeyboardService.java
│ │ │ │ └── KeyboardView.java
│ │ └── ios
│ │ │ ├── Keyboard.h
│ │ │ └── Keyboard.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── lifecycle
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── lifecycle
│ │ │ │ ├── LifecycleEvent.java
│ │ │ │ ├── LifecycleService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidLifecycleService.java
│ │ │ │ ├── DesktopLifecycleService.java
│ │ │ │ ├── DummyLifecycleService.java
│ │ │ │ ├── IOSLifecycleService.java
│ │ │ │ └── LifecycleServiceBase.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── lifecycle.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikLifecycleService.java
│ │ └── ios
│ │ │ ├── Lifecycle.h
│ │ │ └── Lifecycle.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
├── local-notifications
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── localnotifications
│ │ │ │ ├── LocalNotificationsService.java
│ │ │ │ ├── Notification.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidLocalNotificationsService.java
│ │ │ │ ├── DummyLocalNotificationsService.java
│ │ │ │ ├── IOSLocalNotificationsService.java
│ │ │ │ ├── LocalNotificationsServiceBase.java
│ │ │ │ └── NotificationsManager.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── localnotifications.c
│ │ │ └── dalvik
│ │ │ │ ├── AlarmReceiver.java
│ │ │ │ ├── DalvikLocalNotificationsService.java
│ │ │ │ └── NotificationActivity.java
│ │ └── ios
│ │ │ ├── LocalNotifications.h
│ │ │ └── LocalNotifications.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
├── magnetometer
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── magnetometer
│ │ │ │ ├── MagnetometerReading.java
│ │ │ │ ├── MagnetometerService.java
│ │ │ │ ├── Parameters.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidMagnetometerService.java
│ │ │ │ ├── DummyMagnetometerService.java
│ │ │ │ ├── IOSMagnetometerService.java
│ │ │ │ └── MobileMagnetometerService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── magnetometer.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikMagnetometerService.java
│ │ └── ios
│ │ │ ├── Magnetometer.h
│ │ │ └── Magnetometer.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── orientation
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── orientation
│ │ │ │ ├── OrientationService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidOrientationService.java
│ │ │ │ ├── DummyOrientationService.java
│ │ │ │ └── IOSOrientationService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── orientation.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikOrientationService.java
│ │ └── ios
│ │ │ ├── Orientation.h
│ │ │ └── Orientation.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── pictures
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── pictures
│ │ │ │ ├── PicturesService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidPicturesService.java
│ │ │ │ ├── DummyPicturesService.java
│ │ │ │ └── IOSPicturesService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── pictures.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikPicturesService.java
│ │ └── ios
│ │ │ ├── Pictures.h
│ │ │ └── Pictures.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ ├── dalvik
│ │ ├── AndroidManifest.xml
│ │ └── res
│ │ │ └── xml
│ │ │ └── file_provider_paths.xml
│ │ └── ios
│ │ └── Partial-Info.plist
├── position
│ ├── build.gradle
│ └── src
│ │ ├── android
│ │ └── resources
│ │ │ └── egm180.nor
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── position
│ │ │ │ ├── Parameters.java
│ │ │ │ ├── Position.java
│ │ │ │ ├── PositionService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidPositionService.java
│ │ │ │ ├── DummyPositionService.java
│ │ │ │ ├── IOSPositionService.java
│ │ │ │ └── geotools
│ │ │ │ │ ├── AbstractMathTransform.java
│ │ │ │ │ ├── EarthGravitationalModel.java
│ │ │ │ │ └── VerticalTransform.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── position.c
│ │ │ └── dalvik
│ │ │ │ ├── AndroidLooperTask.java
│ │ │ │ └── DalvikPositionService.java
│ │ └── ios
│ │ │ ├── Position.h
│ │ │ └── Position.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ └── resourceconfig-aarch64-android.json
│ │ ├── dalvik
│ │ └── AndroidManifest.xml
│ │ └── ios
│ │ └── Partial-Info.plist
├── push-notifications
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── pushnotifications
│ │ │ │ ├── PushNotificationsService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidPushNotificationsService.java
│ │ │ │ ├── DummyPushNotificationsService.java
│ │ │ │ ├── IOSPushNotificationsService.java
│ │ │ │ └── gms
│ │ │ │ │ └── GoogleServicesConfiguration.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── pushnotifications.c
│ │ │ └── dalvik
│ │ │ │ ├── DalvikPushNotificationsService.java
│ │ │ │ ├── FirebaseBroadcastReceiver.java
│ │ │ │ ├── PushFcmMessagingService.java
│ │ │ │ ├── PushNotificationActivity.java
│ │ │ │ └── PushNotificationJobService.java
│ │ └── ios
│ │ │ ├── PushNotifications.h
│ │ │ └── PushNotifications.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ ├── AndroidManifest.xml
│ │ ├── android-dependencies.txt
│ │ └── build.gradle
├── runtime-args
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── runtimeargs
│ │ │ │ ├── RuntimeArgsService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidRuntimeArgsService.java
│ │ │ │ ├── DefaultRuntimeArgsService.java
│ │ │ │ ├── DesktopRuntimeArgsService.java
│ │ │ │ ├── DummyRuntimeArgsService.java
│ │ │ │ └── IOSRuntimeArgsService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── runtimeargs.c
│ │ │ └── dalvik
│ │ │ │ ├── DalvikRuntimeArgsService.java
│ │ │ │ └── LaunchURLActivity.java
│ │ └── ios
│ │ │ ├── RuntimeArgs.h
│ │ │ └── RuntimeArgs.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── jniconfig-aarch64-android.json
│ │ ├── jniconfig-arm64-ios.json
│ │ ├── jniconfig-x86_64-ios.json
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
├── settings
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── settings
│ │ │ │ ├── SettingsService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidSettingsService.java
│ │ │ │ ├── DesktopSettingsService.java
│ │ │ │ ├── DummySettingsService.java
│ │ │ │ └── IOSSettingsService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── settings.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikSettingsService.java
│ │ └── ios
│ │ │ └── Settings.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
├── share
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── share
│ │ │ │ ├── ShareService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidShareService.java
│ │ │ │ ├── DummyShareService.java
│ │ │ │ └── IOSShareService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── share.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikShareService.java
│ │ └── ios
│ │ │ ├── Share.h
│ │ │ └── Share.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ ├── dalvik
│ │ ├── AndroidManifest.xml
│ │ └── res
│ │ │ └── xml
│ │ │ └── file_provider_paths.xml
│ │ └── ios
│ │ └── Partial-Info.plist
├── statusbar
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── statusbar
│ │ │ │ ├── StatusBarService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidStatusBarService.java
│ │ │ │ ├── DummyStatusBarService.java
│ │ │ │ └── IOSStatusBarService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── statusbar.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikStatusBarService.java
│ │ └── ios
│ │ │ └── StatusBar.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
├── storage
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── storage
│ │ │ │ ├── StorageService.java
│ │ │ │ └── impl
│ │ │ │ ├── AndroidStorageService.java
│ │ │ │ ├── DesktopStorageService.java
│ │ │ │ ├── DummyStorageServiceImpl.java
│ │ │ │ └── IOSStorageService.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── storage.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikStorageService.java
│ │ └── ios
│ │ │ └── Storage.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
├── store-review
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── storereview
│ │ │ │ ├── StoreReviewService.java
│ │ │ │ └── impl
│ │ │ │ ├── AndroidStoreReviewService.java
│ │ │ │ ├── DummyStoreReviewServiceImpl.java
│ │ │ │ └── IOSStoreReviewService.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── storereview.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikStoreReviewService.java
│ │ └── ios
│ │ │ └── StoreReview.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ ├── AndroidManifest.xml
│ │ ├── android-dependencies.txt
│ │ └── build.gradle
├── util
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── util
│ │ │ │ ├── Constants.java
│ │ │ │ ├── Platform.java
│ │ │ │ ├── PropertyWatcher.java
│ │ │ │ ├── Services.java
│ │ │ │ ├── Util.java
│ │ │ │ ├── impl
│ │ │ │ ├── ClipboardUtils.java
│ │ │ │ ├── Debug.java
│ │ │ │ ├── DefaultServiceFactory.java
│ │ │ │ └── ServiceFactory.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ ├── util.c
│ │ │ │ └── util.h
│ │ │ └── dalvik
│ │ │ │ ├── FileProvider.java
│ │ │ │ ├── IntentHandler.java
│ │ │ │ ├── LifecycleEventHandler.java
│ │ │ │ └── Util.java
│ │ └── ios
│ │ │ └── Util.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── jniconfig-aarch64-android.json
│ │ └── reflectionconfig-aarch64-android.json
├── version
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── version
│ │ │ │ ├── VersionService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidVersionService.java
│ │ │ │ ├── DesktopVersionService.java
│ │ │ │ ├── DummyVersionService.java
│ │ │ │ └── IOSVersionService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── version.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikVersionService.java
│ │ └── ios
│ │ │ └── Version.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ └── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-aarch64-darwin.json
│ │ ├── reflectionconfig-aarch64-linux.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ ├── reflectionconfig-x86_64-darwin.json
│ │ ├── reflectionconfig-x86_64-ios.json
│ │ ├── reflectionconfig-x86_64-linux.json
│ │ └── reflectionconfig-x86_64-windows.json
├── vibration
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── java
│ │ ├── com
│ │ │ └── gluonhq
│ │ │ │ └── attach
│ │ │ │ └── vibration
│ │ │ │ ├── VibrationService.java
│ │ │ │ ├── impl
│ │ │ │ ├── AndroidVibrationService.java
│ │ │ │ ├── DummyVibrationService.java
│ │ │ │ └── IOSVibrationService.java
│ │ │ │ └── package-info.java
│ │ └── module-info.java
│ │ ├── native
│ │ ├── android
│ │ │ ├── c
│ │ │ │ └── vibration.c
│ │ │ └── dalvik
│ │ │ │ └── DalvikVibrationService.java
│ │ └── ios
│ │ │ └── Vibration.m
│ │ └── resources
│ │ └── META-INF
│ │ └── substrate
│ │ ├── config
│ │ ├── reflectionconfig-aarch64-android.json
│ │ ├── reflectionconfig-arm64-ios.json
│ │ └── reflectionconfig-x86_64-ios.json
│ │ └── dalvik
│ │ └── AndroidManifest.xml
└── video
│ ├── build.gradle
│ └── src
│ └── main
│ ├── java
│ ├── com
│ │ └── gluonhq
│ │ │ └── attach
│ │ │ └── video
│ │ │ ├── Status.java
│ │ │ ├── VideoService.java
│ │ │ ├── impl
│ │ │ ├── AndroidVideoService.java
│ │ │ ├── DefaultVideoService.java
│ │ │ ├── DummyVideoService.java
│ │ │ └── IOSVideoService.java
│ │ │ └── package-info.java
│ └── module-info.java
│ ├── native
│ ├── android
│ │ ├── c
│ │ │ └── video.c
│ │ └── dalvik
│ │ │ └── DalvikVideoService.java
│ └── ios
│ │ ├── Video.h
│ │ └── Video.m
│ └── resources
│ └── META-INF
│ └── substrate
│ └── config
│ ├── jniconfig-aarch64-android.json
│ ├── jniconfig-arm64-ios.json
│ ├── jniconfig-x86_64-ios.json
│ ├── reflectionconfig-aarch64-android.json
│ ├── reflectionconfig-arm64-ios.json
│ └── reflectionconfig-x86_64-ios.json
└── settings.gradle
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Attach Build
2 | on:
3 | push:
4 | branches:
5 | - master
6 | pull_request:
7 | branches:
8 | - master
9 |
10 | jobs:
11 | build:
12 | name: Build
13 | runs-on: macos-latest
14 | strategy:
15 | fail-fast: false
16 | steps:
17 | - name: Checkout
18 | uses: actions/checkout@v2
19 | with:
20 | fetch-depth: 5
21 |
22 | - name: Setup Java
23 | uses: actions/setup-java@v3
24 | with:
25 | distribution: 'temurin'
26 | java-version: '17'
27 |
28 | - name: Grant execute permission for gradlew
29 | run: chmod +x gradlew
30 |
31 | - name: Build project
32 | run: |
33 | export ANDROID_SDK=$ANDROID_HOME
34 | ./gradlew -i nativeBuild
35 |
36 | - name: Deploy Snapshot
37 | if: github.ref == 'refs/heads/master'
38 | run: |
39 | export ANDROID_SDK=$ANDROID_HOME
40 | ./gradlew publish -PsonatypeUsername=$SONATYPE_USERNAME -PsonatypePassword=$SONATYPE_PASSWORD
41 | env:
42 | SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
43 | SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
44 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Idea
2 | .idea/
3 | *.iml
4 |
5 | # Gradle
6 | build/
7 | .gradle/
8 |
9 | # Netbeans
10 | /.nb-gradle/
11 |
12 | # VS Code
13 | .classpath
14 | .project
15 | .settings/
16 | .vscode/
17 | bin/
18 |
19 | # Compiled class file
20 | *.class
21 |
22 | # Log file
23 | *.log
24 |
25 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
26 | hs_err_pid*
27 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | group = com.gluonhq.attach
2 | version = 4.0.23-SNAPSHOT
3 |
4 | # disable publish of sha256, sha512
5 | systemProp.org.gradle.internal.publish.checksums.insecure=true
6 |
--------------------------------------------------------------------------------
/gradle/android_project/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | mavenCentral()
4 | google()
5 | }
6 | dependencies {
7 | classpath 'com.android.tools.build:gradle:8.5.0'
8 | }
9 | }
10 |
11 | allprojects {
12 | repositories {
13 | google()
14 | mavenCentral()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/gradle/android_project/gradle.properties:
--------------------------------------------------------------------------------
1 | android.useAndroidX=true
2 | org.gradle.daemon=false
3 | org.gradle.jvmargs=-Xms512M -Xmx4g -XX:MaxMetaspaceSize=1g
4 |
--------------------------------------------------------------------------------
/gradle/android_project/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gluonhq/attach/b6352c388476e62f3002498c5902a87dee1350a6/gradle/android_project/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/android_project/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | zipStoreBase=GRADLE_USER_HOME
4 | zipStorePath=wrapper/dists
5 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
6 |
--------------------------------------------------------------------------------
/gradle/android_project/library/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 |
5 | namespace 'com.gluonhq.helloandroid'
6 |
7 | compileSdkVersion 34
8 |
9 | defaultConfig {
10 | minSdkVersion 21
11 | targetSdkVersion 34
12 | }
13 |
14 | dependencies {
15 | compileOnly fileTree(dir: '../libs', include: '*.jar')
16 | }
17 |
18 | buildFeatures {
19 | buildConfig = false
20 | resValues = false
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/gradle/android_project/library/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/gradle/android_project/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':library'
2 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gluonhq/attach/b6352c388476e62f3002498c5902a87dee1350a6/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/modules/accelerometer/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | implementation project(":lifecycle")
4 | }
5 |
6 | ext {
7 | moduleName = 'com.gluonhq.attach.accelerometer'
8 | description = 'Common API to access accelerometer features'
9 | }
--------------------------------------------------------------------------------
/modules/accelerometer/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.accelerometer.impl.AndroidAccelerometerService",
4 | "methods":[{"name":"notifyAcceleration","parameterTypes":["double","double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/accelerometer/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.accelerometer.impl.IOSAccelerometerService",
4 | "methods":[{"name":"notifyAcceleration","parameterTypes":["double","double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/accelerometer/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.accelerometer.impl.IOSAccelerometerService",
4 | "methods":[{"name":"notifyAcceleration","parameterTypes":["double","double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/accelerometer/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.accelerometer.impl.AndroidAccelerometerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/accelerometer/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.accelerometer.impl.IOSAccelerometerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/accelerometer/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.accelerometer.impl.IOSAccelerometerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | implementation project(':storage')
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.audiorecording'
7 | ext.description = 'Common API to access audio recording features'
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.IOSAudioRecordingService",
4 | "methods":[
5 | {"name":"notifyRecordingStatus","parameterTypes":["boolean"]},
6 | {"name":"notifyRecordingChunk","parameterTypes":["java.lang.String"]}
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.IOSAudioRecordingService",
4 | "methods":[
5 | {"name":"notifyRecordingStatus","parameterTypes":["boolean"]},
6 | {"name":"notifyRecordingChunk","parameterTypes":["java.lang.String"]}
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.DesktopAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.DesktopAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.IOSAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.DesktopAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.IOSAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.DesktopAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audiorecording.impl.DesktopAudioRecordingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio-recording/src/main/resources/META-INF/substrate/ios/Partial-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIFileSharingEnabled
6 | YES
7 | NSMicrophoneUsageDescription
8 | This app requires access to the microphone
9 | UIBackgroundModes
10 |
11 | audio
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/modules/audio/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(':storage')
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.audio'
7 | ext.description = 'Common API to access audio features'
--------------------------------------------------------------------------------
/modules/audio/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audio.impl.AndroidAudioService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audio.impl.IOSAudioService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/audio/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.audio.impl.IOSAudioService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | implementation project(':storage')
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.augmentedreality'
7 | ext.description = 'Common API to access Augmented Reality features'
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.augmentedreality.impl.AndroidAugmentedRealityService",
4 | "methods":[
5 | {"name":"notifyCancel","parameterTypes":[] },
6 | {"name":"notifyAvailability","parameterTypes":["java.lang.String"] }
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.augmentedreality.impl.IOSAugmentedRealityService",
4 | "methods":[{"name":"notifyCancel","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.augmentedreality.impl.IOSAugmentedRealityService",
4 | "methods":[{"name":"notifyCancel","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.augmentedreality.impl.AndroidAugmentedRealityService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.augmentedreality.impl.IOSAugmentedRealityService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.augmentedreality.impl.IOSAugmentedRealityService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/android-dependencies.txt:
--------------------------------------------------------------------------------
1 | implementation 'com.google.ar:core:1.20.0'
2 | implementation 'de.javagl:obj:0.3.0'
3 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/models/trigrid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gluonhq/attach/b6352c388476e62f3002498c5902a87dee1350a6/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/models/trigrid.png
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/ar_object.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | uniform mat4 u_ModelView;
18 | uniform mat4 u_ModelViewProjection;
19 |
20 | attribute vec4 a_Position;
21 | attribute vec3 a_Normal;
22 | attribute vec2 a_TexCoord;
23 |
24 | varying vec3 v_ViewPosition;
25 | varying vec3 v_ViewNormal;
26 | varying vec2 v_TexCoord;
27 | varying vec3 v_ScreenSpacePosition;
28 |
29 | void main() {
30 | v_ViewPosition = (u_ModelView * a_Position).xyz;
31 | v_ViewNormal = normalize((u_ModelView * vec4(a_Normal, 0.0)).xyz);
32 | v_TexCoord = a_TexCoord;
33 | gl_Position = u_ModelViewProjection * a_Position;
34 | v_ScreenSpacePosition = gl_Position.xyz / gl_Position.w;
35 | }
36 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/background_show_depth_color_visualization.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2020 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | attribute vec4 a_Position;
18 | attribute vec2 a_TexCoord;
19 |
20 | varying vec2 v_TexCoord;
21 |
22 | void main() {
23 | v_TexCoord = a_TexCoord;
24 | gl_Position = a_Position;
25 | }
26 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/object.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | uniform mat4 u_ModelView;
18 | uniform mat4 u_ModelViewProjection;
19 |
20 | attribute vec4 a_Position;
21 | attribute vec3 a_Normal;
22 | attribute vec2 a_TexCoord;
23 |
24 | varying vec3 v_ViewPosition;
25 | varying vec3 v_ViewNormal;
26 | varying vec2 v_TexCoord;
27 |
28 | void main() {
29 | v_ViewPosition = (u_ModelView * a_Position).xyz;
30 | v_ViewNormal = normalize((u_ModelView * vec4(a_Normal, 0.0)).xyz);
31 | v_TexCoord = a_TexCoord;
32 | gl_Position = u_ModelViewProjection * a_Position;
33 | }
34 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/plane.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | precision highp float;
18 | uniform sampler2D u_Texture;
19 | uniform vec4 u_gridControl; // dotThreshold, lineThreshold, lineFadeShrink, occlusionShrink
20 | varying vec3 v_TexCoordAlpha;
21 |
22 | void main() {
23 | vec4 control = texture2D(u_Texture, v_TexCoordAlpha.xy);
24 | float dotScale = v_TexCoordAlpha.z;
25 | float lineFade = max(0.0, u_gridControl.z * v_TexCoordAlpha.z - (u_gridControl.z - 1.0));
26 | float alpha = (control.r * dotScale > u_gridControl.x) ? 1.0
27 | : (control.g > u_gridControl.y) ? lineFade
28 | : (0.25 * lineFade);
29 | gl_FragColor = vec4(alpha * v_TexCoordAlpha.z);
30 | }
31 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/plane.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | uniform mat4 u_Model;
18 | uniform mat4 u_ModelViewProjection;
19 | uniform mat2 u_PlaneUvMatrix;
20 | uniform vec3 u_Normal;
21 |
22 | attribute vec3 a_XZPositionAlpha; // (x, z, alpha)
23 |
24 | varying vec3 v_TexCoordAlpha;
25 |
26 | void main() {
27 | vec4 local_pos = vec4(a_XZPositionAlpha.x, 0.0, a_XZPositionAlpha.y, 1.0);
28 | vec4 world_pos = u_Model * local_pos;
29 |
30 | // Construct two vectors that are orthogonal to the normal.
31 | // This arbitrary choice is not co-linear with either horizontal
32 | // or vertical plane normals.
33 | const vec3 arbitrary = vec3(1.0, 1.0, 0.0);
34 | vec3 vec_u = normalize(cross(u_Normal, arbitrary));
35 | vec3 vec_v = normalize(cross(u_Normal, vec_u));
36 |
37 | // Project vertices in world frame onto vec_u and vec_v.
38 | vec2 uv = vec2(dot(world_pos.xyz, vec_u), dot(world_pos.xyz, vec_v));
39 | v_TexCoordAlpha = vec3(u_PlaneUvMatrix * uv, a_XZPositionAlpha.z);
40 | gl_Position = u_ModelViewProjection * local_pos;
41 | }
42 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/point_cloud.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | precision mediump float;
18 | varying vec4 v_Color;
19 |
20 | void main() {
21 | gl_FragColor = v_Color;
22 | }
23 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/point_cloud.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | uniform mat4 u_ModelViewProjection;
18 | uniform vec4 u_Color;
19 | uniform float u_PointSize;
20 |
21 | attribute vec4 a_Position;
22 |
23 | varying vec4 v_Color;
24 |
25 | void main() {
26 | v_Color = u_Color;
27 | gl_Position = u_ModelViewProjection * vec4(a_Position.xyz, 1.0);
28 | gl_PointSize = u_PointSize;
29 | }
30 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/screenquad.frag:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | #extension GL_OES_EGL_image_external : require
17 |
18 | precision mediump float;
19 | varying vec2 v_TexCoord;
20 | uniform samplerExternalOES sTexture;
21 |
22 |
23 | void main() {
24 | gl_FragColor = texture2D(sTexture, v_TexCoord);
25 | }
26 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/assets/shaders/screenquad.vert:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Google LLC
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | attribute vec4 a_Position;
18 | attribute vec2 a_TexCoord;
19 |
20 | varying vec2 v_TexCoord;
21 |
22 | void main() {
23 | gl_Position = a_Position;
24 | v_TexCoord = a_TexCoord;
25 | }
26 |
--------------------------------------------------------------------------------
/modules/augmented-reality/src/main/resources/META-INF/substrate/dalvik/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 |
5 | namespace 'com.gluonhq.helloandroid'
6 |
7 | compileSdkVersion 34
8 |
9 | defaultConfig {
10 | minSdkVersion 21
11 | targetSdkVersion 34
12 | }
13 |
14 | compileOptions {
15 | sourceCompatibility JavaVersion.VERSION_1_8
16 | targetCompatibility JavaVersion.VERSION_1_8
17 | }
18 |
19 | dependencies {
20 | compileOnly fileTree(dir: '../libs', include: '*.jar')
21 | implementation 'com.google.ar:core:1.20.0'
22 | implementation 'de.javagl:obj:0.3.0'
23 | }
24 |
25 | buildFeatures {
26 | buildConfig = false
27 | resValues = false
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/modules/barcode-scan/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.barcodescan'
6 | ext.description = 'Common API to access barcode scan features'
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/java/com/gluonhq/attach/barcodescan/impl/DummyBarcodeScanService.java:
--------------------------------------------------------------------------------
1 | package com.gluonhq.attach.barcodescan.impl;
2 |
3 | import com.gluonhq.attach.barcodescan.BarcodeScanService;
4 |
5 | public abstract class DummyBarcodeScanService implements BarcodeScanService {
6 | }
7 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/FinishListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing;
18 |
19 | import android.app.Activity;
20 | import android.content.DialogInterface;
21 |
22 | /**
23 | * Simple listener used to exit the app in a few cases.
24 | *
25 | * @author Sean Owen
26 | */
27 | public final class FinishListener implements DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
28 |
29 | private final Activity activityToFinish;
30 |
31 | public FinishListener(Activity activityToFinish) {
32 | this.activityToFinish = activityToFinish;
33 | }
34 |
35 | @Override
36 | public void onCancel(DialogInterface dialogInterface) {
37 | run();
38 | }
39 |
40 | @Override
41 | public void onClick(DialogInterface dialogInterface, int i) {
42 | run();
43 | }
44 |
45 | private void run() {
46 | activityToFinish.finish();
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/IntentSource.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2011 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing;
18 |
19 | enum IntentSource {
20 |
21 | NATIVE_APP_INTENT,
22 | NONE
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/ViewfinderResultPointCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing;
18 |
19 | import com.google.zxing.ResultPoint;
20 | import com.google.zxing.ResultPointCallback;
21 |
22 | final class ViewfinderResultPointCallback implements ResultPointCallback {
23 |
24 | private final ViewfinderView viewfinderView;
25 |
26 | ViewfinderResultPointCallback(ViewfinderView viewfinderView) {
27 | this.viewfinderView = viewfinderView;
28 | }
29 |
30 | @Override
31 | public void foundPossibleResultPoint(ResultPoint point) {
32 | viewfinderView.addPossibleResultPoint(point);
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/camera/FrontLightMode.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2012 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing.camera;
18 |
19 | import android.content.SharedPreferences;
20 | import com.gluonhq.helloandroid.zxing.PreferencesActivity;
21 |
22 | /**
23 | * Enumerates settings of the preference controlling the front light.
24 | */
25 | public enum FrontLightMode {
26 |
27 | /** Always on. */
28 | ON,
29 | /** On only when ambient light is low. */
30 | AUTO,
31 | /** Always off. */
32 | OFF;
33 |
34 | private static FrontLightMode parse(String modeString) {
35 | return modeString == null ? OFF : valueOf(modeString);
36 | }
37 |
38 | public static FrontLightMode readPref(SharedPreferences sharedPrefs) {
39 | return parse(sharedPrefs.getString(PreferencesActivity.KEY_FRONT_LIGHT_MODE, OFF.toString()));
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/camera/open/CameraFacing.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing.camera.open;
18 |
19 | public enum CameraFacing {
20 |
21 | BACK, // must be value 0!
22 | FRONT, // must be value 1!
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/camera/open/OpenCamera.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing.camera.open;
18 |
19 | import android.hardware.Camera;
20 |
21 | @SuppressWarnings("deprecation") // camera APIs
22 | public final class OpenCamera {
23 |
24 | private final int index;
25 | private final Camera camera;
26 | private final CameraFacing facing;
27 | private final int orientation;
28 |
29 | public OpenCamera(int index, Camera camera, CameraFacing facing, int orientation) {
30 | this.index = index;
31 | this.camera = camera;
32 | this.facing = facing;
33 | this.orientation = orientation;
34 | }
35 |
36 | public Camera getCamera() {
37 | return camera;
38 | }
39 |
40 | public CameraFacing getFacing() {
41 | return facing;
42 | }
43 |
44 | public int getOrientation() {
45 | return orientation;
46 | }
47 |
48 | @Override
49 | public String toString() {
50 | return "Camera #" + index + " : " + facing + ',' + orientation;
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/result/ResultHandlerFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing.result;
18 |
19 | import com.gluonhq.helloandroid.zxing.CaptureActivity;
20 | import com.google.zxing.Result;
21 | import com.google.zxing.client.result.ParsedResult;
22 | import com.google.zxing.client.result.ResultParser;
23 |
24 | /**
25 | * Manufactures Android-specific handlers based on the barcode content's type.
26 | *
27 | * @author dswitkin@google.com (Daniel Switkin)
28 | */
29 | public final class ResultHandlerFactory {
30 | private ResultHandlerFactory() {
31 | }
32 |
33 | public static ResultHandler makeResultHandler(String resultText, CaptureActivity activity, Result rawResult) {
34 | ParsedResult result = parseResult(rawResult);
35 | return new TextResultHandler(resultText, activity, result);
36 | }
37 |
38 | private static ParsedResult parseResult(Result rawResult) {
39 | return ResultParser.parseResult(rawResult);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/native/android/dalvik/zxing/result/TextResultHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 ZXing authors
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.gluonhq.helloandroid.zxing.result;
18 |
19 | import com.google.zxing.client.result.ParsedResult;
20 |
21 | import android.app.Activity;
22 |
23 | /**
24 | * This class handles TextParsedResult as well as unknown formats. It's the fallback handler.
25 | *
26 | * @author dswitkin@google.com (Daniel Switkin)
27 | */
28 | public final class TextResultHandler extends ResultHandler {
29 |
30 | private final String resultText;
31 |
32 | public TextResultHandler(String resultText, Activity activity, ParsedResult result) {
33 | super(activity, result);
34 | this.resultText = resultText;
35 | }
36 |
37 | @Override
38 | public String getDisplayTitle() {
39 | return resultText;
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.barcodescan.impl.AndroidBarcodeScanService",
4 | "methods":[{"name":"setResult","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.barcodescan.impl.IOSBarcodeScanService",
4 | "methods":[{"name":"setResult","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.barcodescan.impl.IOSBarcodeScanService",
4 | "methods":[{"name":"setResult","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.barcodescan.impl.AndroidBarcodeScanService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.barcodescan.impl.IOSBarcodeScanService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.barcodescan.impl.IOSBarcodeScanService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/dalvik/android-dependencies.txt:
--------------------------------------------------------------------------------
1 | implementation 'com.google.zxing:core:3.4.1'
2 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/dalvik/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 |
5 | namespace 'com.gluonhq.helloandroid'
6 |
7 | compileSdkVersion 34
8 |
9 | defaultConfig {
10 | minSdkVersion 21
11 | targetSdkVersion 34
12 | }
13 |
14 | dependencies {
15 | compileOnly fileTree(dir: '../libs', include: '*.jar')
16 | implementation 'com.google.zxing:core:3.4.1'
17 | }
18 |
19 | buildFeatures {
20 | buildConfig = false
21 | resValues = false
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/modules/barcode-scan/src/main/resources/META-INF/substrate/ios/Partial-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSCameraUsageDescription
6 | This app requires access to the camera to scan barcodes and/or QR codes
7 |
8 |
9 |
--------------------------------------------------------------------------------
/modules/battery/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":lifecycle")
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.battery'
7 | ext.description = 'Common API to access battery features'
--------------------------------------------------------------------------------
/modules/battery/src/main/java/com/gluonhq/attach/battery/impl/DummyBatteryService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.battery.impl;
29 |
30 | import com.gluonhq.attach.battery.BatteryService;
31 |
32 | public abstract class DummyBatteryService implements BatteryService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/battery/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.battery.impl.AndroidBatteryService",
4 | "methods":[
5 | {"name":"notifyBattery","parameterTypes":["float","boolean"]}
6 | ]
7 | }
8 | ]
--------------------------------------------------------------------------------
/modules/battery/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.battery.impl.IOSBatteryService",
4 | "methods":[
5 | {"name":"notifyBatteryLevel","parameterTypes":["float"]},
6 | {"name":"notifyBatteryState","parameterTypes":["java.lang.String"]}
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/battery/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.battery.impl.IOSBatteryService",
4 | "methods":[
5 | {"name":"notifyBatteryLevel","parameterTypes":["float"]},
6 | {"name":"notifyBatteryState","parameterTypes":["java.lang.String"]}
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/battery/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.battery.impl.AndroidBatteryService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/battery/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.battery.impl.IOSBatteryService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/battery/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.battery.impl.IOSBatteryService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/ble/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.ble'
6 | ext.description = 'Common API to access bluetooth low energy features'
--------------------------------------------------------------------------------
/modules/ble/src/main/java/com/gluonhq/attach/ble/impl/DummyBleService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.ble.impl;
29 |
30 | import com.gluonhq.attach.ble.BleService;
31 |
32 | public abstract class DummyBleService implements BleService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/ble/src/main/java/com/gluonhq/attach/ble/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * API related to the {@link com.gluonhq.attach.ble.BleService BlueTooth Low Energy service}.
31 | */
32 | package com.gluonhq.attach.ble;
--------------------------------------------------------------------------------
/modules/ble/src/main/java/com/gluonhq/attach/ble/parser/BleParser.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.ble.parser;
29 |
30 | public interface BleParser {
31 |
32 | String parse(byte[] value);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/modules/ble/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.ble {
29 |
30 | requires javafx.graphics;
31 | requires com.gluonhq.attach.util;
32 |
33 | exports com.gluonhq.attach.ble;
34 | exports com.gluonhq.attach.ble.impl to com.gluonhq.attach.util;
35 | }
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.ble.impl.AndroidBleService",
4 | "methods":[
5 | {"name":"setDetection","parameterTypes":["java.lang.String","int","int","int","int"] },
6 | {"name":"gotPeripheral","parameterTypes":["java.lang.String","java.lang.String"] },
7 | {"name":"gotState","parameterTypes":["java.lang.String","java.lang.String"] },
8 | {"name":"gotProfile","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"] },
9 | {"name":"gotCharacteristic","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String"] },
10 | {"name":"gotDescriptor","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","byte[]"] },
11 | {"name":"gotValue","parameterTypes":["java.lang.String","java.lang.String","byte[]"] }
12 | ]
13 | }
14 | ]
15 |
16 |
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.ble.impl.IOSBleService",
4 | "methods":[
5 | {"name":"setDetection","parameterTypes":["java.lang.String","int","int","int","int"] },
6 | {"name":"gotPeripheral","parameterTypes":["java.lang.String","java.lang.String"] },
7 | {"name":"gotState","parameterTypes":["java.lang.String","java.lang.String"] },
8 | {"name":"gotProfile","parameterTypes":["java.lang.String","java.lang.String","boolean"] },
9 | {"name":"removeProfile","parameterTypes":["java.lang.String","java.lang.String"] },
10 | {"name":"gotCharacteristic","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String"] },
11 | {"name":"gotValue","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"] },
12 | {"name":"gotDescriptor","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"] }
13 | ]
14 | }
15 | ]
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.ble.impl.IOSBleService",
4 | "methods":[
5 | {"name":"setDetection","parameterTypes":["java.lang.String","int","int","int","int"] },
6 | {"name":"gotPeripheral","parameterTypes":["java.lang.String","java.lang.String"] },
7 | {"name":"gotState","parameterTypes":["java.lang.String","java.lang.String"] },
8 | {"name":"gotProfile","parameterTypes":["java.lang.String","java.lang.String","boolean"] },
9 | {"name":"removeProfile","parameterTypes":["java.lang.String","java.lang.String"] },
10 | {"name":"gotCharacteristic","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String"] },
11 | {"name":"gotValue","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"] },
12 | {"name":"gotDescriptor","parameterTypes":["java.lang.String","java.lang.String","java.lang.String"] }
13 | ]
14 | }
15 | ]
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.ble.impl.AndroidBleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.ble.impl.IOSBleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.ble.impl.IOSBleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/modules/ble/src/main/resources/META-INF/substrate/ios/Partial-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSLocationUsageDescription
6 | This app requires access to the location information
7 | NSLocationAlwaysAndWhenInUseUsageDescription
8 | This app requires access to the location information at all times
9 | NSBluetoothAlwaysUsageDescription
10 | This app requires access to Bluetooth
11 |
12 |
13 |
--------------------------------------------------------------------------------
/modules/browser/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.browser'
6 | ext.description = 'Common API to access browser features'
--------------------------------------------------------------------------------
/modules/browser/src/main/java/com/gluonhq/attach/browser/impl/DummyBrowserService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.browser.impl;
29 |
30 | import com.gluonhq.attach.browser.BrowserService;
31 |
32 | public abstract class DummyBrowserService implements BrowserService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/browser/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.browser {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.browser;
33 | exports com.gluonhq.attach.browser.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.AndroidBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.DesktopBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.DesktopBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.IOSBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.DesktopBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.IOSBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.DesktopBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.browser.impl.DesktopBrowserService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/browser/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/modules/cache/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.cache'
6 | ext.description = 'Common API to access cache features'
--------------------------------------------------------------------------------
/modules/cache/src/main/java/com/gluonhq/attach/cache/impl/AndroidCacheService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2020 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.cache.impl;
29 |
30 | public class AndroidCacheService extends DefaultCacheService {
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/modules/cache/src/main/java/com/gluonhq/attach/cache/impl/DesktopCacheService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.cache.impl;
29 |
30 | public class DesktopCacheService extends DefaultCacheService {
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/modules/cache/src/main/java/com/gluonhq/attach/cache/impl/DummyCacheService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.cache.impl;
29 |
30 | import com.gluonhq.attach.cache.CacheService;
31 |
32 | // no-op
33 | public abstract class DummyCacheService implements CacheService {
34 | }
35 |
--------------------------------------------------------------------------------
/modules/cache/src/main/java/com/gluonhq/attach/cache/impl/IOSCacheService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.cache.impl;
29 |
30 | public class IOSCacheService extends DefaultCacheService {
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/modules/cache/src/main/java/com/gluonhq/attach/cache/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * Primary API package for Attach - Cache plugin,
31 | * contains the interface {@link com.gluonhq.attach.cache.CacheService} and related classes.
32 | */
33 | package com.gluonhq.attach.cache;
--------------------------------------------------------------------------------
/modules/cache/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.cache {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.cache;
33 | exports com.gluonhq.attach.cache.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.AndroidCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.DesktopCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.DesktopCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.IOSCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.DesktopCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.IOSCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.DesktopCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/cache/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.cache.impl.DesktopCacheService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/compass/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":magnetometer")
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.compass'
7 | ext.description = 'Common API to access compass features'
--------------------------------------------------------------------------------
/modules/compass/src/main/java/com/gluonhq/attach/compass/impl/AndroidCompassService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2020, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.compass.impl;
29 |
30 | public class AndroidCompassService extends MobileCompassService {
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/modules/compass/src/main/java/com/gluonhq/attach/compass/impl/DummyCompassService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.compass.impl;
29 |
30 | import com.gluonhq.attach.compass.CompassService;
31 |
32 | public abstract class DummyCompassService implements CompassService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/compass/src/main/java/com/gluonhq/attach/compass/impl/IOSCompassService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2020, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.compass.impl;
29 |
30 | public class IOSCompassService extends MobileCompassService {
31 |
32 | }
--------------------------------------------------------------------------------
/modules/compass/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.compass.impl.AndroidCompassService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/compass/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.compass.impl.IOSCompassService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/compass/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.compass.impl.IOSCompassService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/connectivity/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.connectivity'
6 | ext.description = 'Common API to access connectivity features'
--------------------------------------------------------------------------------
/modules/connectivity/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.connectivity.impl.AndroidConnectivityService",
4 | "methods":[{"name":"notifyConnection","parameterTypes":["boolean"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/connectivity/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.connectivity.impl.AndroidConnectivityService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/connectivity/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.connectivity.impl.IOSConnectivityService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/connectivity/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.connectivity.impl.IOSConnectivityService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/connectivity/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/modules/device/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.device'
6 | ext.description = 'Common API to access device features'
--------------------------------------------------------------------------------
/modules/device/src/main/java/com/gluonhq/attach/device/impl/DummyDeviceServiceImpl.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.device.impl;
29 |
30 | import com.gluonhq.attach.device.DeviceService;
31 |
32 | abstract class DummyDeviceServiceImpl implements DeviceService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/device/src/main/java/com/gluonhq/attach/device/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * Primary API package for Attach - Device plugin,
31 | * contains the interface {@link com.gluonhq.attach.device.DeviceService} and related classes.
32 | */
33 | package com.gluonhq.attach.device;
--------------------------------------------------------------------------------
/modules/device/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.device {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.device;
33 | exports com.gluonhq.attach.device.impl to com.gluonhq.attach.util;
34 | }
35 |
--------------------------------------------------------------------------------
/modules/device/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.device.impl.DeviceInfo",
4 | "methods":[
5 | {"name":"","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","boolean","java.lang.String"] }
6 | ]
7 | }
8 | ]
9 |
10 |
--------------------------------------------------------------------------------
/modules/device/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.device.impl.IOSDeviceService",
4 | "methods":[{"name":"sendDeviceData","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/device/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.device.impl.IOSDeviceService",
4 | "methods":[{"name":"sendDeviceData","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/device/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.device.impl.AndroidDeviceService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/device/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.device.impl.IOSDeviceService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/device/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.device.impl.IOSDeviceService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/dialer/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.dialer'
6 | ext.description = 'Common API to access dialer features'
--------------------------------------------------------------------------------
/modules/dialer/src/main/java/com/gluonhq/attach/dialer/impl/DummyDialerService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.dialer.impl;
29 |
30 | import com.gluonhq.attach.dialer.DialerService;
31 |
32 | public abstract class DummyDialerService implements DialerService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/dialer/src/main/java/com/gluonhq/attach/dialer/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2016, 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * Primary API package for Attach - Dialer plugin,
31 | * contains the interface {@link com.gluonhq.attach.dialer.DialerService} and related classes.
32 | */
33 | package com.gluonhq.attach.dialer;
--------------------------------------------------------------------------------
/modules/dialer/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.dialer {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.dialer;
33 | exports com.gluonhq.attach.dialer.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/dialer/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.dialer.impl.AndroidDialerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/dialer/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.dialer.impl.IOSDialerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/dialer/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.dialer.impl.IOSDialerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/dialer/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/modules/display/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":lifecycle")
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.display'
7 | ext.description = 'Common API to access display features'
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.IOSDisplayService",
4 | "methods":[{"name":"notifyDisplay","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.IOSDisplayService",
4 | "methods":[{"name":"notifyDisplay","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.AndroidDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.DesktopDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.DesktopDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.IOSDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.DesktopDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.IOSDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.DesktopDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/display/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.display.impl.DesktopDisplayService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/in-app-billing/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.inappbilling'
6 | ext.description = 'Common API to access in-app billing features'
--------------------------------------------------------------------------------
/modules/in-app-billing/src/main/java/com/gluonhq/attach/inappbilling/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017, 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * API related to the {@link com.gluonhq.attach.inappbilling.InAppBillingService}
31 | */
32 | package com.gluonhq.attach.inappbilling;
--------------------------------------------------------------------------------
/modules/in-app-billing/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.inappbilling.impl.IOSInAppBillingService",
4 | "methods":[
5 | {"name":"setInAppReady","parameterTypes":["boolean"]},
6 | {"name":"setProduct","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String"]},
7 | {"name":"doneFetching","parameterTypes":["boolean"]},
8 | {"name":"restorePurchases","parameterTypes":["java.lang.String"]},
9 | {"name":"setPurchase","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String"]}
10 | ]
11 | }
12 | ]
--------------------------------------------------------------------------------
/modules/in-app-billing/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.inappbilling.impl.IOSInAppBillingService",
4 | "methods":[
5 | {"name":"setInAppReady","parameterTypes":["boolean"]},
6 | {"name":"setProduct","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String","java.lang.String"]},
7 | {"name":"doneFetching","parameterTypes":["boolean"]},
8 | {"name":"restorePurchases","parameterTypes":["java.lang.String"]},
9 | {"name":"setPurchase","parameterTypes":["java.lang.String","java.lang.String","java.lang.String","java.lang.String"]}
10 | ]
11 | }
12 | ]
--------------------------------------------------------------------------------
/modules/in-app-billing/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.inappbilling.impl.IOSInAppBillingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/in-app-billing/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.inappbilling.impl.IOSInAppBillingService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/keyboard/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":lifecycle")
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.keyboard'
7 | ext.description = 'Common API to access keyboard features'
--------------------------------------------------------------------------------
/modules/keyboard/src/main/java/com/gluonhq/attach/keyboard/impl/DummyKeyboardService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.keyboard.impl;
29 |
30 | import com.gluonhq.attach.keyboard.KeyboardService;
31 |
32 | public abstract class DummyKeyboardService implements KeyboardService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/keyboard/src/main/native/android/dalvik/KeyboardHeightListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.helloandroid;
29 |
30 | interface KeyboardHeightListener {
31 | void onHeightChanged(float height);
32 | }
--------------------------------------------------------------------------------
/modules/keyboard/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.keyboard.impl.AndroidKeyboardService",
4 | "methods":[
5 | {"name":"notifyVisibleHeight","parameterTypes":["float"]}
6 | ]
7 | }
8 | ]
--------------------------------------------------------------------------------
/modules/keyboard/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.keyboard.impl.IOSKeyboardService",
4 | "methods":[
5 | {"name":"notifyVisibleHeight","parameterTypes":["float"]}
6 | ]
7 | }
8 | ]
--------------------------------------------------------------------------------
/modules/keyboard/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.keyboard.impl.IOSKeyboardService",
4 | "methods":[
5 | {"name":"notifyVisibleHeight","parameterTypes":["float"]}
6 | ]
7 | }
8 | ]
--------------------------------------------------------------------------------
/modules/keyboard/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.keyboard.impl.AndroidKeyboardService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/keyboard/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.keyboard.impl.IOSKeyboardService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/keyboard/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.keyboard.impl.IOSKeyboardService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.lifecycle'
6 | ext.description = 'Common API to access lifecycle features'
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.AndroidLifecycleService",
4 | "methods":[{"name":"setEvent","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.IOSLifecycleService",
4 | "methods":[{"name":"setEvent","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.IOSLifecycleService",
4 | "methods":[{"name":"setEvent","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.AndroidLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.DesktopLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.DesktopLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.IOSLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.DesktopLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.IOSLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.DesktopLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/lifecycle/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.lifecycle.impl.DesktopLifecycleService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/local-notifications/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | implementation project(':runtime-args')
4 | implementation project(':storage')
5 | }
6 |
7 | ext.moduleName = 'com.gluonhq.attach.localnotifications'
8 | ext.description = 'Common API to access local notifications features'
--------------------------------------------------------------------------------
/modules/local-notifications/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.localnotifications.impl.AndroidLocalNotificationsService",
4 | "methods":[{"name":"processRuntimeArgs","parameterTypes":["java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/local-notifications/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.localnotifications.impl.AndroidLocalNotificationsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/local-notifications/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.localnotifications.impl.IOSLocalNotificationsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/local-notifications/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.localnotifications.impl.IOSLocalNotificationsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/local-notifications/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
21 |
22 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/modules/magnetometer/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":lifecycle")
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.magnetometer'
7 | ext.description = 'Common API to access magnetometer features'
--------------------------------------------------------------------------------
/modules/magnetometer/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.magnetometer.impl.AndroidMagnetometerService",
4 | "methods":[{"name":"notifyReading","parameterTypes":["double","double","double","double","double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/magnetometer/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.magnetometer.impl.IOSMagnetometerService",
4 | "methods":[{"name":"notifyReading","parameterTypes":["double","double","double","double","double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/magnetometer/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.magnetometer.impl.IOSMagnetometerService",
4 | "methods":[{"name":"notifyReading","parameterTypes":["double","double","double","double","double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/magnetometer/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.magnetometer.impl.AndroidMagnetometerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/magnetometer/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.magnetometer.impl.IOSMagnetometerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/magnetometer/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.magnetometer.impl.IOSMagnetometerService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/orientation/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":lifecycle")
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.orientation'
7 | ext.description = 'Common API to access orientation features'
--------------------------------------------------------------------------------
/modules/orientation/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.orientation.impl.AndroidOrientationService",
4 | "methods":[{"name":"notifyOrientation","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/orientation/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.orientation.impl.IOSOrientationService",
4 | "methods":[{"name":"notifyOrientation","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/orientation/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.orientation.impl.IOSOrientationService",
4 | "methods":[{"name":"notifyOrientation","parameterTypes":["java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/orientation/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.orientation.impl.AndroidOrientationService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/orientation/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.orientation.impl.IOSOrientationService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/orientation/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.orientation.impl.IOSOrientationService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.pictures'
6 | ext.description = 'Common API to access pictures features'
--------------------------------------------------------------------------------
/modules/pictures/src/main/java/com/gluonhq/attach/pictures/impl/DummyPicturesService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.pictures.impl;
29 |
30 | import com.gluonhq.attach.pictures.PicturesService;
31 |
32 | public abstract class DummyPicturesService implements PicturesService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/pictures/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.pictures {
29 |
30 | requires javafx.graphics;
31 | requires com.gluonhq.attach.util;
32 |
33 | exports com.gluonhq.attach.pictures;
34 | }
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pictures.impl.AndroidPicturesService",
4 | "methods":[{"name":"setResult","parameterTypes":["java.lang.String", "int"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pictures.impl.IOSPicturesService",
4 | "methods":[{"name":"setResult","parameterTypes":["java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pictures.impl.IOSPicturesService",
4 | "methods":[{"name":"setResult","parameterTypes":["java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pictures.impl.AndroidPicturesService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pictures.impl.IOSPicturesService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pictures.impl.IOSPicturesService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/dalvik/res/xml/file_provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/modules/pictures/src/main/resources/META-INF/substrate/ios/Partial-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSCameraUsageDescription
6 | This app requires access to the camera
7 | NSPhotoLibraryUsageDescription
8 | This app requires access to the photo library
9 | NSPhotoLibraryAddUsageDescription
10 | This app requires add-only access to the photo library
11 |
12 |
13 |
--------------------------------------------------------------------------------
/modules/position/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | implementation project(':lifecycle')
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.position'
7 | ext.description = 'Common API to access position features'
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.position.impl.AndroidPositionService",
4 | "methods":[
5 | {"name":"","parameterTypes":[] },
6 | {"name":"setLocation","parameterTypes":["double","double","double"] }
7 | ]
8 | }
9 | ]
10 |
11 |
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.position.impl.IOSPositionService",
4 | "methods":[{"name":"setLocation","parameterTypes":["double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.position.impl.IOSPositionService",
4 | "methods":[{"name":"setLocation","parameterTypes":["double","double","double"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.position.impl.AndroidPositionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.position.impl.IOSPositionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.position.impl.IOSPositionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/config/resourceconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "resources": [
4 | {"pattern": ".*\\.nor$" }
5 | ]
6 | }
7 | ]
8 |
9 |
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/modules/position/src/main/resources/META-INF/substrate/ios/Partial-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSLocationUsageDescription
6 | This app requires access to the location information
7 | NSLocationWhenInUseUsageDescription
8 | This app requires access to the location information when in use
9 |
10 |
11 |
--------------------------------------------------------------------------------
/modules/push-notifications/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | implementation project(":runtime-args")
4 | implementation 'jakarta.json:jakarta.json-api:1.1.6'
5 | }
6 |
7 | ext.moduleName = 'com.gluonhq.attach.pushnotifications'
8 | ext.description = 'Common API to access push notifications features'
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pushnotifications.impl.AndroidPushNotificationsService",
4 | "methods":[
5 | {"name":"","parameterTypes":[]},
6 | {"name":"setToken","parameterTypes":["java.lang.String"]},
7 | {"name":"processRuntimeArgs","parameterTypes":["java.lang.String","java.lang.String"] }
8 | ]
9 | }
10 | ]
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pushnotifications.impl.IOSPushNotificationsService",
4 | "methods":[
5 | {"name":"failToRegisterForRemoteNotifications","parameterTypes":["java.lang.String"]},
6 | {"name":"didRegisterForRemoteNotifications","parameterTypes":["java.lang.String"]}
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pushnotifications.impl.IOSPushNotificationsService",
4 | "methods":[
5 | {"name":"failToRegisterForRemoteNotifications","parameterTypes":["java.lang.String"]},
6 | {"name":"didRegisterForRemoteNotifications","parameterTypes":["java.lang.String"]}
7 | ]
8 | }
9 | ]
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pushnotifications.impl.AndroidPushNotificationsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pushnotifications.impl.IOSPushNotificationsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.pushnotifications.impl.IOSPushNotificationsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/dalvik/android-dependencies.txt:
--------------------------------------------------------------------------------
1 | implementation 'com.google.gms:google-services:4.4.1'
2 | implementation 'com.google.firebase:firebase-messaging:23.4.1'
3 |
--------------------------------------------------------------------------------
/modules/push-notifications/src/main/resources/META-INF/substrate/dalvik/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 |
5 | namespace 'com.gluonhq.helloandroid'
6 |
7 | compileSdkVersion 34
8 |
9 | defaultConfig {
10 | minSdkVersion 21
11 | targetSdkVersion 34
12 | }
13 |
14 | buildFeatures {
15 | buildConfig = false
16 | resValues = false
17 | }
18 |
19 | }
20 |
21 | repositories {
22 | google()
23 | }
24 |
25 | dependencies {
26 | compileOnly fileTree(dir: '../libs', include: '*.jar')
27 | implementation 'com.google.gms:google-services:4.4.1'
28 | implementation 'com.google.firebase:firebase-messaging:23.4.1'
29 | }
--------------------------------------------------------------------------------
/modules/runtime-args/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.runtimeargs'
6 | ext.description = 'Common API to for injecting runtime arguments into Attach applications, ' +
7 | 'and listening for these arguments.'
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.runtimeargs {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.runtimeargs;
33 | exports com.gluonhq.attach.runtimeargs.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.AndroidRuntimeArgsService",
4 | "methods":[{"name":"processRuntimeArgs","parameterTypes":["java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.IOSRuntimeArgsService",
4 | "methods":[{"name":"processRuntimeArgs","parameterTypes":["java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.IOSRuntimeArgsService",
4 | "methods":[{"name":"processRuntimeArgs","parameterTypes":["java.lang.String","java.lang.String"] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.AndroidRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.DesktopRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.DesktopRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.IOSRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.DesktopRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.IOSRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.DesktopRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.runtimeargs.impl.DesktopRuntimeArgsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/runtime-args/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/modules/settings/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.settings'
6 | ext.description = 'Common API to access settings features'
--------------------------------------------------------------------------------
/modules/settings/src/main/java/com/gluonhq/attach/settings/impl/DummySettingsService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.settings.impl;
29 |
30 | import com.gluonhq.attach.settings.SettingsService;
31 |
32 | public abstract class DummySettingsService implements SettingsService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/settings/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.settings {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.settings;
33 | exports com.gluonhq.attach.settings.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.AndroidSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.DesktopSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.DesktopSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.IOSSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.DesktopSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.IOSSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.DesktopSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/settings/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.settings.impl.DesktopSettingsService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/share/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.share'
6 | ext.description = 'Common API to access sharing features'
--------------------------------------------------------------------------------
/modules/share/src/main/java/com/gluonhq/attach/share/impl/DummyShareService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.share.impl;
29 |
30 | import com.gluonhq.attach.share.ShareService;
31 |
32 | public abstract class DummyShareService implements ShareService {
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/modules/share/src/main/java/com/gluonhq/attach/share/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017, 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * Primary API package for Attach - Share plugin,
31 | * contains the interface {@link com.gluonhq.attach.share.ShareService} and related classes.
32 | */
33 | package com.gluonhq.attach.share;
--------------------------------------------------------------------------------
/modules/share/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.share {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.share;
33 | exports com.gluonhq.attach.share.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/share/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.share.impl.AndroidShareService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/share/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.share.impl.IOSShareService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/share/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.share.impl.IOSShareService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/share/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/modules/share/src/main/resources/META-INF/substrate/dalvik/res/xml/file_provider_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/modules/share/src/main/resources/META-INF/substrate/ios/Partial-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPhotoLibraryUsageDescription
6 | This app requires access to the photo library
7 |
8 |
9 |
--------------------------------------------------------------------------------
/modules/statusbar/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.statusbar'
6 | ext.description = 'Common API to access status bar features'
--------------------------------------------------------------------------------
/modules/statusbar/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.statusbar.impl.AndroidStatusBarService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/statusbar/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.statusbar.impl.IOSStatusBarService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/statusbar/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.statusbar.impl.IOSStatusBarService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.storage'
6 | ext.description = 'Common API to access storage features'
--------------------------------------------------------------------------------
/modules/storage/src/main/java/com/gluonhq/attach/storage/impl/DummyStorageServiceImpl.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.storage.impl;
29 |
30 | import com.gluonhq.attach.storage.StorageService;
31 |
32 | abstract class DummyStorageServiceImpl implements StorageService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/storage/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.storage {
29 | requires com.gluonhq.attach.util;
30 |
31 | exports com.gluonhq.attach.storage;
32 | exports com.gluonhq.attach.storage.impl to com.gluonhq.attach.util;
33 | }
34 |
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.AndroidStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.DesktopStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.DesktopStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.IOSStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.DesktopStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.IOSStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.DesktopStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storage.impl.DesktopStorageService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/storage/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/modules/store-review/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.storereview'
6 | ext.description = 'Common API to request store ratings and review'
--------------------------------------------------------------------------------
/modules/store-review/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2022, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.storereview {
29 | requires com.gluonhq.attach.util;
30 |
31 | exports com.gluonhq.attach.storereview;
32 | exports com.gluonhq.attach.storereview.impl to com.gluonhq.attach.util;
33 | }
34 |
--------------------------------------------------------------------------------
/modules/store-review/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storereview.impl.AndroidStoreReviewService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/modules/store-review/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storereview.impl.IOSStoreReviewService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/store-review/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.storereview.impl.IOSStoreReviewService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/store-review/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/modules/store-review/src/main/resources/META-INF/substrate/dalvik/android-dependencies.txt:
--------------------------------------------------------------------------------
1 | implementation 'com.google.android.play:core:1.10.0'
2 |
--------------------------------------------------------------------------------
/modules/store-review/src/main/resources/META-INF/substrate/dalvik/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 |
5 | namespace 'com.gluonhq.helloandroid'
6 |
7 | compileSdkVersion 34
8 |
9 | defaultConfig {
10 | minSdkVersion 21
11 | targetSdkVersion 34
12 | }
13 |
14 | buildFeatures {
15 | buildConfig = false
16 | resValues = false
17 | }
18 |
19 | }
20 |
21 | repositories {
22 | google()
23 | }
24 |
25 | dependencies {
26 | compileOnly fileTree(dir: '../libs', include: '*.jar')
27 | implementation 'com.google.android.play:core:1.10.0'
28 | }
--------------------------------------------------------------------------------
/modules/util/build.gradle:
--------------------------------------------------------------------------------
1 | ext.moduleName = 'com.gluonhq.attach.util'
2 | ext.description = 'Common API'
--------------------------------------------------------------------------------
/modules/util/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.util {
29 |
30 | requires javafx.graphics;
31 | requires transitive java.logging;
32 |
33 | exports com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/util/src/main/native/android/dalvik/IntentHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.helloandroid;
29 |
30 | import android.content.Intent;
31 |
32 | public interface IntentHandler {
33 |
34 | void gotActivityResult(int requestCode, int resultCode, Intent intent);
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/modules/util/src/main/native/android/dalvik/LifecycleEventHandler.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2020, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.helloandroid;
29 |
30 | public interface LifecycleEventHandler {
31 |
32 | void lifecycleEvent(String event);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/modules/util/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.util.impl.ClipboardUtils",
4 | "methods":[
5 | {"name":"syncClipboardFromOS","parameterTypes":["java.lang.String"]},
6 | {"name":"syncClipboardToOS","parameterTypes":[]}
7 | ]
8 | }
9 | ]
10 |
--------------------------------------------------------------------------------
/modules/util/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.util.impl.ClipboardUtils",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/modules/version/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(":util")
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.version'
6 | ext.description = 'Common API to access app versioning features'
--------------------------------------------------------------------------------
/modules/version/src/main/java/com/gluonhq/attach/version/impl/DummyVersionService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2021, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.version.impl;
29 |
30 | import com.gluonhq.attach.version.VersionService;
31 |
32 | public abstract class DummyVersionService implements VersionService {
33 | }
34 |
--------------------------------------------------------------------------------
/modules/version/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2021, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.version {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.version;
33 | exports com.gluonhq.attach.version.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.AndroidVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.DesktopVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.DesktopVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.IOSVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-darwin.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.DesktopVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.IOSVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-linux.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.DesktopVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/version/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-windows.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.version.impl.DesktopVersionService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/vibration/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | }
4 |
5 | ext.moduleName = 'com.gluonhq.attach.vibration'
6 | ext.description = 'Common API to access vibration features'
--------------------------------------------------------------------------------
/modules/vibration/src/main/java/module-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2019, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | module com.gluonhq.attach.vibration {
29 |
30 | requires com.gluonhq.attach.util;
31 |
32 | exports com.gluonhq.attach.vibration;
33 | exports com.gluonhq.attach.vibration.impl to com.gluonhq.attach.util;
34 | }
--------------------------------------------------------------------------------
/modules/vibration/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.vibration.impl.AndroidVibrationService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/vibration/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.vibration.impl.IOSVibrationService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/vibration/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.vibration.impl.IOSVibrationService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/vibration/src/main/resources/META-INF/substrate/dalvik/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/modules/video/build.gradle:
--------------------------------------------------------------------------------
1 | dependencies {
2 | implementation project(':util')
3 | implementation project(':storage')
4 | }
5 |
6 | ext.moduleName = 'com.gluonhq.attach.video'
7 | ext.description = 'Common API to access video features'
--------------------------------------------------------------------------------
/modules/video/src/main/java/com/gluonhq/attach/video/impl/DummyVideoService.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2018, Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 | package com.gluonhq.attach.video.impl;
29 |
30 | import com.gluonhq.attach.video.VideoService;
31 |
32 | // no-op
33 | public abstract class DummyVideoService implements VideoService {
34 | }
35 |
--------------------------------------------------------------------------------
/modules/video/src/main/java/com/gluonhq/attach/video/package-info.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2017, 2019 Gluon
3 | *
4 | * This program is free software: you can redistribute it and/or modify
5 | * it under the terms of the GNU General Public License as published by
6 | * the Free Software Foundation, either version 3 of the License, or
7 | * (at your option) any later version.
8 |
9 | * This program is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with this program. If not, see .
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 | * DISCLAIMED. IN NO EVENT SHALL GLUON BE LIABLE FOR ANY
21 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | */
28 |
29 | /**
30 | * Primary API package for Attach - Video plugin,
31 | * contains the interface {@link com.gluonhq.attach.video.VideoService} and related classes.
32 | */
33 | package com.gluonhq.attach.video;
--------------------------------------------------------------------------------
/modules/video/src/main/resources/META-INF/substrate/config/jniconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.video.impl.AndroidVideoService",
4 | "methods":[
5 | {"name":"updateStatus","parameterTypes":["int"]},
6 | {"name":"updateFullScreen","parameterTypes":["boolean"]},
7 | {"name":"updateCurrentIndex","parameterTypes":["int"]}
8 | ]
9 | }
10 | ]
--------------------------------------------------------------------------------
/modules/video/src/main/resources/META-INF/substrate/config/jniconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.video.impl.IOSVideoService",
4 | "methods":[
5 | {"name":"updateStatus","parameterTypes":["int"]},
6 | {"name":"updateFullScreen","parameterTypes":["boolean"]},
7 | {"name":"updateCurrentIndex","parameterTypes":["int"]}
8 | ]
9 | }
10 | ]
--------------------------------------------------------------------------------
/modules/video/src/main/resources/META-INF/substrate/config/jniconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.video.impl.IOSVideoService",
4 | "methods":[
5 | {"name":"updateStatus","parameterTypes":["int"]},
6 | {"name":"updateFullScreen","parameterTypes":["boolean"]},
7 | {"name":"updateCurrentIndex","parameterTypes":["int"]}
8 | ]
9 | }
10 | ]
--------------------------------------------------------------------------------
/modules/video/src/main/resources/META-INF/substrate/config/reflectionconfig-aarch64-android.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.video.impl.AndroidVideoService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/video/src/main/resources/META-INF/substrate/config/reflectionconfig-arm64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.video.impl.IOSVideoService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------
/modules/video/src/main/resources/META-INF/substrate/config/reflectionconfig-x86_64-ios.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name" : "com.gluonhq.attach.video.impl.IOSVideoService",
4 | "methods":[{"name":"","parameterTypes":[] }]
5 | }
6 | ]
--------------------------------------------------------------------------------