From 2ee3816d04d36d4764b261c80c49d91a03bceac5 Mon Sep 17 00:00:00 2001 From: Stojan Anastasov Date: Sun, 10 Nov 2024 14:40:31 +0100 Subject: [PATCH] Composite build --- .github/workflows/{ci.yml => android-ci.yml} | 26 +-- android/.gitignore | 23 +++ {app => android/app}/.gitignore | 0 {app => android/app}/build.gradle | 0 {app => android/app}/proguard-rules.pro | 0 .../app}/src/debug/AndroidManifest.xml | 0 .../app}/src/debug/assets/3dman.json | 0 .../app}/src/debug/assets/superheroes.json | 0 .../debug/res/xml/network_security_config.xml | 0 .../app}/src/maestro/flows/flow.yml | 0 .../app}/src/main/AndroidManifest.xml | 0 .../github/lordraydenmk/superheroesapp/App.kt | 0 .../lordraydenmk/superheroesapp/AppModule.kt | 0 .../superheroesapp/MainActivity.kt | 0 .../superheroesapp/ModuleOwner.kt | 0 .../common/PlaceholderString.kt | 0 .../superheroesapp/common/TextRes.kt | 0 .../superheroesapp/common/core.kt | 0 .../superheroesapp/common/envelope.kt | 0 .../superheroesapp/common/flow.kt | 0 .../common/presentation/JetpackViewModel.kt | 0 .../common/presentation/ViewModelAlgebra.kt | 0 .../superheroesapp/common/stringExt.kt | 0 .../superheroes/SuperheroErrors.kt | 0 .../superheroes/data/SuperheroDto.kt | 0 .../superheroes/data/SuperheroesService.kt | 0 .../superheroes/data/superheroes.kt | 0 .../superheroes/domain/Superhero.kt | 0 .../SuperheroDetailsFragment.kt | 0 .../SuperheroDetailsScreen.kt | 0 .../SuperheroDetailsViewState.kt | 0 .../superherodetails/superheroDetails.kt | 0 .../superheroes/superherodetails/viewModel.kt | 0 .../superheroslist/SuperheroesFragment.kt | 0 .../superheroslist/SuperheroesScreen.kt | 0 .../superheroslist/SuperheroesViewState.kt | 0 .../superheroslist/superheroesList.kt | 0 .../superheroes/superheroslist/viewModel.kt | 0 .../superheroes/ui/common/ui.kt | 0 .../res/drawable/ic_baseline_broken_image.xml | 0 .../app}/src/main/res/drawable/ic_error.xml | 0 .../drawable/ic_hourglass_bottom_black.xml | 0 .../res/drawable/ic_launcher_background.xml | 0 .../res/drawable/ic_launcher_foreground.xml | 0 .../src/main/res/layout/activity_main.xml | 0 .../src/main/res/layout/fragment_compose.xml | 0 .../res/mipmap-anydpi-v26/ic_launcher.xml | 0 .../mipmap-anydpi-v26/ic_launcher_round.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../src/main/res/navigation/nav_graph.xml | 0 .../app}/src/main/res/values/colors.xml | 0 .../app}/src/main/res/values/strings.xml | 0 .../app}/src/main/res/values/styles.xml | 0 .../SuperheroDetailsScreenTest.kt | 0 .../superheroslist/SuperheroesScreenTest.kt | 0 .../common/JetpackViewModelTest.kt | 0 .../superheroesapp/common/StringExtKtTest.kt | 0 .../superheroes/data/SuperheroesKtTest.kt | 0 .../superheroes/domain/SuperheroTest.kt | 0 .../SuperheroDetailsKtTest.kt | 0 .../superheroslist/SuperheroesListKtTest.kt | 0 .../superheroesapp/superheroes/testDouble.kt | 0 ...uperheroDetailsScreenTest_contentState.png | Bin ...oDetailsScreenTest_errorStateWithRetry.png | Bin ...uperheroDetailsScreenTest_loadingState.png | Bin ...eroslist_SuperheroesScreenTest_content.png | Bin ...t_SuperheroesScreenTest_errorWithRetry.png | Bin ...ist_SuperheroesScreenTest_loadingState.png | Bin .../superheroesapp/common/CoilRule.kt | 0 .../common/MainDispatcherRule.kt | 0 .../superheroesapp/common/TestViewModel.kt | 0 build.gradle => android/build.gradle | 0 e2e.sh => android/e2e.sh | 0 android/gradle.properties | 21 ++ android/settings.gradle | 16 ++ gradle.properties | 6 - gradlew.bat | 188 +++++++++--------- settings.gradle | 19 +- 87 files changed, 170 insertions(+), 129 deletions(-) rename .github/workflows/{ci.yml => android-ci.yml} (80%) create mode 100644 android/.gitignore rename {app => android/app}/.gitignore (100%) rename {app => android/app}/build.gradle (100%) rename {app => android/app}/proguard-rules.pro (100%) rename {app => android/app}/src/debug/AndroidManifest.xml (100%) rename {app => android/app}/src/debug/assets/3dman.json (100%) rename {app => android/app}/src/debug/assets/superheroes.json (100%) rename {app => android/app}/src/debug/res/xml/network_security_config.xml (100%) rename {app => android/app}/src/maestro/flows/flow.yml (100%) rename {app => android/app}/src/main/AndroidManifest.xml (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/App.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/AppModule.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/MainActivity.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/ModuleOwner.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/PlaceholderString.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/TextRes.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/core.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/envelope.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/flow.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/JetpackViewModel.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/ViewModelAlgebra.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/common/stringExt.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/SuperheroErrors.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroDto.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesService.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/superheroes.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/Superhero.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsFragment.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreen.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsViewState.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/superheroDetails.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/viewModel.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesFragment.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreen.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesViewState.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/superheroesList.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/viewModel.kt (100%) rename {app => android/app}/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/ui/common/ui.kt (100%) rename {app => android/app}/src/main/res/drawable/ic_baseline_broken_image.xml (100%) rename {app => android/app}/src/main/res/drawable/ic_error.xml (100%) rename {app => android/app}/src/main/res/drawable/ic_hourglass_bottom_black.xml (100%) rename {app => android/app}/src/main/res/drawable/ic_launcher_background.xml (100%) rename {app => android/app}/src/main/res/drawable/ic_launcher_foreground.xml (100%) rename {app => android/app}/src/main/res/layout/activity_main.xml (100%) rename {app => android/app}/src/main/res/layout/fragment_compose.xml (100%) rename {app => android/app}/src/main/res/mipmap-anydpi-v26/ic_launcher.xml (100%) rename {app => android/app}/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml (100%) rename {app => android/app}/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename {app => android/app}/src/main/res/mipmap-hdpi/ic_launcher_round.png (100%) rename {app => android/app}/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename {app => android/app}/src/main/res/mipmap-mdpi/ic_launcher_round.png (100%) rename {app => android/app}/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename {app => android/app}/src/main/res/mipmap-xhdpi/ic_launcher_round.png (100%) rename {app => android/app}/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {app => android/app}/src/main/res/mipmap-xxhdpi/ic_launcher_round.png (100%) rename {app => android/app}/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename {app => android/app}/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename {app => android/app}/src/main/res/navigation/nav_graph.xml (100%) rename {app => android/app}/src/main/res/values/colors.xml (100%) rename {app => android/app}/src/main/res/values/strings.xml (100%) rename {app => android/app}/src/main/res/values/styles.xml (100%) rename {app => android/app}/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreenTest.kt (100%) rename {app => android/app}/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreenTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/common/JetpackViewModelTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/common/StringExtKtTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesKtTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/SuperheroTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsKtTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesListKtTest.kt (100%) rename {app => android/app}/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/testDouble.kt (100%) rename {app => android/app}/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_contentState.png (100%) rename {app => android/app}/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_errorStateWithRetry.png (100%) rename {app => android/app}/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_loadingState.png (100%) rename {app => android/app}/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_content.png (100%) rename {app => android/app}/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_errorWithRetry.png (100%) rename {app => android/app}/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_loadingState.png (100%) rename {app => android/app}/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/CoilRule.kt (100%) rename {app => android/app}/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/MainDispatcherRule.kt (100%) rename {app => android/app}/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/TestViewModel.kt (100%) rename build.gradle => android/build.gradle (100%) rename e2e.sh => android/e2e.sh (100%) create mode 100644 android/gradle.properties create mode 100644 android/settings.gradle diff --git a/.github/workflows/ci.yml b/.github/workflows/android-ci.yml similarity index 80% rename from .github/workflows/ci.yml rename to .github/workflows/android-ci.yml index 43d77668..d28fb637 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/android-ci.yml @@ -7,7 +7,7 @@ on: branches: [ main ] jobs: - build: + android-build: # The type of runner that the job will run on runs-on: ubuntu-latest timeout-minutes: 20 @@ -18,8 +18,8 @@ jobs: - name: Setup secrets run: | - echo marvel_public_api_key=${{ secrets.MARVEL_PUBLIC_API_KEY }} >> gradle.properties - echo marvel_private_api_key=${{ secrets.MARVEL_PRIVATE_API_KEY }} >> gradle.properties + echo marvel_public_api_key=${{ secrets.MARVEL_PUBLIC_API_KEY }} >> android/gradle.properties + echo marvel_private_api_key=${{ secrets.MARVEL_PRIVATE_API_KEY }} >> android/gradle.properties - name: Setup Java uses: actions/setup-java@v4 @@ -31,16 +31,16 @@ jobs: uses: gradle/actions/setup-gradle@v4 - name: Paparazzi tests - run: ./gradlew verifyPaparazziDebug + run: ./gradlew android:app:verifyPaparazziDebug - name: Unit Tests - run: ./gradlew test + run: ./gradlew android:app:test - name: Build the app - run: ./gradlew assemble + run: ./gradlew android:app:assemble - test: + android-test: runs-on: ubuntu-latest timeout-minutes: 30 steps: @@ -64,8 +64,8 @@ jobs: - name: Setup secrets run: | - echo marvel_public_api_key=${{ secrets.MARVEL_PUBLIC_API_KEY }} >> gradle.properties - echo marvel_private_api_key=${{ secrets.MARVEL_PRIVATE_API_KEY }} >> gradle.properties + echo marvel_public_api_key=${{ secrets.MARVEL_PUBLIC_API_KEY }} >> android/gradle.properties + echo marvel_private_api_key=${{ secrets.MARVEL_PRIVATE_API_KEY }} >> android/gradle.properties - name: Install Maestro run: | @@ -79,13 +79,13 @@ jobs: emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none disable-animations: true script: | - ./gradlew installDebug - chmod +x e2e.sh - ./e2e.sh + ./gradlew android:app:installDebug + chmod +x android/e2e.sh + android/e2e.sh - name: Archive test results if: always() uses: actions/upload-artifact@v4 with: name: test-results - path: app/build/reports/androidTests/connected/ + path: android/app/build/reports/androidTests/connected/ diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 00000000..44210886 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,23 @@ +*.iml +../.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +/.idea/codeStyles/codeStyleConfig.xml +/.idea/gradle.xml +/.idea/vcs.xml +/.idea/runConfigurations.xml +/.idea/codeStyles/Project.xml +/.idea/misc.xml +/.idea/jarRepositories.xml +/.idea/.name +/.idea/ diff --git a/app/.gitignore b/android/app/.gitignore similarity index 100% rename from app/.gitignore rename to android/app/.gitignore diff --git a/app/build.gradle b/android/app/build.gradle similarity index 100% rename from app/build.gradle rename to android/app/build.gradle diff --git a/app/proguard-rules.pro b/android/app/proguard-rules.pro similarity index 100% rename from app/proguard-rules.pro rename to android/app/proguard-rules.pro diff --git a/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from app/src/debug/AndroidManifest.xml rename to android/app/src/debug/AndroidManifest.xml diff --git a/app/src/debug/assets/3dman.json b/android/app/src/debug/assets/3dman.json similarity index 100% rename from app/src/debug/assets/3dman.json rename to android/app/src/debug/assets/3dman.json diff --git a/app/src/debug/assets/superheroes.json b/android/app/src/debug/assets/superheroes.json similarity index 100% rename from app/src/debug/assets/superheroes.json rename to android/app/src/debug/assets/superheroes.json diff --git a/app/src/debug/res/xml/network_security_config.xml b/android/app/src/debug/res/xml/network_security_config.xml similarity index 100% rename from app/src/debug/res/xml/network_security_config.xml rename to android/app/src/debug/res/xml/network_security_config.xml diff --git a/app/src/maestro/flows/flow.yml b/android/app/src/maestro/flows/flow.yml similarity index 100% rename from app/src/maestro/flows/flow.yml rename to android/app/src/maestro/flows/flow.yml diff --git a/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml similarity index 100% rename from app/src/main/AndroidManifest.xml rename to android/app/src/main/AndroidManifest.xml diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/App.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/App.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/App.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/App.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/AppModule.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/AppModule.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/AppModule.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/AppModule.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/MainActivity.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/MainActivity.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/MainActivity.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/MainActivity.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/ModuleOwner.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/ModuleOwner.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/ModuleOwner.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/ModuleOwner.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/PlaceholderString.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/PlaceholderString.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/PlaceholderString.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/PlaceholderString.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/TextRes.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/TextRes.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/TextRes.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/TextRes.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/core.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/core.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/core.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/core.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/envelope.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/envelope.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/envelope.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/envelope.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/flow.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/flow.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/flow.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/flow.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/JetpackViewModel.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/JetpackViewModel.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/JetpackViewModel.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/JetpackViewModel.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/ViewModelAlgebra.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/ViewModelAlgebra.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/ViewModelAlgebra.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/presentation/ViewModelAlgebra.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/stringExt.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/stringExt.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/common/stringExt.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/common/stringExt.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/SuperheroErrors.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/SuperheroErrors.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/SuperheroErrors.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/SuperheroErrors.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroDto.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroDto.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroDto.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroDto.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesService.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesService.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesService.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesService.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/superheroes.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/superheroes.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/superheroes.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/data/superheroes.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/Superhero.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/Superhero.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/Superhero.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/Superhero.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsFragment.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsFragment.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsFragment.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsFragment.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreen.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreen.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreen.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreen.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsViewState.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsViewState.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsViewState.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsViewState.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/superheroDetails.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/superheroDetails.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/superheroDetails.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/superheroDetails.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/viewModel.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/viewModel.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/viewModel.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/viewModel.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesFragment.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesFragment.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesFragment.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesFragment.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreen.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreen.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreen.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreen.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesViewState.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesViewState.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesViewState.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesViewState.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/superheroesList.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/superheroesList.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/superheroesList.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/superheroesList.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/viewModel.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/viewModel.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/viewModel.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/viewModel.kt diff --git a/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/ui/common/ui.kt b/android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/ui/common/ui.kt similarity index 100% rename from app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/ui/common/ui.kt rename to android/app/src/main/java/io/github/lordraydenmk/superheroesapp/superheroes/ui/common/ui.kt diff --git a/app/src/main/res/drawable/ic_baseline_broken_image.xml b/android/app/src/main/res/drawable/ic_baseline_broken_image.xml similarity index 100% rename from app/src/main/res/drawable/ic_baseline_broken_image.xml rename to android/app/src/main/res/drawable/ic_baseline_broken_image.xml diff --git a/app/src/main/res/drawable/ic_error.xml b/android/app/src/main/res/drawable/ic_error.xml similarity index 100% rename from app/src/main/res/drawable/ic_error.xml rename to android/app/src/main/res/drawable/ic_error.xml diff --git a/app/src/main/res/drawable/ic_hourglass_bottom_black.xml b/android/app/src/main/res/drawable/ic_hourglass_bottom_black.xml similarity index 100% rename from app/src/main/res/drawable/ic_hourglass_bottom_black.xml rename to android/app/src/main/res/drawable/ic_hourglass_bottom_black.xml diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml similarity index 100% rename from app/src/main/res/drawable/ic_launcher_background.xml rename to android/app/src/main/res/drawable/ic_launcher_background.xml diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from app/src/main/res/drawable/ic_launcher_foreground.xml rename to android/app/src/main/res/drawable/ic_launcher_foreground.xml diff --git a/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml similarity index 100% rename from app/src/main/res/layout/activity_main.xml rename to android/app/src/main/res/layout/activity_main.xml diff --git a/app/src/main/res/layout/fragment_compose.xml b/android/app/src/main/res/layout/fragment_compose.xml similarity index 100% rename from app/src/main/res/layout/fragment_compose.xml rename to android/app/src/main/res/layout/fragment_compose.xml diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml similarity index 100% rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename to android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml similarity index 100% rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml rename to android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from app/src/main/res/mipmap-hdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from app/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from app/src/main/res/mipmap-mdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from app/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from app/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/app/src/main/res/navigation/nav_graph.xml b/android/app/src/main/res/navigation/nav_graph.xml similarity index 100% rename from app/src/main/res/navigation/nav_graph.xml rename to android/app/src/main/res/navigation/nav_graph.xml diff --git a/app/src/main/res/values/colors.xml b/android/app/src/main/res/values/colors.xml similarity index 100% rename from app/src/main/res/values/colors.xml rename to android/app/src/main/res/values/colors.xml diff --git a/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml similarity index 100% rename from app/src/main/res/values/strings.xml rename to android/app/src/main/res/values/strings.xml diff --git a/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml similarity index 100% rename from app/src/main/res/values/styles.xml rename to android/app/src/main/res/values/styles.xml diff --git a/app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreenTest.kt b/android/app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreenTest.kt similarity index 100% rename from app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreenTest.kt rename to android/app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsScreenTest.kt diff --git a/app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreenTest.kt b/android/app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreenTest.kt similarity index 100% rename from app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreenTest.kt rename to android/app/src/paparazzi/kotlin/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesScreenTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/common/JetpackViewModelTest.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/common/JetpackViewModelTest.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/common/JetpackViewModelTest.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/common/JetpackViewModelTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/common/StringExtKtTest.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/common/StringExtKtTest.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/common/StringExtKtTest.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/common/StringExtKtTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesKtTest.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesKtTest.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesKtTest.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/data/SuperheroesKtTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/SuperheroTest.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/SuperheroTest.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/SuperheroTest.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/domain/SuperheroTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsKtTest.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsKtTest.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsKtTest.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superherodetails/SuperheroDetailsKtTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesListKtTest.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesListKtTest.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesListKtTest.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/superheroslist/SuperheroesListKtTest.kt diff --git a/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/testDouble.kt b/android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/testDouble.kt similarity index 100% rename from app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/testDouble.kt rename to android/app/src/test/java/io/github/lordraydenmk/superheroesapp/superheroes/testDouble.kt diff --git a/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_contentState.png b/android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_contentState.png similarity index 100% rename from app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_contentState.png rename to android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_contentState.png diff --git a/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_errorStateWithRetry.png b/android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_errorStateWithRetry.png similarity index 100% rename from app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_errorStateWithRetry.png rename to android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_errorStateWithRetry.png diff --git a/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_loadingState.png b/android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_loadingState.png similarity index 100% rename from app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_loadingState.png rename to android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superherodetails_SuperheroDetailsScreenTest_loadingState.png diff --git a/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_content.png b/android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_content.png similarity index 100% rename from app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_content.png rename to android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_content.png diff --git a/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_errorWithRetry.png b/android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_errorWithRetry.png similarity index 100% rename from app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_errorWithRetry.png rename to android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_errorWithRetry.png diff --git a/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_loadingState.png b/android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_loadingState.png similarity index 100% rename from app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_loadingState.png rename to android/app/src/test/snapshots/images/io.github.lordraydenmk.superheroesapp.superheroes.superheroslist_SuperheroesScreenTest_loadingState.png diff --git a/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/CoilRule.kt b/android/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/CoilRule.kt similarity index 100% rename from app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/CoilRule.kt rename to android/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/CoilRule.kt diff --git a/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/MainDispatcherRule.kt b/android/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/MainDispatcherRule.kt similarity index 100% rename from app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/MainDispatcherRule.kt rename to android/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/MainDispatcherRule.kt diff --git a/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/TestViewModel.kt b/android/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/TestViewModel.kt similarity index 100% rename from app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/TestViewModel.kt rename to android/app/src/testFixtures/kotlin/io/github/lordraydenmk/superheroesapp/common/TestViewModel.kt diff --git a/build.gradle b/android/build.gradle similarity index 100% rename from build.gradle rename to android/build.gradle diff --git a/e2e.sh b/android/e2e.sh similarity index 100% rename from e2e.sh rename to android/e2e.sh diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 00000000..f6e147bc --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=false +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 00000000..79cd201b --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,16 @@ +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} +dependencyResolutionManagement { + repositories { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + google() + mavenCentral() + } +} +include ':app' +rootProject.name = "Superheroes App" \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index f6e147bc..e761cfc7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,11 +11,5 @@ org.gradle.jvmargs=-Xmx2048m # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app"s APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true -# Automatically convert third-party libraries to use AndroidX -android.enableJetifier=false # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official diff --git a/gradlew.bat b/gradlew.bat index 9b42019c..9d21a218 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,94 +1,94 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle index 79cd201b..a92e8e37 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,16 +1,3 @@ -pluginManagement { - repositories { - gradlePluginPortal() - google() - mavenCentral() - } -} -dependencyResolutionManagement { - repositories { - repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) - google() - mavenCentral() - } -} -include ':app' -rootProject.name = "Superheroes App" \ No newline at end of file +rootProject.name = "Superheroes App & Backend" + +includeBuild("android") \ No newline at end of file