OONI Probe
Multiplatform (Android and iOS currently) version of the Probe app.
Project structure
-
composeApp
is for code that will be shared across your Compose Multiplatform applications. It contains several subfolders:commonMain
is for code that’s common for all targets.androidMain
Android-specific codeiosMain
iOS-specific code written in KotlindwMain
News Media Scan specific Branding and customizationooniMain
OONI Probe specific Branding and customization
-
iosApp
contains the iOS application configuration and the engine integration written in Swift -
.github
contains the Continuous Integration configuration for Github -
gradle/libs.versions.toml
specifies the versions of the plugins and dependencies used across the different modules.
Build, Install, and Run
To build, install, and run your application, use the following commands:
-
For OONI Probe:
-
For News Media Scan:
There is a custom gradle task(copyBrandingToCommonResources
) that is used to copy brand specific
resources to the common resources folder. This task is called before the preBuild
task.
Creating Run Configurations in Android Studio
Configure run configurations for easy execution within Android Studio:
OONI Probe Android Configuration
- Click the Plus (+) sign in the top left corner of the “Run/Debug Configurations” dialog.
- Choose ‘Gradle’.
- Configure with the following:
- Name: OONI_Probe
- Run: :composeApp:runDebug -Porganization=ooni
News Media Scan Android Configuration
- Repeat the steps for creating a new configuration.
- Configure with the following:
- Name: News_Media_Scan
- Run: :composeApp:runDebug -Porganization=dw
OONI Probe iOS Configuration
The “Run/Debug Configurations” already has the proper configuration and you just need to select the
XCode Project Scheme OONIProbe
and run it.
News Media Scan iOS Configuration
The “Run/Debug Configurations” already has the proper configuration and you just need to select the
XCode Project Scheme NewsMediaScan
and run it.
Switching between OONI Probe and News Media Scan
- Ensure you can run clean and build the project successfully.
- Run
pod install
in theiosApp
directory.
Testing
Common tests (tests inside commonTest
) only run on the iOS Simulator.
Choosing the option android (local)
won’t work. This is a current
issue with
the official testing library.