Skip to content

ooni/probe-multiplatform

Repository files navigation

OONI Probe Multiplatform App

Multiplatform (Android and iOS currently) version of the Probe app.

Validate Android Instrumented Tests

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 code
    • iosMain iOS-specific code written in Kotlin
    • dwMain News Media Scan specific Branding and customization
    • ooniMain 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:

    ./gradlew runDebug -Porganization=ooni
    
  • For News Media Scan:

    ./gradlew runDebug -Porganization=dw
    

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

  1. Click the Plus (+) sign in the top left corner of the "Run/Debug Configurations" dialog.
  2. Choose 'Gradle'.
  3. Configure with the following:
  • Name: OONI_Probe
  • Run: :composeApp:runDebug -Porganization=ooni

News Media Scan Android Configuration

  1. Repeat the steps for creating a new configuration.
  2. 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 the iosApp 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages