From e0778d870d0c28c9e3c939746500812b818f60b2 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Thu, 8 Dec 2022 15:53:00 +0530 Subject: [PATCH 01/12] chore : Update Project structure --- app/build.gradle.kts | 14 +++++++------- {common => core/common}/.gitignore | 0 {common => core/common}/build.gradle.kts | 0 {common => core/common}/consumer-rules.pro | 0 {common => core/common}/proguard-rules.pro | 0 .../common}/src/main/AndroidManifest.xml | 0 .../praxis/extensions/PrimitiveExtensions.kt | 0 .../praxis/extensions/ReactiveExtensions.kt | 0 .../praxis/extensions/ViewExtensions.kt | 0 .../praxis/injection/DispatcherModule.kt | 0 .../dispatcher/CoroutineDispatcherProvider.kt | 0 .../dispatcher/RealCoroutineDispatcherProvider.kt | 0 .../common}/src/main/res/values/strings.xml | 0 {commonui => core/data}/.gitignore | 0 {data => core/data}/build.gradle.kts | 4 ++-- {data => core/data}/proguard-rules.pro | 0 .../praxis/data/ExampleInstrumentedTest.kt | 0 {data => core/data}/src/main/AndroidManifest.xml | 0 .../com/mutualmobile/praxis/data/AppConstants.kt | 0 .../praxis/data/injection/DataMappersModule.kt | 0 .../praxis/data/injection/DataModule.kt | 0 .../praxis/data/injection/NetworkModule.kt | 0 .../praxis/data/injection/RandomPhotosModule.kt | 0 .../injection/RandomPhotosRepositoryModule.kt | 0 .../praxis/data/injection/RepositoryModule.kt | 0 .../praxis/data/injection/SourcesModule.kt | 0 .../praxis/data/injection/UseCaseModule.kt | 0 .../mutualmobile/praxis/data/local/AppDatabase.kt | 0 .../praxis/data/local/model/SampleEntity.kt | 0 .../praxis/data/mapper/EntityMapper.kt | 0 .../praxis/data/remote/SafeApiCall.kt | 0 .../PicSumPhotoFetchRepositoryImpl.kt | 0 .../data/repositories/RandomFileServiceImpl.kt | 0 .../mutualmobile/praxis/data/ExampleUnitTest.kt | 0 {data => core/domain}/.gitignore | 0 {domain => core/domain}/build.gradle.kts | 0 .../com/mutualmobile/praxis/domain/SafeResult.kt | 0 .../praxis/domain/mappers/DomainModel.kt | 0 .../praxis/domain/model/StreamingFile.kt | 0 .../domain/repositories/PhotoFetchListener.kt | 0 .../domain/repositories/PhotoFetchRepository.kt | 0 .../domain/repositories/RandomFileService.kt | 0 .../praxis/domain/usecases/BaseUseCase.kt | 0 .../domain/usecases/FetchRandomPhotoUseCase.kt | 0 .../mutualmobile/praxis/domain/ExampleUnitTest.kt | 0 {domain => core/navigator}/.gitignore | 0 {navigator => core/navigator}/build.gradle.kts | 0 {commonui => core/navigator}/consumer-rules.pro | 0 {commonui => core/navigator}/proguard-rules.pro | 0 .../navigator}/src/main/AndroidManifest.xml | 0 .../praxis/navigator/NavigationCommand.kt | 0 .../praxis/navigator/NavigationKeys.kt | 0 .../mutualmobile/praxis/navigator/Navigator.kt | 0 .../com/mutualmobile/praxis/navigator/Screens.kt | 2 -- .../composenavigator/ComposeNavigator.kt | 0 {navigator => feature/commonui}/.gitignore | 0 {commonui => feature/commonui}/build.gradle.kts | 0 .../commonui}/consumer-rules.pro | 0 .../commonui}/proguard-rules.pro | 0 .../commonui}/src/main/AndroidManifest.xml | 0 .../praxis/commonui/keyboard/Keyboard.kt | 0 .../praxis/commonui/material/DefaultSnackbar.kt | 0 .../commonui/material/PraxisSurfaceAppBar.kt | 0 .../commonui/reusable/SlackDragComposableView.kt | 0 .../praxis/commonui/reusable/SlackImageBox.kt | 0 .../praxis/commonui/reusable/SlackListItem.kt | 0 .../mutualmobile/praxis/commonui/theme/Color.kt | 0 .../praxis/commonui/theme/PraxisSurface.kt | 0 .../mutualmobile/praxis/commonui/theme/Shape.kt | 0 .../mutualmobile/praxis/commonui/theme/Theme.kt | 0 .../mutualmobile/praxis/commonui/theme/Type.kt | 0 .../commonui}/src/main/res/anim/slide_left_in.xml | 0 .../src/main/res/anim/slide_left_out.xml | 0 .../src/main/res/anim/slide_right_in.xml | 0 .../src/main/res/anim/slide_right_out.xml | 0 .../commonui}/src/main/res/drawable/ic_email.xml | 0 .../commonui}/src/main/res/drawable/ic_eye.xml | 0 .../commonui}/src/main/res/font/lato_bold.ttf | Bin .../commonui}/src/main/res/font/lato_light.ttf | Bin .../commonui}/src/main/res/font/lato_regular.ttf | Bin .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../commonui}/src/main/res/values-v21/styles.xml | 0 .../commonui}/src/main/res/values/colors.xml | 0 .../commonui}/src/main/res/values/dimens.xml | 0 .../commonui}/src/main/res/values/integer.xml | 0 .../commonui}/src/main/res/values/strings.xml | 0 .../commonui}/src/main/res/values/styles.xml | 0 .../ui-authentication}/.gitignore | 0 .../ui-authentication}/build.gradle.kts | 10 +++++----- .../ui-authentication}/consumer-rules.pro | 0 .../ui-authentication}/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 0 .../feat/authentication/nav/AuthNavGraph.kt | 0 .../feat/authentication/services/Validatable.kt | 0 .../feat/authentication/ui/AuthenticationUI.kt | 0 .../feat/authentication/ui/ForgotPasswordUI.kt | 0 .../ui/exceptions/FormValidationFailed.kt | 0 .../feat/authentication/ui/model/FailureType.kt | 0 .../feat/authentication/ui/model/LoginForm.kt | 0 .../com/praxis/feat/authentication/vm/AuthVM.kt | 0 .../feat/authentication/vm/ForgotPasswordVM.kt | 0 .../praxis/feat/authentication/vm/AuthVMTest.kt | 0 .../ui-onboarding}/.gitignore | 0 .../ui-onboarding}/build.gradle.kts | 10 +++++----- .../ui-onboarding}/consumer-rules.pro | 0 .../ui-onboarding}/proguard-rules.pro | 0 .../uionboarding/ExampleInstrumentedTest.kt | 0 .../ui-onboarding}/src/main/AndroidManifest.xml | 0 .../praxis/uionboarding/compose/CommonInputUI.kt | 1 - .../praxis/uionboarding/compose/EmailInputView.kt | 0 .../praxis/uionboarding/compose/GettingStarted.kt | 0 .../praxis/uionboarding/compose/ScreenInputUI.kt | 0 .../uionboarding/compose/SkipTypingScreen.kt | 0 .../uionboarding/compose/WorkspaceInputView.kt | 0 .../uionboarding/nav/OnboardingNavigation.kt | 0 .../src/main/res/drawable-hdpi/gettingstarted.png | Bin .../main/res/drawable-xxhdpi/gettingstarted.png | Bin .../main/res/drawable-xxxhdpi/gettingstarted.png | Bin .../src/main/res/values/strings.xml | 0 .../praxis/uionboarding/ExampleUnitTest.kt | 0 settings.gradle.kts | 14 +++++++------- 125 files changed, 26 insertions(+), 29 deletions(-) rename {common => core/common}/.gitignore (100%) rename {common => core/common}/build.gradle.kts (100%) rename {common => core/common}/consumer-rules.pro (100%) rename {common => core/common}/proguard-rules.pro (100%) rename {common => core/common}/src/main/AndroidManifest.xml (100%) rename {common => core/common}/src/main/java/com/mutualmobile/praxis/extensions/PrimitiveExtensions.kt (100%) rename {common => core/common}/src/main/java/com/mutualmobile/praxis/extensions/ReactiveExtensions.kt (100%) rename {common => core/common}/src/main/java/com/mutualmobile/praxis/extensions/ViewExtensions.kt (100%) rename {common => core/common}/src/main/java/com/mutualmobile/praxis/injection/DispatcherModule.kt (100%) rename {common => core/common}/src/main/java/com/mutualmobile/praxis/injection/dispatcher/CoroutineDispatcherProvider.kt (100%) rename {common => core/common}/src/main/java/com/mutualmobile/praxis/injection/dispatcher/RealCoroutineDispatcherProvider.kt (100%) rename {common => core/common}/src/main/res/values/strings.xml (100%) rename {commonui => core/data}/.gitignore (100%) rename {data => core/data}/build.gradle.kts (93%) rename {data => core/data}/proguard-rules.pro (100%) rename {data => core/data}/src/androidTest/java/com/mutualmobile/praxis/data/ExampleInstrumentedTest.kt (100%) rename {data => core/data}/src/main/AndroidManifest.xml (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/AppConstants.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/DataMappersModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/DataModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/NetworkModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosRepositoryModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/RepositoryModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/SourcesModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/injection/UseCaseModule.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/local/model/SampleEntity.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/mapper/EntityMapper.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/remote/SafeApiCall.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/repositories/PicSumPhotoFetchRepositoryImpl.kt (100%) rename {data => core/data}/src/main/java/com/mutualmobile/praxis/data/repositories/RandomFileServiceImpl.kt (100%) rename {data => core/data}/src/test/java/com/mutualmobile/praxis/data/ExampleUnitTest.kt (100%) rename {data => core/domain}/.gitignore (100%) rename {domain => core/domain}/build.gradle.kts (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/SafeResult.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/mappers/DomainModel.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/model/StreamingFile.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchListener.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchRepository.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/repositories/RandomFileService.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/usecases/BaseUseCase.kt (100%) rename {domain => core/domain}/src/main/java/com/mutualmobile/praxis/domain/usecases/FetchRandomPhotoUseCase.kt (100%) rename {domain => core/domain}/src/test/java/com/mutualmobile/praxis/domain/ExampleUnitTest.kt (100%) rename {domain => core/navigator}/.gitignore (100%) rename {navigator => core/navigator}/build.gradle.kts (100%) rename {commonui => core/navigator}/consumer-rules.pro (100%) rename {commonui => core/navigator}/proguard-rules.pro (100%) rename {navigator => core/navigator}/src/main/AndroidManifest.xml (100%) rename {navigator => core/navigator}/src/main/java/com/mutualmobile/praxis/navigator/NavigationCommand.kt (100%) rename {navigator => core/navigator}/src/main/java/com/mutualmobile/praxis/navigator/NavigationKeys.kt (100%) rename {navigator => core/navigator}/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt (100%) rename {navigator => core/navigator}/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt (94%) rename {navigator => core/navigator}/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt (100%) rename {navigator => feature/commonui}/.gitignore (100%) rename {commonui => feature/commonui}/build.gradle.kts (100%) rename {navigator => feature/commonui}/consumer-rules.pro (100%) rename {navigator => feature/commonui}/proguard-rules.pro (100%) rename {commonui => feature/commonui}/src/main/AndroidManifest.xml (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/keyboard/Keyboard.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/material/DefaultSnackbar.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/material/PraxisSurfaceAppBar.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackDragComposableView.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackImageBox.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackListItem.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/theme/Color.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/theme/PraxisSurface.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/theme/Shape.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/theme/Theme.kt (100%) rename {commonui => feature/commonui}/src/main/java/com/mutualmobile/praxis/commonui/theme/Type.kt (100%) rename {commonui => feature/commonui}/src/main/res/anim/slide_left_in.xml (100%) rename {commonui => feature/commonui}/src/main/res/anim/slide_left_out.xml (100%) rename {commonui => feature/commonui}/src/main/res/anim/slide_right_in.xml (100%) rename {commonui => feature/commonui}/src/main/res/anim/slide_right_out.xml (100%) rename {commonui => feature/commonui}/src/main/res/drawable/ic_email.xml (100%) rename {commonui => feature/commonui}/src/main/res/drawable/ic_eye.xml (100%) rename {commonui => feature/commonui}/src/main/res/font/lato_bold.ttf (100%) rename {commonui => feature/commonui}/src/main/res/font/lato_light.ttf (100%) rename {commonui => feature/commonui}/src/main/res/font/lato_regular.ttf (100%) rename {commonui => feature/commonui}/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename {commonui => feature/commonui}/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename {commonui => feature/commonui}/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename {commonui => feature/commonui}/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename {commonui => feature/commonui}/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename {commonui => feature/commonui}/src/main/res/values-v21/styles.xml (100%) rename {commonui => feature/commonui}/src/main/res/values/colors.xml (100%) rename {commonui => feature/commonui}/src/main/res/values/dimens.xml (100%) rename {commonui => feature/commonui}/src/main/res/values/integer.xml (100%) rename {commonui => feature/commonui}/src/main/res/values/strings.xml (100%) rename {commonui => feature/commonui}/src/main/res/values/styles.xml (100%) rename {ui-authentication => feature/ui-authentication}/.gitignore (100%) rename {ui-authentication => feature/ui-authentication}/build.gradle.kts (90%) rename {ui-authentication => feature/ui-authentication}/consumer-rules.pro (100%) rename {ui-authentication => feature/ui-authentication}/proguard-rules.pro (100%) rename {ui-authentication => feature/ui-authentication}/src/main/AndroidManifest.xml (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/nav/AuthNavGraph.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/services/Validatable.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/ui/AuthenticationUI.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/ui/ForgotPasswordUI.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/ui/exceptions/FormValidationFailed.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/ui/model/FailureType.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/ui/model/LoginForm.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/main/java/com/praxis/feat/authentication/vm/ForgotPasswordVM.kt (100%) rename {ui-authentication => feature/ui-authentication}/src/test/java/com/praxis/feat/authentication/vm/AuthVMTest.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/.gitignore (100%) rename {ui-onboarding => feature/ui-onboarding}/build.gradle.kts (90%) rename {ui-onboarding => feature/ui-onboarding}/consumer-rules.pro (100%) rename {ui-onboarding => feature/ui-onboarding}/proguard-rules.pro (100%) rename {ui-onboarding => feature/ui-onboarding}/src/androidTest/java/com/mutualmobile/praxis/uionboarding/ExampleInstrumentedTest.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/AndroidManifest.xml (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt (98%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/compose/EmailInputView.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/compose/GettingStarted.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/compose/ScreenInputUI.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/compose/SkipTypingScreen.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/compose/WorkspaceInputView.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/java/com/mutualmobile/praxis/uionboarding/nav/OnboardingNavigation.kt (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/res/drawable-hdpi/gettingstarted.png (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/res/drawable-xxhdpi/gettingstarted.png (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/res/drawable-xxxhdpi/gettingstarted.png (100%) rename {ui-onboarding => feature/ui-onboarding}/src/main/res/values/strings.xml (100%) rename {ui-onboarding => feature/ui-onboarding}/src/test/java/com/mutualmobile/praxis/uionboarding/ExampleUnitTest.kt (100%) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5f8997f..afb8b9e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -131,13 +131,13 @@ dependencies { Lib.Google.list.forEach(::api) Lib.Kotlin.list.forEach(::api) - api(project(":ui-onboarding")) - api(project(":ui-authentication")) - api(project(":navigator")) - api(project(":data")) - api(project(":domain")) - api(project(":common")) - api(project(":commonui")) + api(project(":feature:ui-onboarding")) + api(project(":feature:ui-authentication")) + api(project(":core:navigator")) + api(project(":core:data")) + api(project(":core:domain")) + api(project(":core:common")) + api(project(":feature:commonui")) /*DI*/ api(Lib.Di.hilt) diff --git a/common/.gitignore b/core/common/.gitignore similarity index 100% rename from common/.gitignore rename to core/common/.gitignore diff --git a/common/build.gradle.kts b/core/common/build.gradle.kts similarity index 100% rename from common/build.gradle.kts rename to core/common/build.gradle.kts diff --git a/common/consumer-rules.pro b/core/common/consumer-rules.pro similarity index 100% rename from common/consumer-rules.pro rename to core/common/consumer-rules.pro diff --git a/common/proguard-rules.pro b/core/common/proguard-rules.pro similarity index 100% rename from common/proguard-rules.pro rename to core/common/proguard-rules.pro diff --git a/common/src/main/AndroidManifest.xml b/core/common/src/main/AndroidManifest.xml similarity index 100% rename from common/src/main/AndroidManifest.xml rename to core/common/src/main/AndroidManifest.xml diff --git a/common/src/main/java/com/mutualmobile/praxis/extensions/PrimitiveExtensions.kt b/core/common/src/main/java/com/mutualmobile/praxis/extensions/PrimitiveExtensions.kt similarity index 100% rename from common/src/main/java/com/mutualmobile/praxis/extensions/PrimitiveExtensions.kt rename to core/common/src/main/java/com/mutualmobile/praxis/extensions/PrimitiveExtensions.kt diff --git a/common/src/main/java/com/mutualmobile/praxis/extensions/ReactiveExtensions.kt b/core/common/src/main/java/com/mutualmobile/praxis/extensions/ReactiveExtensions.kt similarity index 100% rename from common/src/main/java/com/mutualmobile/praxis/extensions/ReactiveExtensions.kt rename to core/common/src/main/java/com/mutualmobile/praxis/extensions/ReactiveExtensions.kt diff --git a/common/src/main/java/com/mutualmobile/praxis/extensions/ViewExtensions.kt b/core/common/src/main/java/com/mutualmobile/praxis/extensions/ViewExtensions.kt similarity index 100% rename from common/src/main/java/com/mutualmobile/praxis/extensions/ViewExtensions.kt rename to core/common/src/main/java/com/mutualmobile/praxis/extensions/ViewExtensions.kt diff --git a/common/src/main/java/com/mutualmobile/praxis/injection/DispatcherModule.kt b/core/common/src/main/java/com/mutualmobile/praxis/injection/DispatcherModule.kt similarity index 100% rename from common/src/main/java/com/mutualmobile/praxis/injection/DispatcherModule.kt rename to core/common/src/main/java/com/mutualmobile/praxis/injection/DispatcherModule.kt diff --git a/common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/CoroutineDispatcherProvider.kt b/core/common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/CoroutineDispatcherProvider.kt similarity index 100% rename from common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/CoroutineDispatcherProvider.kt rename to core/common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/CoroutineDispatcherProvider.kt diff --git a/common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/RealCoroutineDispatcherProvider.kt b/core/common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/RealCoroutineDispatcherProvider.kt similarity index 100% rename from common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/RealCoroutineDispatcherProvider.kt rename to core/common/src/main/java/com/mutualmobile/praxis/injection/dispatcher/RealCoroutineDispatcherProvider.kt diff --git a/common/src/main/res/values/strings.xml b/core/common/src/main/res/values/strings.xml similarity index 100% rename from common/src/main/res/values/strings.xml rename to core/common/src/main/res/values/strings.xml diff --git a/commonui/.gitignore b/core/data/.gitignore similarity index 100% rename from commonui/.gitignore rename to core/data/.gitignore diff --git a/data/build.gradle.kts b/core/data/build.gradle.kts similarity index 93% rename from data/build.gradle.kts rename to core/data/build.gradle.kts index 00e49bf..01179c6 100644 --- a/data/build.gradle.kts +++ b/core/data/build.gradle.kts @@ -29,8 +29,8 @@ kapt { } dependencies { - implementation(project(":common")) - implementation(project(":domain")) + implementation(project(":core:common")) + implementation(project(":core:domain")) Lib.Kotlin.list.forEach(::implementation) Lib.Networking.ktorList.forEach(::implementation) diff --git a/data/proguard-rules.pro b/core/data/proguard-rules.pro similarity index 100% rename from data/proguard-rules.pro rename to core/data/proguard-rules.pro diff --git a/data/src/androidTest/java/com/mutualmobile/praxis/data/ExampleInstrumentedTest.kt b/core/data/src/androidTest/java/com/mutualmobile/praxis/data/ExampleInstrumentedTest.kt similarity index 100% rename from data/src/androidTest/java/com/mutualmobile/praxis/data/ExampleInstrumentedTest.kt rename to core/data/src/androidTest/java/com/mutualmobile/praxis/data/ExampleInstrumentedTest.kt diff --git a/data/src/main/AndroidManifest.xml b/core/data/src/main/AndroidManifest.xml similarity index 100% rename from data/src/main/AndroidManifest.xml rename to core/data/src/main/AndroidManifest.xml diff --git a/data/src/main/java/com/mutualmobile/praxis/data/AppConstants.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/AppConstants.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/AppConstants.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/AppConstants.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/DataMappersModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/DataMappersModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/DataMappersModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/DataMappersModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/DataModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/DataModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/DataModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/DataModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/NetworkModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/NetworkModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/NetworkModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/NetworkModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosRepositoryModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosRepositoryModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosRepositoryModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/RandomPhotosRepositoryModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/RepositoryModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/RepositoryModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/RepositoryModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/RepositoryModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/SourcesModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/SourcesModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/SourcesModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/SourcesModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/injection/UseCaseModule.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/injection/UseCaseModule.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/injection/UseCaseModule.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/injection/UseCaseModule.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/local/model/SampleEntity.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/local/model/SampleEntity.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/local/model/SampleEntity.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/local/model/SampleEntity.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/mapper/EntityMapper.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/mapper/EntityMapper.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/mapper/EntityMapper.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/mapper/EntityMapper.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/remote/SafeApiCall.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/remote/SafeApiCall.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/remote/SafeApiCall.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/remote/SafeApiCall.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/repositories/PicSumPhotoFetchRepositoryImpl.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/repositories/PicSumPhotoFetchRepositoryImpl.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/repositories/PicSumPhotoFetchRepositoryImpl.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/repositories/PicSumPhotoFetchRepositoryImpl.kt diff --git a/data/src/main/java/com/mutualmobile/praxis/data/repositories/RandomFileServiceImpl.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/repositories/RandomFileServiceImpl.kt similarity index 100% rename from data/src/main/java/com/mutualmobile/praxis/data/repositories/RandomFileServiceImpl.kt rename to core/data/src/main/java/com/mutualmobile/praxis/data/repositories/RandomFileServiceImpl.kt diff --git a/data/src/test/java/com/mutualmobile/praxis/data/ExampleUnitTest.kt b/core/data/src/test/java/com/mutualmobile/praxis/data/ExampleUnitTest.kt similarity index 100% rename from data/src/test/java/com/mutualmobile/praxis/data/ExampleUnitTest.kt rename to core/data/src/test/java/com/mutualmobile/praxis/data/ExampleUnitTest.kt diff --git a/data/.gitignore b/core/domain/.gitignore similarity index 100% rename from data/.gitignore rename to core/domain/.gitignore diff --git a/domain/build.gradle.kts b/core/domain/build.gradle.kts similarity index 100% rename from domain/build.gradle.kts rename to core/domain/build.gradle.kts diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/SafeResult.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/SafeResult.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/SafeResult.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/SafeResult.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/mappers/DomainModel.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/mappers/DomainModel.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/mappers/DomainModel.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/mappers/DomainModel.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/model/StreamingFile.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/model/StreamingFile.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/model/StreamingFile.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/model/StreamingFile.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchListener.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchListener.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchListener.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchListener.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchRepository.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchRepository.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchRepository.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/PhotoFetchRepository.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/RandomFileService.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/RandomFileService.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/repositories/RandomFileService.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/repositories/RandomFileService.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/usecases/BaseUseCase.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/usecases/BaseUseCase.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/usecases/BaseUseCase.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/usecases/BaseUseCase.kt diff --git a/domain/src/main/java/com/mutualmobile/praxis/domain/usecases/FetchRandomPhotoUseCase.kt b/core/domain/src/main/java/com/mutualmobile/praxis/domain/usecases/FetchRandomPhotoUseCase.kt similarity index 100% rename from domain/src/main/java/com/mutualmobile/praxis/domain/usecases/FetchRandomPhotoUseCase.kt rename to core/domain/src/main/java/com/mutualmobile/praxis/domain/usecases/FetchRandomPhotoUseCase.kt diff --git a/domain/src/test/java/com/mutualmobile/praxis/domain/ExampleUnitTest.kt b/core/domain/src/test/java/com/mutualmobile/praxis/domain/ExampleUnitTest.kt similarity index 100% rename from domain/src/test/java/com/mutualmobile/praxis/domain/ExampleUnitTest.kt rename to core/domain/src/test/java/com/mutualmobile/praxis/domain/ExampleUnitTest.kt diff --git a/domain/.gitignore b/core/navigator/.gitignore similarity index 100% rename from domain/.gitignore rename to core/navigator/.gitignore diff --git a/navigator/build.gradle.kts b/core/navigator/build.gradle.kts similarity index 100% rename from navigator/build.gradle.kts rename to core/navigator/build.gradle.kts diff --git a/commonui/consumer-rules.pro b/core/navigator/consumer-rules.pro similarity index 100% rename from commonui/consumer-rules.pro rename to core/navigator/consumer-rules.pro diff --git a/commonui/proguard-rules.pro b/core/navigator/proguard-rules.pro similarity index 100% rename from commonui/proguard-rules.pro rename to core/navigator/proguard-rules.pro diff --git a/navigator/src/main/AndroidManifest.xml b/core/navigator/src/main/AndroidManifest.xml similarity index 100% rename from navigator/src/main/AndroidManifest.xml rename to core/navigator/src/main/AndroidManifest.xml diff --git a/navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationCommand.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationCommand.kt similarity index 100% rename from navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationCommand.kt rename to core/navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationCommand.kt diff --git a/navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationKeys.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationKeys.kt similarity index 100% rename from navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationKeys.kt rename to core/navigator/src/main/java/com/mutualmobile/praxis/navigator/NavigationKeys.kt diff --git a/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt similarity index 100% rename from navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt rename to core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt diff --git a/navigator/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt similarity index 94% rename from navigator/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt rename to core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt index 623b581..0b9db7e 100644 --- a/navigator/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt +++ b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Screens.kt @@ -1,8 +1,6 @@ package com.mutualmobile.praxis.navigator import androidx.navigation.NamedNavArgument -import androidx.navigation.NavType -import androidx.navigation.navArgument sealed class PraxisScreen( val route: String, diff --git a/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt similarity index 100% rename from navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt rename to core/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt diff --git a/navigator/.gitignore b/feature/commonui/.gitignore similarity index 100% rename from navigator/.gitignore rename to feature/commonui/.gitignore diff --git a/commonui/build.gradle.kts b/feature/commonui/build.gradle.kts similarity index 100% rename from commonui/build.gradle.kts rename to feature/commonui/build.gradle.kts diff --git a/navigator/consumer-rules.pro b/feature/commonui/consumer-rules.pro similarity index 100% rename from navigator/consumer-rules.pro rename to feature/commonui/consumer-rules.pro diff --git a/navigator/proguard-rules.pro b/feature/commonui/proguard-rules.pro similarity index 100% rename from navigator/proguard-rules.pro rename to feature/commonui/proguard-rules.pro diff --git a/commonui/src/main/AndroidManifest.xml b/feature/commonui/src/main/AndroidManifest.xml similarity index 100% rename from commonui/src/main/AndroidManifest.xml rename to feature/commonui/src/main/AndroidManifest.xml diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/keyboard/Keyboard.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/keyboard/Keyboard.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/keyboard/Keyboard.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/keyboard/Keyboard.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/material/DefaultSnackbar.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/material/DefaultSnackbar.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/material/DefaultSnackbar.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/material/DefaultSnackbar.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/material/PraxisSurfaceAppBar.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/material/PraxisSurfaceAppBar.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/material/PraxisSurfaceAppBar.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/material/PraxisSurfaceAppBar.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackDragComposableView.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackDragComposableView.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackDragComposableView.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackDragComposableView.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackImageBox.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackImageBox.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackImageBox.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackImageBox.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackListItem.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackListItem.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackListItem.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/reusable/SlackListItem.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Color.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Color.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Color.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Color.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/PraxisSurface.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/PraxisSurface.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/PraxisSurface.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/PraxisSurface.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Shape.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Shape.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Shape.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Shape.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Theme.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Theme.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Theme.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Theme.kt diff --git a/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Type.kt b/feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Type.kt similarity index 100% rename from commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Type.kt rename to feature/commonui/src/main/java/com/mutualmobile/praxis/commonui/theme/Type.kt diff --git a/commonui/src/main/res/anim/slide_left_in.xml b/feature/commonui/src/main/res/anim/slide_left_in.xml similarity index 100% rename from commonui/src/main/res/anim/slide_left_in.xml rename to feature/commonui/src/main/res/anim/slide_left_in.xml diff --git a/commonui/src/main/res/anim/slide_left_out.xml b/feature/commonui/src/main/res/anim/slide_left_out.xml similarity index 100% rename from commonui/src/main/res/anim/slide_left_out.xml rename to feature/commonui/src/main/res/anim/slide_left_out.xml diff --git a/commonui/src/main/res/anim/slide_right_in.xml b/feature/commonui/src/main/res/anim/slide_right_in.xml similarity index 100% rename from commonui/src/main/res/anim/slide_right_in.xml rename to feature/commonui/src/main/res/anim/slide_right_in.xml diff --git a/commonui/src/main/res/anim/slide_right_out.xml b/feature/commonui/src/main/res/anim/slide_right_out.xml similarity index 100% rename from commonui/src/main/res/anim/slide_right_out.xml rename to feature/commonui/src/main/res/anim/slide_right_out.xml diff --git a/commonui/src/main/res/drawable/ic_email.xml b/feature/commonui/src/main/res/drawable/ic_email.xml similarity index 100% rename from commonui/src/main/res/drawable/ic_email.xml rename to feature/commonui/src/main/res/drawable/ic_email.xml diff --git a/commonui/src/main/res/drawable/ic_eye.xml b/feature/commonui/src/main/res/drawable/ic_eye.xml similarity index 100% rename from commonui/src/main/res/drawable/ic_eye.xml rename to feature/commonui/src/main/res/drawable/ic_eye.xml diff --git a/commonui/src/main/res/font/lato_bold.ttf b/feature/commonui/src/main/res/font/lato_bold.ttf similarity index 100% rename from commonui/src/main/res/font/lato_bold.ttf rename to feature/commonui/src/main/res/font/lato_bold.ttf diff --git a/commonui/src/main/res/font/lato_light.ttf b/feature/commonui/src/main/res/font/lato_light.ttf similarity index 100% rename from commonui/src/main/res/font/lato_light.ttf rename to feature/commonui/src/main/res/font/lato_light.ttf diff --git a/commonui/src/main/res/font/lato_regular.ttf b/feature/commonui/src/main/res/font/lato_regular.ttf similarity index 100% rename from commonui/src/main/res/font/lato_regular.ttf rename to feature/commonui/src/main/res/font/lato_regular.ttf diff --git a/commonui/src/main/res/mipmap-hdpi/ic_launcher.png b/feature/commonui/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from commonui/src/main/res/mipmap-hdpi/ic_launcher.png rename to feature/commonui/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/commonui/src/main/res/mipmap-mdpi/ic_launcher.png b/feature/commonui/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from commonui/src/main/res/mipmap-mdpi/ic_launcher.png rename to feature/commonui/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/commonui/src/main/res/mipmap-xhdpi/ic_launcher.png b/feature/commonui/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from commonui/src/main/res/mipmap-xhdpi/ic_launcher.png rename to feature/commonui/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/commonui/src/main/res/mipmap-xxhdpi/ic_launcher.png b/feature/commonui/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from commonui/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to feature/commonui/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/commonui/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/feature/commonui/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from commonui/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to feature/commonui/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/commonui/src/main/res/values-v21/styles.xml b/feature/commonui/src/main/res/values-v21/styles.xml similarity index 100% rename from commonui/src/main/res/values-v21/styles.xml rename to feature/commonui/src/main/res/values-v21/styles.xml diff --git a/commonui/src/main/res/values/colors.xml b/feature/commonui/src/main/res/values/colors.xml similarity index 100% rename from commonui/src/main/res/values/colors.xml rename to feature/commonui/src/main/res/values/colors.xml diff --git a/commonui/src/main/res/values/dimens.xml b/feature/commonui/src/main/res/values/dimens.xml similarity index 100% rename from commonui/src/main/res/values/dimens.xml rename to feature/commonui/src/main/res/values/dimens.xml diff --git a/commonui/src/main/res/values/integer.xml b/feature/commonui/src/main/res/values/integer.xml similarity index 100% rename from commonui/src/main/res/values/integer.xml rename to feature/commonui/src/main/res/values/integer.xml diff --git a/commonui/src/main/res/values/strings.xml b/feature/commonui/src/main/res/values/strings.xml similarity index 100% rename from commonui/src/main/res/values/strings.xml rename to feature/commonui/src/main/res/values/strings.xml diff --git a/commonui/src/main/res/values/styles.xml b/feature/commonui/src/main/res/values/styles.xml similarity index 100% rename from commonui/src/main/res/values/styles.xml rename to feature/commonui/src/main/res/values/styles.xml diff --git a/ui-authentication/.gitignore b/feature/ui-authentication/.gitignore similarity index 100% rename from ui-authentication/.gitignore rename to feature/ui-authentication/.gitignore diff --git a/ui-authentication/build.gradle.kts b/feature/ui-authentication/build.gradle.kts similarity index 90% rename from ui-authentication/build.gradle.kts rename to feature/ui-authentication/build.gradle.kts index f976ad7..721a0fd 100644 --- a/ui-authentication/build.gradle.kts +++ b/feature/ui-authentication/build.gradle.kts @@ -56,11 +56,11 @@ kapt { dependencies { /*Kotlin*/ - implementation(project(":data")) - implementation(project(":domain")) - implementation(project(":common")) - implementation(project(":navigator")) - implementation(project(":commonui")) + implementation(project(":core:data")) + implementation(project(":core:domain")) + implementation(project(":core:common")) + implementation(project(":core:navigator")) + implementation(project(":feature:commonui")) diff --git a/ui-authentication/consumer-rules.pro b/feature/ui-authentication/consumer-rules.pro similarity index 100% rename from ui-authentication/consumer-rules.pro rename to feature/ui-authentication/consumer-rules.pro diff --git a/ui-authentication/proguard-rules.pro b/feature/ui-authentication/proguard-rules.pro similarity index 100% rename from ui-authentication/proguard-rules.pro rename to feature/ui-authentication/proguard-rules.pro diff --git a/ui-authentication/src/main/AndroidManifest.xml b/feature/ui-authentication/src/main/AndroidManifest.xml similarity index 100% rename from ui-authentication/src/main/AndroidManifest.xml rename to feature/ui-authentication/src/main/AndroidManifest.xml diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/nav/AuthNavGraph.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/nav/AuthNavGraph.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/nav/AuthNavGraph.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/nav/AuthNavGraph.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/services/Validatable.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/services/Validatable.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/services/Validatable.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/services/Validatable.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/AuthenticationUI.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/AuthenticationUI.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/ui/AuthenticationUI.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/AuthenticationUI.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/ForgotPasswordUI.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/ForgotPasswordUI.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/ui/ForgotPasswordUI.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/ForgotPasswordUI.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/exceptions/FormValidationFailed.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/exceptions/FormValidationFailed.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/ui/exceptions/FormValidationFailed.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/exceptions/FormValidationFailed.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/FailureType.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/FailureType.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/FailureType.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/FailureType.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/LoginForm.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/LoginForm.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/LoginForm.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/ui/model/LoginForm.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt diff --git a/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/ForgotPasswordVM.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/ForgotPasswordVM.kt similarity index 100% rename from ui-authentication/src/main/java/com/praxis/feat/authentication/vm/ForgotPasswordVM.kt rename to feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/ForgotPasswordVM.kt diff --git a/ui-authentication/src/test/java/com/praxis/feat/authentication/vm/AuthVMTest.kt b/feature/ui-authentication/src/test/java/com/praxis/feat/authentication/vm/AuthVMTest.kt similarity index 100% rename from ui-authentication/src/test/java/com/praxis/feat/authentication/vm/AuthVMTest.kt rename to feature/ui-authentication/src/test/java/com/praxis/feat/authentication/vm/AuthVMTest.kt diff --git a/ui-onboarding/.gitignore b/feature/ui-onboarding/.gitignore similarity index 100% rename from ui-onboarding/.gitignore rename to feature/ui-onboarding/.gitignore diff --git a/ui-onboarding/build.gradle.kts b/feature/ui-onboarding/build.gradle.kts similarity index 90% rename from ui-onboarding/build.gradle.kts rename to feature/ui-onboarding/build.gradle.kts index ced77d9..dda9f49 100644 --- a/ui-onboarding/build.gradle.kts +++ b/feature/ui-onboarding/build.gradle.kts @@ -58,11 +58,11 @@ dependencies { /*Kotlin*/ - implementation(project(":data")) - implementation(project(":domain")) - implementation(project(":common")) - implementation(project(":navigator")) - implementation(project(":commonui")) + implementation(project(":core:data")) + implementation(project(":core:domain")) + implementation(project(":core:common")) + implementation(project(":core:navigator")) + implementation(project(":feature:commonui")) Lib.Androidx.list.forEach(::implementation) diff --git a/ui-onboarding/consumer-rules.pro b/feature/ui-onboarding/consumer-rules.pro similarity index 100% rename from ui-onboarding/consumer-rules.pro rename to feature/ui-onboarding/consumer-rules.pro diff --git a/ui-onboarding/proguard-rules.pro b/feature/ui-onboarding/proguard-rules.pro similarity index 100% rename from ui-onboarding/proguard-rules.pro rename to feature/ui-onboarding/proguard-rules.pro diff --git a/ui-onboarding/src/androidTest/java/com/mutualmobile/praxis/uionboarding/ExampleInstrumentedTest.kt b/feature/ui-onboarding/src/androidTest/java/com/mutualmobile/praxis/uionboarding/ExampleInstrumentedTest.kt similarity index 100% rename from ui-onboarding/src/androidTest/java/com/mutualmobile/praxis/uionboarding/ExampleInstrumentedTest.kt rename to feature/ui-onboarding/src/androidTest/java/com/mutualmobile/praxis/uionboarding/ExampleInstrumentedTest.kt diff --git a/ui-onboarding/src/main/AndroidManifest.xml b/feature/ui-onboarding/src/main/AndroidManifest.xml similarity index 100% rename from ui-onboarding/src/main/AndroidManifest.xml rename to feature/ui-onboarding/src/main/AndroidManifest.xml diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt similarity index 98% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt index 65592eb..8e7d11a 100644 --- a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt +++ b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/CommonInputUI.kt @@ -18,7 +18,6 @@ import com.mutualmobile.praxis.commonui.theme.PraxisColorProvider import com.mutualmobile.praxis.commonui.theme.PraxisTypography import com.mutualmobile.praxis.navigator.ComposeNavigator import com.mutualmobile.praxis.navigator.PraxisRoute -import com.mutualmobile.praxis.navigator.PraxisScreen @Composable fun CommonInputUI( diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/EmailInputView.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/EmailInputView.kt similarity index 100% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/EmailInputView.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/EmailInputView.kt diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/GettingStarted.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/GettingStarted.kt similarity index 100% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/GettingStarted.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/GettingStarted.kt diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/ScreenInputUI.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/ScreenInputUI.kt similarity index 100% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/ScreenInputUI.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/ScreenInputUI.kt diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/SkipTypingScreen.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/SkipTypingScreen.kt similarity index 100% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/SkipTypingScreen.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/SkipTypingScreen.kt diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/WorkspaceInputView.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/WorkspaceInputView.kt similarity index 100% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/WorkspaceInputView.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/compose/WorkspaceInputView.kt diff --git a/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/nav/OnboardingNavigation.kt b/feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/nav/OnboardingNavigation.kt similarity index 100% rename from ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/nav/OnboardingNavigation.kt rename to feature/ui-onboarding/src/main/java/com/mutualmobile/praxis/uionboarding/nav/OnboardingNavigation.kt diff --git a/ui-onboarding/src/main/res/drawable-hdpi/gettingstarted.png b/feature/ui-onboarding/src/main/res/drawable-hdpi/gettingstarted.png similarity index 100% rename from ui-onboarding/src/main/res/drawable-hdpi/gettingstarted.png rename to feature/ui-onboarding/src/main/res/drawable-hdpi/gettingstarted.png diff --git a/ui-onboarding/src/main/res/drawable-xxhdpi/gettingstarted.png b/feature/ui-onboarding/src/main/res/drawable-xxhdpi/gettingstarted.png similarity index 100% rename from ui-onboarding/src/main/res/drawable-xxhdpi/gettingstarted.png rename to feature/ui-onboarding/src/main/res/drawable-xxhdpi/gettingstarted.png diff --git a/ui-onboarding/src/main/res/drawable-xxxhdpi/gettingstarted.png b/feature/ui-onboarding/src/main/res/drawable-xxxhdpi/gettingstarted.png similarity index 100% rename from ui-onboarding/src/main/res/drawable-xxxhdpi/gettingstarted.png rename to feature/ui-onboarding/src/main/res/drawable-xxxhdpi/gettingstarted.png diff --git a/ui-onboarding/src/main/res/values/strings.xml b/feature/ui-onboarding/src/main/res/values/strings.xml similarity index 100% rename from ui-onboarding/src/main/res/values/strings.xml rename to feature/ui-onboarding/src/main/res/values/strings.xml diff --git a/ui-onboarding/src/test/java/com/mutualmobile/praxis/uionboarding/ExampleUnitTest.kt b/feature/ui-onboarding/src/test/java/com/mutualmobile/praxis/uionboarding/ExampleUnitTest.kt similarity index 100% rename from ui-onboarding/src/test/java/com/mutualmobile/praxis/uionboarding/ExampleUnitTest.kt rename to feature/ui-onboarding/src/test/java/com/mutualmobile/praxis/uionboarding/ExampleUnitTest.kt diff --git a/settings.gradle.kts b/settings.gradle.kts index 56f746d..7b0d483 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,13 +2,13 @@ include(":app") // Feature modules -include(":ui-onboarding") -include(":ui-authentication") +include(":feature:ui-onboarding") +include(":feature:ui-authentication") +include(":feature:commonui") // Other modules -include(":domain") -include(":data") -include(":common") -include(":commonui") -include(":navigator") +include(":core:domain") +include(":core:data") +include(":core:common") +include(":core:navigator") From 6fceaee3fb693ad0e1eccf6d0581a9c03d9a5fd2 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Fri, 9 Dec 2022 11:44:53 +0530 Subject: [PATCH 02/12] chore : setup kotlinter and Twitter Compose rules --- .editorconfig | 2 ++ build.gradle.kts | 20 ++++++++++++++++++++ buildSrc/src/main/kotlin/Dependencies.kt | 6 +++++- 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..d53121a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,2 @@ +[*.{kt,kts}] +twitter_compose_allowed_composition_locals = LocalPraxisCloneColor diff --git a/build.gradle.kts b/build.gradle.kts index 7dd80b6..138f908 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + id(BuildPlugins.KOTLINTER) version BuildPlugins.KOTLINTER_PLUGIN_VERSION apply true +} buildscript { repositories { @@ -13,11 +16,16 @@ buildscript { classpath(kotlin("serialization", version = Lib.Kotlin.KOTLIN_VERSION)) classpath(BuildPlugins.KTLINT_GRADLE_PLUGIN) classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") + classpath(BuildPlugins.TWITTER_COMPOSE_RULES) // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } +subprojects { + apply(plugin = BuildPlugins.KOTLINTER) +} + allprojects { repositories { google() @@ -35,4 +43,16 @@ apply(from = teamPropsFile("git-hooks.gradle.kts")) fun teamPropsFile(propsFile: String): File { val teamPropsDir = file("team-props") return File(teamPropsDir, propsFile) +} + +tasks.register("check").configure { + dependsOn("installKotlinterPrePushHook") +} + +kotlinter { + ignoreFailures = false + reporters = arrayOf("checkstyle", "html", "plain") + experimentalRules = true + disabledRules = emptyArray() + // disabledRules = arrayOf("experimental:argument-list-wrapping", "no-wildcard-imports") } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 81a3a66..aca1c9f 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -2,8 +2,10 @@ object BuildPlugins { private const val TOOLS_BUILD = "7.1.1" - private const val KT_LINT = "9.2.1" private const val SAFE_ARGS = "2.3.5" + private const val KT_LINT = "11.0.0" + private const val TWITTER_COMPOSE_RULES_VER = "0.0.22" + const val KOTLINTER_PLUGIN_VERSION = "3.12.0" const val TOOLS_BUILD_GRADLE = "com.android.tools.build:gradle:${TOOLS_BUILD}" const val KTLINT_GRADLE_PLUGIN = "org.jlleitschuh.gradle:ktlint-gradle:${KT_LINT}" @@ -19,6 +21,8 @@ object BuildPlugins { const val DAGGER_HILT = "dagger.hilt.android.plugin" const val ktLint = "org.jlleitschuh.gradle.ktlint" const val SAFE_ARGS_KOTLIN = "androidx.navigation.safeargs.kotlin" + const val TWITTER_COMPOSE_RULES = "com.twitter.compose.rules:ktlint:$TWITTER_COMPOSE_RULES_VER" + const val KOTLINTER = "org.jmailen.kotlinter" } object Lib { From f48426a1f58b150ca79a91c52571bc483f6cb059 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Mon, 12 Dec 2022 15:01:31 +0530 Subject: [PATCH 03/12] remove comments --- build.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 138f908..dc66522 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -54,5 +54,4 @@ kotlinter { reporters = arrayOf("checkstyle", "html", "plain") experimentalRules = true disabledRules = emptyArray() - // disabledRules = arrayOf("experimental:argument-list-wrapping", "no-wildcard-imports") } \ No newline at end of file From f139ac5d694021c855f65b143bff3c56f54efcd8 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Mon, 19 Dec 2022 12:26:28 +0530 Subject: [PATCH 04/12] Updated dependencies of Kotlin, Compose & Hilt --- app/build.gradle.kts | 1 - build.gradle.kts | 3 +- buildSrc/src/main/kotlin/AppVersions.kt | 4 +- buildSrc/src/main/kotlin/Dependencies.kt | 41 ++++++++++--------- core/common/build.gradle.kts | 1 - core/data/build.gradle.kts | 1 - core/navigator/build.gradle.kts | 1 - .../praxis/navigator/Navigator.kt | 5 +-- .../composenavigator/ComposeNavigator.kt | 2 +- feature/commonui/build.gradle.kts | 1 - feature/ui-authentication/build.gradle.kts | 1 - .../praxis/feat/authentication/vm/AuthVM.kt | 8 ++-- feature/ui-onboarding/build.gradle.kts | 1 - gradle/wrapper/gradle-wrapper.properties | 6 +-- 14 files changed, 35 insertions(+), 41 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index afb8b9e..82ecf72 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -142,7 +142,6 @@ dependencies { /*DI*/ api(Lib.Di.hilt) api(Lib.Di.hiltNavigationCompose) - api(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/build.gradle.kts b/build.gradle.kts index dc66522..f0fa71a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -15,9 +15,8 @@ buildscript { classpath(BuildPlugins.KOTLIN_GRADLE_PLUGIN) classpath(kotlin("serialization", version = Lib.Kotlin.KOTLIN_VERSION)) classpath(BuildPlugins.KTLINT_GRADLE_PLUGIN) - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") classpath(BuildPlugins.TWITTER_COMPOSE_RULES) - // NOTE: Do not place your application dependencies here; they belong + // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } diff --git a/buildSrc/src/main/kotlin/AppVersions.kt b/buildSrc/src/main/kotlin/AppVersions.kt index 60b5dae..d38b93b 100644 --- a/buildSrc/src/main/kotlin/AppVersions.kt +++ b/buildSrc/src/main/kotlin/AppVersions.kt @@ -6,8 +6,8 @@ object AppVersions { const val versionCode = versionMajor * 10000 + versionMinor * 100 + versionPatch const val versionName = "$versionMajor.$versionMinor.$versionPatch" - const val COMPILE_SDK = 31 + const val COMPILE_SDK = 33 const val MIN_SDK = 21 - const val TARGET_SDK = 31 + const val TARGET_SDK = 33 const val APPLICATION_ID = "com.mutualmobile.praxis" } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index aca1c9f..5717995 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -1,7 +1,7 @@ /** This file contains versions of all the dependencies used in the module */ object BuildPlugins { - private const val TOOLS_BUILD = "7.1.1" + private const val TOOLS_BUILD = "7.3.1" private const val SAFE_ARGS = "2.3.5" private const val KT_LINT = "11.0.0" private const val TWITTER_COMPOSE_RULES_VER = "0.0.22" @@ -11,8 +11,8 @@ object BuildPlugins { const val KTLINT_GRADLE_PLUGIN = "org.jlleitschuh.gradle:ktlint-gradle:${KT_LINT}" const val SAFE_ARGS_GRADLE_PLUGIN = "androidx.navigation:navigation-safe-args-gradle-plugin:${SAFE_ARGS}" - const val DAGGER_HILT_PLUGIN = "com.google.dagger:hilt-android-gradle-plugin:2.38.1" - const val KOTLIN_GRADLE_PLUGIN = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" + const val DAGGER_HILT_PLUGIN = "com.google.dagger:hilt-android-gradle-plugin:${Lib.Di.DAGGER_VERSION}" + const val KOTLIN_GRADLE_PLUGIN = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20" const val ANDROID_APPLICATION_PLUGIN = "com.android.application" const val ANDROID_LIBRARY_PLUGIN = "com.android.library" const val KOTLIN_ANDROID_PLUGIN = "kotlin-android" @@ -27,15 +27,16 @@ object BuildPlugins { object Lib { object Kotlin { - const val KOTLIN_VERSION = "1.6.0" - private const val KTX_CORE_VERSION = "1.2.0" + const val KOTLIN_VERSION = "1.7.20" + private const val KTX_CORE_VERSION = "1.9.0" + private const val COROUTINES_VERSION = "1.6.4" const val KT_STD = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${KOTLIN_VERSION}" private const val KTX_CORE = "androidx.core:core-ktx:${KTX_CORE_VERSION}" private const val DATE_TIME = "org.jetbrains.kotlinx:kotlinx-datetime:0.3.2" - const val COROUTINES = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${KOTLIN_VERSION}" + const val COROUTINES = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${COROUTINES_VERSION}" private const val COROUTINES_ANDROID = - "org.jetbrains.kotlinx:kotlinx-coroutines-android:${KOTLIN_VERSION}" + "org.jetbrains.kotlinx:kotlinx-coroutines-android:${COROUTINES_VERSION}" val list = listOf(KT_STD, KTX_CORE, DATE_TIME, COROUTINES, COROUTINES_ANDROID) } @@ -51,9 +52,9 @@ object Lib { object Androidx { // Compose - const val composeVersion = "1.1.0" - private const val SPLASH_SCREEN_API = "androidx.core:core-splashscreen:1.0.0-beta01" - private const val APP_COMPAT = "androidx.appcompat:appcompat:1.3.0-beta01" + const val composeVersion = "1.3.2" + private const val SPLASH_SCREEN_API = "androidx.core:core-splashscreen:1.0.0" + private const val APP_COMPAT = "androidx.appcompat:appcompat:1.5.1" val list = listOf( APP_COMPAT, @@ -61,13 +62,14 @@ object Lib { ) object Compose { + private const val ACTIVITY_COMPOSE = "androidx.activity:activity-compose:${composeVersion}" private const val CONSTRAINT_LAYOUT_COMPOSE = "androidx.constraintlayout:constraintlayout-compose:1.0.0" private const val COMPOSE_UI = "androidx.compose.ui:ui:${composeVersion}" private const val COMPOSE_LIVEDATA = "androidx.compose.runtime:runtime-livedata:${composeVersion}" - private const val COMPOSE_MATERIAL = "androidx.compose.material:material:${composeVersion}" + private const val COMPOSE_MATERIAL = "androidx.compose.material:material:1.3.1" private const val COMPOSE_TOOLING = "androidx.compose.ui:ui-tooling-preview:${composeVersion}" private const val COMPOSE_DEBUG_TOOLING = "androidx.compose.ui:ui-tooling:${composeVersion}" private const val COMPOSE_NAVIGATION = "androidx.navigation:navigation-compose:2.5.0-alpha01" @@ -87,22 +89,23 @@ object Lib { object Accompanist { - const val insets = "com.google.accompanist:accompanist-insets:0.23.0" - const val pager = "com.google.accompanist:accompanist-pager:0.23.0" - const val pagerIndicators = "com.google.accompanist:accompanist-pager-indicators:0.23.0" + private const val ACCOMPANIST_VERSION = "0.27.0" + const val insets = "com.google.accompanist:accompanist-insets:$ACCOMPANIST_VERSION" + const val pager = "com.google.accompanist:accompanist-pager:$ACCOMPANIST_VERSION" + const val pagerIndicators = "com.google.accompanist:accompanist-pager-indicators:$ACCOMPANIST_VERSION" const val systemuicontroller = - "com.google.accompanist:accompanist-systemuicontroller:0.23.0" + "com.google.accompanist:accompanist-systemuicontroller:$ACCOMPANIST_VERSION" val list = listOf(insets, pager, pagerIndicators, systemuicontroller) } object Di { - private const val DAGGER_VERSION = "2.40.5" + const val DAGGER_VERSION = "2.43" const val hilt = "com.google.dagger:hilt-android:${DAGGER_VERSION}" const val hiltAndroidCompiler = "com.google.dagger:hilt-android-compiler:${DAGGER_VERSION}" const val viewmodel = "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03" const val hiltCompiler = "androidx.hilt:hilt-compiler:1.0.0" - const val hiltNavigationCompose = "androidx.hilt:hilt-navigation-compose:1.0.0-rc01" + const val hiltNavigationCompose = "androidx.hilt:hilt-navigation-compose:1.0.0" } object Paging { @@ -113,11 +116,11 @@ object Lib { } object Room { - private const val roomVersion = "2.4.1" + private const val roomVersion = "2.4.3" const val roomRuntime = "androidx.room:room-runtime:$roomVersion" const val roomCompiler = "androidx.room:room-compiler:$roomVersion" const val roomKtx = "androidx.room:room-ktx:$roomVersion" - const val roomPaging = "androidx.room:room-paging:2.4.1" + const val roomPaging = "androidx.room:room-paging:$roomVersion" const val testing = "androidx.room:room-testing:$roomVersion" } diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index e9bdb2f..1deb345 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -43,7 +43,6 @@ dependencies { /*DI*/ implementation(Lib.Di.hilt) implementation(Lib.Di.hiltNavigationCompose) - implementation(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts index 01179c6..783f5e7 100644 --- a/core/data/build.gradle.kts +++ b/core/data/build.gradle.kts @@ -37,7 +37,6 @@ dependencies { /*DI*/ implementation(Lib.Di.hilt) implementation(Lib.Di.hiltNavigationCompose) - implementation(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/core/navigator/build.gradle.kts b/core/navigator/build.gradle.kts index fe83c7e..7b62d0f 100644 --- a/core/navigator/build.gradle.kts +++ b/core/navigator/build.gradle.kts @@ -54,7 +54,6 @@ dependencies { /*DI*/ implementation(Lib.Di.hilt) implementation(Lib.Di.hiltNavigationCompose) - implementation(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt index 4c4d7fb..d6c73a7 100644 --- a/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt +++ b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/Navigator.kt @@ -23,7 +23,7 @@ abstract class Navigator { abstract class ComposeNavigator : Navigator() { abstract fun navigate(route: String, optionsBuilder: (NavOptionsBuilder.() -> Unit)? = null) - abstract fun observeResult(key: String, route: String? = null): Flow + abstract fun observeResult(key: String, route: String? = null): Flow abstract fun navigateBackWithResult(key: String, result: T, route: String?) abstract fun popUpTo(route: String, inclusive: Boolean) @@ -49,9 +49,6 @@ abstract class ComposeNavigator : Navigator() { is ComposeNavigationCommand.NavigateUpWithResult<*> -> { navUpWithResult(navigationCommand) } - else -> { - throw RuntimeException("can't handle this with ComposeNavigator") - } } } diff --git a/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt index 4fcebd7..722d960 100644 --- a/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt +++ b/core/navigator/src/main/java/com/mutualmobile/praxis/navigator/composenavigator/ComposeNavigator.kt @@ -41,7 +41,7 @@ class PraxisCloneComposeNavigator @Inject constructor(): ComposeNavigator() { } @OptIn(ExperimentalCoroutinesApi::class) - override fun observeResult(key: String, route: String?): Flow { + override fun observeResult(key: String, route: String?): Flow { return navControllerFlow .filterNotNull() .flatMapLatest { navController -> diff --git a/feature/commonui/build.gradle.kts b/feature/commonui/build.gradle.kts index 73940cf..a9b0961 100644 --- a/feature/commonui/build.gradle.kts +++ b/feature/commonui/build.gradle.kts @@ -55,7 +55,6 @@ dependencies { /*DI*/ implementation(Lib.Di.hilt) implementation(Lib.Di.hiltNavigationCompose) - implementation(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/feature/ui-authentication/build.gradle.kts b/feature/ui-authentication/build.gradle.kts index 721a0fd..0d673ee 100644 --- a/feature/ui-authentication/build.gradle.kts +++ b/feature/ui-authentication/build.gradle.kts @@ -74,7 +74,6 @@ dependencies { /*DI*/ implementation(Lib.Di.hilt) implementation(Lib.Di.hiltNavigationCompose) - implementation(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt index ecb1eaf..5b99ff5 100644 --- a/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt +++ b/feature/ui-authentication/src/main/java/com/praxis/feat/authentication/vm/AuthVM.kt @@ -66,13 +66,15 @@ class AuthVM @Inject constructor( } private fun observePasswordReset() { - composeNavigator.observeResult(NavigationKeys.ForgotPassword).onStart { - val message = savedStateHandle.get(NavigationKeys.ForgotPassword) + composeNavigator.observeResult(NavigationKeys.ForgotPassword).onStart { + val message = savedStateHandle.get(NavigationKeys.ForgotPassword) message?.let { emit(it) } } - .onEach { snackBarState.value = it } + .onEach { + snackBarState.value = it?:"" + } .launchIn(viewModelScope) } diff --git a/feature/ui-onboarding/build.gradle.kts b/feature/ui-onboarding/build.gradle.kts index dda9f49..216ad6d 100644 --- a/feature/ui-onboarding/build.gradle.kts +++ b/feature/ui-onboarding/build.gradle.kts @@ -75,7 +75,6 @@ dependencies { /*DI*/ implementation(Lib.Di.hilt) implementation(Lib.Di.hiltNavigationCompose) - implementation(Lib.Di.viewmodel) kapt(Lib.Di.hiltCompiler) kapt(Lib.Di.hiltAndroidCompiler) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d8cebfc..4048f78 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jan 27 08:55:19 IST 2022 +#Mon Dec 19 10:17:12 IST 2022 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists From 3099e2985ff3948c9c5ed82e521a535adc5efcd1 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Tue, 20 Dec 2022 17:23:10 +0530 Subject: [PATCH 05/12] Add macrobenchmark tests for App startup --- app/build.gradle.kts | 7 +++ app/src/main/AndroidManifest.xml | 12 ++-- build.gradle.kts | 1 + buildSrc/src/main/kotlin/Dependencies.kt | 13 ++++ .../praxis/data/local/AppDatabase.kt | 2 +- macrobenchmark/.gitignore | 1 + macrobenchmark/build.gradle.kts | 52 ++++++++++++++++ macrobenchmark/src/main/AndroidManifest.xml | 7 +++ .../praxis/macrobenchmark/Utils.kt | 3 + .../baselineprofile/StartUpBaselineProfile.kt | 19 ++++++ .../startup/StartupBenchmark.kt | 61 +++++++++++++++++++ settings.gradle.kts | 1 + 12 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 macrobenchmark/.gitignore create mode 100644 macrobenchmark/build.gradle.kts create mode 100644 macrobenchmark/src/main/AndroidManifest.xml create mode 100644 macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/Utils.kt create mode 100644 macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/baselineprofile/StartUpBaselineProfile.kt create mode 100644 macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/startup/StartupBenchmark.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 82ecf72..35d0277 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -71,6 +71,12 @@ android { applicationIdSuffix = ".debug" signingConfig = signingConfigs.getByName("debug") } + create("benchmark") { + initWith(getByName("release")) + signingConfig = signingConfigs.getByName("debug") + matchingFallbacks += listOf("release") + isDebuggable = false + } } buildFeatures { @@ -154,4 +160,5 @@ dependencies { UnitTesting.list.forEach(::testApi) DevDependencies.debugList.forEach(::debugApi) DevDependencies.list.forEach(::api) + implementation(UnitTesting.PROFILE_INSTALLER) } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8aae06c..8261ed8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,14 +6,18 @@ + + - - \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index f0fa71a..b4d0304 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id(BuildPlugins.KOTLINTER) version BuildPlugins.KOTLINTER_PLUGIN_VERSION apply true + id(BuildPlugins.JETBRAINS_KOTLIN_ANDROID) version Lib.Kotlin.KOTLIN_VERSION apply false } buildscript { diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 5717995..49b0870 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -23,6 +23,8 @@ object BuildPlugins { const val SAFE_ARGS_KOTLIN = "androidx.navigation.safeargs.kotlin" const val TWITTER_COMPOSE_RULES = "com.twitter.compose.rules:ktlint:$TWITTER_COMPOSE_RULES_VER" const val KOTLINTER = "org.jmailen.kotlinter" + const val ANDROID_TEST = "com.android.test" + const val JETBRAINS_KOTLIN_ANDROID = "org.jetbrains.kotlin.android" } object Lib { @@ -140,10 +142,21 @@ object Lib { } object UnitTesting { + private const val ANDROID_JUNIT_VERSION = "1.1.4" + private const val ESPRESSO_VERSION = "3.5.0" + private const val UI_AUTOMATOR_VERSION = "2.2.0" + private const val BENCHMARK_VERSION = "1.2.0-alpha08" + private const val PROFILE_INSTALLER_VERSION = "1.2.1" + const val junit = "junit:junit:4.13.2" const val MOCKK = "io.mockk:mockk:1.10.5" const val coroutineTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0" const val turbin = "app.cash.turbine:turbine:0.7.0" + const val ESPRESSO = "androidx.test.espresso:espresso-core:$ESPRESSO_VERSION" + const val ANDROID_JUNIT = "androidx.test.ext:junit:$ANDROID_JUNIT_VERSION" + const val UI_AUTOMATOR = "androidx.test.uiautomator:uiautomator:$UI_AUTOMATOR_VERSION" + const val BENCHMARK = "androidx.benchmark:benchmark-macro-junit4:$BENCHMARK_VERSION" + const val PROFILE_INSTALLER = "androidx.profileinstaller:profileinstaller:$PROFILE_INSTALLER_VERSION" val list = listOf(junit, MOCKK, coroutineTest, turbin) } diff --git a/core/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt b/core/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt index 0fb49b5..92b5adc 100644 --- a/core/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt +++ b/core/data/src/main/java/com/mutualmobile/praxis/data/local/AppDatabase.kt @@ -4,6 +4,6 @@ import androidx.room.Database import androidx.room.RoomDatabase import com.mutualmobile.praxis.data.local.model.SampleEntity -@Database(entities = [SampleEntity::class], version = 1) +@Database(entities = [SampleEntity::class], version = 1, exportSchema = false) abstract class AppDatabase : RoomDatabase() diff --git a/macrobenchmark/.gitignore b/macrobenchmark/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/macrobenchmark/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/macrobenchmark/build.gradle.kts b/macrobenchmark/build.gradle.kts new file mode 100644 index 0000000..cf91ab6 --- /dev/null +++ b/macrobenchmark/build.gradle.kts @@ -0,0 +1,52 @@ +plugins { + id(BuildPlugins.ANDROID_TEST) + id(BuildPlugins.JETBRAINS_KOTLIN_ANDROID) +} + +android { + namespace = "com.mutualmobile.praxis.macrobenchmark" + compileSdk = 33 + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = "1.8" + } + + defaultConfig { + minSdk = 24 + targetSdk = AppVersions.TARGET_SDK + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + // This benchmark buildType is used for benchmarking, and should function like your + // release build (for example, with minification on). It"s signed with a debug key + // for easy local/CI testing. + create("benchmark") { + isDebuggable = true + signingConfig = getByName("debug").signingConfig + matchingFallbacks += listOf("release") + } + } + + targetProjectPath = ":app" + experimentalProperties["android.experimental.self-instrumenting"] = true +} + +dependencies { + implementation(UnitTesting.ANDROID_JUNIT) + implementation(UnitTesting.ESPRESSO) + implementation(UnitTesting.UI_AUTOMATOR) + implementation(UnitTesting.BENCHMARK) +} + +androidComponents { + beforeVariants(selector().all()) { + it.enabled = it.buildType == "benchmark" + } +} \ No newline at end of file diff --git a/macrobenchmark/src/main/AndroidManifest.xml b/macrobenchmark/src/main/AndroidManifest.xml new file mode 100644 index 0000000..13ebc5e --- /dev/null +++ b/macrobenchmark/src/main/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/Utils.kt b/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/Utils.kt new file mode 100644 index 0000000..b78164e --- /dev/null +++ b/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/Utils.kt @@ -0,0 +1,3 @@ +package com.mutualmobile.praxis.macrobenchmark + +const val PACKAGE_NAME = "com.mutualmobile.praxis" diff --git a/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/baselineprofile/StartUpBaselineProfile.kt b/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/baselineprofile/StartUpBaselineProfile.kt new file mode 100644 index 0000000..161e3b9 --- /dev/null +++ b/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/baselineprofile/StartUpBaselineProfile.kt @@ -0,0 +1,19 @@ +package com.mutualmobile.praxis.macrobenchmark.baselineprofile + +import androidx.benchmark.macro.junit4.BaselineProfileRule +import com.mutualmobile.praxis.macrobenchmark.PACKAGE_NAME +import org.junit.Rule +import org.junit.Test + +class StartUpBaselineProfile { + @get:Rule + val baselineProfile = BaselineProfileRule() + + @Test + fun startUp() = baselineProfile.collectBaselineProfile( + PACKAGE_NAME, + profileBlock = { + startActivityAndWait() + } + ) +} \ No newline at end of file diff --git a/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/startup/StartupBenchmark.kt b/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/startup/StartupBenchmark.kt new file mode 100644 index 0000000..d8581d1 --- /dev/null +++ b/macrobenchmark/src/main/java/com/mutualmobile/praxis/macrobenchmark/startup/StartupBenchmark.kt @@ -0,0 +1,61 @@ +package com.mutualmobile.praxis.macrobenchmark.startup + +import androidx.benchmark.macro.FrameTimingMetric +import androidx.benchmark.macro.StartupMode +import androidx.benchmark.macro.StartupTimingMetric +import androidx.benchmark.macro.junit4.MacrobenchmarkRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.mutualmobile.praxis.macrobenchmark.PACKAGE_NAME +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +/** + * It navigates to the device's home screen, and launches the default activity. + * + * Before running this benchmark: + * 1) switch your app's active build variant in the Studio (affects Studio runs only) + * 2) add `` to your app's manifest, within the `` tag + * + * Run this benchmark from Studio to see startup measurements, and captured system traces + * for investigating your app's performance. + */ + +@RunWith(AndroidJUnit4::class) +class StartupBenchmark { + @get:Rule + val benchmarkRule = MacrobenchmarkRule() + + @Test + fun startup() = benchmarkRule.measureRepeated( + packageName = PACKAGE_NAME, + metrics = listOf(StartupTimingMetric()), + iterations = 3, + startupMode = StartupMode.HOT + ) { + pressHome() + startActivityAndWait() + } + + @Test + fun warmStartup() = benchmarkRule.measureRepeated( + packageName = PACKAGE_NAME, + metrics = listOf(StartupTimingMetric(), FrameTimingMetric()), + iterations = 2, + startupMode = StartupMode.WARM + ) { + pressHome() + startActivityAndWait() + } + + @Test + fun hotStartup() = benchmarkRule.measureRepeated( + packageName = PACKAGE_NAME, + metrics = listOf(StartupTimingMetric()), + iterations = 3, + startupMode = StartupMode.HOT + ) { + pressHome() + startActivityAndWait() + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 7b0d483..21201a6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -12,3 +12,4 @@ include(":core:data") include(":core:common") include(":core:navigator") +include(":macrobenchmark") From 606faa5e8598b993fbe699c2d36bdd1697e6e7de Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Wed, 21 Dec 2022 15:28:35 +0530 Subject: [PATCH 06/12] Modify workflow to distribute app to app center --- .github/workflows/androidworkflow.yaml | 59 +++++++++++++++++++ .github/workflows/build.yml | 37 ------------ app/build.gradle.kts | 41 +++++++------ .../praxis/root/OnboardingActivity.kt | 11 +++- build.gradle.kts | 1 + buildSrc/src/main/kotlin/Dependencies.kt | 11 ++++ 6 files changed, 104 insertions(+), 56 deletions(-) create mode 100644 .github/workflows/androidworkflow.yaml delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml new file mode 100644 index 0000000..9d867b3 --- /dev/null +++ b/.github/workflows/androidworkflow.yaml @@ -0,0 +1,59 @@ +name: Build and Deploy +on: pull_request + +jobs: + build_and_deploy_dev_release: + runs-on: ubuntu-latest + steps: + - name: Checkout code + id: checkout_code + uses: actions/checkout@v2 + + - name: Setup JDK 11 + id: setup_jdk + uses: actions/setup-java@v2 + with: + distribution: "zulu" + java-version: 11 + + - uses: actions/cache@v3 + name: Cache Gradle for quicker builds + id: caching_gradle + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Generate Relase Build + id: generate_release_build + if: always() + run: ./gradlew assembleRelease --stacktrace --info + + - name: Sign APK + id: sign_app + if: always() + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: app/build/outputs/apk/release/ + signingKeyBase64: ${{ secrets.SIGNING_KEY_BASE_64 }} + alias: ${{ secrets.KEY_ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + + - name: Upload to App Center and distribute + id: upload_to_app_center_and_distribute + if: always() + uses: wzieba/AppCenter-Github-Action@v1 + with: + appName: Mutual-Mobile-Organization/MM-Praxis + token: ${{ secrets.APP_CENTER_TOKEN_DEVELOPMENT }} + group: Internal + file: ${{ steps.sign_app.outputs.signedReleaseFile }} + notifyTesters: true + debug: false \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index e395799..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Minimal Android CI Workflow - -on: - push: - branches: - - master - -jobs: - test: - name: Run Unit Tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - name: Unit tests - run: bash ./gradlew test --stacktrace - build_apk: - name: Generate APK - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v1 - - name: Setup JDK - uses: actions/setup-java@v1 - with: - java-version: 11 - - name: Build APK - run: bash ./gradlew assembleRelease --stacktrace - - name: Upload APK - uses: actions/upload-artifact@v2 - with: - name: build_release_apk - path: app/build/outputs/apk/release/app-release.apk - retention-days: 2 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 35d0277..2a8dff6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -7,6 +7,7 @@ plugins { id(BuildPlugins.KOTLIN_KAPT) id(BuildPlugins.DAGGER_HILT) id(BuildPlugins.ktLint) + id(BuildPlugins.SECRETS_GRADLE_PLUGIN) } // def preDexEnabled = "true" == System.getProperty("pre-dex", "true") @@ -34,23 +35,23 @@ android { } } - signingConfigs { - - getByName("debug") { - keyAlias = "praxis-debug" - keyPassword = "utherNiC" - storeFile = file("keystore/praxis-debug.jks") - storePassword = "uRgeSCIt" - } - - create("release") { - keyAlias = "praxis-release" - keyPassword = "ITHOmptI" - storeFile = file("keystore/praxis-release.jks") - storePassword = "PoTHatHR" - } - - } +// signingConfigs { +// +// getByName("debug") { +// keyAlias = "praxis-debug" +// keyPassword = "utherNiC" +// storeFile = file("keystore/praxis-debug.jks") +// storePassword = "uRgeSCIt" +// } +// +// create("release") { +// keyAlias = "praxis-release" +// keyPassword = "ITHOmptI" +// storeFile = file("keystore/praxis-release.jks") +// storePassword = "PoTHatHR" +// } +// +// } buildTypes { getByName("release") { isDebuggable = false @@ -63,7 +64,7 @@ android { getDefaultProguardFile("proguard-android.txt"), "proguard-common.txt", "proguard-specific.txt" ) - signingConfig = signingConfigs.getByName("release") + //signingConfig = signingConfigs.getByName("release") } getByName("debug") { isDebuggable = true @@ -157,6 +158,10 @@ dependencies { add("kapt", Lib.Room.roomCompiler) testApi(Lib.Room.testing) + //App center analytics + api(Lib.Crash.APP_CENTER_CRASHES) + api(Lib.Crash.APP_CENTER_ANALYSIS) + UnitTesting.list.forEach(::testApi) DevDependencies.debugList.forEach(::debugApi) DevDependencies.list.forEach(::api) diff --git a/app/src/main/java/com/mutualmobile/praxis/root/OnboardingActivity.kt b/app/src/main/java/com/mutualmobile/praxis/root/OnboardingActivity.kt index 243107a..f4f8988 100644 --- a/app/src/main/java/com/mutualmobile/praxis/root/OnboardingActivity.kt +++ b/app/src/main/java/com/mutualmobile/praxis/root/OnboardingActivity.kt @@ -9,12 +9,16 @@ import androidx.core.view.WindowCompat import androidx.navigation.compose.NavHost import androidx.navigation.compose.rememberNavController import com.google.accompanist.insets.ProvideWindowInsets -import dagger.hilt.android.AndroidEntryPoint import com.mutualmobile.praxis.navigator.ComposeNavigator import com.mutualmobile.praxis.navigator.PraxisRoute import com.mutualmobile.praxis.uionboarding.nav.onboardingNavigation import com.praxis.feat.authentication.nav.authNavGraph +import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject +import com.microsoft.appcenter.AppCenter; +import com.microsoft.appcenter.analytics.Analytics; +import com.microsoft.appcenter.crashes.Crashes; +import com.mutualmobile.praxis.BuildConfig @AndroidEntryPoint class OnboardingActivity : AppCompatActivity() { @@ -26,6 +30,11 @@ class OnboardingActivity : AppCompatActivity() { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) + AppCenter.start( + application, BuildConfig.APP_CENTER_SECRET_DEVELOPMENT, + Analytics::class.java, Crashes::class.java + ) + installSplashScreen() setContent { val navController = rememberNavController() diff --git a/build.gradle.kts b/build.gradle.kts index b4d0304..45c00c7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,7 @@ buildscript { classpath(kotlin("serialization", version = Lib.Kotlin.KOTLIN_VERSION)) classpath(BuildPlugins.KTLINT_GRADLE_PLUGIN) classpath(BuildPlugins.TWITTER_COMPOSE_RULES) + classpath(Lib.ThirdParty.SECRETS_GRADLE) // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 49b0870..995f4fe 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -25,6 +25,8 @@ object BuildPlugins { const val KOTLINTER = "org.jmailen.kotlinter" const val ANDROID_TEST = "com.android.test" const val JETBRAINS_KOTLIN_ANDROID = "org.jetbrains.kotlin.android" + const val SECRETS_GRADLE_PLUGIN = + "com.google.android.libraries.mapsplatform.secrets-gradle-plugin" } object Lib { @@ -135,10 +137,19 @@ object Lib { object ThirdParty { private const val COIL_COMPOSE = "io.coil-kt:coil-compose:1.4.0" + private const val SECRETS_GRADLE_VERSION = "2.0.1" + + const val SECRETS_GRADLE = + "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:$SECRETS_GRADLE_VERSION" val list = listOf(COIL_COMPOSE) } + object Crash { + private const val APP_CENTER_SDK_VERSION = "4.4.5" + const val APP_CENTER_ANALYSIS = "com.microsoft.appcenter:appcenter-analytics:${APP_CENTER_SDK_VERSION}" + const val APP_CENTER_CRASHES = "com.microsoft.appcenter:appcenter-crashes:${APP_CENTER_SDK_VERSION}" + } } object UnitTesting { From 6f746e434a8f03c5756d1a3eec0db1ab7f834277 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Wed, 21 Dec 2022 15:42:10 +0530 Subject: [PATCH 07/12] Resolve workflow issues --- .github/workflows/androidworkflow.yaml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml index 9d867b3..c70f8a6 100644 --- a/.github/workflows/androidworkflow.yaml +++ b/.github/workflows/androidworkflow.yaml @@ -2,7 +2,7 @@ name: Build and Deploy on: pull_request jobs: - build_and_deploy_dev_release: + build_and_deploy_release: runs-on: ubuntu-latest steps: - name: Checkout code @@ -16,6 +16,15 @@ jobs: distribution: "zulu" java-version: 11 + - name: Decode Keystore + id: decode_keystore + env: + APP_CENTER_SECRET_DEVELOPMENT: ${{ secrets.APP_CENTER_SECRET_DEVELOPMENT }} + run: | + touch ./local.properties + echo APP_CENTER_SECRET_DEVELOPMENT=\"APP_CENTER_SECRET_DEVELOPMENT\" >> ./local.properties + cat ./local.properties + - uses: actions/cache@v3 name: Cache Gradle for quicker builds id: caching_gradle @@ -23,15 +32,15 @@ jobs: path: | ~/.gradle/caches ~/.gradle/wrapper - key: ${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} - restore-keys: | - ${{ runner.os }}-gradle- + key: ${{ runner.os }}-${{ hashFiles('**/*.gradle*') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}-${{ hashFiles('**/buildSrc/**/*.kt') }} + restore-keys: | + ${{ runner.os }}-gradle- - name: Grant execute permission for gradlew run: chmod +x gradlew - - name: Generate Relase Build - id: generate_release_build + - name: Generate Build + id: generate_build if: always() run: ./gradlew assembleRelease --stacktrace --info From 605c9d4f94ef055c4cf1a50bb6f81d0047732392 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Sat, 24 Dec 2022 11:53:37 +0530 Subject: [PATCH 08/12] Resolve workflow issues --- .github/workflows/androidworkflow.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml index c70f8a6..a3ad843 100644 --- a/.github/workflows/androidworkflow.yaml +++ b/.github/workflows/androidworkflow.yaml @@ -50,10 +50,10 @@ jobs: uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/release/ - signingKeyBase64: ${{ secrets.SIGNING_KEY_BASE_64 }} - alias: ${{ secrets.KEY_ALIAS }} - keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} - keyPassword: ${{ secrets.KEY_PASSWORD }} + signingKeyBase64: ${{ secrets.RELEASE_KEYSTORE_BASE64 }} + alias: ${{ secrets.RELEASE_KEY_ALIAS }} + keyStorePassword: ${{ secrets.RELEASE_STORE_PASSWORD }} + keyPassword: ${{ secrets.RELEASE_KEY_PASSWORD }} - name: Upload to App Center and distribute id: upload_to_app_center_and_distribute @@ -61,7 +61,7 @@ jobs: uses: wzieba/AppCenter-Github-Action@v1 with: appName: Mutual-Mobile-Organization/MM-Praxis - token: ${{ secrets.APP_CENTER_TOKEN_DEVELOPMENT }} + token: ${{ secrets.APP_CENTER_TOKEN_SECRET }} group: Internal file: ${{ steps.sign_app.outputs.signedReleaseFile }} notifyTesters: true From e7d39105f53bd25c6ec1a0576bbd4c26a256011a Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Mon, 26 Dec 2022 10:22:42 +0530 Subject: [PATCH 09/12] Update App center token --- .github/workflows/androidworkflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml index a3ad843..2b3a7df 100644 --- a/.github/workflows/androidworkflow.yaml +++ b/.github/workflows/androidworkflow.yaml @@ -65,4 +65,4 @@ jobs: group: Internal file: ${{ steps.sign_app.outputs.signedReleaseFile }} notifyTesters: true - debug: false \ No newline at end of file + debug: true \ No newline at end of file From 72a251a1f60faf67e91c66ba9a68e693727f0639 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Mon, 26 Dec 2022 11:20:46 +0530 Subject: [PATCH 10/12] Test workflow --- .github/workflows/androidworkflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml index 2b3a7df..30353e3 100644 --- a/.github/workflows/androidworkflow.yaml +++ b/.github/workflows/androidworkflow.yaml @@ -22,7 +22,7 @@ jobs: APP_CENTER_SECRET_DEVELOPMENT: ${{ secrets.APP_CENTER_SECRET_DEVELOPMENT }} run: | touch ./local.properties - echo APP_CENTER_SECRET_DEVELOPMENT=\"APP_CENTER_SECRET_DEVELOPMENT\" >> ./local.properties + echo APP_CENTER_SECRET_DEVELOPMENT=\"$APP_CENTER_SECRET_DEVELOPMENT\" >> ./local.properties cat ./local.properties - uses: actions/cache@v3 From dbe6ec70c2cb297b19b527036dd27ab72669ae64 Mon Sep 17 00:00:00 2001 From: Ruthvikbr-MM Date: Mon, 26 Dec 2022 12:55:42 +0530 Subject: [PATCH 11/12] integrate slack webhook for github actions --- .github/workflows/androidworkflow.yaml | 21 ++++++++++++++++++++- app/build.gradle.kts | 17 ----------------- app/keystore/praxis-debug.jks | Bin 2271 -> 0 bytes app/keystore/praxis-release.jks | Bin 2273 -> 0 bytes 4 files changed, 20 insertions(+), 18 deletions(-) delete mode 100644 app/keystore/praxis-debug.jks delete mode 100644 app/keystore/praxis-release.jks diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml index 30353e3..cd7eb25 100644 --- a/.github/workflows/androidworkflow.yaml +++ b/.github/workflows/androidworkflow.yaml @@ -4,7 +4,18 @@ on: pull_request jobs: build_and_deploy_release: runs-on: ubuntu-latest + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + steps: + - name: Send CI/CD start message on slack + uses: act10ns/slack@v1 + id: slack_message_start + with: + status: starting + message: Starting to generate Release build for `build number {{ env.GITHUB_RUN_NUMBER }}` on branch `{{env.GITHUB_HEAD_REF}}` + if: always() + - name: Checkout code id: checkout_code uses: actions/checkout@v2 @@ -65,4 +76,12 @@ jobs: group: Internal file: ${{ steps.sign_app.outputs.signedReleaseFile }} notifyTesters: true - debug: true \ No newline at end of file + debug: true + + - name: Send CI/CD end message on slack + uses: act10ns/slack@v1 + id: slack_message_end + with: + status: ${{ job.status }} + steps: ${{ toJson(steps) }} + if: always() \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2a8dff6..0553456 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -35,23 +35,6 @@ android { } } -// signingConfigs { -// -// getByName("debug") { -// keyAlias = "praxis-debug" -// keyPassword = "utherNiC" -// storeFile = file("keystore/praxis-debug.jks") -// storePassword = "uRgeSCIt" -// } -// -// create("release") { -// keyAlias = "praxis-release" -// keyPassword = "ITHOmptI" -// storeFile = file("keystore/praxis-release.jks") -// storePassword = "PoTHatHR" -// } -// -// } buildTypes { getByName("release") { isDebuggable = false diff --git a/app/keystore/praxis-debug.jks b/app/keystore/praxis-debug.jks deleted file mode 100644 index fb3c172b660296c81dcdcd8068de0ba38e02eb4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2271 zcmc&#`8(8$7oHhoFpPcATFBDWXY5;+M7D4(S;i7(#x`hV$RL`sgrO3-$ri&TdkZ2$ zxrHwyd$L8ij3`UC;j5neeV+Rte1CXJgGd=Q8g43MErfExx^fq|i5We6V_%nE{%p?^!6LaZ{{&SxaxZ&eE(L2f?h}VtHAWml*_Y6T(+tK)Xcr8m~bE!+U$M#rn+61 zkUUgU+-D0rmflL)A;=I*PPcN>wCm?IyZ(a;OnBoF@-2ZB7DPQCs~6YSv)YmcHQ(*` zppPRYXUgDi%PfDpa?Y+H=zK1jzYzS4Ey1&@~CfGRWin?kA~R%I#vGOo-AOJ0F6-3gHpnfo<)z zeZDJt+eND(0)Xck*8BJiIPJ8i`8DwJ$M<3FqgEadJ7{*4v(sX-IQg+KTG0=5VfWWy zr&4x_XoVgqV52V(*Wgd!EZ7xH?$U`=5ZN%$Nu6*rPlB&dxr*%RFkv2JGeWL~(HZ7z z7kRtEu*mJr!1#MoLTELOEpnq7gPIlm_Njkj1!RGX*4$F`<58MKz54hqm#dMx!=Q=v z-p4bTL0=PK)C|l5=rqiV<>-SeniPdCRZEvFRCVu+$v+9M?`6|3IA^mkH#(y;;F&7+ zS2@PIWJ)`6iCKzAok*J>$4(DEaWU?`sK#|Z2Qk;LzP6b8Z7DG^u6f_|bh###a7iT&` zo7|h`I=x!AGQLtNrz;E4Hvl$Kd%O9or-CGkQe7!g<4_pRDpo(-4X$<`;ps)p=9=Q{Zswd7 ziaeE6|2!kPR~XVaQ+gowJd_c~kh(V6S1t8vFEg!NEY6lciQL-7>+Zad_&~bs*#{yo z)6+xgx4kfH6)sh{XTERnwx$zwUu#{BtlmAHTa_at9p{H;*S$WA#zdme74yC7p7J$t z2!rFwtKL1HW^?0Gz-ckGpVHY?3%}uu5W+GBdg144L}D3 zVz~>DSttM*LM&u~fFTfQD9$$%K)^VZ6U`HUBEVoyRuB-0;siKgEKX3E0K~!u#SifQ zBJ2Vjj##{Rh@W?e_y06D0S@yh3^vT$#~XtZ0t9~b!3DT362pn!_=}-F_y8=5_b7dj zWKID#;}A?(XaEK!0to$5SOmE3euuWqKLtQa1cA~`vxMLko>ts7~Tuh(|1I_deMz+qXQr;U=X-i7LW!ck2WjG4Hbq8HZv5lcVO?@V^!d3YT=XE z6Q6zT{%zvXr5%|F2Iaw~{T^#dpYOCj6yNW@nz2*Rq;Ra#3z2Z+y=+wKGn|RR;FY|< zvL3bP*}Z}!(JHvZ_fCG@1>4EVfGai0a;_=Wf~UK~ig@IApapN2VD?T%#c~cFou$g} z66bWQbex!n*x;>KgvG6I3Z0#z=J%G1(>)&U#M)o8FvVzU;~+(7unwi{X;En&vz_9DhiE*V02?)G|=hg@$OE&AGH zo>{IY)MORfB8!l$EA-QaaVmAXbYJ8+wRT5ED-*n(@J|X4!0c2A#e(F9NO9Ll=R zS|$#elBG#GT?fk2$^=L3s+qITTKBDW|H1pPKkR+ZhqLxMYoG1;?RfwI0NMrc7bHW& z@z;nEI^n*7zW4~=UD;oo+4d3u5C)9!6B})eQVDOCAVD*%z9}2(-J2_vIEFzsITn-Hf)AJIj^j5s0kqYWNB#v z{*sr?E(;KiZ#A| z{hc4TIc(DnV>Ik&Ag>oZk&Aauc6U>*$bRI_jp)L`` zaCxFq>D7R&tF2y5d~5SeukFn1-II;Zc?J{kvg zV^{A9U3%cTkl1U|x*QnYyK+4Ku#-ixZ)CW(zo2?a{%o}16hvR9n5Wn+9G5`-WF!}! zuMci{s6YvisWHxn^BWW->LK=aSeNa~TwU`V7;CXP#mupQ#a~aIwQ{cyes(AY8Q>64 zCNN)E6R%N3bsT1HI!@_Kc~1@9#d)7swKuAj(@Mq9`J2u*At>rOkw|%%4zytyN*fpL z@bPwRf;N+s*rNzDj&o#mRS%qU$nM1hn7B}I7{Z6Qzf zxknrh92m{LRgqI7*HmF-VmGKTmKAFm%d#$0Q&O4F4xTfY;+5OdEk8u#Z&PO2^v#)q z{GINYy`b!CLWaxJ6QcAq_5A4gCW8UF^h+%rL!?FG#*xi4>gaoS?cGr)wK>#pHOFr1 zU*)O&mI48<82!LnL4r&_Fd8Mb`(zq5S6dl&#`=h4=EGK{5!*D)DH4M_Pl2vkT^E3o z$`nH_JqfX^Yh3kqf5id}Q?@2)qpvKV{Me+~wlAm%o+rkiv)w+MA`m)Fk?cJ<>lMbjOBUq44rKd9ap zJB9!ROYf0&9?*AtVSnXyUTNv_+ya+;{ptKHajV=UPS}%*PNc>+ZGbcA+nX7=LNmkr zD$1QIlfOlIYIxosPw#95Pv}Tutr(dBBTF9RZzfKA)L_c zfMSnlPm>!m^|WwtgAhA!c1MW)GvkKQ-WlGd=DCJoHTp(ML`x$t)6|q~tK`%%0X2Qh zd@pGY$tCG5cSgHtodunHskXoA3Q5bv!Z-4&sMnd|xYe#5fA!Ehh1xI5UygXblEQM( zO4jpJT80!E6}7L~ZT{&K9^v=-7j&zT&)L5?|Jw^JZ`I$<^xb zPg#IPD?i#lj{c1G(){SQR4y2&p<$qz%9Cca-#WW zVNlHdn)hLXt%z<%o3udT4%)@8!X0cEf_0p;$6=#r34R-KJW#u|Zb>izD6Q}vVZVQ) z2U4(7{xL@RUiw)**)7SAn&`LelQx@F$2id4NxQ`*DR9as62lm{B`@r@*4JMFDeS6i zh{6B>LRqK;p*yGqP*kB12nYg!9r|-@QBV;vEvgOm2NVdD5C)*4(Gn;z5ux*75g6z+ z4!sX0{gXgoV&{AV@xlK1VEq3yQJ9#`bsyhwJOS^6mPNsS_KCyx*hNJ~;REeL2!TXj zwDfNJ?#dD{QR`rz@DQR8dOu3`ry>NCbodq9h<^$w<^52!2^x*Ypbhm+42&-9hZ^Yb zQvHAE|8KAapz6O(+I=BH2|y_TDgh`CN&o@@yr4Q}zXQ#N{nF!b=-3C}$m#1}X&={z zmY{Sdw>_DZC*$GjKJ4f5HqG7%kgH?pY~}qIC%t=*fZSe-F;>l9bLQ%|?Jy#TGQX^4 zPco#C1fIDrTiv0@djChw+z}>fO9TFHrIAyU{-06I6_&V5AH3-D--x4C+}08VZIU|M z%&_C*htJR!_96i}bA-7TLE*Q?Oo=G+=hJ zHhXT-52tiL{4#?UU%%oEed2adGa4iW1OQ8rC>7L!-OV151jE5HHlmFosl%Nh0XyQ& z(oGfVG2B+ezfIh|v|ST{fQyfy4!k1^SzmED3N}}nq}m6JnA2VB^`qWxjd?X(tF5?V zrWOd{I!I-bj(1+#r^KB-TJJ=lp!H+xYQ=#^D5j@8E4j)}^kj`9nbFuT`Usk(QI~)` zasHK{qF%&fh;0V%$oAv+B}-K+FZlLoWGv);_8E4(2h-r#151^@xwk!%Y}k<*{Z=~} z5c20*t=Y6}W6RxxA2n?QX=fWwkFMB9n@ju=7fCZv^#g4Vncp7)ml&cdojJW21IcOk zf< Date: Mon, 26 Dec 2022 13:32:03 +0530 Subject: [PATCH 12/12] Update Workflow to run on merge to master --- .github/workflows/androidworkflow.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/androidworkflow.yaml b/.github/workflows/androidworkflow.yaml index cd7eb25..126a59b 100644 --- a/.github/workflows/androidworkflow.yaml +++ b/.github/workflows/androidworkflow.yaml @@ -1,5 +1,8 @@ name: Build and Deploy -on: pull_request +on: + push: + branches: + - master jobs: build_and_deploy_release: