From 9364b39d7bac0fac5ae21360c963fd571f62a287 Mon Sep 17 00:00:00 2001 From: bourn Date: Tue, 23 Jan 2024 23:30:34 +0100 Subject: [PATCH] 23/01/2024. --- .github/workflows/android.yml | 26 -- .gitignore | 6 +- .idea/.gitignore | 3 + .idea/appInsightsSettings.xml | 26 ++ .idea/compiler.xml | 6 + .idea/deploymentTargetDropDown.xml | 10 + .idea/gradle.xml | 43 +++ .idea/inspectionProfiles/Project_Default.xml | 32 ++ .idea/kotlinc.xml | 6 + .idea/migrations.xml | 10 + .idea/misc.xml | 9 + .idea/vcs.xml | 6 + LICENSE | 201 ------------ README.md | 2 +- app/build.gradle.kts | 130 ++++---- app/proguard-rules.pro | 4 +- .../jetnote/ExampleInstrumentedTest.kt | 24 ++ app/src/main/AndroidManifest.xml | 16 +- .../zouitel/jetnote}/NoteActivity.kt | 26 +- .../city/zouitel/jetnote/NoteApplication.kt | 75 +++++ .../mobile => city/zouitel/jetnote}/utils.kt | 0 .../com/example/mobile/NoteApplication.kt | 36 --- .../res/drawable}/ic_launcher_background.xml | 0 .../res/drawable}/ic_launcher_foreground.xml | 0 .../main/res/mipmap-anydpi/ic_launcher.xml | 6 + .../res/mipmap-anydpi/ic_launcher_round.xml | 6 + app/src/main/res/xml/backup_rules.xml | 13 + .../main/res/xml/data_extraction_rules.xml | 19 ++ .../city/zouitel/jetnote/ExampleUnitTest.kt | 17 + benchmark/build.gradle.kts | 52 --- benchmark/src/main/AndroidManifest.xml | 7 - .../benchmark/ExampleStartupBenchmark.kt | 39 --- build.gradle.kts | 23 +- common/effect/build.gradle.kts | 7 - common/logic/build.gradle.kts | 7 - common/mapper/build.gradle.kts | 7 - common/ui/build.gradle.kts | 31 -- .../com/example/common_ui/DispatcherMod.kt | 17 - .../main/java/com/example/common_ui/Utils.kt | 1 - {benchmark => core/database}/.gitignore | 0 core/database/build.gradle.kts | 68 ++++ core/database/consumer-rules.pro | 0 core/database/proguard-rules.pro | 21 ++ .../city.zouitel.database.Database/1.json | 296 ++++++++++++++++++ .../database/ExampleInstrumentedTest.kt | 24 ++ .../database}/src/main/AndroidManifest.xml | 0 .../java/city/zouitel/database}/Database.kt | 6 +- .../java/city/zouitel/database}/Encryption.kt | 6 +- .../city/zouitel/database}/dao/DataDao.kt | 4 +- .../city/zouitel/database}/dao/LinkDao.kt | 4 +- .../zouitel/database}/dao/NoteAndLinkDao.kt | 4 +- .../zouitel/database}/dao/NoteAndTagDao.kt | 4 +- .../zouitel/database}/dao/NoteAndTaskDao.kt | 4 +- .../city/zouitel/database}/dao/NoteDao.kt | 4 +- .../java/city/zouitel/database}/dao/TagDao.kt | 4 +- .../city/zouitel/database}/dao/TaskDao.kt | 4 +- .../city/zouitel/database}/dao/WidgetDao.kt | 4 +- .../datasourceImpl/DataDataSourceImpl.kt | 13 +- .../datasourceImpl/LinkDataSourceImpl.kt | 13 +- .../NoteAndLinkDataSourceImpl.kt | 13 +- .../NoteAndTagDataSourceImpl.kt | 13 +- .../NoteAndTaskDataSourceImpl.kt | 13 +- .../datasourceImpl/NoteDataSourceImpl.kt | 13 +- .../datasourceImpl/TagDataSourceImpl.kt | 13 +- .../datasourceImpl/TaskDataSourceImpl.kt | 13 +- .../datasourceImpl/WidgetDataSourceImpl.kt | 16 + .../city/zouitel/database}/di/DaoModule.kt | 49 ++- .../zouitel/database}/di/DataSourceModule.kt | 55 ++-- .../city/zouitel/database/di/DatabaseDI.kt | 101 ++++++ .../zouitel/database}/di/DatabaseModule.kt | 33 +- .../city/zouitel/database}/di/MapperModule.kt | 49 ++- .../zouitel/database}/mapper/DataMapper.kt | 8 +- .../zouitel/database}/mapper/LinkMapper.kt | 8 +- .../database}/mapper/NoteAndLinkMapper.kt | 8 +- .../database}/mapper/NoteAndTagMapper.kt | 8 +- .../database}/mapper/NoteAndTaskMapper.kt | 8 +- .../zouitel/database}/mapper/NoteMapper.kt | 8 +- .../zouitel/database}/mapper/TagMapper.kt | 8 +- .../zouitel/database}/mapper/TaskMapper.kt | 8 +- .../zouitel/database}/mapper/WidgetMapper.kt | 8 +- .../zouitel/database}/mapper/base/Mapper.kt | 2 +- .../zouitel/database}/model/DataEntity.kt | 30 +- .../zouitel/database}/model/LinkEntity.kt | 16 +- .../database}/model/NoteAndLinkEntity.kt | 2 +- .../database}/model/NoteAndTagEntity.kt | 2 +- .../database}/model/NoteAndTaskEntity.kt | 2 +- .../city/zouitel/database}/model/TagEntity.kt | 10 +- .../zouitel/database}/model/TaskEntity.kt | 6 +- .../database}/model/relational/NoteEntity.kt | 8 +- .../city/zouitel/database}/utils/Constants.kt | 2 +- .../city/zouitel/database/ExampleUnitTest.kt | 17 + {common/effect => core/datastore}/.gitignore | 0 core/datastore/build.gradle.kts | 56 ++++ core/datastore/consumer-rules.pro | 0 core/datastore/proguard-rules.pro | 21 ++ .../datastore/ExampleInstrumentedTest.kt | 24 ++ .../datastore}/src/main/AndroidManifest.xml | 0 .../main/java/city/zouitel}/datastore/Cons.kt | 2 +- .../zouitel}/datastore/DataStoreModule.kt | 19 +- .../city/zouitel}/datastore/DataStoreRepo.kt | 2 +- .../zouitel}/datastore/DataStoreRepoImpl.kt | 6 +- .../main/java/city/zouitel}/datastore/Keys.kt | 3 +- .../java/city/zouitel/datastore/RepoMod.kt | 12 + .../city/zouitel/datastore/datastoreDI.kt | 39 +++ .../city/zouitel/datastore/ExampleUnitTest.kt | 17 + {common/logic => core/repository}/.gitignore | 0 core/repository/build.gradle.kts | 54 ++++ core/repository/consumer-rules.pro | 0 core/repository/proguard-rules.pro | 21 ++ .../repository/ExampleInstrumentedTest.kt | 24 ++ .../repository}/src/main/AndroidManifest.xml | 0 .../repository/datasource/DataDataSource.kt | 4 +- .../repository/datasource/ExoDataSource.kt | 2 +- .../repository/datasource/LinkDataSource.kt | 4 +- .../datasource/NoteAndLinkDataSource.kt | 4 +- .../datasource/NoteAndTagDataSource.kt | 4 +- .../datasource/NoteAndTaskDataSource.kt | 4 +- .../repository/datasource/NoteDataSource.kt | 4 +- .../repository/datasource/TagDataSource.kt | 4 +- .../repository/datasource/TaskDataSource.kt | 4 +- .../repository/datasource/WidgetDataSource.kt | 8 + .../zouitel}/repository/di/MapperModule.kt | 49 ++- .../repository/di/RepositoryModule.kt | 55 ++-- .../zouitel/repository/di/repositoryDI.kt | 119 +++++++ .../zouitel}/repository/mapper/DataMapper.kt | 8 +- .../zouitel}/repository/mapper/LinkMapper.kt | 8 +- .../repository/mapper/NoteAndLinkMapper.kt | 8 +- .../repository/mapper/NoteAndTagMapper.kt | 8 +- .../repository/mapper/NoteAndTaskMapper.kt | 8 +- .../zouitel}/repository/mapper/NoteMapper.kt | 8 +- .../zouitel}/repository/mapper/TagMapper.kt | 8 +- .../zouitel}/repository/mapper/TaskMapper.kt | 8 +- .../repository/mapper/WidgetMapper.kt | 8 +- .../zouitel}/repository/mapper/base/Mapper.kt | 2 +- .../city/zouitel}/repository/model/Data.kt | 4 +- .../city/zouitel}/repository/model/Link.kt | 2 +- .../city/zouitel}/repository/model/Note.kt | 3 +- .../zouitel}/repository/model/NoteAndLink.kt | 2 +- .../zouitel}/repository/model/NoteAndTag.kt | 2 +- .../zouitel}/repository/model/NoteAndTask.kt | 2 +- .../city/zouitel}/repository/model/Tag.kt | 2 +- .../city/zouitel}/repository/model/Task.kt | 2 +- .../repositoryImpl/DataRepositoryImpl.kt | 13 +- .../repositoryImpl/LinkRepositoryImpl.kt | 13 +- .../NoteAndLinkRepositoryImpl.kt | 13 +- .../NoteAndTagRepositoryImpl.kt | 15 +- .../NoteAndTaskRepositoryImpl.kt | 13 +- .../repositoryImpl/NoteRepositoryImpl.kt | 13 +- .../repositoryImpl/TagRepositoryImpl.kt | 13 +- .../repositoryImpl/TaskRepositoryImpl.kt | 13 +- .../repositoryImpl/WidgetRepositoryImpl.kt | 16 + .../zouitel}/repository/utils/Constants.kt | 2 +- .../zouitel/repository/ExampleUnitTest.kt | 17 + data/datastore/.gitignore | 15 - data/datastore/build.gradle.kts | 20 -- .../java/com/example/datastore/RepoMod.kt | 14 - data/local/.gitignore | 15 - data/local/build.gradle.kts | 32 -- data/local/src/main/AndroidManifest.xml | 1 - .../datasourceImpl/WidgetDataSourceImpl.kt | 17 - data/repository/build.gradle.kts | 17 - .../repository/datasource/WidgetDataSource.kt | 8 - .../repositoryImpl/WidgetRepositoryImpl.kt | 17 - domain/.gitignore | 16 +- domain/build.gradle.kts | 45 ++- domain/consumer-rules.pro | 0 domain/proguard-rules.pro | 21 ++ .../zouitel/domain/ExampleInstrumentedTest.kt | 24 ++ .../city/zouitel/domain/di/ExoPlayerModule.kt | 13 + .../java/city/zouitel/domain/di/useCasesDI.kt | 60 ++++ .../domain/exoplayer/ExoPlayerImpl.kt | 5 +- .../zouitel}/domain/exoplayer/ExoRepo.kt | 2 +- .../zouitel}/domain/model/Data.kt | 4 +- .../zouitel}/domain/model/Link.kt | 2 +- .../zouitel}/domain/model/Note.kt | 2 +- .../zouitel}/domain/model/NoteAndLink.kt | 2 +- .../zouitel}/domain/model/NoteAndTag.kt | 2 +- .../zouitel}/domain/model/NoteAndTask.kt | 2 +- .../zouitel}/domain/model/Tag.kt | 2 +- .../java/city/zouitel/domain}/model/Task.kt | 2 +- .../domain/repository/DataRepository.kt | 4 +- .../domain/repository/ExoRepository.kt | 2 +- .../domain/repository/LinkRepository.kt | 4 +- .../repository/NoteAndLinkRepository.kt | 4 +- .../domain/repository/NoteAndTagRepository.kt | 4 +- .../repository/NoteAndTaskRepository.kt | 4 +- .../domain/repository/NoteRepository.kt | 4 +- .../domain/repository/TagRepository.kt | 4 +- .../domain/repository/TaskRepository.kt | 4 +- .../domain/repository/WidgetRepository.kt | 9 + .../zouitel}/domain/usecase/DataUseCase.kt | 17 +- .../zouitel}/domain/usecase/LinkUseCase.kt | 16 +- .../domain/usecase/NoteAndLinkUseCase.kt | 18 +- .../domain/usecase/NoteAndTagUseCase.kt | 16 +- .../domain/usecase/NoteAndTaskUseCase.kt | 16 +- .../zouitel}/domain/usecase/NoteUseCase.kt | 22 +- .../zouitel}/domain/usecase/TagUseCase.kt | 18 +- .../zouitel}/domain/usecase/TaskUseCase.kt | 18 +- .../zouitel/domain/usecase/WidgetUseCase.kt | 13 + .../zouitel}/domain/utils/Constants.kt | 2 +- .../zouitel}/domain/utils/Dispatcher.kt | 6 +- .../zouitel}/domain/utils/Dispatchers.kt | 2 +- .../com/example/domain/di/ExoPlayerModule.kt | 18 -- .../domain/repository/WidgetRepository.kt | 9 - .../example/domain/usecase/WidgetUseCase.kt | 15 - .../city/zouitel/domain/ExampleUnitTest.kt | 17 + enigma-backup/.gitignore | 3 + gradle.properties | 14 +- gradle/libraries.versions.toml | 216 ------------- gradle/libs.versions.toml | 166 ++++++++++ gradle/wrapper/gradle-wrapper.jar | Bin 61574 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- gradlew | 269 +++++++--------- gradlew.bat | 15 +- init/build.gradle.kts | 67 +++- init/consumer-rules.pro | 0 init/proguard-rules.pro | 21 ++ .../zouitel/init/ExampleInstrumentedTest.kt | 24 ++ init/src/main/AndroidManifest.xml | 1 - .../zouitel/init/WorkManagerInitializer.kt | 30 +- .../init/WorkManagerInitializerEntryPoint.kt | 12 - .../main/java/city/zouitel/init/WorkerDI.kt | 7 + .../java/city/zouitel/init/ExampleUnitTest.kt | 17 + .../executionHistory/executionHistory.bin | Bin 1847843 -> 0 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 0 bytes .../buildOutputCleanup.lock | Bin 17 -> 0 bytes .../buildOutputCleanup/cache.properties | 2 - .../buildOutputCleanup/outputFiles.bin | Bin 19757 -> 0 bytes plugins/.gradle/file-system.probe | Bin 8 -> 0 bytes plugins/build.gradle.kts | 16 - plugins/settings.gradle.kts | 10 - .../main/java/com/example/plugins/Bundles.kt | 15 - .../java/com/example/plugins/Extensions.kt | 58 ---- .../java/com/example/plugins/Libraries.kt | 66 ---- .../main/java/com/example/plugins/Versions.kt | 12 - .../plugins/city.android-lib.gradle.kts | 37 --- .../plugins/city.compose-lib.gradle.kts | 42 --- .../plugins/city.dagger-hilt.gradle.kts | 37 --- service/notification/build.gradle.kts | 16 - .../notifications}/.gitignore | 0 services/notifications/build.gradle.kts | 66 ++++ services/notifications/consumer-rules.pro | 0 services/notifications/proguard-rules.pro | 21 ++ .../notifications/ExampleInstrumentedTest.kt | 24 ++ .../src/main/AndroidManifest.xml | 0 .../java/city/zouitel/notifications/Cons.kt | 14 + .../notifications}/di/NotificationModule.kt | 43 +-- .../notifications/di/notificationDI.kt | 37 +++ .../notifications}/reciver/Notification.kt | 25 +- .../reciver/NotifyBroadcastReceiver.kt | 5 +- .../viewmodel/NotificationVM.kt | 10 +- .../zouitel/notifications/ExampleUnitTest.kt | 17 + settings.gradle.kts | 74 ++--- {common/ui => ui/common/logic}/.gitignore | 0 ui/common/logic/build.gradle.kts | 44 +++ ui/common/logic/consumer-rules.pro | 0 ui/common/logic/proguard-rules.pro | 21 ++ .../zouitel/logic/ExampleInstrumentedTest.kt | 24 ++ .../logic}/src/main/AndroidManifest.xml | 0 .../city/zouitel/logic/ExampleUnitTest.kt | 17 + .../common/systemDesign}/.gitignore | 0 ui/common/systemDesign/build.gradle.kts | 82 +++++ ui/common/systemDesign/consumer-rules.pro | 0 ui/common/systemDesign/proguard-rules.pro | 21 ++ .../systemDesign/ExampleInstrumentedTest.kt | 24 ++ .../src/main/AndroidManifest.xml | 0 .../city/zouitel/systemDesign}/AdaptingRow.kt | 13 +- .../zouitel/systemDesign}/BackgroundColors.kt | 2 +- .../java/city/zouitel/systemDesign}/Cons.kt | 8 +- .../city/zouitel/systemDesign}/DataStoreVM.kt | 15 +- .../zouitel/systemDesign/DispatcherMod.kt | 13 + .../java/city/zouitel/systemDesign}/Icons.kt | 5 +- .../zouitel/systemDesign}/ImageDisplay.kt | 4 +- .../java/city/zouitel/systemDesign}/Lambda.kt | 19 +- .../zouitel/systemDesign}/MaterialColors.kt | 2 +- .../java/city/zouitel/systemDesign}/Popup.kt | 24 +- .../city/zouitel/systemDesign}/SoundEffect.kt | 2 +- .../city/zouitel/systemDesign}/TextColors.kt | 2 +- .../java/city/zouitel/systemDesign/Utils.kt | 1 + .../zouitel/systemDesign}/VerticalGrid.kt | 2 +- .../zouitel/systemDesign/di/dataStoreDI.kt | 9 + .../systemDesign}/listOfPriorityColors.kt | 2 +- .../src/main/res/drawable-hdpi/add_18.png | Bin .../src/main/res/drawable-hdpi/add_20.png | Bin .../src/main/res/drawable-hdpi/add_24.png | Bin .../src/main/res/drawable-hdpi/add_36.png | Bin .../src/main/res/drawable-hdpi/add_48.png | Bin .../main/res/drawable-hdpi/angle_down_18.png | Bin .../main/res/drawable-hdpi/angle_down_20.png | Bin .../main/res/drawable-hdpi/angle_down_24.png | Bin .../main/res/drawable-hdpi/angle_down_36.png | Bin .../main/res/drawable-hdpi/angle_down_48.png | Bin .../res/drawable-hdpi/angle_small_down_18.png | Bin .../res/drawable-hdpi/angle_small_down_20.png | Bin .../res/drawable-hdpi/angle_small_down_24.png | Bin .../res/drawable-hdpi/angle_small_down_36.png | Bin .../res/drawable-hdpi/angle_small_down_48.png | Bin .../res/drawable-hdpi/angle_small_up_18.png | Bin .../res/drawable-hdpi/angle_small_up_20.png | Bin .../res/drawable-hdpi/angle_small_up_24.png | Bin .../res/drawable-hdpi/angle_small_up_36.png | Bin .../res/drawable-hdpi/angle_small_up_48.png | Bin .../main/res/drawable-hdpi/angle_up_18.png | Bin .../main/res/drawable-hdpi/angle_up_20.png | Bin .../main/res/drawable-hdpi/angle_up_24.png | Bin .../main/res/drawable-hdpi/angle_up_36.png | Bin .../main/res/drawable-hdpi/angle_up_48.png | Bin .../main/res/drawable-hdpi/apps_sort_18.png | Bin .../main/res/drawable-hdpi/apps_sort_20.png | Bin .../main/res/drawable-hdpi/apps_sort_24.png | Bin .../main/res/drawable-hdpi/apps_sort_36.png | Bin .../main/res/drawable-hdpi/apps_sort_48.png | Bin .../src/main/res/drawable-hdpi/bell_18.png | Bin .../src/main/res/drawable-hdpi/bell_20.png | Bin .../src/main/res/drawable-hdpi/bell_24.png | Bin .../src/main/res/drawable-hdpi/bell_36.png | Bin .../src/main/res/drawable-hdpi/bell_48.png | Bin .../main/res/drawable-hdpi/bell_ring_18.png | Bin .../main/res/drawable-hdpi/bell_ring_20.png | Bin .../main/res/drawable-hdpi/bell_ring_24.png | Bin .../main/res/drawable-hdpi/bell_ring_36.png | Bin .../main/res/drawable-hdpi/bell_ring_48.png | Bin .../src/main/res/drawable-hdpi/broom_18.png | Bin .../src/main/res/drawable-hdpi/broom_20.png | Bin .../src/main/res/drawable-hdpi/broom_24.png | Bin .../src/main/res/drawable-hdpi/broom_36.png | Bin .../src/main/res/drawable-hdpi/broom_48.png | Bin .../main/res/drawable-hdpi/calendar_18.png | Bin .../main/res/drawable-hdpi/calendar_20.png | Bin .../main/res/drawable-hdpi/calendar_24.png | Bin .../main/res/drawable-hdpi/calendar_36.png | Bin .../main/res/drawable-hdpi/calendar_48.png | Bin .../src/main/res/drawable-hdpi/camera_18.png | Bin .../src/main/res/drawable-hdpi/camera_20.png | Bin .../src/main/res/drawable-hdpi/camera_24.png | Bin .../src/main/res/drawable-hdpi/camera_36.png | Bin .../src/main/res/drawable-hdpi/camera_48.png | Bin .../src/main/res/drawable-hdpi/check_18.png | Bin .../src/main/res/drawable-hdpi/check_20.png | Bin .../src/main/res/drawable-hdpi/check_24.png | Bin .../src/main/res/drawable-hdpi/check_36.png | Bin .../src/main/res/drawable-hdpi/check_48.png | Bin .../main/res/drawable-hdpi/checkbox_18.png | Bin .../main/res/drawable-hdpi/checkbox_20.png | Bin .../main/res/drawable-hdpi/checkbox_24.png | Bin .../main/res/drawable-hdpi/checkbox_36.png | Bin .../main/res/drawable-hdpi/checkbox_48.png | Bin .../src/main/res/drawable-hdpi/circle_18.png | Bin .../src/main/res/drawable-hdpi/circle_20.png | Bin .../src/main/res/drawable-hdpi/circle_24.png | Bin .../src/main/res/drawable-hdpi/circle_36.png | Bin .../src/main/res/drawable-hdpi/circle_48.png | Bin .../src/main/res/drawable-hdpi/clock_18.png | Bin .../src/main/res/drawable-hdpi/clock_20.png | Bin .../src/main/res/drawable-hdpi/clock_24.png | Bin .../src/main/res/drawable-hdpi/clock_36.png | Bin .../src/main/res/drawable-hdpi/clock_48.png | Bin .../src/main/res/drawable-hdpi/cloud_18.png | Bin .../src/main/res/drawable-hdpi/cloud_20.png | Bin .../src/main/res/drawable-hdpi/cloud_24.png | Bin .../src/main/res/drawable-hdpi/cloud_36.png | Bin .../src/main/res/drawable-hdpi/cloud_48.png | Bin .../res/drawable-hdpi/cloud_disabled_18.png | Bin .../res/drawable-hdpi/cloud_disabled_20.png | Bin .../res/drawable-hdpi/cloud_disabled_24.png | Bin .../res/drawable-hdpi/cloud_disabled_36.png | Bin .../res/drawable-hdpi/cloud_disabled_48.png | Bin .../res/drawable-hdpi/cloud_download_18.png | Bin .../res/drawable-hdpi/cloud_download_20.png | Bin .../res/drawable-hdpi/cloud_download_24.png | Bin .../res/drawable-hdpi/cloud_download_36.png | Bin .../res/drawable-hdpi/cloud_download_48.png | Bin .../res/drawable-hdpi/cloud_upload_18.png | Bin .../res/drawable-hdpi/cloud_upload_20.png | Bin .../res/drawable-hdpi/cloud_upload_24.png | Bin .../res/drawable-hdpi/cloud_upload_36.png | Bin .../res/drawable-hdpi/cloud_upload_48.png | Bin .../drawable-hdpi/comment_exclamation_18.png | Bin .../drawable-hdpi/comment_exclamation_20.png | Bin .../drawable-hdpi/comment_exclamation_24_.png | Bin .../drawable-hdpi/comment_exclamation_36.png | Bin .../drawable-hdpi/comment_exclamation_48.png | Bin .../src/main/res/drawable-hdpi/copy_18.png | Bin .../src/main/res/drawable-hdpi/copy_20.png | Bin .../src/main/res/drawable-hdpi/copy_24.png | Bin .../src/main/res/drawable-hdpi/copy_36.png | Bin .../src/main/res/drawable-hdpi/copy_48.png | Bin .../src/main/res/drawable-hdpi/cross_18.png | Bin .../src/main/res/drawable-hdpi/cross_20.png | Bin .../src/main/res/drawable-hdpi/cross_24.png | Bin .../src/main/res/drawable-hdpi/cross_36.png | Bin .../src/main/res/drawable-hdpi/cross_48.png | Bin .../res/drawable-hdpi/cross_circle_18.png | Bin .../res/drawable-hdpi/cross_circle_20.png | Bin .../res/drawable-hdpi/cross_circle_24.png | Bin .../res/drawable-hdpi/cross_circle_36.png | Bin .../res/drawable-hdpi/cross_circle_48.png | Bin .../main/res/drawable-hdpi/delete_user_18.png | Bin .../main/res/drawable-hdpi/delete_user_20.png | Bin .../main/res/drawable-hdpi/delete_user_24.png | Bin .../main/res/drawable-hdpi/delete_user_36.png | Bin .../main/res/drawable-hdpi/delete_user_48.png | Bin .../src/main/res/drawable-hdpi/disk_18.png | Bin .../src/main/res/drawable-hdpi/disk_20.png | Bin .../src/main/res/drawable-hdpi/disk_24.png | Bin .../src/main/res/drawable-hdpi/disk_36.png | Bin .../src/main/res/drawable-hdpi/disk_48.png | Bin .../main/res/drawable-hdpi/download_18.png | Bin .../main/res/drawable-hdpi/download_20.png | Bin .../main/res/drawable-hdpi/download_24.png | Bin .../main/res/drawable-hdpi/download_36.png | Bin .../main/res/drawable-hdpi/download_48.png | Bin .../src/main/res/drawable-hdpi/exit_18.png | Bin .../src/main/res/drawable-hdpi/exit_20.png | Bin .../src/main/res/drawable-hdpi/exit_24.png | Bin .../src/main/res/drawable-hdpi/exit_36.png | Bin .../src/main/res/drawable-hdpi/exit_48.png | Bin .../src/main/res/drawable-hdpi/github_18.png | Bin .../src/main/res/drawable-hdpi/github_20.png | Bin .../src/main/res/drawable-hdpi/github_24.png | Bin .../src/main/res/drawable-hdpi/github_36.png | Bin .../src/main/res/drawable-hdpi/github_48.png | Bin .../src/main/res/drawable-hdpi/globe_18.png | Bin .../src/main/res/drawable-hdpi/globe_20.png | Bin .../src/main/res/drawable-hdpi/globe_24.png | Bin .../src/main/res/drawable-hdpi/globe_36.png | Bin .../src/main/res/drawable-hdpi/globe_48.png | Bin .../src/main/res/drawable-hdpi/home_18.png | Bin .../src/main/res/drawable-hdpi/home_20.png | Bin .../src/main/res/drawable-hdpi/home_24.png | Bin .../src/main/res/drawable-hdpi/home_36.png | Bin .../src/main/res/drawable-hdpi/home_48.png | Bin .../src/main/res/drawable-hdpi/inbox_18.png | Bin .../src/main/res/drawable-hdpi/inbox_20.png | Bin .../src/main/res/drawable-hdpi/inbox_24.png | Bin .../src/main/res/drawable-hdpi/inbox_36.png | Bin .../src/main/res/drawable-hdpi/inbox_48.png | Bin .../main/res/drawable-hdpi/interlining_18.png | Bin .../main/res/drawable-hdpi/interlining_20.png | Bin .../main/res/drawable-hdpi/interlining_24.png | Bin .../main/res/drawable-hdpi/interlining_36.png | Bin .../main/res/drawable-hdpi/interlining_48.png | Bin .../res/drawable-hdpi/interrogation_18.png | Bin .../res/drawable-hdpi/interrogation_18_.png | Bin .../res/drawable-hdpi/interrogation_20.png | Bin .../res/drawable-hdpi/interrogation_20_.png | Bin .../res/drawable-hdpi/interrogation_24.png | Bin .../res/drawable-hdpi/interrogation_24_.png | Bin .../res/drawable-hdpi/interrogation_36.png | Bin .../res/drawable-hdpi/interrogation_36_.png | Bin .../res/drawable-hdpi/interrogation_48.png | Bin .../res/drawable-hdpi/interrogation_48_.png | Bin .../src/main/res/drawable-hdpi/label_18.png | Bin .../src/main/res/drawable-hdpi/label_20.png | Bin .../src/main/res/drawable-hdpi/label_24.png | Bin .../src/main/res/drawable-hdpi/label_36.png | Bin .../src/main/res/drawable-hdpi/label_48.png | Bin .../main/res/drawable-hdpi/list_check_18.png | Bin .../main/res/drawable-hdpi/list_check_20.png | Bin .../main/res/drawable-hdpi/list_check_24.png | Bin .../main/res/drawable-hdpi/list_check_36.png | Bin .../main/res/drawable-hdpi/list_check_48.png | Bin .../main/res/drawable-hdpi/menu_burger_18.png | Bin .../main/res/drawable-hdpi/menu_burger_20.png | Bin .../main/res/drawable-hdpi/menu_burger_24.png | Bin .../main/res/drawable-hdpi/menu_burger_36.png | Bin .../main/res/drawable-hdpi/menu_burger_48.png | Bin .../main/res/drawable-hdpi/microphone_18.png | Bin .../main/res/drawable-hdpi/microphone_20.png | Bin .../main/res/drawable-hdpi/microphone_24.png | Bin .../main/res/drawable-hdpi/microphone_36.png | Bin .../main/res/drawable-hdpi/microphone_48.png | Bin .../src/main/res/drawable-hdpi/moon_18.png | Bin .../src/main/res/drawable-hdpi/moon_20.png | Bin .../src/main/res/drawable-hdpi/moon_24.png | Bin .../src/main/res/drawable-hdpi/moon_36.png | Bin .../src/main/res/drawable-hdpi/moon_48.png | Bin .../main/res/drawable-hdpi/no_label_18.png | Bin .../main/res/drawable-hdpi/no_label_20.png | Bin .../main/res/drawable-hdpi/no_label_24.png | Bin .../main/res/drawable-hdpi/no_label_36.png | Bin .../main/res/drawable-hdpi/no_label_48.png | Bin .../src/main/res/drawable-hdpi/opacity_18.png | Bin .../src/main/res/drawable-hdpi/opacity_20.png | Bin .../src/main/res/drawable-hdpi/opacity_24.png | Bin .../src/main/res/drawable-hdpi/opacity_36.png | Bin .../src/main/res/drawable-hdpi/opacity_48.png | Bin .../src/main/res/drawable-hdpi/pause_18.png | Bin .../src/main/res/drawable-hdpi/pause_20.png | Bin .../src/main/res/drawable-hdpi/pause_24.png | Bin .../src/main/res/drawable-hdpi/pause_36.png | Bin .../src/main/res/drawable-hdpi/pause_48.png | Bin .../src/main/res/drawable-hdpi/pencil_18.png | Bin .../src/main/res/drawable-hdpi/pencil_20.png | Bin .../src/main/res/drawable-hdpi/pencil_24.png | Bin .../src/main/res/drawable-hdpi/pencil_36.png | Bin .../src/main/res/drawable-hdpi/pencil_48.png | Bin .../src/main/res/drawable-hdpi/picture_18.png | Bin .../src/main/res/drawable-hdpi/picture_20.png | Bin .../src/main/res/drawable-hdpi/picture_24.png | Bin .../src/main/res/drawable-hdpi/picture_36.png | Bin .../src/main/res/drawable-hdpi/picture_48.png | Bin .../src/main/res/drawable-hdpi/play_18.png | Bin .../src/main/res/drawable-hdpi/play_20.png | Bin .../src/main/res/drawable-hdpi/play_24.png | Bin .../src/main/res/drawable-hdpi/play_36.png | Bin .../src/main/res/drawable-hdpi/play_48.png | Bin .../src/main/res/drawable-hdpi/plus_18.png | Bin .../src/main/res/drawable-hdpi/plus_20.png | Bin .../src/main/res/drawable-hdpi/plus_24.png | Bin .../src/main/res/drawable-hdpi/plus_36.png | Bin .../src/main/res/drawable-hdpi/plus_48.png | Bin .../main/res/drawable-hdpi/remove_user_18.png | Bin .../main/res/drawable-hdpi/remove_user_20.png | Bin .../main/res/drawable-hdpi/remove_user_24.png | Bin .../main/res/drawable-hdpi/remove_user_36.png | Bin .../main/res/drawable-hdpi/remove_user_48.png | Bin .../src/main/res/drawable-hdpi/reset_18.png | Bin .../src/main/res/drawable-hdpi/reset_20.png | Bin .../src/main/res/drawable-hdpi/reset_24.png | Bin .../src/main/res/drawable-hdpi/reset_36.png | Bin .../src/main/res/drawable-hdpi/reset_48.png | Bin .../main/res/drawable-hdpi/rotate_left_18.png | Bin .../main/res/drawable-hdpi/rotate_left_20.png | Bin .../main/res/drawable-hdpi/rotate_left_24.png | Bin .../main/res/drawable-hdpi/rotate_left_36.png | Bin .../main/res/drawable-hdpi/rotate_left_48.png | Bin .../main/res/drawable-hdpi/settings_18.png | Bin .../main/res/drawable-hdpi/settings_20.png | Bin .../main/res/drawable-hdpi/settings_24.png | Bin .../main/res/drawable-hdpi/settings_36.png | Bin .../main/res/drawable-hdpi/settings_48.png | Bin .../src/main/res/drawable-hdpi/share_18.png | Bin .../src/main/res/drawable-hdpi/share_20.png | Bin .../src/main/res/drawable-hdpi/share_24.png | Bin .../src/main/res/drawable-hdpi/share_36.png | Bin .../src/main/res/drawable-hdpi/share_48.png | Bin .../res/drawable-hdpi/sort_alpha_down_18.png | Bin .../res/drawable-hdpi/sort_alpha_down_20.png | Bin .../res/drawable-hdpi/sort_alpha_down_24.png | Bin .../res/drawable-hdpi/sort_alpha_down_36.png | Bin .../res/drawable-hdpi/sort_alpha_down_48.png | Bin .../main/res/drawable-hdpi/sort_alt_18.png | Bin .../main/res/drawable-hdpi/sort_alt_20.png | Bin .../main/res/drawable-hdpi/sort_alt_24.png | Bin .../main/res/drawable-hdpi/sort_alt_36.png | Bin .../main/res/drawable-hdpi/sort_alt_48.png | Bin .../drawable-hdpi/sort_amount_down_alt_18.png | Bin .../drawable-hdpi/sort_amount_down_alt_20.png | Bin .../drawable-hdpi/sort_amount_down_alt_24.png | Bin .../drawable-hdpi/sort_amount_down_alt_36.png | Bin .../drawable-hdpi/sort_amount_down_alt_48.png | Bin .../drawable-hdpi/sort_amount_up_alt_18.png | Bin .../drawable-hdpi/sort_amount_up_alt_20.png | Bin .../drawable-hdpi/sort_amount_up_alt_24.png | Bin .../drawable-hdpi/sort_amount_up_alt_36.png | Bin .../drawable-hdpi/sort_amount_up_alt_48.png | Bin .../drawable-hdpi/sort_numeric_down_18.png | Bin .../drawable-hdpi/sort_numeric_down_20.png | Bin .../drawable-hdpi/sort_numeric_down_24.png | Bin .../drawable-hdpi/sort_numeric_down_36.png | Bin .../drawable-hdpi/sort_numeric_down_48.png | Bin .../src/main/res/drawable-hdpi/stop_18.png | Bin .../src/main/res/drawable-hdpi/stop_20.png | Bin .../src/main/res/drawable-hdpi/stop_24.png | Bin .../src/main/res/drawable-hdpi/stop_36.png | Bin .../src/main/res/drawable-hdpi/stop_48.png | Bin .../src/main/res/drawable-hdpi/sun_18.png | Bin .../src/main/res/drawable-hdpi/sun_20.png | Bin .../src/main/res/drawable-hdpi/sun_24.png | Bin .../src/main/res/drawable-hdpi/sun_36.png | Bin .../src/main/res/drawable-hdpi/sun_48.png | Bin .../src/main/res/drawable-hdpi/tags_18.png | Bin .../src/main/res/drawable-hdpi/tags_20.png | Bin .../src/main/res/drawable-hdpi/tags_24.png | Bin .../src/main/res/drawable-hdpi/tags_36.png | Bin .../src/main/res/drawable-hdpi/tags_48.png | Bin .../src/main/res/drawable-hdpi/trash_18.png | Bin .../src/main/res/drawable-hdpi/trash_20.png | Bin .../src/main/res/drawable-hdpi/trash_24.png | Bin .../src/main/res/drawable-hdpi/trash_36.png | Bin .../src/main/res/drawable-hdpi/trash_48.png | Bin .../src/main/res/drawable-hdpi/user_18.png | Bin .../src/main/res/drawable-hdpi/user_20.png | Bin .../src/main/res/drawable-hdpi/user_24.png | Bin .../src/main/res/drawable-hdpi/user_36.png | Bin .../src/main/res/drawable-hdpi/user_48.png | Bin .../main/res/drawable-hdpi/user_add_18.png | Bin .../main/res/drawable-hdpi/user_add_20.png | Bin .../main/res/drawable-hdpi/user_add_24.png | Bin .../main/res/drawable-hdpi/user_add_36.png | Bin .../main/res/drawable-hdpi/user_add_48.png | Bin .../main/res/drawable-hdpi/void_circle_18.png | Bin .../main/res/drawable-hdpi/void_circle_20.png | Bin .../main/res/drawable-hdpi/void_circle_24.png | Bin .../main/res/drawable-hdpi/void_circle_36.png | Bin .../main/res/drawable-hdpi/void_circle_48.png | Bin .../main/res/drawable-hdpi/wifi_alt_18.png | Bin .../main/res/drawable-hdpi/wifi_alt_20.png | Bin .../main/res/drawable-hdpi/wifi_alt_24.png | Bin .../main/res/drawable-hdpi/wifi_alt_36.png | Bin .../main/res/drawable-hdpi/wifi_alt_48.png | Bin .../src/main/res/drawable-mdpi/add_18.png | Bin .../src/main/res/drawable-mdpi/add_20.png | Bin .../src/main/res/drawable-mdpi/add_24.png | Bin .../src/main/res/drawable-mdpi/add_36.png | Bin .../src/main/res/drawable-mdpi/add_48.png | Bin .../main/res/drawable-mdpi/angle_down_18.png | Bin .../main/res/drawable-mdpi/angle_down_20.png | Bin .../main/res/drawable-mdpi/angle_down_24.png | Bin .../main/res/drawable-mdpi/angle_down_36.png | Bin .../main/res/drawable-mdpi/angle_down_48.png | Bin .../res/drawable-mdpi/angle_small_down_18.png | Bin .../res/drawable-mdpi/angle_small_down_20.png | Bin .../res/drawable-mdpi/angle_small_down_24.png | Bin .../res/drawable-mdpi/angle_small_down_36.png | Bin .../res/drawable-mdpi/angle_small_down_48.png | Bin .../res/drawable-mdpi/angle_small_up_18.png | Bin .../res/drawable-mdpi/angle_small_up_20.png | Bin .../res/drawable-mdpi/angle_small_up_24.png | Bin .../res/drawable-mdpi/angle_small_up_36.png | Bin .../res/drawable-mdpi/angle_small_up_48.png | Bin .../main/res/drawable-mdpi/angle_up_18.png | Bin .../main/res/drawable-mdpi/angle_up_20.png | Bin .../main/res/drawable-mdpi/angle_up_24.png | Bin .../main/res/drawable-mdpi/angle_up_36.png | Bin .../main/res/drawable-mdpi/angle_up_48.png | Bin .../main/res/drawable-mdpi/apps_sort_18.png | Bin .../main/res/drawable-mdpi/apps_sort_20.png | Bin .../main/res/drawable-mdpi/apps_sort_24.png | Bin .../main/res/drawable-mdpi/apps_sort_36.png | Bin .../main/res/drawable-mdpi/apps_sort_48.png | Bin .../src/main/res/drawable-mdpi/bell_18.png | Bin .../src/main/res/drawable-mdpi/bell_20.png | Bin .../src/main/res/drawable-mdpi/bell_24.png | Bin .../src/main/res/drawable-mdpi/bell_36.png | Bin .../src/main/res/drawable-mdpi/bell_48.png | Bin .../main/res/drawable-mdpi/bell_ring_18.png | Bin .../main/res/drawable-mdpi/bell_ring_20.png | Bin .../main/res/drawable-mdpi/bell_ring_24.png | Bin .../main/res/drawable-mdpi/bell_ring_36.png | Bin .../main/res/drawable-mdpi/bell_ring_48.png | Bin .../src/main/res/drawable-mdpi/broom_18.png | Bin .../src/main/res/drawable-mdpi/broom_20.png | Bin .../src/main/res/drawable-mdpi/broom_24.png | Bin .../src/main/res/drawable-mdpi/broom_36.png | Bin .../src/main/res/drawable-mdpi/broom_48.png | Bin .../main/res/drawable-mdpi/calendar_18.png | Bin .../main/res/drawable-mdpi/calendar_20.png | Bin .../main/res/drawable-mdpi/calendar_24.png | Bin .../main/res/drawable-mdpi/calendar_36.png | Bin .../main/res/drawable-mdpi/calendar_48.png | Bin .../src/main/res/drawable-mdpi/camera_18.png | Bin .../src/main/res/drawable-mdpi/camera_20.png | Bin .../src/main/res/drawable-mdpi/camera_24.png | Bin .../src/main/res/drawable-mdpi/camera_36.png | Bin .../src/main/res/drawable-mdpi/camera_48.png | Bin .../src/main/res/drawable-mdpi/check_18.png | Bin .../src/main/res/drawable-mdpi/check_20.png | Bin .../src/main/res/drawable-mdpi/check_24.png | Bin .../src/main/res/drawable-mdpi/check_36.png | Bin .../src/main/res/drawable-mdpi/check_48.png | Bin .../main/res/drawable-mdpi/checkbox_18.png | Bin .../main/res/drawable-mdpi/checkbox_20.png | Bin .../main/res/drawable-mdpi/checkbox_24.png | Bin .../main/res/drawable-mdpi/checkbox_36.png | Bin .../main/res/drawable-mdpi/checkbox_48.png | Bin .../src/main/res/drawable-mdpi/circle_18.png | Bin .../src/main/res/drawable-mdpi/circle_20.png | Bin .../src/main/res/drawable-mdpi/circle_24.png | Bin .../src/main/res/drawable-mdpi/circle_36.png | Bin .../src/main/res/drawable-mdpi/circle_48.png | Bin .../src/main/res/drawable-mdpi/clock_18.png | Bin .../src/main/res/drawable-mdpi/clock_20.png | Bin .../src/main/res/drawable-mdpi/clock_24.png | Bin .../src/main/res/drawable-mdpi/clock_36.png | Bin .../src/main/res/drawable-mdpi/clock_48.png | Bin .../src/main/res/drawable-mdpi/cloud_18.png | Bin .../src/main/res/drawable-mdpi/cloud_20.png | Bin .../src/main/res/drawable-mdpi/cloud_24.png | Bin .../src/main/res/drawable-mdpi/cloud_36.png | Bin .../src/main/res/drawable-mdpi/cloud_48.png | Bin .../res/drawable-mdpi/cloud_disabled_18.png | Bin .../res/drawable-mdpi/cloud_disabled_20.png | Bin .../res/drawable-mdpi/cloud_disabled_24.png | Bin .../res/drawable-mdpi/cloud_disabled_36.png | Bin .../res/drawable-mdpi/cloud_disabled_48.png | Bin .../res/drawable-mdpi/cloud_download_18.png | Bin .../res/drawable-mdpi/cloud_download_20.png | Bin .../res/drawable-mdpi/cloud_download_24.png | Bin .../res/drawable-mdpi/cloud_download_36.png | Bin .../res/drawable-mdpi/cloud_download_48.png | Bin .../res/drawable-mdpi/cloud_upload_18.png | Bin .../res/drawable-mdpi/cloud_upload_20.png | Bin .../res/drawable-mdpi/cloud_upload_24.png | Bin .../res/drawable-mdpi/cloud_upload_36.png | Bin .../res/drawable-mdpi/cloud_upload_48.png | Bin .../drawable-mdpi/comment_exclamation_18.png | Bin .../drawable-mdpi/comment_exclamation_20.png | Bin .../drawable-mdpi/comment_exclamation_24_.png | Bin .../drawable-mdpi/comment_exclamation_36.png | Bin .../drawable-mdpi/comment_exclamation_48.png | Bin .../src/main/res/drawable-mdpi/copy_18.png | Bin .../src/main/res/drawable-mdpi/copy_20.png | Bin .../src/main/res/drawable-mdpi/copy_24.png | Bin .../src/main/res/drawable-mdpi/copy_36.png | Bin .../src/main/res/drawable-mdpi/copy_48.png | Bin .../src/main/res/drawable-mdpi/cross_18.png | Bin .../src/main/res/drawable-mdpi/cross_20.png | Bin .../src/main/res/drawable-mdpi/cross_24.png | Bin .../src/main/res/drawable-mdpi/cross_36.png | Bin .../src/main/res/drawable-mdpi/cross_48.png | Bin .../res/drawable-mdpi/cross_circle_18.png | Bin .../res/drawable-mdpi/cross_circle_20.png | Bin .../res/drawable-mdpi/cross_circle_24.png | Bin .../res/drawable-mdpi/cross_circle_36.png | Bin .../res/drawable-mdpi/cross_circle_48.png | Bin .../main/res/drawable-mdpi/delete_user_18.png | Bin .../main/res/drawable-mdpi/delete_user_20.png | Bin .../main/res/drawable-mdpi/delete_user_24.png | Bin .../main/res/drawable-mdpi/delete_user_36.png | Bin .../main/res/drawable-mdpi/delete_user_48.png | Bin .../src/main/res/drawable-mdpi/disk_18.png | Bin .../src/main/res/drawable-mdpi/disk_20.png | Bin .../src/main/res/drawable-mdpi/disk_24.png | Bin .../src/main/res/drawable-mdpi/disk_36.png | Bin .../src/main/res/drawable-mdpi/disk_48.png | Bin .../main/res/drawable-mdpi/download_18.png | Bin .../main/res/drawable-mdpi/download_20.png | Bin .../main/res/drawable-mdpi/download_24.png | Bin .../main/res/drawable-mdpi/download_36.png | Bin .../main/res/drawable-mdpi/download_48.png | Bin .../src/main/res/drawable-mdpi/exit_18.png | Bin .../src/main/res/drawable-mdpi/exit_20.png | Bin .../src/main/res/drawable-mdpi/exit_24.png | Bin .../src/main/res/drawable-mdpi/exit_36.png | Bin .../src/main/res/drawable-mdpi/exit_48.png | Bin .../src/main/res/drawable-mdpi/github_18.png | Bin .../src/main/res/drawable-mdpi/github_20.png | Bin .../src/main/res/drawable-mdpi/github_24.png | Bin .../src/main/res/drawable-mdpi/github_36.png | Bin .../src/main/res/drawable-mdpi/github_48.png | Bin .../src/main/res/drawable-mdpi/globe_18.png | Bin .../src/main/res/drawable-mdpi/globe_20.png | Bin .../src/main/res/drawable-mdpi/globe_24.png | Bin .../src/main/res/drawable-mdpi/globe_36.png | Bin .../src/main/res/drawable-mdpi/globe_48.png | Bin .../src/main/res/drawable-mdpi/home_18.png | Bin .../src/main/res/drawable-mdpi/home_20.png | Bin .../src/main/res/drawable-mdpi/home_24.png | Bin .../src/main/res/drawable-mdpi/home_36.png | Bin .../src/main/res/drawable-mdpi/home_48.png | Bin .../src/main/res/drawable-mdpi/inbox_18.png | Bin .../src/main/res/drawable-mdpi/inbox_20.png | Bin .../src/main/res/drawable-mdpi/inbox_24.png | Bin .../src/main/res/drawable-mdpi/inbox_36.png | Bin .../src/main/res/drawable-mdpi/inbox_48.png | Bin .../main/res/drawable-mdpi/interlining_18.png | Bin .../main/res/drawable-mdpi/interlining_20.png | Bin .../main/res/drawable-mdpi/interlining_24.png | Bin .../main/res/drawable-mdpi/interlining_36.png | Bin .../main/res/drawable-mdpi/interlining_48.png | Bin .../res/drawable-mdpi/interrogation_18.png | Bin .../res/drawable-mdpi/interrogation_18_.png | Bin .../res/drawable-mdpi/interrogation_20.png | Bin .../res/drawable-mdpi/interrogation_20_.png | Bin .../res/drawable-mdpi/interrogation_24.png | Bin .../res/drawable-mdpi/interrogation_24_.png | Bin .../res/drawable-mdpi/interrogation_36.png | Bin .../res/drawable-mdpi/interrogation_36_.png | Bin .../res/drawable-mdpi/interrogation_48.png | Bin .../res/drawable-mdpi/interrogation_48_.png | Bin .../src/main/res/drawable-mdpi/label_18.png | Bin .../src/main/res/drawable-mdpi/label_20.png | Bin .../src/main/res/drawable-mdpi/label_24.png | Bin .../src/main/res/drawable-mdpi/label_36.png | Bin .../src/main/res/drawable-mdpi/label_48.png | Bin .../main/res/drawable-mdpi/list_check_18.png | Bin .../main/res/drawable-mdpi/list_check_20.png | Bin .../main/res/drawable-mdpi/list_check_24.png | Bin .../main/res/drawable-mdpi/list_check_36.png | Bin .../main/res/drawable-mdpi/list_check_48.png | Bin .../main/res/drawable-mdpi/menu_burger_18.png | Bin .../main/res/drawable-mdpi/menu_burger_20.png | Bin .../main/res/drawable-mdpi/menu_burger_24.png | Bin .../main/res/drawable-mdpi/menu_burger_36.png | Bin .../main/res/drawable-mdpi/menu_burger_48.png | Bin .../main/res/drawable-mdpi/microphone_18.png | Bin .../main/res/drawable-mdpi/microphone_20.png | Bin .../main/res/drawable-mdpi/microphone_24.png | Bin .../main/res/drawable-mdpi/microphone_36.png | Bin .../main/res/drawable-mdpi/microphone_48.png | Bin .../src/main/res/drawable-mdpi/moon_18.png | Bin .../src/main/res/drawable-mdpi/moon_20.png | Bin .../src/main/res/drawable-mdpi/moon_24.png | Bin .../src/main/res/drawable-mdpi/moon_36.png | Bin .../src/main/res/drawable-mdpi/moon_48.png | Bin .../main/res/drawable-mdpi/no_label_18.png | Bin .../main/res/drawable-mdpi/no_label_20.png | Bin .../main/res/drawable-mdpi/no_label_24.png | Bin .../main/res/drawable-mdpi/no_label_36.png | Bin .../main/res/drawable-mdpi/no_label_48.png | Bin .../src/main/res/drawable-mdpi/opacity_18.png | Bin .../src/main/res/drawable-mdpi/opacity_20.png | Bin .../src/main/res/drawable-mdpi/opacity_24.png | Bin .../src/main/res/drawable-mdpi/opacity_36.png | Bin .../src/main/res/drawable-mdpi/opacity_48.png | Bin .../src/main/res/drawable-mdpi/pause_18.png | Bin .../src/main/res/drawable-mdpi/pause_20.png | Bin .../src/main/res/drawable-mdpi/pause_24.png | Bin .../src/main/res/drawable-mdpi/pause_36.png | Bin .../src/main/res/drawable-mdpi/pause_48.png | Bin .../src/main/res/drawable-mdpi/picture_18.png | Bin .../src/main/res/drawable-mdpi/picture_20.png | Bin .../src/main/res/drawable-mdpi/picture_24.png | Bin .../src/main/res/drawable-mdpi/picture_36.png | Bin .../src/main/res/drawable-mdpi/picture_48.png | Bin .../src/main/res/drawable-mdpi/play_18.png | Bin .../src/main/res/drawable-mdpi/play_20.png | Bin .../src/main/res/drawable-mdpi/play_24.png | Bin .../src/main/res/drawable-mdpi/play_36.png | Bin .../src/main/res/drawable-mdpi/play_48.png | Bin .../src/main/res/drawable-mdpi/plus_18.png | Bin .../src/main/res/drawable-mdpi/plus_20.png | Bin .../src/main/res/drawable-mdpi/plus_24.png | Bin .../src/main/res/drawable-mdpi/plus_36.png | Bin .../src/main/res/drawable-mdpi/plus_48.png | Bin .../main/res/drawable-mdpi/remove_user_18.png | Bin .../main/res/drawable-mdpi/remove_user_20.png | Bin .../main/res/drawable-mdpi/remove_user_24.png | Bin .../main/res/drawable-mdpi/remove_user_36.png | Bin .../main/res/drawable-mdpi/remove_user_48.png | Bin .../src/main/res/drawable-mdpi/reset_18.png | Bin .../src/main/res/drawable-mdpi/reset_20.png | Bin .../src/main/res/drawable-mdpi/reset_24.png | Bin .../src/main/res/drawable-mdpi/reset_36.png | Bin .../src/main/res/drawable-mdpi/reset_48.png | Bin .../main/res/drawable-mdpi/rotate_left_18.png | Bin .../main/res/drawable-mdpi/rotate_left_20.png | Bin .../main/res/drawable-mdpi/rotate_left_24.png | Bin .../main/res/drawable-mdpi/rotate_left_36.png | Bin .../main/res/drawable-mdpi/rotate_left_48.png | Bin .../main/res/drawable-mdpi/settings_18.png | Bin .../main/res/drawable-mdpi/settings_20.png | Bin .../main/res/drawable-mdpi/settings_24.png | Bin .../main/res/drawable-mdpi/settings_36.png | Bin .../main/res/drawable-mdpi/settings_48.png | Bin .../src/main/res/drawable-mdpi/share_18.png | Bin .../src/main/res/drawable-mdpi/share_20.png | Bin .../src/main/res/drawable-mdpi/share_24.png | Bin .../src/main/res/drawable-mdpi/share_36.png | Bin .../src/main/res/drawable-mdpi/share_48.png | Bin .../res/drawable-mdpi/sort_alpha_down_18.png | Bin .../res/drawable-mdpi/sort_alpha_down_20.png | Bin .../res/drawable-mdpi/sort_alpha_down_24.png | Bin .../res/drawable-mdpi/sort_alpha_down_36.png | Bin .../res/drawable-mdpi/sort_alpha_down_48.png | Bin .../main/res/drawable-mdpi/sort_alt_18.png | Bin .../main/res/drawable-mdpi/sort_alt_20.png | Bin .../main/res/drawable-mdpi/sort_alt_24.png | Bin .../main/res/drawable-mdpi/sort_alt_36.png | Bin .../main/res/drawable-mdpi/sort_alt_48.png | Bin .../drawable-mdpi/sort_amount_down_alt_18.png | Bin .../drawable-mdpi/sort_amount_down_alt_20.png | Bin .../drawable-mdpi/sort_amount_down_alt_24.png | Bin .../drawable-mdpi/sort_amount_down_alt_36.png | Bin .../drawable-mdpi/sort_amount_down_alt_48.png | Bin .../drawable-mdpi/sort_amount_up_alt_18.png | Bin .../drawable-mdpi/sort_amount_up_alt_20.png | Bin .../drawable-mdpi/sort_amount_up_alt_24.png | Bin .../drawable-mdpi/sort_amount_up_alt_36.png | Bin .../drawable-mdpi/sort_amount_up_alt_48.png | Bin .../drawable-mdpi/sort_numeric_down_18.png | Bin .../drawable-mdpi/sort_numeric_down_20.png | Bin .../drawable-mdpi/sort_numeric_down_24.png | Bin .../drawable-mdpi/sort_numeric_down_36.png | Bin .../drawable-mdpi/sort_numeric_down_48.png | Bin .../src/main/res/drawable-mdpi/stop_18.png | Bin .../src/main/res/drawable-mdpi/stop_20.png | Bin .../src/main/res/drawable-mdpi/stop_24.png | Bin .../src/main/res/drawable-mdpi/stop_36.png | Bin .../src/main/res/drawable-mdpi/stop_48.png | Bin .../src/main/res/drawable-mdpi/sun_18.png | Bin .../src/main/res/drawable-mdpi/sun_20.png | Bin .../src/main/res/drawable-mdpi/sun_24.png | Bin .../src/main/res/drawable-mdpi/sun_36.png | Bin .../src/main/res/drawable-mdpi/sun_48.png | Bin .../src/main/res/drawable-mdpi/tags_18.png | Bin .../src/main/res/drawable-mdpi/tags_20.png | Bin .../src/main/res/drawable-mdpi/tags_24.png | Bin .../src/main/res/drawable-mdpi/tags_36.png | Bin .../src/main/res/drawable-mdpi/tags_48.png | Bin .../src/main/res/drawable-mdpi/trash_18.png | Bin .../src/main/res/drawable-mdpi/trash_20.png | Bin .../src/main/res/drawable-mdpi/trash_24.png | Bin .../src/main/res/drawable-mdpi/trash_36.png | Bin .../src/main/res/drawable-mdpi/trash_48.png | Bin .../src/main/res/drawable-mdpi/user_18.png | Bin .../src/main/res/drawable-mdpi/user_20.png | Bin .../src/main/res/drawable-mdpi/user_24.png | Bin .../src/main/res/drawable-mdpi/user_36.png | Bin .../src/main/res/drawable-mdpi/user_48.png | Bin .../main/res/drawable-mdpi/user_add_18.png | Bin .../main/res/drawable-mdpi/user_add_20.png | Bin .../main/res/drawable-mdpi/user_add_24.png | Bin .../main/res/drawable-mdpi/user_add_36.png | Bin .../main/res/drawable-mdpi/user_add_48.png | Bin .../main/res/drawable-mdpi/void_circle_18.png | Bin .../main/res/drawable-mdpi/void_circle_20.png | Bin .../main/res/drawable-mdpi/void_circle_24.png | Bin .../main/res/drawable-mdpi/void_circle_36.png | Bin .../main/res/drawable-mdpi/void_circle_48.png | Bin .../main/res/drawable-mdpi/wifi_alt_18.png | Bin .../main/res/drawable-mdpi/wifi_alt_20.png | Bin .../main/res/drawable-mdpi/wifi_alt_24.png | Bin .../main/res/drawable-mdpi/wifi_alt_36.png | Bin .../main/res/drawable-mdpi/wifi_alt_48.png | Bin .../src/main/res/drawable-xhdpi/add_18.png | Bin .../src/main/res/drawable-xhdpi/add_20.png | Bin .../src/main/res/drawable-xhdpi/add_24.png | Bin .../src/main/res/drawable-xhdpi/add_36.png | Bin .../src/main/res/drawable-xhdpi/add_48.png | Bin .../main/res/drawable-xhdpi/angle_down_18.png | Bin .../main/res/drawable-xhdpi/angle_down_20.png | Bin .../main/res/drawable-xhdpi/angle_down_24.png | Bin .../main/res/drawable-xhdpi/angle_down_36.png | Bin .../main/res/drawable-xhdpi/angle_down_48.png | Bin .../drawable-xhdpi/angle_small_down_18.png | Bin .../drawable-xhdpi/angle_small_down_20.png | Bin .../drawable-xhdpi/angle_small_down_24.png | Bin .../drawable-xhdpi/angle_small_down_36.png | Bin .../drawable-xhdpi/angle_small_down_48.png | Bin .../res/drawable-xhdpi/angle_small_up_18.png | Bin .../res/drawable-xhdpi/angle_small_up_20.png | Bin .../res/drawable-xhdpi/angle_small_up_24.png | Bin .../res/drawable-xhdpi/angle_small_up_36.png | Bin .../res/drawable-xhdpi/angle_small_up_48.png | Bin .../main/res/drawable-xhdpi/angle_up_18.png | Bin .../main/res/drawable-xhdpi/angle_up_20.png | Bin .../main/res/drawable-xhdpi/angle_up_24.png | Bin .../main/res/drawable-xhdpi/angle_up_36.png | Bin .../main/res/drawable-xhdpi/angle_up_48.png | Bin .../main/res/drawable-xhdpi/apps_sort_18.png | Bin .../main/res/drawable-xhdpi/apps_sort_20.png | Bin .../main/res/drawable-xhdpi/apps_sort_24.png | Bin .../main/res/drawable-xhdpi/apps_sort_36.png | Bin .../main/res/drawable-xhdpi/apps_sort_48.png | Bin .../src/main/res/drawable-xhdpi/bell_18.png | Bin .../src/main/res/drawable-xhdpi/bell_20.png | Bin .../src/main/res/drawable-xhdpi/bell_24.png | Bin .../src/main/res/drawable-xhdpi/bell_36.png | Bin .../src/main/res/drawable-xhdpi/bell_48.png | Bin .../main/res/drawable-xhdpi/bell_ring_18.png | Bin .../main/res/drawable-xhdpi/bell_ring_20.png | Bin .../main/res/drawable-xhdpi/bell_ring_24.png | Bin .../main/res/drawable-xhdpi/bell_ring_36.png | Bin .../main/res/drawable-xhdpi/bell_ring_48.png | Bin .../src/main/res/drawable-xhdpi/broom_18.png | Bin .../src/main/res/drawable-xhdpi/broom_20.png | Bin .../src/main/res/drawable-xhdpi/broom_24.png | Bin .../src/main/res/drawable-xhdpi/broom_36.png | Bin .../src/main/res/drawable-xhdpi/broom_48.png | Bin .../main/res/drawable-xhdpi/calendar_18.png | Bin .../main/res/drawable-xhdpi/calendar_20.png | Bin .../main/res/drawable-xhdpi/calendar_24.png | Bin .../main/res/drawable-xhdpi/calendar_36.png | Bin .../main/res/drawable-xhdpi/calendar_48.png | Bin .../src/main/res/drawable-xhdpi/camera_18.png | Bin .../src/main/res/drawable-xhdpi/camera_20.png | Bin .../src/main/res/drawable-xhdpi/camera_24.png | Bin .../src/main/res/drawable-xhdpi/camera_36.png | Bin .../src/main/res/drawable-xhdpi/camera_48.png | Bin .../src/main/res/drawable-xhdpi/check_18.png | Bin .../src/main/res/drawable-xhdpi/check_20.png | Bin .../src/main/res/drawable-xhdpi/check_24.png | Bin .../src/main/res/drawable-xhdpi/check_36.png | Bin .../src/main/res/drawable-xhdpi/check_48.png | Bin .../main/res/drawable-xhdpi/checkbox_18.png | Bin .../main/res/drawable-xhdpi/checkbox_20.png | Bin .../main/res/drawable-xhdpi/checkbox_24.png | Bin .../main/res/drawable-xhdpi/checkbox_36.png | Bin .../main/res/drawable-xhdpi/checkbox_48.png | Bin .../src/main/res/drawable-xhdpi/circle_18.png | Bin .../src/main/res/drawable-xhdpi/circle_20.png | Bin .../src/main/res/drawable-xhdpi/circle_24.png | Bin .../src/main/res/drawable-xhdpi/circle_36.png | Bin .../src/main/res/drawable-xhdpi/circle_48.png | Bin .../src/main/res/drawable-xhdpi/clock_18.png | Bin .../src/main/res/drawable-xhdpi/clock_20.png | Bin .../src/main/res/drawable-xhdpi/clock_24.png | Bin .../src/main/res/drawable-xhdpi/clock_36.png | Bin .../src/main/res/drawable-xhdpi/clock_48.png | Bin .../src/main/res/drawable-xhdpi/cloud_18.png | Bin .../src/main/res/drawable-xhdpi/cloud_20.png | Bin .../src/main/res/drawable-xhdpi/cloud_24.png | Bin .../src/main/res/drawable-xhdpi/cloud_36.png | Bin .../src/main/res/drawable-xhdpi/cloud_48.png | Bin .../res/drawable-xhdpi/cloud_disabled_18.png | Bin .../res/drawable-xhdpi/cloud_disabled_20.png | Bin .../res/drawable-xhdpi/cloud_disabled_24.png | Bin .../res/drawable-xhdpi/cloud_disabled_36.png | Bin .../res/drawable-xhdpi/cloud_disabled_48.png | Bin .../res/drawable-xhdpi/cloud_download_18.png | Bin .../res/drawable-xhdpi/cloud_download_20.png | Bin .../res/drawable-xhdpi/cloud_download_24.png | Bin .../res/drawable-xhdpi/cloud_download_36.png | Bin .../res/drawable-xhdpi/cloud_download_48.png | Bin .../res/drawable-xhdpi/cloud_upload_18.png | Bin .../res/drawable-xhdpi/cloud_upload_20.png | Bin .../res/drawable-xhdpi/cloud_upload_24.png | Bin .../res/drawable-xhdpi/cloud_upload_36.png | Bin .../res/drawable-xhdpi/cloud_upload_48.png | Bin .../drawable-xhdpi/comment_exclamation_18.png | Bin .../drawable-xhdpi/comment_exclamation_20.png | Bin .../comment_exclamation_24_.png | Bin .../drawable-xhdpi/comment_exclamation_36.png | Bin .../drawable-xhdpi/comment_exclamation_48.png | Bin .../src/main/res/drawable-xhdpi/copy_18.png | Bin .../src/main/res/drawable-xhdpi/copy_20.png | Bin .../src/main/res/drawable-xhdpi/copy_24.png | Bin .../src/main/res/drawable-xhdpi/copy_36.png | Bin .../src/main/res/drawable-xhdpi/copy_48.png | Bin .../src/main/res/drawable-xhdpi/cross_18.png | Bin .../src/main/res/drawable-xhdpi/cross_20.png | Bin .../src/main/res/drawable-xhdpi/cross_24.png | Bin .../src/main/res/drawable-xhdpi/cross_36.png | Bin .../src/main/res/drawable-xhdpi/cross_48.png | Bin .../res/drawable-xhdpi/cross_circle_18.png | Bin .../res/drawable-xhdpi/cross_circle_20.png | Bin .../res/drawable-xhdpi/cross_circle_24.png | Bin .../res/drawable-xhdpi/cross_circle_36.png | Bin .../res/drawable-xhdpi/cross_circle_48.png | Bin .../res/drawable-xhdpi/delete_user_18.png | Bin .../res/drawable-xhdpi/delete_user_20.png | Bin .../res/drawable-xhdpi/delete_user_24.png | Bin .../res/drawable-xhdpi/delete_user_36.png | Bin .../res/drawable-xhdpi/delete_user_48.png | Bin .../src/main/res/drawable-xhdpi/disk_18.png | Bin .../src/main/res/drawable-xhdpi/disk_20.png | Bin .../src/main/res/drawable-xhdpi/disk_24.png | Bin .../src/main/res/drawable-xhdpi/disk_36.png | Bin .../src/main/res/drawable-xhdpi/disk_48.png | Bin .../main/res/drawable-xhdpi/download_18.png | Bin .../main/res/drawable-xhdpi/download_20.png | Bin .../main/res/drawable-xhdpi/download_24.png | Bin .../main/res/drawable-xhdpi/download_36.png | Bin .../main/res/drawable-xhdpi/download_48.png | Bin .../src/main/res/drawable-xhdpi/exit_18.png | Bin .../src/main/res/drawable-xhdpi/exit_20.png | Bin .../src/main/res/drawable-xhdpi/exit_24.png | Bin .../src/main/res/drawable-xhdpi/exit_36.png | Bin .../src/main/res/drawable-xhdpi/exit_48.png | Bin .../src/main/res/drawable-xhdpi/github_18.png | Bin .../src/main/res/drawable-xhdpi/github_20.png | Bin .../src/main/res/drawable-xhdpi/github_24.png | Bin .../src/main/res/drawable-xhdpi/github_36.png | Bin .../src/main/res/drawable-xhdpi/github_48.png | Bin .../src/main/res/drawable-xhdpi/globe_18.png | Bin .../src/main/res/drawable-xhdpi/globe_20.png | Bin .../src/main/res/drawable-xhdpi/globe_24.png | Bin .../src/main/res/drawable-xhdpi/globe_36.png | Bin .../src/main/res/drawable-xhdpi/globe_48.png | Bin .../src/main/res/drawable-xhdpi/home_18.png | Bin .../src/main/res/drawable-xhdpi/home_20.png | Bin .../src/main/res/drawable-xhdpi/home_24.png | Bin .../src/main/res/drawable-xhdpi/home_36.png | Bin .../src/main/res/drawable-xhdpi/home_48.png | Bin .../src/main/res/drawable-xhdpi/inbox_18.png | Bin .../src/main/res/drawable-xhdpi/inbox_20.png | Bin .../src/main/res/drawable-xhdpi/inbox_24.png | Bin .../src/main/res/drawable-xhdpi/inbox_36.png | Bin .../src/main/res/drawable-xhdpi/inbox_48.png | Bin .../res/drawable-xhdpi/interlining_18.png | Bin .../res/drawable-xhdpi/interlining_20.png | Bin .../res/drawable-xhdpi/interlining_24.png | Bin .../res/drawable-xhdpi/interlining_36.png | Bin .../res/drawable-xhdpi/interlining_48.png | Bin .../res/drawable-xhdpi/interrogation_18.png | Bin .../res/drawable-xhdpi/interrogation_18_.png | Bin .../res/drawable-xhdpi/interrogation_20.png | Bin .../res/drawable-xhdpi/interrogation_20_.png | Bin .../res/drawable-xhdpi/interrogation_24.png | Bin .../res/drawable-xhdpi/interrogation_24_.png | Bin .../res/drawable-xhdpi/interrogation_36.png | Bin .../res/drawable-xhdpi/interrogation_36_.png | Bin .../res/drawable-xhdpi/interrogation_48.png | Bin .../res/drawable-xhdpi/interrogation_48_.png | Bin .../src/main/res/drawable-xhdpi/label_18.png | Bin .../src/main/res/drawable-xhdpi/label_20.png | Bin .../src/main/res/drawable-xhdpi/label_24.png | Bin .../src/main/res/drawable-xhdpi/label_36.png | Bin .../src/main/res/drawable-xhdpi/label_48.png | Bin .../main/res/drawable-xhdpi/list_check_18.png | Bin .../main/res/drawable-xhdpi/list_check_20.png | Bin .../main/res/drawable-xhdpi/list_check_24.png | Bin .../main/res/drawable-xhdpi/list_check_36.png | Bin .../main/res/drawable-xhdpi/list_check_48.png | Bin .../res/drawable-xhdpi/menu_burger_18.png | Bin .../res/drawable-xhdpi/menu_burger_20.png | Bin .../res/drawable-xhdpi/menu_burger_24.png | Bin .../res/drawable-xhdpi/menu_burger_36.png | Bin .../res/drawable-xhdpi/menu_burger_48.png | Bin .../main/res/drawable-xhdpi/microphone_18.png | Bin .../main/res/drawable-xhdpi/microphone_20.png | Bin .../main/res/drawable-xhdpi/microphone_24.png | Bin .../main/res/drawable-xhdpi/microphone_36.png | Bin .../main/res/drawable-xhdpi/microphone_48.png | Bin .../src/main/res/drawable-xhdpi/moon_18.png | Bin .../src/main/res/drawable-xhdpi/moon_20.png | Bin .../src/main/res/drawable-xhdpi/moon_24.png | Bin .../src/main/res/drawable-xhdpi/moon_36.png | Bin .../src/main/res/drawable-xhdpi/moon_48.png | Bin .../main/res/drawable-xhdpi/no_label_18.png | Bin .../main/res/drawable-xhdpi/no_label_20.png | Bin .../main/res/drawable-xhdpi/no_label_24.png | Bin .../main/res/drawable-xhdpi/no_label_36.png | Bin .../main/res/drawable-xhdpi/no_label_48.png | Bin .../main/res/drawable-xhdpi/opacity_18.png | Bin .../main/res/drawable-xhdpi/opacity_20.png | Bin .../main/res/drawable-xhdpi/opacity_24.png | Bin .../main/res/drawable-xhdpi/opacity_36.png | Bin .../main/res/drawable-xhdpi/opacity_48.png | Bin .../src/main/res/drawable-xhdpi/pause_18.png | Bin .../src/main/res/drawable-xhdpi/pause_20.png | Bin .../src/main/res/drawable-xhdpi/pause_24.png | Bin .../src/main/res/drawable-xhdpi/pause_36.png | Bin .../src/main/res/drawable-xhdpi/pause_48.png | Bin .../main/res/drawable-xhdpi/picture_18.png | Bin .../main/res/drawable-xhdpi/picture_20.png | Bin .../main/res/drawable-xhdpi/picture_24.png | Bin .../main/res/drawable-xhdpi/picture_36.png | Bin .../main/res/drawable-xhdpi/picture_48.png | Bin .../src/main/res/drawable-xhdpi/play_18.png | Bin .../src/main/res/drawable-xhdpi/play_20.png | Bin .../src/main/res/drawable-xhdpi/play_24.png | Bin .../src/main/res/drawable-xhdpi/play_36.png | Bin .../src/main/res/drawable-xhdpi/play_48.png | Bin .../src/main/res/drawable-xhdpi/plus_18.png | Bin .../src/main/res/drawable-xhdpi/plus_20.png | Bin .../src/main/res/drawable-xhdpi/plus_24.png | Bin .../src/main/res/drawable-xhdpi/plus_36.png | Bin .../src/main/res/drawable-xhdpi/plus_48.png | Bin .../res/drawable-xhdpi/remove_user_18.png | Bin .../res/drawable-xhdpi/remove_user_20.png | Bin .../res/drawable-xhdpi/remove_user_24.png | Bin .../res/drawable-xhdpi/remove_user_36.png | Bin .../res/drawable-xhdpi/remove_user_48.png | Bin .../src/main/res/drawable-xhdpi/reset_18.png | Bin .../src/main/res/drawable-xhdpi/reset_20.png | Bin .../src/main/res/drawable-xhdpi/reset_24.png | Bin .../src/main/res/drawable-xhdpi/reset_36.png | Bin .../src/main/res/drawable-xhdpi/reset_48.png | Bin .../res/drawable-xhdpi/rotate_left_18.png | Bin .../res/drawable-xhdpi/rotate_left_20.png | Bin .../res/drawable-xhdpi/rotate_left_24.png | Bin .../res/drawable-xhdpi/rotate_left_36.png | Bin .../res/drawable-xhdpi/rotate_left_48.png | Bin .../main/res/drawable-xhdpi/settings_18.png | Bin .../main/res/drawable-xhdpi/settings_20.png | Bin .../main/res/drawable-xhdpi/settings_24.png | Bin .../main/res/drawable-xhdpi/settings_36.png | Bin .../main/res/drawable-xhdpi/settings_48.png | Bin .../src/main/res/drawable-xhdpi/share_18.png | Bin .../src/main/res/drawable-xhdpi/share_20.png | Bin .../src/main/res/drawable-xhdpi/share_24.png | Bin .../src/main/res/drawable-xhdpi/share_36.png | Bin .../src/main/res/drawable-xhdpi/share_48.png | Bin .../res/drawable-xhdpi/sort_alpha_down_18.png | Bin .../res/drawable-xhdpi/sort_alpha_down_20.png | Bin .../res/drawable-xhdpi/sort_alpha_down_24.png | Bin .../res/drawable-xhdpi/sort_alpha_down_36.png | Bin .../res/drawable-xhdpi/sort_alpha_down_48.png | Bin .../main/res/drawable-xhdpi/sort_alt_18.png | Bin .../main/res/drawable-xhdpi/sort_alt_20.png | Bin .../main/res/drawable-xhdpi/sort_alt_24.png | Bin .../main/res/drawable-xhdpi/sort_alt_36.png | Bin .../main/res/drawable-xhdpi/sort_alt_48.png | Bin .../sort_amount_down_alt_18.png | Bin .../sort_amount_down_alt_20.png | Bin .../sort_amount_down_alt_24.png | Bin .../sort_amount_down_alt_36.png | Bin .../sort_amount_down_alt_48.png | Bin .../drawable-xhdpi/sort_amount_up_alt_18.png | Bin .../drawable-xhdpi/sort_amount_up_alt_20.png | Bin .../drawable-xhdpi/sort_amount_up_alt_24.png | Bin .../drawable-xhdpi/sort_amount_up_alt_36.png | Bin .../drawable-xhdpi/sort_amount_up_alt_48.png | Bin .../drawable-xhdpi/sort_numeric_down_18.png | Bin .../drawable-xhdpi/sort_numeric_down_20.png | Bin .../drawable-xhdpi/sort_numeric_down_24.png | Bin .../drawable-xhdpi/sort_numeric_down_36.png | Bin .../drawable-xhdpi/sort_numeric_down_48.png | Bin .../src/main/res/drawable-xhdpi/stop_18.png | Bin .../src/main/res/drawable-xhdpi/stop_20.png | Bin .../src/main/res/drawable-xhdpi/stop_24.png | Bin .../src/main/res/drawable-xhdpi/stop_36.png | Bin .../src/main/res/drawable-xhdpi/stop_48.png | Bin .../src/main/res/drawable-xhdpi/sun_18.png | Bin .../src/main/res/drawable-xhdpi/sun_20.png | Bin .../src/main/res/drawable-xhdpi/sun_24.png | Bin .../src/main/res/drawable-xhdpi/sun_36.png | Bin .../src/main/res/drawable-xhdpi/sun_48.png | Bin .../src/main/res/drawable-xhdpi/tags_18.png | Bin .../src/main/res/drawable-xhdpi/tags_20.png | Bin .../src/main/res/drawable-xhdpi/tags_24.png | Bin .../src/main/res/drawable-xhdpi/tags_36.png | Bin .../src/main/res/drawable-xhdpi/tags_48.png | Bin .../src/main/res/drawable-xhdpi/trash_18.png | Bin .../src/main/res/drawable-xhdpi/trash_20.png | Bin .../src/main/res/drawable-xhdpi/trash_24.png | Bin .../src/main/res/drawable-xhdpi/trash_36.png | Bin .../src/main/res/drawable-xhdpi/trash_48.png | Bin .../src/main/res/drawable-xhdpi/user_18.png | Bin .../src/main/res/drawable-xhdpi/user_20.png | Bin .../src/main/res/drawable-xhdpi/user_24.png | Bin .../src/main/res/drawable-xhdpi/user_36.png | Bin .../src/main/res/drawable-xhdpi/user_48.png | Bin .../main/res/drawable-xhdpi/user_add_18.png | Bin .../main/res/drawable-xhdpi/user_add_20.png | Bin .../main/res/drawable-xhdpi/user_add_24.png | Bin .../main/res/drawable-xhdpi/user_add_36.png | Bin .../main/res/drawable-xhdpi/user_add_48.png | Bin .../res/drawable-xhdpi/void_circle_18.png | Bin .../res/drawable-xhdpi/void_circle_20.png | Bin .../res/drawable-xhdpi/void_circle_24.png | Bin .../res/drawable-xhdpi/void_circle_36.png | Bin .../res/drawable-xhdpi/void_circle_48.png | Bin .../main/res/drawable-xhdpi/wifi_alt_18.png | Bin .../main/res/drawable-xhdpi/wifi_alt_20.png | Bin .../main/res/drawable-xhdpi/wifi_alt_24.png | Bin .../main/res/drawable-xhdpi/wifi_alt_36.png | Bin .../main/res/drawable-xhdpi/wifi_alt_48.png | Bin .../src/main/res/drawable-xxhdpi/add_18.png | Bin .../src/main/res/drawable-xxhdpi/add_20.png | Bin .../src/main/res/drawable-xxhdpi/add_24.png | Bin .../src/main/res/drawable-xxhdpi/add_36.png | Bin .../src/main/res/drawable-xxhdpi/add_48.png | Bin .../res/drawable-xxhdpi/angle_down_18.png | Bin .../res/drawable-xxhdpi/angle_down_20.png | Bin .../res/drawable-xxhdpi/angle_down_24.png | Bin .../res/drawable-xxhdpi/angle_down_36.png | Bin .../res/drawable-xxhdpi/angle_down_48.png | Bin .../drawable-xxhdpi/angle_small_down_18.png | Bin .../drawable-xxhdpi/angle_small_down_20.png | Bin .../drawable-xxhdpi/angle_small_down_24.png | Bin .../drawable-xxhdpi/angle_small_down_36.png | Bin .../drawable-xxhdpi/angle_small_down_48.png | Bin .../res/drawable-xxhdpi/angle_small_up_18.png | Bin .../res/drawable-xxhdpi/angle_small_up_20.png | Bin .../res/drawable-xxhdpi/angle_small_up_24.png | Bin .../res/drawable-xxhdpi/angle_small_up_36.png | Bin .../res/drawable-xxhdpi/angle_small_up_48.png | Bin .../main/res/drawable-xxhdpi/angle_up_18.png | Bin .../main/res/drawable-xxhdpi/angle_up_20.png | Bin .../main/res/drawable-xxhdpi/angle_up_24.png | Bin .../main/res/drawable-xxhdpi/angle_up_36.png | Bin .../main/res/drawable-xxhdpi/angle_up_48.png | Bin .../main/res/drawable-xxhdpi/apps_sort_18.png | Bin .../main/res/drawable-xxhdpi/apps_sort_20.png | Bin .../main/res/drawable-xxhdpi/apps_sort_24.png | Bin .../main/res/drawable-xxhdpi/apps_sort_36.png | Bin .../main/res/drawable-xxhdpi/apps_sort_48.png | Bin .../src/main/res/drawable-xxhdpi/bell_18.png | Bin .../src/main/res/drawable-xxhdpi/bell_20.png | Bin .../src/main/res/drawable-xxhdpi/bell_24.png | Bin .../src/main/res/drawable-xxhdpi/bell_36.png | Bin .../src/main/res/drawable-xxhdpi/bell_48.png | Bin .../main/res/drawable-xxhdpi/bell_ring_18.png | Bin .../main/res/drawable-xxhdpi/bell_ring_20.png | Bin .../main/res/drawable-xxhdpi/bell_ring_24.png | Bin .../main/res/drawable-xxhdpi/bell_ring_36.png | Bin .../main/res/drawable-xxhdpi/bell_ring_48.png | Bin .../src/main/res/drawable-xxhdpi/broom_18.png | Bin .../src/main/res/drawable-xxhdpi/broom_20.png | Bin .../src/main/res/drawable-xxhdpi/broom_24.png | Bin .../src/main/res/drawable-xxhdpi/broom_36.png | Bin .../src/main/res/drawable-xxhdpi/broom_48.png | Bin .../main/res/drawable-xxhdpi/calendar_18.png | Bin .../main/res/drawable-xxhdpi/calendar_20.png | Bin .../main/res/drawable-xxhdpi/calendar_24.png | Bin .../main/res/drawable-xxhdpi/calendar_36.png | Bin .../main/res/drawable-xxhdpi/calendar_48.png | Bin .../main/res/drawable-xxhdpi/camera_18.png | Bin .../main/res/drawable-xxhdpi/camera_20.png | Bin .../main/res/drawable-xxhdpi/camera_24.png | Bin .../main/res/drawable-xxhdpi/camera_36.png | Bin .../main/res/drawable-xxhdpi/camera_48.png | Bin .../src/main/res/drawable-xxhdpi/check_18.png | Bin .../src/main/res/drawable-xxhdpi/check_20.png | Bin .../src/main/res/drawable-xxhdpi/check_24.png | Bin .../src/main/res/drawable-xxhdpi/check_36.png | Bin .../src/main/res/drawable-xxhdpi/check_48.png | Bin .../main/res/drawable-xxhdpi/checkbox_18.png | Bin .../main/res/drawable-xxhdpi/checkbox_20.png | Bin .../main/res/drawable-xxhdpi/checkbox_24.png | Bin .../main/res/drawable-xxhdpi/checkbox_36.png | Bin .../main/res/drawable-xxhdpi/checkbox_48.png | Bin .../main/res/drawable-xxhdpi/circle_18.png | Bin .../main/res/drawable-xxhdpi/circle_20.png | Bin .../main/res/drawable-xxhdpi/circle_24.png | Bin .../main/res/drawable-xxhdpi/circle_36.png | Bin .../main/res/drawable-xxhdpi/circle_48.png | Bin .../src/main/res/drawable-xxhdpi/clock_18.png | Bin .../src/main/res/drawable-xxhdpi/clock_20.png | Bin .../src/main/res/drawable-xxhdpi/clock_24.png | Bin .../src/main/res/drawable-xxhdpi/clock_36.png | Bin .../src/main/res/drawable-xxhdpi/clock_48.png | Bin .../src/main/res/drawable-xxhdpi/cloud_18.png | Bin .../src/main/res/drawable-xxhdpi/cloud_20.png | Bin .../src/main/res/drawable-xxhdpi/cloud_24.png | Bin .../src/main/res/drawable-xxhdpi/cloud_36.png | Bin .../src/main/res/drawable-xxhdpi/cloud_48.png | Bin .../res/drawable-xxhdpi/cloud_disabled_18.png | Bin .../res/drawable-xxhdpi/cloud_disabled_20.png | Bin .../res/drawable-xxhdpi/cloud_disabled_24.png | Bin .../res/drawable-xxhdpi/cloud_disabled_36.png | Bin .../res/drawable-xxhdpi/cloud_disabled_48.png | Bin .../res/drawable-xxhdpi/cloud_download_18.png | Bin .../res/drawable-xxhdpi/cloud_download_20.png | Bin .../res/drawable-xxhdpi/cloud_download_24.png | Bin .../res/drawable-xxhdpi/cloud_download_36.png | Bin .../res/drawable-xxhdpi/cloud_download_48.png | Bin .../res/drawable-xxhdpi/cloud_upload_18.png | Bin .../res/drawable-xxhdpi/cloud_upload_20.png | Bin .../res/drawable-xxhdpi/cloud_upload_24.png | Bin .../res/drawable-xxhdpi/cloud_upload_36.png | Bin .../res/drawable-xxhdpi/cloud_upload_48.png | Bin .../comment_exclamation_18.png | Bin .../comment_exclamation_20.png | Bin .../comment_exclamation_24_.png | Bin .../comment_exclamation_36.png | Bin .../comment_exclamation_48.png | Bin .../src/main/res/drawable-xxhdpi/copy_18.png | Bin .../src/main/res/drawable-xxhdpi/copy_20.png | Bin .../src/main/res/drawable-xxhdpi/copy_24.png | Bin .../src/main/res/drawable-xxhdpi/copy_36.png | Bin .../src/main/res/drawable-xxhdpi/copy_48.png | Bin .../src/main/res/drawable-xxhdpi/cross_18.png | Bin .../src/main/res/drawable-xxhdpi/cross_20.png | Bin .../src/main/res/drawable-xxhdpi/cross_24.png | Bin .../src/main/res/drawable-xxhdpi/cross_36.png | Bin .../src/main/res/drawable-xxhdpi/cross_48.png | Bin .../res/drawable-xxhdpi/cross_circle_18.png | Bin .../res/drawable-xxhdpi/cross_circle_20.png | Bin .../res/drawable-xxhdpi/cross_circle_24.png | Bin .../res/drawable-xxhdpi/cross_circle_36.png | Bin .../res/drawable-xxhdpi/cross_circle_48.png | Bin .../res/drawable-xxhdpi/delete_user_18.png | Bin .../res/drawable-xxhdpi/delete_user_20.png | Bin .../res/drawable-xxhdpi/delete_user_24.png | Bin .../res/drawable-xxhdpi/delete_user_36.png | Bin .../res/drawable-xxhdpi/delete_user_48.png | Bin .../src/main/res/drawable-xxhdpi/disk_18.png | Bin .../src/main/res/drawable-xxhdpi/disk_20.png | Bin .../src/main/res/drawable-xxhdpi/disk_24.png | Bin .../src/main/res/drawable-xxhdpi/disk_36.png | Bin .../src/main/res/drawable-xxhdpi/disk_48.png | Bin .../main/res/drawable-xxhdpi/download_18.png | Bin .../main/res/drawable-xxhdpi/download_20.png | Bin .../main/res/drawable-xxhdpi/download_24.png | Bin .../main/res/drawable-xxhdpi/download_36.png | Bin .../main/res/drawable-xxhdpi/download_48.png | Bin .../src/main/res/drawable-xxhdpi/exit_18.png | Bin .../src/main/res/drawable-xxhdpi/exit_20.png | Bin .../src/main/res/drawable-xxhdpi/exit_24.png | Bin .../src/main/res/drawable-xxhdpi/exit_36.png | Bin .../src/main/res/drawable-xxhdpi/exit_48.png | Bin .../main/res/drawable-xxhdpi/github_18.png | Bin .../main/res/drawable-xxhdpi/github_20.png | Bin .../main/res/drawable-xxhdpi/github_24.png | Bin .../main/res/drawable-xxhdpi/github_36.png | Bin .../main/res/drawable-xxhdpi/github_48.png | Bin .../src/main/res/drawable-xxhdpi/globe_18.png | Bin .../src/main/res/drawable-xxhdpi/globe_20.png | Bin .../src/main/res/drawable-xxhdpi/globe_24.png | Bin .../src/main/res/drawable-xxhdpi/globe_36.png | Bin .../src/main/res/drawable-xxhdpi/globe_48.png | Bin .../src/main/res/drawable-xxhdpi/home_18.png | Bin .../src/main/res/drawable-xxhdpi/home_20.png | Bin .../src/main/res/drawable-xxhdpi/home_24.png | Bin .../src/main/res/drawable-xxhdpi/home_36.png | Bin .../src/main/res/drawable-xxhdpi/home_48.png | Bin .../src/main/res/drawable-xxhdpi/ic_image.xml | 0 .../ic_launcher_background.xml | 0 .../ic_launcher_foreground.xml | 0 .../src/main/res/drawable-xxhdpi/ic_logo.xml | 0 .../src/main/res/drawable-xxhdpi/ic_music.xml | 0 .../res/drawable-xxhdpi/ic_round_pause.xml | 0 .../drawable-xxhdpi/ic_round_play_arrow.xml | 0 .../src/main/res/drawable-xxhdpi/inbox_18.png | Bin .../src/main/res/drawable-xxhdpi/inbox_20.png | Bin .../src/main/res/drawable-xxhdpi/inbox_24.png | Bin .../src/main/res/drawable-xxhdpi/inbox_36.png | Bin .../src/main/res/drawable-xxhdpi/inbox_48.png | Bin .../res/drawable-xxhdpi/interlining_18.png | Bin .../res/drawable-xxhdpi/interlining_20.png | Bin .../res/drawable-xxhdpi/interlining_24.png | Bin .../res/drawable-xxhdpi/interlining_36.png | Bin .../res/drawable-xxhdpi/interlining_48.png | Bin .../res/drawable-xxhdpi/interrogation_18.png | Bin .../res/drawable-xxhdpi/interrogation_18_.png | Bin .../res/drawable-xxhdpi/interrogation_20.png | Bin .../res/drawable-xxhdpi/interrogation_20_.png | Bin .../res/drawable-xxhdpi/interrogation_24.png | Bin .../res/drawable-xxhdpi/interrogation_24_.png | Bin .../res/drawable-xxhdpi/interrogation_36.png | Bin .../res/drawable-xxhdpi/interrogation_36_.png | Bin .../res/drawable-xxhdpi/interrogation_48.png | Bin .../res/drawable-xxhdpi/interrogation_48_.png | Bin .../src/main/res/drawable-xxhdpi/label_18.png | Bin .../src/main/res/drawable-xxhdpi/label_20.png | Bin .../src/main/res/drawable-xxhdpi/label_24.png | Bin .../src/main/res/drawable-xxhdpi/label_36.png | Bin .../src/main/res/drawable-xxhdpi/label_48.png | Bin .../res/drawable-xxhdpi/list_check_18.png | Bin .../res/drawable-xxhdpi/list_check_20.png | Bin .../res/drawable-xxhdpi/list_check_24.png | Bin .../res/drawable-xxhdpi/list_check_36.png | Bin .../res/drawable-xxhdpi/list_check_48.png | Bin .../res/drawable-xxhdpi/menu_burger_18.png | Bin .../res/drawable-xxhdpi/menu_burger_20.png | Bin .../res/drawable-xxhdpi/menu_burger_24.png | Bin .../res/drawable-xxhdpi/menu_burger_36.png | Bin .../res/drawable-xxhdpi/menu_burger_48.png | Bin .../res/drawable-xxhdpi/microphone_18.png | Bin .../res/drawable-xxhdpi/microphone_20.png | Bin .../res/drawable-xxhdpi/microphone_24.png | Bin .../res/drawable-xxhdpi/microphone_36.png | Bin .../res/drawable-xxhdpi/microphone_48.png | Bin .../src/main/res/drawable-xxhdpi/moon_18.png | Bin .../src/main/res/drawable-xxhdpi/moon_20.png | Bin .../src/main/res/drawable-xxhdpi/moon_24.png | Bin .../src/main/res/drawable-xxhdpi/moon_36.png | Bin .../src/main/res/drawable-xxhdpi/moon_48.png | Bin .../main/res/drawable-xxhdpi/no_label_18.png | Bin .../main/res/drawable-xxhdpi/no_label_20.png | Bin .../main/res/drawable-xxhdpi/no_label_24.png | Bin .../main/res/drawable-xxhdpi/no_label_36.png | Bin .../main/res/drawable-xxhdpi/no_label_48.png | Bin .../main/res/drawable-xxhdpi/opacity_18.png | Bin .../main/res/drawable-xxhdpi/opacity_20.png | Bin .../main/res/drawable-xxhdpi/opacity_24.png | Bin .../main/res/drawable-xxhdpi/opacity_36.png | Bin .../main/res/drawable-xxhdpi/opacity_48.png | Bin .../src/main/res/drawable-xxhdpi/pause_18.png | Bin .../src/main/res/drawable-xxhdpi/pause_20.png | Bin .../src/main/res/drawable-xxhdpi/pause_24.png | Bin .../src/main/res/drawable-xxhdpi/pause_36.png | Bin .../src/main/res/drawable-xxhdpi/pause_48.png | Bin .../main/res/drawable-xxhdpi/pencil_18.png | Bin .../main/res/drawable-xxhdpi/pencil_20.png | Bin .../main/res/drawable-xxhdpi/pencil_24.png | Bin .../main/res/drawable-xxhdpi/pencil_36.png | Bin .../main/res/drawable-xxhdpi/pencil_48.png | Bin .../main/res/drawable-xxhdpi/picture_18.png | Bin .../main/res/drawable-xxhdpi/picture_20.png | Bin .../main/res/drawable-xxhdpi/picture_24.png | Bin .../main/res/drawable-xxhdpi/picture_36.png | Bin .../main/res/drawable-xxhdpi/picture_48.png | Bin .../src/main/res/drawable-xxhdpi/play_18.png | Bin .../src/main/res/drawable-xxhdpi/play_20.png | Bin .../src/main/res/drawable-xxhdpi/play_24.png | Bin .../src/main/res/drawable-xxhdpi/play_36.png | Bin .../src/main/res/drawable-xxhdpi/play_48.png | Bin .../src/main/res/drawable-xxhdpi/plus_18.png | Bin .../src/main/res/drawable-xxhdpi/plus_20.png | Bin .../src/main/res/drawable-xxhdpi/plus_24.png | Bin .../src/main/res/drawable-xxhdpi/plus_36.png | Bin .../src/main/res/drawable-xxhdpi/plus_48.png | Bin .../res/drawable-xxhdpi/remove_user_18.png | Bin .../res/drawable-xxhdpi/remove_user_20.png | Bin .../res/drawable-xxhdpi/remove_user_24.png | Bin .../res/drawable-xxhdpi/remove_user_36.png | Bin .../res/drawable-xxhdpi/remove_user_48.png | Bin .../src/main/res/drawable-xxhdpi/reset_18.png | Bin .../src/main/res/drawable-xxhdpi/reset_20.png | Bin .../src/main/res/drawable-xxhdpi/reset_24.png | Bin .../src/main/res/drawable-xxhdpi/reset_36.png | Bin .../src/main/res/drawable-xxhdpi/reset_48.png | Bin .../res/drawable-xxhdpi/rotate_left_18.png | Bin .../res/drawable-xxhdpi/rotate_left_20.png | Bin .../res/drawable-xxhdpi/rotate_left_24.png | Bin .../res/drawable-xxhdpi/rotate_left_36.png | Bin .../res/drawable-xxhdpi/rotate_left_48.png | Bin .../main/res/drawable-xxhdpi/settings_18.png | Bin .../main/res/drawable-xxhdpi/settings_20.png | Bin .../main/res/drawable-xxhdpi/settings_24.png | Bin .../main/res/drawable-xxhdpi/settings_36.png | Bin .../main/res/drawable-xxhdpi/settings_48.png | Bin .../src/main/res/drawable-xxhdpi/share_18.png | Bin .../src/main/res/drawable-xxhdpi/share_20.png | Bin .../src/main/res/drawable-xxhdpi/share_24.png | Bin .../src/main/res/drawable-xxhdpi/share_36.png | Bin .../src/main/res/drawable-xxhdpi/share_48.png | Bin .../drawable-xxhdpi/sort_alpha_down_18.png | Bin .../drawable-xxhdpi/sort_alpha_down_20.png | Bin .../drawable-xxhdpi/sort_alpha_down_24.png | Bin .../drawable-xxhdpi/sort_alpha_down_36.png | Bin .../drawable-xxhdpi/sort_alpha_down_48.png | Bin .../main/res/drawable-xxhdpi/sort_alt_18.png | Bin .../main/res/drawable-xxhdpi/sort_alt_20.png | Bin .../main/res/drawable-xxhdpi/sort_alt_24.png | Bin .../main/res/drawable-xxhdpi/sort_alt_36.png | Bin .../main/res/drawable-xxhdpi/sort_alt_48.png | Bin .../sort_amount_down_alt_18.png | Bin .../sort_amount_down_alt_20.png | Bin .../sort_amount_down_alt_24.png | Bin .../sort_amount_down_alt_36.png | Bin .../sort_amount_down_alt_48.png | Bin .../drawable-xxhdpi/sort_amount_up_alt_18.png | Bin .../drawable-xxhdpi/sort_amount_up_alt_20.png | Bin .../drawable-xxhdpi/sort_amount_up_alt_24.png | Bin .../drawable-xxhdpi/sort_amount_up_alt_36.png | Bin .../drawable-xxhdpi/sort_amount_up_alt_48.png | Bin .../drawable-xxhdpi/sort_numeric_down_18.png | Bin .../drawable-xxhdpi/sort_numeric_down_20.png | Bin .../drawable-xxhdpi/sort_numeric_down_24.png | Bin .../drawable-xxhdpi/sort_numeric_down_36.png | Bin .../drawable-xxhdpi/sort_numeric_down_48.png | Bin .../src/main/res/drawable-xxhdpi/stop_18.png | Bin .../src/main/res/drawable-xxhdpi/stop_20.png | Bin .../src/main/res/drawable-xxhdpi/stop_24.png | Bin .../src/main/res/drawable-xxhdpi/stop_36.png | Bin .../src/main/res/drawable-xxhdpi/stop_48.png | Bin .../src/main/res/drawable-xxhdpi/sun_18.png | Bin .../src/main/res/drawable-xxhdpi/sun_20.png | Bin .../src/main/res/drawable-xxhdpi/sun_24.png | Bin .../src/main/res/drawable-xxhdpi/sun_36.png | Bin .../src/main/res/drawable-xxhdpi/sun_48.png | Bin .../src/main/res/drawable-xxhdpi/tags_18.png | Bin .../src/main/res/drawable-xxhdpi/tags_20.png | Bin .../src/main/res/drawable-xxhdpi/tags_24.png | Bin .../src/main/res/drawable-xxhdpi/tags_36.png | Bin .../src/main/res/drawable-xxhdpi/tags_48.png | Bin .../src/main/res/drawable-xxhdpi/trash_18.png | Bin .../src/main/res/drawable-xxhdpi/trash_20.png | Bin .../src/main/res/drawable-xxhdpi/trash_24.png | Bin .../src/main/res/drawable-xxhdpi/trash_36.png | Bin .../src/main/res/drawable-xxhdpi/trash_48.png | Bin .../src/main/res/drawable-xxhdpi/user_18.png | Bin .../src/main/res/drawable-xxhdpi/user_20.png | Bin .../src/main/res/drawable-xxhdpi/user_24.png | Bin .../src/main/res/drawable-xxhdpi/user_36.png | Bin .../src/main/res/drawable-xxhdpi/user_48.png | Bin .../main/res/drawable-xxhdpi/user_add_18.png | Bin .../main/res/drawable-xxhdpi/user_add_20.png | Bin .../main/res/drawable-xxhdpi/user_add_24.png | Bin .../main/res/drawable-xxhdpi/user_add_36.png | Bin .../main/res/drawable-xxhdpi/user_add_48.png | Bin .../res/drawable-xxhdpi/vinyl_background.png | Bin .../res/drawable-xxhdpi/void_circle_18.png | Bin .../res/drawable-xxhdpi/void_circle_20.png | Bin .../res/drawable-xxhdpi/void_circle_24.png | Bin .../res/drawable-xxhdpi/void_circle_36.png | Bin .../res/drawable-xxhdpi/void_circle_48.png | Bin .../main/res/drawable-xxhdpi/wifi_alt_18.png | Bin .../main/res/drawable-xxhdpi/wifi_alt_20.png | Bin .../main/res/drawable-xxhdpi/wifi_alt_24.png | Bin .../main/res/drawable-xxhdpi/wifi_alt_36.png | Bin .../main/res/drawable-xxhdpi/wifi_alt_48.png | Bin .../src/main/res/drawable-xxxhdpi/add_18.png | Bin .../src/main/res/drawable-xxxhdpi/add_20.png | Bin .../src/main/res/drawable-xxxhdpi/add_24.png | Bin .../src/main/res/drawable-xxxhdpi/add_36.png | Bin .../src/main/res/drawable-xxxhdpi/add_48.png | Bin .../res/drawable-xxxhdpi/angle_down_18.png | Bin .../res/drawable-xxxhdpi/angle_down_20.png | Bin .../res/drawable-xxxhdpi/angle_down_24.png | Bin .../res/drawable-xxxhdpi/angle_down_36.png | Bin .../res/drawable-xxxhdpi/angle_down_48.png | Bin .../drawable-xxxhdpi/angle_small_down_18.png | Bin .../drawable-xxxhdpi/angle_small_down_20.png | Bin .../drawable-xxxhdpi/angle_small_down_24.png | Bin .../drawable-xxxhdpi/angle_small_down_36.png | Bin .../drawable-xxxhdpi/angle_small_down_48.png | Bin .../drawable-xxxhdpi/angle_small_up_18.png | Bin .../drawable-xxxhdpi/angle_small_up_20.png | Bin .../drawable-xxxhdpi/angle_small_up_24.png | Bin .../drawable-xxxhdpi/angle_small_up_36.png | Bin .../drawable-xxxhdpi/angle_small_up_48.png | Bin .../main/res/drawable-xxxhdpi/angle_up_18.png | Bin .../main/res/drawable-xxxhdpi/angle_up_20.png | Bin .../main/res/drawable-xxxhdpi/angle_up_24.png | Bin .../main/res/drawable-xxxhdpi/angle_up_36.png | Bin .../main/res/drawable-xxxhdpi/angle_up_48.png | Bin .../res/drawable-xxxhdpi/apps_sort_18.png | Bin .../res/drawable-xxxhdpi/apps_sort_20.png | Bin .../res/drawable-xxxhdpi/apps_sort_24.png | Bin .../res/drawable-xxxhdpi/apps_sort_36.png | Bin .../res/drawable-xxxhdpi/apps_sort_48.png | Bin .../src/main/res/drawable-xxxhdpi/bell_18.png | Bin .../src/main/res/drawable-xxxhdpi/bell_20.png | Bin .../src/main/res/drawable-xxxhdpi/bell_24.png | Bin .../src/main/res/drawable-xxxhdpi/bell_36.png | Bin .../src/main/res/drawable-xxxhdpi/bell_48.png | Bin .../res/drawable-xxxhdpi/bell_ring_18.png | Bin .../res/drawable-xxxhdpi/bell_ring_20.png | Bin .../res/drawable-xxxhdpi/bell_ring_24.png | Bin .../res/drawable-xxxhdpi/bell_ring_36.png | Bin .../res/drawable-xxxhdpi/bell_ring_48.png | Bin .../main/res/drawable-xxxhdpi/broom_18.png | Bin .../main/res/drawable-xxxhdpi/broom_20.png | Bin .../main/res/drawable-xxxhdpi/broom_24.png | Bin .../main/res/drawable-xxxhdpi/broom_36.png | Bin .../main/res/drawable-xxxhdpi/broom_48.png | Bin .../main/res/drawable-xxxhdpi/calendar_18.png | Bin .../main/res/drawable-xxxhdpi/calendar_20.png | Bin .../main/res/drawable-xxxhdpi/calendar_24.png | Bin .../main/res/drawable-xxxhdpi/calendar_36.png | Bin .../main/res/drawable-xxxhdpi/calendar_48.png | Bin .../main/res/drawable-xxxhdpi/camera_18.png | Bin .../main/res/drawable-xxxhdpi/camera_20.png | Bin .../main/res/drawable-xxxhdpi/camera_24.png | Bin .../main/res/drawable-xxxhdpi/camera_36.png | Bin .../main/res/drawable-xxxhdpi/camera_48.png | Bin .../main/res/drawable-xxxhdpi/check_18.png | Bin .../main/res/drawable-xxxhdpi/check_20.png | Bin .../main/res/drawable-xxxhdpi/check_24.png | Bin .../main/res/drawable-xxxhdpi/check_36.png | Bin .../main/res/drawable-xxxhdpi/check_48.png | Bin .../main/res/drawable-xxxhdpi/checkbox_18.png | Bin .../main/res/drawable-xxxhdpi/checkbox_20.png | Bin .../main/res/drawable-xxxhdpi/checkbox_24.png | Bin .../main/res/drawable-xxxhdpi/checkbox_36.png | Bin .../main/res/drawable-xxxhdpi/checkbox_48.png | Bin .../main/res/drawable-xxxhdpi/circle_18.png | Bin .../main/res/drawable-xxxhdpi/circle_20.png | Bin .../main/res/drawable-xxxhdpi/circle_24.png | Bin .../main/res/drawable-xxxhdpi/circle_36.png | Bin .../main/res/drawable-xxxhdpi/circle_48.png | Bin .../main/res/drawable-xxxhdpi/clock_18.png | Bin .../main/res/drawable-xxxhdpi/clock_20.png | Bin .../main/res/drawable-xxxhdpi/clock_24.png | Bin .../main/res/drawable-xxxhdpi/clock_36.png | Bin .../main/res/drawable-xxxhdpi/clock_48.png | Bin .../main/res/drawable-xxxhdpi/cloud_18.png | Bin .../main/res/drawable-xxxhdpi/cloud_20.png | Bin .../main/res/drawable-xxxhdpi/cloud_24.png | Bin .../main/res/drawable-xxxhdpi/cloud_36.png | Bin .../main/res/drawable-xxxhdpi/cloud_48.png | Bin .../drawable-xxxhdpi/cloud_disabled_18.png | Bin .../drawable-xxxhdpi/cloud_disabled_20.png | Bin .../drawable-xxxhdpi/cloud_disabled_24.png | Bin .../drawable-xxxhdpi/cloud_disabled_36.png | Bin .../drawable-xxxhdpi/cloud_disabled_48.png | Bin .../drawable-xxxhdpi/cloud_download_18.png | Bin .../drawable-xxxhdpi/cloud_download_20.png | Bin .../drawable-xxxhdpi/cloud_download_24.png | Bin .../drawable-xxxhdpi/cloud_download_36.png | Bin .../drawable-xxxhdpi/cloud_download_48.png | Bin .../res/drawable-xxxhdpi/cloud_upload_18.png | Bin .../res/drawable-xxxhdpi/cloud_upload_20.png | Bin .../res/drawable-xxxhdpi/cloud_upload_24.png | Bin .../res/drawable-xxxhdpi/cloud_upload_36.png | Bin .../res/drawable-xxxhdpi/cloud_upload_48.png | Bin .../comment_exclamation_18.png | Bin .../comment_exclamation_20.png | Bin .../comment_exclamation_24_.png | Bin .../comment_exclamation_36.png | Bin .../comment_exclamation_48.png | Bin .../src/main/res/drawable-xxxhdpi/copy_18.png | Bin .../src/main/res/drawable-xxxhdpi/copy_20.png | Bin .../src/main/res/drawable-xxxhdpi/copy_24.png | Bin .../src/main/res/drawable-xxxhdpi/copy_36.png | Bin .../src/main/res/drawable-xxxhdpi/copy_48.png | Bin .../main/res/drawable-xxxhdpi/cross_18.png | Bin .../main/res/drawable-xxxhdpi/cross_20.png | Bin .../main/res/drawable-xxxhdpi/cross_24.png | Bin .../main/res/drawable-xxxhdpi/cross_36.png | Bin .../main/res/drawable-xxxhdpi/cross_48.png | Bin .../res/drawable-xxxhdpi/cross_circle_18.png | Bin .../res/drawable-xxxhdpi/cross_circle_20.png | Bin .../res/drawable-xxxhdpi/cross_circle_24.png | Bin .../res/drawable-xxxhdpi/cross_circle_36.png | Bin .../res/drawable-xxxhdpi/cross_circle_48.png | Bin .../res/drawable-xxxhdpi/delete_user_18.png | Bin .../res/drawable-xxxhdpi/delete_user_20.png | Bin .../res/drawable-xxxhdpi/delete_user_24.png | Bin .../res/drawable-xxxhdpi/delete_user_36.png | Bin .../res/drawable-xxxhdpi/delete_user_48.png | Bin .../src/main/res/drawable-xxxhdpi/disk_18.png | Bin .../src/main/res/drawable-xxxhdpi/disk_20.png | Bin .../src/main/res/drawable-xxxhdpi/disk_24.png | Bin .../src/main/res/drawable-xxxhdpi/disk_36.png | Bin .../src/main/res/drawable-xxxhdpi/disk_48.png | Bin .../main/res/drawable-xxxhdpi/download_18.png | Bin .../main/res/drawable-xxxhdpi/download_20.png | Bin .../main/res/drawable-xxxhdpi/download_24.png | Bin .../main/res/drawable-xxxhdpi/download_36.png | Bin .../main/res/drawable-xxxhdpi/download_48.png | Bin .../src/main/res/drawable-xxxhdpi/exit_18.png | Bin .../src/main/res/drawable-xxxhdpi/exit_20.png | Bin .../src/main/res/drawable-xxxhdpi/exit_24.png | Bin .../src/main/res/drawable-xxxhdpi/exit_36.png | Bin .../src/main/res/drawable-xxxhdpi/exit_48.png | Bin .../main/res/drawable-xxxhdpi/github_18.png | Bin .../main/res/drawable-xxxhdpi/github_20.png | Bin .../main/res/drawable-xxxhdpi/github_24.png | Bin .../main/res/drawable-xxxhdpi/github_36.png | Bin .../main/res/drawable-xxxhdpi/github_48.png | Bin .../main/res/drawable-xxxhdpi/globe_18.png | Bin .../main/res/drawable-xxxhdpi/globe_20.png | Bin .../main/res/drawable-xxxhdpi/globe_24.png | Bin .../main/res/drawable-xxxhdpi/globe_36.png | Bin .../main/res/drawable-xxxhdpi/globe_48.png | Bin .../src/main/res/drawable-xxxhdpi/home_18.png | Bin .../src/main/res/drawable-xxxhdpi/home_20.png | Bin .../src/main/res/drawable-xxxhdpi/home_24.png | Bin .../src/main/res/drawable-xxxhdpi/home_36.png | Bin .../src/main/res/drawable-xxxhdpi/home_48.png | Bin .../main/res/drawable-xxxhdpi/inbox_18.png | Bin .../main/res/drawable-xxxhdpi/inbox_20.png | Bin .../main/res/drawable-xxxhdpi/inbox_24.png | Bin .../main/res/drawable-xxxhdpi/inbox_36.png | Bin .../main/res/drawable-xxxhdpi/inbox_48.png | Bin .../res/drawable-xxxhdpi/interlining_18.png | Bin .../res/drawable-xxxhdpi/interlining_20.png | Bin .../res/drawable-xxxhdpi/interlining_24.png | Bin .../res/drawable-xxxhdpi/interlining_36.png | Bin .../res/drawable-xxxhdpi/interlining_48.png | Bin .../res/drawable-xxxhdpi/interrogation_18.png | Bin .../drawable-xxxhdpi/interrogation_18_.png | Bin .../res/drawable-xxxhdpi/interrogation_20.png | Bin .../drawable-xxxhdpi/interrogation_20_.png | Bin .../res/drawable-xxxhdpi/interrogation_24.png | Bin .../drawable-xxxhdpi/interrogation_24_.png | Bin .../res/drawable-xxxhdpi/interrogation_36.png | Bin .../drawable-xxxhdpi/interrogation_36_.png | Bin .../res/drawable-xxxhdpi/interrogation_48.png | Bin .../drawable-xxxhdpi/interrogation_48_.png | Bin .../main/res/drawable-xxxhdpi/label_18.png | Bin .../main/res/drawable-xxxhdpi/label_20.png | Bin .../main/res/drawable-xxxhdpi/label_24.png | Bin .../main/res/drawable-xxxhdpi/label_36.png | Bin .../main/res/drawable-xxxhdpi/label_48.png | Bin .../res/drawable-xxxhdpi/list_check_18.png | Bin .../res/drawable-xxxhdpi/list_check_20.png | Bin .../res/drawable-xxxhdpi/list_check_24.png | Bin .../res/drawable-xxxhdpi/list_check_36.png | Bin .../res/drawable-xxxhdpi/list_check_48.png | Bin .../res/drawable-xxxhdpi/menu_burger_18.png | Bin .../res/drawable-xxxhdpi/menu_burger_20.png | Bin .../res/drawable-xxxhdpi/menu_burger_24.png | Bin .../res/drawable-xxxhdpi/menu_burger_36.png | Bin .../res/drawable-xxxhdpi/menu_burger_48.png | Bin .../res/drawable-xxxhdpi/microphone_18.png | Bin .../res/drawable-xxxhdpi/microphone_20.png | Bin .../res/drawable-xxxhdpi/microphone_24.png | Bin .../res/drawable-xxxhdpi/microphone_36.png | Bin .../res/drawable-xxxhdpi/microphone_48.png | Bin .../src/main/res/drawable-xxxhdpi/moon_18.png | Bin .../src/main/res/drawable-xxxhdpi/moon_20.png | Bin .../src/main/res/drawable-xxxhdpi/moon_24.png | Bin .../src/main/res/drawable-xxxhdpi/moon_36.png | Bin .../src/main/res/drawable-xxxhdpi/moon_48.png | Bin .../main/res/drawable-xxxhdpi/no_label_18.png | Bin .../main/res/drawable-xxxhdpi/no_label_20.png | Bin .../main/res/drawable-xxxhdpi/no_label_24.png | Bin .../main/res/drawable-xxxhdpi/no_label_36.png | Bin .../main/res/drawable-xxxhdpi/no_label_48.png | Bin .../main/res/drawable-xxxhdpi/opacity_18.png | Bin .../main/res/drawable-xxxhdpi/opacity_20.png | Bin .../main/res/drawable-xxxhdpi/opacity_24.png | Bin .../main/res/drawable-xxxhdpi/opacity_36.png | Bin .../main/res/drawable-xxxhdpi/opacity_48.png | Bin .../main/res/drawable-xxxhdpi/pause_18.png | Bin .../main/res/drawable-xxxhdpi/pause_20.png | Bin .../main/res/drawable-xxxhdpi/pause_24.png | Bin .../main/res/drawable-xxxhdpi/pause_36.png | Bin .../main/res/drawable-xxxhdpi/pause_48.png | Bin .../main/res/drawable-xxxhdpi/picture_18.png | Bin .../main/res/drawable-xxxhdpi/picture_20.png | Bin .../main/res/drawable-xxxhdpi/picture_24.png | Bin .../main/res/drawable-xxxhdpi/picture_36.png | Bin .../main/res/drawable-xxxhdpi/picture_48.png | Bin .../src/main/res/drawable-xxxhdpi/play_18.png | Bin .../src/main/res/drawable-xxxhdpi/play_20.png | Bin .../src/main/res/drawable-xxxhdpi/play_24.png | Bin .../src/main/res/drawable-xxxhdpi/play_36.png | Bin .../src/main/res/drawable-xxxhdpi/play_48.png | Bin .../src/main/res/drawable-xxxhdpi/plus_18.png | Bin .../src/main/res/drawable-xxxhdpi/plus_20.png | Bin .../src/main/res/drawable-xxxhdpi/plus_24.png | Bin .../src/main/res/drawable-xxxhdpi/plus_36.png | Bin .../src/main/res/drawable-xxxhdpi/plus_48.png | Bin .../res/drawable-xxxhdpi/remove_user_18.png | Bin .../res/drawable-xxxhdpi/remove_user_20.png | Bin .../res/drawable-xxxhdpi/remove_user_24.png | Bin .../res/drawable-xxxhdpi/remove_user_36.png | Bin .../res/drawable-xxxhdpi/remove_user_48.png | Bin .../main/res/drawable-xxxhdpi/reset_18.png | Bin .../main/res/drawable-xxxhdpi/reset_20.png | Bin .../main/res/drawable-xxxhdpi/reset_24.png | Bin .../main/res/drawable-xxxhdpi/reset_36.png | Bin .../main/res/drawable-xxxhdpi/reset_48.png | Bin .../res/drawable-xxxhdpi/rotate_left_18.png | Bin .../res/drawable-xxxhdpi/rotate_left_20.png | Bin .../res/drawable-xxxhdpi/rotate_left_24.png | Bin .../res/drawable-xxxhdpi/rotate_left_36.png | Bin .../res/drawable-xxxhdpi/rotate_left_48.png | Bin .../main/res/drawable-xxxhdpi/settings_18.png | Bin .../main/res/drawable-xxxhdpi/settings_20.png | Bin .../main/res/drawable-xxxhdpi/settings_24.png | Bin .../main/res/drawable-xxxhdpi/settings_36.png | Bin .../main/res/drawable-xxxhdpi/settings_48.png | Bin .../main/res/drawable-xxxhdpi/share_18.png | Bin .../main/res/drawable-xxxhdpi/share_20.png | Bin .../main/res/drawable-xxxhdpi/share_24.png | Bin .../main/res/drawable-xxxhdpi/share_36.png | Bin .../main/res/drawable-xxxhdpi/share_48.png | Bin .../drawable-xxxhdpi/sort_alpha_down_18.png | Bin .../drawable-xxxhdpi/sort_alpha_down_20.png | Bin .../drawable-xxxhdpi/sort_alpha_down_24.png | Bin .../drawable-xxxhdpi/sort_alpha_down_36.png | Bin .../drawable-xxxhdpi/sort_alpha_down_48.png | Bin .../main/res/drawable-xxxhdpi/sort_alt_18.png | Bin .../main/res/drawable-xxxhdpi/sort_alt_20.png | Bin .../main/res/drawable-xxxhdpi/sort_alt_24.png | Bin .../main/res/drawable-xxxhdpi/sort_alt_36.png | Bin .../main/res/drawable-xxxhdpi/sort_alt_48.png | Bin .../sort_amount_down_alt_18.png | Bin .../sort_amount_down_alt_20.png | Bin .../sort_amount_down_alt_24.png | Bin .../sort_amount_down_alt_36.png | Bin .../sort_amount_down_alt_48.png | Bin .../sort_amount_up_alt_18.png | Bin .../sort_amount_up_alt_20.png | Bin .../sort_amount_up_alt_24.png | Bin .../sort_amount_up_alt_36.png | Bin .../sort_amount_up_alt_48.png | Bin .../drawable-xxxhdpi/sort_numeric_down_18.png | Bin .../drawable-xxxhdpi/sort_numeric_down_20.png | Bin .../drawable-xxxhdpi/sort_numeric_down_24.png | Bin .../drawable-xxxhdpi/sort_numeric_down_36.png | Bin .../drawable-xxxhdpi/sort_numeric_down_48.png | Bin .../src/main/res/drawable-xxxhdpi/stop_18.png | Bin .../src/main/res/drawable-xxxhdpi/stop_20.png | Bin .../src/main/res/drawable-xxxhdpi/stop_24.png | Bin .../src/main/res/drawable-xxxhdpi/stop_36.png | Bin .../src/main/res/drawable-xxxhdpi/stop_48.png | Bin .../src/main/res/drawable-xxxhdpi/sun_18.png | Bin .../src/main/res/drawable-xxxhdpi/sun_20.png | Bin .../src/main/res/drawable-xxxhdpi/sun_24.png | Bin .../src/main/res/drawable-xxxhdpi/sun_36.png | Bin .../src/main/res/drawable-xxxhdpi/sun_48.png | Bin .../src/main/res/drawable-xxxhdpi/tags_18.png | Bin .../src/main/res/drawable-xxxhdpi/tags_20.png | Bin .../src/main/res/drawable-xxxhdpi/tags_24.png | Bin .../src/main/res/drawable-xxxhdpi/tags_36.png | Bin .../src/main/res/drawable-xxxhdpi/tags_48.png | Bin .../main/res/drawable-xxxhdpi/trash_18.png | Bin .../main/res/drawable-xxxhdpi/trash_20.png | Bin .../main/res/drawable-xxxhdpi/trash_24.png | Bin .../main/res/drawable-xxxhdpi/trash_36.png | Bin .../main/res/drawable-xxxhdpi/trash_48.png | Bin .../src/main/res/drawable-xxxhdpi/user_18.png | Bin .../src/main/res/drawable-xxxhdpi/user_20.png | Bin .../src/main/res/drawable-xxxhdpi/user_24.png | Bin .../src/main/res/drawable-xxxhdpi/user_36.png | Bin .../src/main/res/drawable-xxxhdpi/user_48.png | Bin .../main/res/drawable-xxxhdpi/user_add_18.png | Bin .../main/res/drawable-xxxhdpi/user_add_20.png | Bin .../main/res/drawable-xxxhdpi/user_add_24.png | Bin .../main/res/drawable-xxxhdpi/user_add_36.png | Bin .../main/res/drawable-xxxhdpi/user_add_48.png | Bin .../res/drawable-xxxhdpi/void_circle_18.png | Bin .../res/drawable-xxxhdpi/void_circle_20.png | Bin .../res/drawable-xxxhdpi/void_circle_24.png | Bin .../res/drawable-xxxhdpi/void_circle_36.png | Bin .../res/drawable-xxxhdpi/void_circle_48.png | Bin .../main/res/drawable-xxxhdpi/wifi_alt_18.png | Bin .../main/res/drawable-xxxhdpi/wifi_alt_20.png | Bin .../main/res/drawable-xxxhdpi/wifi_alt_24.png | Bin .../main/res/drawable-xxxhdpi/wifi_alt_36.png | Bin .../main/res/drawable-xxxhdpi/wifi_alt_48.png | Bin .../src/main/res/drawable/add_24.xml | 0 .../src/main/res/drawable/angle_down_24_.xml | 0 .../res/drawable/angle_small_down_24_.xml | 0 .../main/res/drawable/angle_small_up_24_.xml | 0 .../src/main/res/drawable/angle_up_24_.xml | 0 .../src/main/res/drawable/apps_sort_24.xml | 0 .../src/main/res/drawable/bell_24.xml | 0 .../src/main/res/drawable/bell_ring_24.xml | 0 .../src/main/res/drawable/brightness.png | Bin .../src/main/res/drawable/broom_24.xml | 0 .../src/main/res/drawable/calendar_24.xml | 0 .../src/main/res/drawable/camera_24.xml | 0 .../src/main/res/drawable/check_24.xml | 0 .../src/main/res/drawable/checkbox_24.xml | 0 .../src/main/res/drawable/circle_24.xml | 0 .../src/main/res/drawable/clock_24.xml | 0 .../src/main/res/drawable/cloud_24.xml | 0 .../main/res/drawable/cloud_disabled_24_.xml | 0 .../main/res/drawable/cloud_download_24_.xml | 0 .../main/res/drawable/cloud_upload_24_.xml | 0 .../res/drawable/comment_exclamation_24.xml | 0 .../src/main/res/drawable/copy_24.xml | 0 .../src/main/res/drawable/cross_24.xml | 0 .../src/main/res/drawable/cross_circle_24.xml | 0 .../main/res/drawable/cross_circle_24_.xml | 0 .../src/main/res/drawable/delete_user_24.xml | 0 .../src/main/res/drawable/disk_24.xml | 0 .../src/main/res/drawable/download_24.xml | 0 .../src/main/res/drawable/exit_24.xml | 0 .../src/main/res/drawable/github_24.xml | 0 .../src/main/res/drawable/globe_24.xml | 0 .../src/main/res/drawable/home_24.xml | 0 .../ic_baseline_add_photo_alternate_24.xml | 0 .../res/drawable/ic_baseline_circle_24.xml | 0 .../res/drawable/ic_baseline_dashboard_24.xml | 0 .../ic_baseline_delete_outline_24.xml | 0 .../res/drawable/ic_baseline_gesture_24.xml | 0 .../drawable/ic_baseline_view_agenda_24.xml | 0 .../res/drawable/ic_eraser_black_24dp.xml | 0 .../res/drawable/ic_launcher_background.xml | 170 ++++++++++ .../res/drawable/ic_launcher_foreground.xml | 30 ++ .../src/main/res/drawable/inbox_24.xml | 0 .../src/main/res/drawable/interlining_24.xml | 0 .../main/res/drawable/interrogation_24.xml | 0 .../main/res/drawable/interrogation_24_.xml | 0 .../src/main/res/drawable/label_24.xml | 0 .../src/main/res/drawable/list_check_24.xml | 0 .../src/main/res/drawable/mat.jpg | Bin .../src/main/res/drawable/menu_burger_24.xml | 0 .../src/main/res/drawable/microphone_24.xml | 0 .../src/main/res/drawable/moon_24.xml | 0 .../src/main/res/drawable/no_label_24.xml | 0 .../src/main/res/drawable/opacity_24.xml | 0 .../src/main/res/drawable/paint_palette.png | Bin .../src/main/res/drawable/pause_24.xml | 0 .../src/main/res/drawable/picture_24.xml | 0 .../src/main/res/drawable/play_24.xml | 0 .../src/main/res/drawable/plus_24.xml | 0 .../src/main/res/drawable/redo.png | Bin .../src/main/res/drawable/remove_user_24.xml | 0 .../src/main/res/drawable/reset_24.xml | 0 .../src/main/res/drawable/rotate_left_24_.xml | 0 .../src/main/res/drawable/settings_24.xml | 0 .../src/main/res/drawable/share_24.xml | 0 .../src/main/res/drawable/sort.png | Bin .../main/res/drawable/sort_alpha_down_24.xml | 0 .../src/main/res/drawable/sort_alt_24_.xml | 0 .../res/drawable/sort_amount_down_alt_24.xml | 0 .../res/drawable/sort_amount_up_alt_24.xml | 0 .../res/drawable/sort_numeric_down_24_.xml | 0 .../src/main/res/drawable/stop_24.xml | 0 .../src/main/res/drawable/sun_24.xml | 0 .../src/main/res/drawable/tags_24.xml | 0 .../src/main/res/drawable/trash_24.xml | 0 .../src/main/res/drawable/undo.png | Bin .../src/main/res/drawable/user_24.xml | 0 .../src/main/res/drawable/user_add_24.xml | 0 .../src/main/res/drawable/void_circle_24.xml | 0 .../src/main/res/drawable/wifi_alt_24_.xml | 0 .../zouitel/systemDesign/ExampleUnitTest.kt | 17 + {plugins => ui/features/audios}/.gitignore | 0 ui/features/audios/build.gradle.kts | 74 +++++ ui/features/audios/consumer-rules.pro | 0 ui/features/audios/proguard-rules.pro | 21 ++ .../zouitel/audios/ExampleInstrumentedTest.kt | 24 ++ .../audios}/src/main/AndroidManifest.xml | 0 .../zouitel/audios}/MediaPlayerViewModel.kt | 18 +- .../city/zouitel/audios}/NoteMediaPlayer.kt | 56 ++-- .../city/zouitel/audios/di/ExoPlayerMod.kt | 19 ++ .../city/zouitel/audios/di/exoPlayerDI.kt | 23 ++ .../city/zouitel/audios/ExampleUnitTest.kt | 17 + ui/features/camera/build.gradle.kts | 111 +++---- ui/features/camera/consumer-rules.pro | 0 ui/features/camera/proguard-rules.pro | 21 ++ .../zouitel/camera/ExampleInstrumentedTest.kt | 24 ++ .../java/com/example/camera/AdaptingRow.kt | 37 --- .../java/com/example/camera/AddImageDialog.kt | 102 ------ .../java/com/example/camera/CameraCompose.kt | 82 ----- .../main/java/com/example/camera/CameraXVM.kt | 141 --------- .../main/java/com/example/camera/Commons.kt | 24 -- .../java/com/example/camera/LaunchCameraX.kt | 22 -- .../city/zouitel/camera/ExampleUnitTest.kt | 17 + ui/features/links/build.gradle.kts | 69 +++- ui/features/links/consumer-rules.pro | 0 ui/features/links/proguard-rules.pro | 21 ++ .../zouitel/links/ExampleInstrumentedTest.kt | 24 ++ .../java/city/zouitel/links/di/LinkModule.kt | 27 ++ .../java/city/zouitel/links/di/linksDI.kt | 18 ++ .../zouitel}/links/mapper/LinkMapper.kt | 8 +- .../links/mapper/NoteAndLinkMapper.kt | 8 +- .../city/zouitel/links}/mapper/base/Mapper.kt | 2 +- .../zouitel}/links/model/Link.kt | 2 +- .../zouitel}/links/model/NoteAndLink.kt | 2 +- .../zouitel}/links/ui/CacheLinks.kt | 2 +- .../zouitel}/links/ui/LinkPart.kt | 6 +- .../zouitel}/links/ui/LinkVM.kt | 21 +- .../zouitel}/links/ui/NoteAndLinkVM.kt | 15 +- .../zouitel}/links/utils/Constants.kt | 0 .../zouitel}/links/worker/LinkWorker.kt | 29 +- .../java/com/example/links/di/LinkModule.kt | 33 -- .../city/zouitel/links/ExampleUnitTest.kt | 17 + ui/features/media-player/build.gradle.kts | 19 -- .../example/media_player/di/ExoPlayerMod.kt | 25 -- ui/features/note/build.gradle.kts | 75 ++++- ui/features/note/consumer-rules.pro | 0 ui/features/note/proguard-rules.pro | 21 ++ .../zouitel/note/ExampleInstrumentedTest.kt | 24 ++ .../zouitel}/note/DataViewModel.kt | 22 +- .../zouitel}/note/NoteViewModel.kt | 15 +- .../java/city/zouitel/note/di/NoteModule.kt | 39 +++ .../zouitel}/note/mapper/DataMapper.kt | 8 +- .../zouitel}/note/mapper/NoteMapper.kt | 15 +- .../zouitel}/note/mapper/base/Mapper.kt | 2 +- .../zouitel}/note/model/Data.kt | 4 +- .../zouitel}/note/model/Note.kt | 10 +- .../zouitel}/note/ui/ColorsRow.kt | 19 +- .../zouitel}/note/ui/add_screen/AddNote.kt | 97 +++--- .../note/ui/bottom_bar/AddEditBottomBar.kt | 30 +- .../zouitel}/note/ui/bottom_bar/Plus.kt | 32 +- .../note/ui/bottom_bar/PriorityList.kt | 14 +- .../zouitel}/note/ui/bottom_bar/UndoRedo.kt | 20 +- .../zouitel}/note/ui/edit_screen/EditNote.kt | 92 +++--- .../java/com/example/note/di/NoteModule.kt | 30 -- .../java/city/zouitel/note/ExampleUnitTest.kt | 17 + ui/features/quick-note/build.gradle.kts | 26 -- .../example/quick_note/di/QuickDataModule.kt | 17 - .../features/quickNote}/.gitignore | 0 ui/features/quickNote/build.gradle.kts | 82 +++++ ui/features/quickNote/consumer-rules.pro | 0 ui/features/quickNote/proguard-rules.pro | 21 ++ .../quicknote/ExampleInstrumentedTest.kt | 24 ++ .../src/main/AndroidManifest.xml | 0 .../java/city/zouitel/quicknote}/Quick.kt | 18 +- .../city/zouitel/quicknote}/QuickActivity.kt | 13 +- .../zouitel/quicknote}/QuickDataViewModel.kt | 16 +- .../zouitel/quicknote}/QuickTileService.kt | 4 +- .../zouitel/quicknote/di/QuickDataModule.kt | 12 + .../city/zouitel/quicknote/di/QuickNoteDI.kt | 12 + .../quicknote}/mapper/QuickDataMapper.kt | 8 +- .../zouitel/quicknote}/mapper/base/Mapper.kt | 2 +- .../zouitel/quicknote}/model/QuickData.kt | 5 +- .../city/zouitel/quicknote/ExampleUnitTest.kt | 17 + ui/features/record/.gitignore | 1 - ui/features/record/build.gradle.kts | 19 -- .../{media-player => recorder}/.gitignore | 0 ui/features/recorder/build.gradle.kts | 75 +++++ ui/features/recorder/consumer-rules.pro | 0 ui/features/recorder/proguard-rules.pro | 21 ++ .../recoder/ExampleInstrumentedTest.kt | 24 ++ .../src/main/AndroidManifest.xml | 0 .../city/zouitel/recoder/di/recorderDI.kt | 11 + .../zouitel/recoder/ui}/RecordController.kt | 14 +- .../city/zouitel/recoder/ui}/RecordTimer.kt | 4 +- .../city/zouitel/recoder/ui}/RecordingNote.kt | 28 +- .../recoder/viewmodel}/MediaRecordVM.kt | 2 +- .../zouitel/recoder/viewmodel/RecorderVM.kt} | 12 +- .../city/zouitel/recoder/ExampleUnitTest.kt | 17 + ui/features/reminder/build.gradle.kts | 73 ++++- ui/features/reminder/consumer-rules.pro | 0 ui/features/reminder/proguard-rules.pro | 21 ++ .../reminder/ExampleInstrumentedTest.kt | 24 ++ .../zouitel/reminder/di/reminderKoinModule.kt | 9 + .../zouitel/reminder/ui}/RemindingNote.kt | 27 +- .../zouitel/reminder/viewmodel}/ReminderVM.kt | 2 +- .../city/zouitel/reminder/ExampleUnitTest.kt | 17 + ui/features/tags/build.gradle.kts | 76 ++++- ui/features/tags/consumer-rules.pro | 0 ui/features/tags/proguard-rules.pro | 21 ++ .../zouitel/tags/ExampleInstrumentedTest.kt | 24 ++ .../java/city/zouitel/tags/di/TagModule.kt | 29 ++ .../zouitel}/tags/mapper/NoteAndTagMapper.kt | 8 +- .../zouitel}/tags/mapper/TagMapper.kt | 8 +- .../city/zouitel/tags}/mapper/base/Mapper.kt | 2 +- .../zouitel}/tags/model/NoteAndTag.kt | 2 +- .../zouitel}/tags/model/Tag.kt | 2 +- .../zouitel}/tags/state/State.kt | 12 +- .../example => city/zouitel}/tags/ui/Tags.kt | 32 +- .../zouitel}/tags/utils/HashTagLayout.kt | 14 +- .../zouitel}/tags/utils/LableDialogColors.kt | 34 +- .../tags/viewmodel/NoteAndTagViewModel.kt | 15 +- .../zouitel}/tags/viewmodel/TagViewModel.kt | 15 +- .../java/com/example/tags/di/TagModule.kt | 22 -- .../java/city/zouitel/tags/ExampleUnitTest.kt | 17 + ui/features/tasks/build.gradle.kts | 68 +++- ui/features/tasks/consumer-rules.pro | 0 ui/features/tasks/proguard-rules.pro | 21 ++ .../zouitel/tasks/ExampleInstrumentedTest.kt | 24 ++ .../zouitel}/tasks/TaskList.kt | 22 +- .../java/city/zouitel/tasks/di/TaskModule.kt | 29 ++ .../tasks/mapper/NoteAndTaskMapper.kt | 8 +- .../zouitel}/tasks/mapper/TaskMapper.kt | 8 +- .../zouitel}/tasks/mapper/base/Mapper.kt | 2 +- .../zouitel}/tasks/model/NoteAndTask.kt | 2 +- .../java/city/zouitel/tasks}/model/Task.kt | 2 +- .../tasks/viewmodel}/NoteAndTaskViewModel.kt | 14 +- .../zouitel/tasks/viewmodel}/TaskViewModel.kt | 15 +- .../java/com/example/tasks/di/TaskModule.kt | 22 -- .../city/zouitel/tasks/ExampleUnitTest.kt | 17 + ui/features/widget/build.gradle.kts | 70 ++++- ui/features/widget/consumer-rules.pro | 0 ui/features/widget/proguard-rules.pro | 21 ++ .../zouitel/widget/ExampleInstrumentedTest.kt | 24 ++ .../widget/src/main/AndroidManifest.xml | 2 - .../java/city/zouitel/widget/EntryPoint.kt | 10 + .../zouitel/widget}/WidgetReceiver.kt | 7 +- .../city/zouitel/widget/di/WidgetModule.kt | 16 + .../zouitel/widget}/ui/AppWidget.kt | 21 +- .../zouitel/widget}/ui/WidgetViewModel.kt | 12 +- .../glance => city/zouitel/widget}/utils.kt | 2 +- .../java/com/example/glance/EntryPoint.kt | 14 - .../com/example/glance/di/WidgetModule.kt | 11 - .../city/zouitel/widget/ExampleUnitTest.kt | 17 + ui/graph/.gitignore | 1 - ui/graph/build.gradle.kts | 65 ---- ui/graph/src/main/AndroidManifest.xml | 4 - .../src/main/java/com/example/graph/CONS.kt | 10 - .../com/example/graph/getMaterialColor.kt | 5 - .../src/main/java/com/example/graph/sound.kt | 5 - .../quick-note => navigation}/.gitignore | 0 ui/navigation/build.gradle.kts | 117 +++++++ ui/navigation/consumer-rules.pro | 0 ui/navigation/proguard-rules.pro | 21 ++ .../navigation/ExampleInstrumentedTest.kt | 24 ++ .../src/main/AndroidManifest.xml | 1 + .../java/city/zouitel/navigation}/Graph.kt | 54 ++-- .../city/zouitel/navigation}/ImageDisplay.kt | 2 +- .../city/zouitel/navigation}/NoteTextField.kt | 8 +- .../about_screen/AboutDescription.kt | 10 +- .../navigation}/about_screen/AboutLabel.kt | 8 +- .../navigation}/about_screen/AboutSources.kt | 20 +- .../navigation}/about_screen/AppAbout.kt | 10 +- .../java/city/zouitel/navigation}/codeUrl.kt | 2 +- .../java/city/zouitel/navigation}/copyNote.kt | 14 +- .../zouitel/navigation/di/modulesPackage.kt | 17 + .../navigation}/draw_screen/DrawingNote.kt | 38 +-- .../zouitel/navigation/getMaterialColor.kt | 5 + .../navigation}/home_screen/NoteHome.kt | 64 ++-- .../navigation}/home_screen/UndoSnackbar.kt | 12 +- .../city/zouitel/navigation}/intentHandler.kt | 6 +- .../navigation_drawer/NavigationDrawer.kt | 46 +-- .../navigation}/navigation_drawer/Screens.kt | 2 +- .../zouitel/navigation}/note_card/NoteCard.kt | 80 ++--- .../zouitel/navigation}/note_card/utils.kt | 6 +- .../navigation}/settings_screen/Licenses.kt | 2 +- .../navigation}/settings_screen/Settings.kt | 24 +- .../city/zouitel/navigation}/shortcuts.kt | 2 +- .../java/city/zouitel/navigation/sound.kt | 5 + .../navigation}/top_action_bar/BroomData.kt | 6 +- .../top_action_bar/CustomTopAppBar.kt | 4 +- .../navigation}/top_action_bar/Layout.kt | 19 +- .../navigation}/top_action_bar/SearchField.kt | 22 +- .../navigation}/top_action_bar/SortBy.kt | 57 ++-- .../navigation}/top_action_bar/TopAppBar.kt | 10 +- .../top_action_bar/dialogs/EraseDialog.kt | 16 +- .../selection_bars/HomeSelectionTopAppBar.kt | 61 ++-- .../selection_bars/TrashSelectionTopAppBar.kt | 20 +- .../top_action_bar/selection_bars/utils.kt | 9 +- .../navigation}/top_action_bar/utils.kt | 20 +- .../navigation}/trash_screen/TrashScreen.kt | 68 ++-- .../city/zouitel/navigation}/urlPreview.kt | 2 +- .../src/main/res/drawable/baseline_add_24.xml | 0 ui/navigation/src/main/res/drawable/mat.jpg | Bin 0 -> 178596 bytes .../src/main/res/drawable/plus_24.xml | 0 .../zouitel/navigation/ExampleUnitTest.kt | 17 + 2159 files changed, 5816 insertions(+), 3957 deletions(-) delete mode 100644 .github/workflows/android.yml create mode 100644 .idea/.gitignore create mode 100644 .idea/appInsightsSettings.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/deploymentTargetDropDown.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml delete mode 100644 LICENSE create mode 100644 app/src/androidTest/java/city/zouitel/jetnote/ExampleInstrumentedTest.kt rename app/src/main/java/{com/example/mobile => city/zouitel/jetnote}/NoteActivity.kt (86%) create mode 100644 app/src/main/java/city/zouitel/jetnote/NoteApplication.kt rename app/src/main/java/{com/example/mobile => city/zouitel/jetnote}/utils.kt (100%) delete mode 100644 app/src/main/java/com/example/mobile/NoteApplication.kt rename {common/ui/src/main/res/drawable-xxhdpi => app/src/main/res/drawable}/ic_launcher_background.xml (100%) rename {common/ui/src/main/res/drawable-xxhdpi => app/src/main/res/drawable}/ic_launcher_foreground.xml (100%) create mode 100644 app/src/main/res/mipmap-anydpi/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi/ic_launcher_round.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/city/zouitel/jetnote/ExampleUnitTest.kt delete mode 100644 benchmark/build.gradle.kts delete mode 100644 benchmark/src/main/AndroidManifest.xml delete mode 100644 benchmark/src/main/java/com/example/benchmark/ExampleStartupBenchmark.kt delete mode 100644 common/effect/build.gradle.kts delete mode 100644 common/logic/build.gradle.kts delete mode 100644 common/mapper/build.gradle.kts delete mode 100644 common/ui/build.gradle.kts delete mode 100644 common/ui/src/main/java/com/example/common_ui/DispatcherMod.kt delete mode 100644 common/ui/src/main/java/com/example/common_ui/Utils.kt rename {benchmark => core/database}/.gitignore (100%) create mode 100644 core/database/build.gradle.kts create mode 100644 core/database/consumer-rules.pro create mode 100644 core/database/proguard-rules.pro create mode 100644 core/database/schemas/city.zouitel.database.Database/1.json create mode 100644 core/database/src/androidTest/java/city/zouitel/database/ExampleInstrumentedTest.kt rename {common/effect => core/database}/src/main/AndroidManifest.xml (100%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/Database.kt (89%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/Encryption.kt (87%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/DataDao.kt (84%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/LinkDao.kt (80%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/NoteAndLinkDao.kt (81%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/NoteAndTagDao.kt (81%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/NoteAndTaskDao.kt (81%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/NoteDao.kt (94%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/TagDao.kt (83%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/TaskDao.kt (81%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/dao/WidgetDao.kt (73%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/DataDataSourceImpl.kt (63%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/LinkDataSourceImpl.kt (65%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/NoteAndLinkDataSourceImpl.kt (68%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/NoteAndTagDataSourceImpl.kt (68%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/NoteAndTaskDataSourceImpl.kt (68%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/NoteDataSourceImpl.kt (84%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/TagDataSourceImpl.kt (69%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/datasourceImpl/TaskDataSourceImpl.kt (70%) create mode 100644 core/database/src/main/java/city/zouitel/database/datasourceImpl/WidgetDataSourceImpl.kt rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/di/DaoModule.kt (57%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/di/DataSourceModule.kt (57%) create mode 100644 core/database/src/main/java/city/zouitel/database/di/DatabaseDI.kt rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/di/DatabaseModule.kt (56%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/di/MapperModule.kt (60%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/DataMapper.kt (70%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/LinkMapper.kt (61%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/NoteAndLinkMapper.kt (58%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/NoteAndTagMapper.kt (58%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/NoteAndTaskMapper.kt (58%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/NoteMapper.kt (74%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/TagMapper.kt (56%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/TaskMapper.kt (56%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/WidgetMapper.kt (74%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/mapper/base/Mapper.kt (83%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/DataEntity.kt (54%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/LinkEntity.kt (56%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/NoteAndLinkEntity.kt (86%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/NoteAndTagEntity.kt (86%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/NoteAndTaskEntity.kt (85%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/TagEntity.kt (58%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/TaskEntity.kt (65%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/model/relational/NoteEntity.kt (85%) rename {data/local/src/main/java/com/example/local => core/database/src/main/java/city/zouitel/database}/utils/Constants.kt (96%) create mode 100644 core/database/src/test/java/city/zouitel/database/ExampleUnitTest.kt rename {common/effect => core/datastore}/.gitignore (100%) create mode 100644 core/datastore/build.gradle.kts create mode 100644 core/datastore/consumer-rules.pro create mode 100644 core/datastore/proguard-rules.pro create mode 100644 core/datastore/src/androidTest/java/city/zouitel/datastore/ExampleInstrumentedTest.kt rename {common/logic => core/datastore}/src/main/AndroidManifest.xml (100%) rename {data/datastore/src/main/java/com/example => core/datastore/src/main/java/city/zouitel}/datastore/Cons.kt (95%) rename {data/datastore/src/main/java/com/example => core/datastore/src/main/java/city/zouitel}/datastore/DataStoreModule.kt (75%) rename {data/datastore/src/main/java/com/example => core/datastore/src/main/java/city/zouitel}/datastore/DataStoreRepo.kt (92%) rename {data/datastore/src/main/java/com/example => core/datastore/src/main/java/city/zouitel}/datastore/DataStoreRepoImpl.kt (94%) rename {data/datastore/src/main/java/com/example => core/datastore/src/main/java/city/zouitel}/datastore/Keys.kt (85%) create mode 100644 core/datastore/src/main/java/city/zouitel/datastore/RepoMod.kt create mode 100644 core/datastore/src/main/java/city/zouitel/datastore/datastoreDI.kt create mode 100644 core/datastore/src/test/java/city/zouitel/datastore/ExampleUnitTest.kt rename {common/logic => core/repository}/.gitignore (100%) create mode 100644 core/repository/build.gradle.kts create mode 100644 core/repository/consumer-rules.pro create mode 100644 core/repository/proguard-rules.pro create mode 100644 core/repository/src/androidTest/java/city/zouitel/repository/ExampleInstrumentedTest.kt rename {common/mapper => core/repository}/src/main/AndroidManifest.xml (100%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/DataDataSource.kt (68%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/ExoDataSource.kt (88%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/LinkDataSource.kt (68%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/NoteAndLinkDataSource.kt (72%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/NoteAndTagDataSource.kt (72%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/NoteAndTaskDataSource.kt (72%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/NoteDataSource.kt (82%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/TagDataSource.kt (71%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/datasource/TaskDataSource.kt (73%) create mode 100644 core/repository/src/main/java/city/zouitel/repository/datasource/WidgetDataSource.kt rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/di/MapperModule.kt (60%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/di/RepositoryModule.kt (56%) create mode 100644 core/repository/src/main/java/city/zouitel/repository/di/repositoryDI.kt rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/DataMapper.kt (71%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/LinkMapper.kt (62%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/NoteAndLinkMapper.kt (59%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/NoteAndTagMapper.kt (59%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/NoteAndTaskMapper.kt (59%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/NoteMapper.kt (75%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/TagMapper.kt (57%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/TaskMapper.kt (57%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/WidgetMapper.kt (75%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/mapper/base/Mapper.kt (83%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/Data.kt (82%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/Link.kt (86%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/Note.kt (69%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/NoteAndLink.kt (75%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/NoteAndTag.kt (74%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/NoteAndTask.kt (74%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/Tag.kt (78%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/model/Task.kt (78%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/DataRepositoryImpl.kt (62%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/LinkRepositoryImpl.kt (64%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt (66%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt (62%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt (66%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/NoteRepositoryImpl.kt (83%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/TagRepositoryImpl.kt (68%) rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/repositoryImpl/TaskRepositoryImpl.kt (69%) create mode 100644 core/repository/src/main/java/city/zouitel/repository/repositoryImpl/WidgetRepositoryImpl.kt rename {data/repository/src/main/java/com/example => core/repository/src/main/java/city/zouitel}/repository/utils/Constants.kt (60%) create mode 100644 core/repository/src/test/java/city/zouitel/repository/ExampleUnitTest.kt delete mode 100644 data/datastore/.gitignore delete mode 100644 data/datastore/build.gradle.kts delete mode 100644 data/datastore/src/main/java/com/example/datastore/RepoMod.kt delete mode 100644 data/local/.gitignore delete mode 100644 data/local/build.gradle.kts delete mode 100644 data/local/src/main/AndroidManifest.xml delete mode 100644 data/local/src/main/java/com/example/local/datasourceImpl/WidgetDataSourceImpl.kt delete mode 100644 data/repository/build.gradle.kts delete mode 100644 data/repository/src/main/java/com/example/repository/datasource/WidgetDataSource.kt delete mode 100644 data/repository/src/main/java/com/example/repository/repositoryImpl/WidgetRepositoryImpl.kt create mode 100644 domain/consumer-rules.pro create mode 100644 domain/proguard-rules.pro create mode 100644 domain/src/androidTest/java/city/zouitel/domain/ExampleInstrumentedTest.kt create mode 100644 domain/src/main/java/city/zouitel/domain/di/ExoPlayerModule.kt create mode 100644 domain/src/main/java/city/zouitel/domain/di/useCasesDI.kt rename domain/src/main/java/{com/example => city/zouitel}/domain/exoplayer/ExoPlayerImpl.kt (92%) rename domain/src/main/java/{com/example => city/zouitel}/domain/exoplayer/ExoRepo.kt (89%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/Data.kt (84%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/Link.kt (87%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/Note.kt (84%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/NoteAndLink.kt (77%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/NoteAndTag.kt (76%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/NoteAndTask.kt (76%) rename domain/src/main/java/{com/example => city/zouitel}/domain/model/Tag.kt (80%) rename {ui/features/tasks/src/main/java/com/example/tasks => domain/src/main/java/city/zouitel/domain}/model/Task.kt (80%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/DataRepository.kt (68%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/ExoRepository.kt (89%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/LinkRepository.kt (70%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/NoteAndLinkRepository.kt (71%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/NoteAndTagRepository.kt (71%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/NoteAndTaskRepository.kt (71%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/NoteRepository.kt (82%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/TagRepository.kt (71%) rename domain/src/main/java/{com/example => city/zouitel}/domain/repository/TaskRepository.kt (73%) create mode 100644 domain/src/main/java/city/zouitel/domain/repository/WidgetRepository.kt rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/DataUseCase.kt (63%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/LinkUseCase.kt (59%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/NoteAndLinkUseCase.kt (59%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/NoteAndTagUseCase.kt (61%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/NoteAndTaskUseCase.kt (62%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/NoteUseCase.kt (66%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/TagUseCase.kt (63%) rename domain/src/main/java/{com/example => city/zouitel}/domain/usecase/TaskUseCase.kt (63%) create mode 100644 domain/src/main/java/city/zouitel/domain/usecase/WidgetUseCase.kt rename domain/src/main/java/{com/example => city/zouitel}/domain/utils/Constants.kt (62%) rename domain/src/main/java/{com/example => city/zouitel}/domain/utils/Dispatcher.kt (60%) rename domain/src/main/java/{com/example => city/zouitel}/domain/utils/Dispatchers.kt (63%) delete mode 100644 domain/src/main/java/com/example/domain/di/ExoPlayerModule.kt delete mode 100644 domain/src/main/java/com/example/domain/repository/WidgetRepository.kt delete mode 100644 domain/src/main/java/com/example/domain/usecase/WidgetUseCase.kt create mode 100644 domain/src/test/java/city/zouitel/domain/ExampleUnitTest.kt create mode 100644 enigma-backup/.gitignore delete mode 100644 gradle/libraries.versions.toml create mode 100644 gradle/libs.versions.toml create mode 100644 init/consumer-rules.pro create mode 100644 init/proguard-rules.pro create mode 100644 init/src/androidTest/java/city/zouitel/init/ExampleInstrumentedTest.kt delete mode 100644 init/src/main/java/city/zouitel/init/WorkManagerInitializerEntryPoint.kt create mode 100644 init/src/main/java/city/zouitel/init/WorkerDI.kt create mode 100644 init/src/test/java/city/zouitel/init/ExampleUnitTest.kt delete mode 100644 plugins/.gradle/7.6.1/executionHistory/executionHistory.bin delete mode 100644 plugins/.gradle/7.6.1/executionHistory/executionHistory.lock delete mode 100644 plugins/.gradle/buildOutputCleanup/buildOutputCleanup.lock delete mode 100644 plugins/.gradle/buildOutputCleanup/cache.properties delete mode 100644 plugins/.gradle/buildOutputCleanup/outputFiles.bin delete mode 100644 plugins/.gradle/file-system.probe delete mode 100644 plugins/build.gradle.kts delete mode 100644 plugins/settings.gradle.kts delete mode 100644 plugins/src/main/java/com/example/plugins/Bundles.kt delete mode 100644 plugins/src/main/java/com/example/plugins/Extensions.kt delete mode 100644 plugins/src/main/java/com/example/plugins/Libraries.kt delete mode 100644 plugins/src/main/java/com/example/plugins/Versions.kt delete mode 100644 plugins/src/main/java/com/example/plugins/city.android-lib.gradle.kts delete mode 100644 plugins/src/main/java/com/example/plugins/city.compose-lib.gradle.kts delete mode 100644 plugins/src/main/java/com/example/plugins/city.dagger-hilt.gradle.kts delete mode 100644 service/notification/build.gradle.kts rename {common/mapper => services/notifications}/.gitignore (100%) create mode 100644 services/notifications/build.gradle.kts create mode 100644 services/notifications/consumer-rules.pro create mode 100644 services/notifications/proguard-rules.pro create mode 100644 services/notifications/src/androidTest/java/city/zouitel/notifications/ExampleInstrumentedTest.kt rename {service/notification => services/notifications}/src/main/AndroidManifest.xml (100%) create mode 100644 services/notifications/src/main/java/city/zouitel/notifications/Cons.kt rename {service/notification/src/main/java/com/example/notification => services/notifications/src/main/java/city/zouitel/notifications}/di/NotificationModule.kt (53%) create mode 100644 services/notifications/src/main/java/city/zouitel/notifications/di/notificationDI.kt rename {service/notification/src/main/java/com/example/notification => services/notifications/src/main/java/city/zouitel/notifications}/reciver/Notification.kt (67%) rename service/notification/src/main/java/com/example/notification/reciver/HiltBroadcastReceiver.kt => services/notifications/src/main/java/city/zouitel/notifications/reciver/NotifyBroadcastReceiver.kt (64%) rename {service/notification/src/main/java/com/example/notification => services/notifications/src/main/java/city/zouitel/notifications}/viewmodel/NotificationVM.kt (82%) create mode 100644 services/notifications/src/test/java/city/zouitel/notifications/ExampleUnitTest.kt rename {common/ui => ui/common/logic}/.gitignore (100%) create mode 100644 ui/common/logic/build.gradle.kts create mode 100644 ui/common/logic/consumer-rules.pro create mode 100644 ui/common/logic/proguard-rules.pro create mode 100644 ui/common/logic/src/androidTest/java/city/zouitel/logic/ExampleInstrumentedTest.kt rename {common/ui => ui/common/logic}/src/main/AndroidManifest.xml (100%) create mode 100644 ui/common/logic/src/test/java/city/zouitel/logic/ExampleUnitTest.kt rename {data/repository => ui/common/systemDesign}/.gitignore (100%) create mode 100644 ui/common/systemDesign/build.gradle.kts create mode 100644 ui/common/systemDesign/consumer-rules.pro create mode 100644 ui/common/systemDesign/proguard-rules.pro create mode 100644 ui/common/systemDesign/src/androidTest/java/city/zouitel/systemDesign/ExampleInstrumentedTest.kt rename {data/datastore => ui/common/systemDesign}/src/main/AndroidManifest.xml (100%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/AdaptingRow.kt (71%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/BackgroundColors.kt (95%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/Cons.kt (92%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/DataStoreVM.kt (86%) create mode 100644 ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DispatcherMod.kt rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/Icons.kt (97%) rename ui/{graph/src/main/java/com/example/graph => common/systemDesign/src/main/java/city/zouitel/systemDesign}/ImageDisplay.kt (96%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/Lambda.kt (90%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/MaterialColors.kt (99%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/Popup.kt (57%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/SoundEffect.kt (91%) rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/TextColors.kt (92%) create mode 100644 ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Utils.kt rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/VerticalGrid.kt (98%) create mode 100644 ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/di/dataStoreDI.kt rename {common/ui/src/main/java/com/example/common_ui => ui/common/systemDesign/src/main/java/city/zouitel/systemDesign}/listOfPriorityColors.kt (83%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_small_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/angle_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/apps_sort_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/apps_sort_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/apps_sort_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/apps_sort_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/apps_sort_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_ring_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_ring_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_ring_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_ring_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/bell_ring_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/broom_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/broom_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/broom_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/broom_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/broom_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/calendar_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/calendar_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/calendar_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/calendar_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/calendar_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/camera_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/camera_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/camera_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/camera_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/camera_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/checkbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/checkbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/checkbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/checkbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/checkbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/clock_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/clock_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/clock_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/clock_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/clock_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_disabled_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_disabled_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_disabled_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_disabled_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_disabled_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_upload_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_upload_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_upload_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_upload_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cloud_upload_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/comment_exclamation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/comment_exclamation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/comment_exclamation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/comment_exclamation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/comment_exclamation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/copy_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/copy_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/copy_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/copy_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/copy_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/cross_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/delete_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/delete_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/delete_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/delete_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/delete_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/disk_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/disk_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/disk_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/disk_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/disk_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/exit_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/exit_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/exit_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/exit_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/exit_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/github_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/github_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/github_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/github_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/github_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/globe_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/globe_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/globe_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/globe_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/globe_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/home_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/home_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/home_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/home_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/home_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/inbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/inbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/inbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/inbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/inbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interlining_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interlining_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interlining_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interlining_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interlining_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_18_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_20_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_36_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/interrogation_48_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/list_check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/list_check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/list_check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/list_check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/list_check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/menu_burger_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/menu_burger_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/menu_burger_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/menu_burger_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/menu_burger_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/microphone_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/microphone_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/microphone_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/microphone_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/microphone_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/moon_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/moon_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/moon_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/moon_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/moon_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/no_label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/no_label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/no_label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/no_label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/no_label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/opacity_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/opacity_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/opacity_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/opacity_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/opacity_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pause_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pause_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pause_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pause_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pause_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pencil_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pencil_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pencil_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pencil_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/pencil_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/picture_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/picture_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/picture_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/picture_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/picture_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/play_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/play_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/play_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/play_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/play_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/plus_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/plus_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/plus_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/plus_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/plus_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/remove_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/remove_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/remove_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/remove_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/remove_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/reset_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/reset_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/reset_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/reset_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/reset_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/rotate_left_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/rotate_left_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/rotate_left_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/rotate_left_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/rotate_left_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/settings_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/settings_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/settings_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/settings_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/settings_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/share_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/share_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/share_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/share_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/share_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alpha_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alpha_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alpha_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alpha_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alpha_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_down_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_down_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_down_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_down_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_down_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_up_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_up_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_up_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_up_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_amount_up_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_numeric_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_numeric_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_numeric_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_numeric_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sort_numeric_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/stop_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/stop_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/stop_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/stop_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/stop_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sun_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sun_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sun_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sun_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/sun_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/tags_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/tags_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/tags_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/tags_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/tags_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/trash_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/trash_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/trash_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/trash_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/trash_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/user_add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/void_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/void_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/void_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/void_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/void_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/wifi_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/wifi_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/wifi_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/wifi_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-hdpi/wifi_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_small_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/angle_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/apps_sort_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/apps_sort_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/apps_sort_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/apps_sort_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/apps_sort_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_ring_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_ring_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_ring_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_ring_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/bell_ring_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/broom_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/broom_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/broom_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/broom_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/broom_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/calendar_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/calendar_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/calendar_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/calendar_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/calendar_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/camera_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/camera_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/camera_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/camera_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/camera_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/checkbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/checkbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/checkbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/checkbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/checkbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/clock_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/clock_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/clock_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/clock_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/clock_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_disabled_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_disabled_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_disabled_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_disabled_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_disabled_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_upload_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_upload_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_upload_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_upload_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cloud_upload_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/comment_exclamation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/comment_exclamation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/comment_exclamation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/comment_exclamation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/comment_exclamation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/copy_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/copy_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/copy_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/copy_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/copy_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/cross_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/delete_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/delete_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/delete_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/delete_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/delete_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/disk_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/disk_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/disk_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/disk_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/disk_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/exit_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/exit_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/exit_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/exit_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/exit_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/github_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/github_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/github_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/github_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/github_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/globe_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/globe_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/globe_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/globe_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/globe_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/home_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/home_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/home_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/home_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/home_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/inbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/inbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/inbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/inbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/inbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interlining_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interlining_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interlining_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interlining_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interlining_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_18_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_20_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_36_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/interrogation_48_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/list_check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/list_check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/list_check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/list_check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/list_check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/menu_burger_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/menu_burger_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/menu_burger_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/menu_burger_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/menu_burger_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/microphone_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/microphone_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/microphone_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/microphone_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/microphone_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/moon_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/moon_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/moon_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/moon_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/moon_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/no_label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/no_label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/no_label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/no_label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/no_label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/opacity_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/opacity_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/opacity_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/opacity_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/opacity_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/pause_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/pause_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/pause_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/pause_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/pause_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/picture_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/picture_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/picture_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/picture_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/picture_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/play_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/play_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/play_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/play_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/play_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/plus_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/plus_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/plus_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/plus_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/plus_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/remove_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/remove_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/remove_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/remove_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/remove_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/reset_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/reset_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/reset_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/reset_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/reset_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/rotate_left_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/rotate_left_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/rotate_left_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/rotate_left_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/rotate_left_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/settings_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/settings_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/settings_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/settings_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/settings_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/share_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/share_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/share_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/share_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/share_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alpha_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alpha_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alpha_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alpha_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alpha_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_down_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_down_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_down_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_down_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_down_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_up_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_up_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_up_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_up_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_amount_up_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_numeric_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_numeric_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_numeric_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_numeric_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sort_numeric_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/stop_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/stop_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/stop_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/stop_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/stop_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sun_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sun_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sun_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sun_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/sun_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/tags_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/tags_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/tags_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/tags_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/tags_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/trash_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/trash_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/trash_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/trash_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/trash_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/user_add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/void_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/void_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/void_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/void_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/void_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/wifi_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/wifi_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/wifi_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/wifi_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-mdpi/wifi_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_small_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/angle_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/apps_sort_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/apps_sort_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/apps_sort_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/apps_sort_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/apps_sort_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_ring_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_ring_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_ring_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_ring_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/bell_ring_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/broom_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/broom_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/broom_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/broom_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/broom_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/calendar_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/calendar_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/calendar_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/calendar_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/calendar_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/camera_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/camera_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/camera_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/camera_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/camera_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/checkbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/checkbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/checkbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/checkbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/checkbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/clock_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/clock_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/clock_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/clock_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/clock_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_disabled_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_disabled_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_disabled_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_disabled_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_disabled_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_upload_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_upload_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_upload_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_upload_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cloud_upload_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/comment_exclamation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/comment_exclamation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/comment_exclamation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/comment_exclamation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/comment_exclamation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/copy_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/copy_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/copy_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/copy_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/copy_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/cross_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/delete_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/delete_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/delete_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/delete_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/delete_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/disk_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/disk_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/disk_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/disk_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/disk_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/exit_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/exit_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/exit_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/exit_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/exit_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/github_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/github_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/github_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/github_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/github_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/globe_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/globe_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/globe_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/globe_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/globe_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/home_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/home_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/home_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/home_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/home_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/inbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/inbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/inbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/inbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/inbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interlining_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interlining_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interlining_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interlining_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interlining_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_18_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_20_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_36_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/interrogation_48_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/list_check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/list_check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/list_check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/list_check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/list_check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/menu_burger_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/menu_burger_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/menu_burger_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/menu_burger_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/menu_burger_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/microphone_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/microphone_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/microphone_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/microphone_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/microphone_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/moon_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/moon_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/moon_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/moon_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/moon_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/no_label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/no_label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/no_label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/no_label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/no_label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/opacity_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/opacity_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/opacity_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/opacity_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/opacity_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/pause_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/pause_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/pause_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/pause_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/pause_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/picture_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/picture_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/picture_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/picture_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/picture_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/play_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/play_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/play_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/play_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/play_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/plus_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/plus_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/plus_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/plus_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/plus_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/remove_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/remove_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/remove_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/remove_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/remove_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/reset_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/reset_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/reset_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/reset_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/reset_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/rotate_left_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/rotate_left_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/rotate_left_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/rotate_left_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/rotate_left_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/settings_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/settings_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/settings_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/settings_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/settings_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/share_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/share_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/share_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/share_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/share_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alpha_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alpha_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alpha_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alpha_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alpha_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_down_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_down_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_down_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_down_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_down_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_up_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_up_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_up_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_up_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_amount_up_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_numeric_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_numeric_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_numeric_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_numeric_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sort_numeric_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/stop_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/stop_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/stop_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/stop_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/stop_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sun_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sun_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sun_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sun_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/sun_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/tags_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/tags_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/tags_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/tags_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/tags_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/trash_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/trash_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/trash_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/trash_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/trash_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/user_add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/void_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/void_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/void_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/void_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/void_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/wifi_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/wifi_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/wifi_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/wifi_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xhdpi/wifi_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_small_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/angle_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/apps_sort_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/apps_sort_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/apps_sort_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/apps_sort_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/apps_sort_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_ring_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_ring_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_ring_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_ring_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/bell_ring_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/broom_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/broom_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/broom_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/broom_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/broom_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/calendar_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/calendar_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/calendar_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/calendar_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/calendar_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/camera_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/camera_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/camera_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/camera_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/camera_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/checkbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/checkbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/checkbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/checkbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/checkbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/clock_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/clock_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/clock_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/clock_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/clock_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_disabled_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_disabled_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_disabled_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_disabled_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_disabled_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_upload_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_upload_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_upload_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_upload_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cloud_upload_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/comment_exclamation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/comment_exclamation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/comment_exclamation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/comment_exclamation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/comment_exclamation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/copy_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/copy_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/copy_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/copy_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/copy_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/cross_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/delete_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/delete_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/delete_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/delete_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/delete_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/disk_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/disk_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/disk_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/disk_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/disk_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/exit_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/exit_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/exit_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/exit_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/exit_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/github_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/github_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/github_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/github_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/github_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/globe_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/globe_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/globe_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/globe_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/globe_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/home_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/home_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/home_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/home_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/home_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/ic_image.xml (100%) rename {common/ui/src/main/res/drawable => ui/common/systemDesign/src/main/res/drawable-xxhdpi}/ic_launcher_background.xml (100%) rename {common/ui/src/main/res/drawable => ui/common/systemDesign/src/main/res/drawable-xxhdpi}/ic_launcher_foreground.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/ic_logo.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/ic_music.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/ic_round_pause.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/ic_round_play_arrow.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/inbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/inbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/inbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/inbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/inbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interlining_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interlining_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interlining_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interlining_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interlining_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_18_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_20_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_36_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/interrogation_48_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/list_check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/list_check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/list_check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/list_check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/list_check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/menu_burger_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/menu_burger_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/menu_burger_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/menu_burger_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/menu_burger_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/microphone_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/microphone_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/microphone_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/microphone_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/microphone_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/moon_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/moon_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/moon_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/moon_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/moon_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/no_label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/no_label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/no_label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/no_label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/no_label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/opacity_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/opacity_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/opacity_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/opacity_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/opacity_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pause_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pause_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pause_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pause_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pause_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pencil_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pencil_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pencil_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pencil_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/pencil_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/picture_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/picture_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/picture_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/picture_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/picture_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/play_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/play_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/play_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/play_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/play_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/plus_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/plus_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/plus_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/plus_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/plus_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/remove_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/remove_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/remove_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/remove_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/remove_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/reset_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/reset_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/reset_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/reset_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/reset_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/rotate_left_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/rotate_left_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/rotate_left_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/rotate_left_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/rotate_left_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/settings_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/settings_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/settings_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/settings_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/settings_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/share_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/share_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/share_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/share_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/share_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alpha_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alpha_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alpha_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alpha_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alpha_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_down_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_down_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_down_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_down_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_down_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_up_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_up_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_up_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_up_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_amount_up_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_numeric_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_numeric_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_numeric_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_numeric_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sort_numeric_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/stop_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/stop_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/stop_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/stop_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/stop_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sun_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sun_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sun_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sun_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/sun_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/tags_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/tags_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/tags_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/tags_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/tags_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/trash_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/trash_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/trash_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/trash_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/trash_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/user_add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/vinyl_background.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/void_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/void_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/void_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/void_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/void_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/wifi_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/wifi_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/wifi_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/wifi_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxhdpi/wifi_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_small_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_up_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_up_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_up_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_up_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/angle_up_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/apps_sort_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/apps_sort_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/apps_sort_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/apps_sort_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/apps_sort_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_ring_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_ring_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_ring_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_ring_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/bell_ring_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/broom_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/broom_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/broom_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/broom_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/broom_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/calendar_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/calendar_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/calendar_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/calendar_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/calendar_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/camera_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/camera_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/camera_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/camera_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/camera_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/checkbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/checkbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/checkbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/checkbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/checkbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/clock_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/clock_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/clock_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/clock_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/clock_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_disabled_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_disabled_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_disabled_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_disabled_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_disabled_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_upload_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_upload_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_upload_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_upload_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cloud_upload_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/comment_exclamation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/comment_exclamation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/comment_exclamation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/comment_exclamation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/comment_exclamation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/copy_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/copy_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/copy_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/copy_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/copy_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/cross_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/delete_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/delete_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/delete_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/delete_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/delete_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/disk_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/disk_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/disk_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/disk_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/disk_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/download_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/download_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/download_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/download_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/download_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/exit_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/exit_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/exit_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/exit_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/exit_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/github_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/github_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/github_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/github_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/github_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/globe_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/globe_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/globe_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/globe_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/globe_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/home_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/home_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/home_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/home_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/home_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/inbox_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/inbox_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/inbox_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/inbox_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/inbox_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interlining_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interlining_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interlining_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interlining_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interlining_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_18_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_20_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_24_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_36_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/interrogation_48_.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/list_check_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/list_check_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/list_check_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/list_check_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/list_check_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/menu_burger_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/menu_burger_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/menu_burger_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/menu_burger_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/menu_burger_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/microphone_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/microphone_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/microphone_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/microphone_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/microphone_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/moon_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/moon_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/moon_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/moon_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/moon_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/no_label_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/no_label_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/no_label_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/no_label_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/no_label_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/opacity_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/opacity_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/opacity_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/opacity_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/opacity_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/pause_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/pause_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/pause_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/pause_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/pause_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/picture_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/picture_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/picture_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/picture_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/picture_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/play_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/play_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/play_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/play_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/play_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/plus_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/plus_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/plus_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/plus_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/plus_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/remove_user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/remove_user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/remove_user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/remove_user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/remove_user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/reset_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/reset_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/reset_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/reset_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/reset_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/rotate_left_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/rotate_left_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/rotate_left_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/rotate_left_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/rotate_left_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/settings_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/settings_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/settings_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/settings_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/settings_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/share_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/share_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/share_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/share_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/share_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alpha_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alpha_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alpha_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alpha_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alpha_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_numeric_down_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_numeric_down_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_numeric_down_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_numeric_down_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sort_numeric_down_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/stop_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/stop_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/stop_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/stop_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/stop_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sun_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sun_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sun_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sun_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/sun_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/tags_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/tags_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/tags_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/tags_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/tags_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/trash_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/trash_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/trash_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/trash_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/trash_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_add_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_add_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_add_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_add_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/user_add_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/void_circle_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/void_circle_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/void_circle_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/void_circle_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/void_circle_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/wifi_alt_18.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/wifi_alt_20.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/wifi_alt_24.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/wifi_alt_36.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable-xxxhdpi/wifi_alt_48.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/add_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/angle_down_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/angle_small_down_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/angle_small_up_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/angle_up_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/apps_sort_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/bell_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/bell_ring_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/brightness.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/broom_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/calendar_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/camera_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/check_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/checkbox_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/circle_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/clock_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cloud_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cloud_disabled_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cloud_download_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cloud_upload_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/comment_exclamation_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/copy_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cross_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cross_circle_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/cross_circle_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/delete_user_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/disk_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/download_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/exit_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/github_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/globe_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/home_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_baseline_add_photo_alternate_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_baseline_circle_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_baseline_dashboard_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_baseline_delete_outline_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_baseline_gesture_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_baseline_view_agenda_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/ic_eraser_black_24dp.xml (100%) create mode 100644 ui/common/systemDesign/src/main/res/drawable/ic_launcher_background.xml create mode 100644 ui/common/systemDesign/src/main/res/drawable/ic_launcher_foreground.xml rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/inbox_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/interlining_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/interrogation_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/interrogation_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/label_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/list_check_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/mat.jpg (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/menu_burger_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/microphone_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/moon_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/no_label_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/opacity_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/paint_palette.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/pause_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/picture_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/play_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/plus_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/redo.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/remove_user_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/reset_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/rotate_left_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/settings_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/share_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sort.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sort_alpha_down_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sort_alt_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sort_amount_down_alt_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sort_amount_up_alt_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sort_numeric_down_24_.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/stop_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/sun_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/tags_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/trash_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/undo.png (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/user_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/user_add_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/void_circle_24.xml (100%) rename {common/ui => ui/common/systemDesign}/src/main/res/drawable/wifi_alt_24_.xml (100%) create mode 100644 ui/common/systemDesign/src/test/java/city/zouitel/systemDesign/ExampleUnitTest.kt rename {plugins => ui/features/audios}/.gitignore (100%) create mode 100644 ui/features/audios/build.gradle.kts create mode 100644 ui/features/audios/consumer-rules.pro create mode 100644 ui/features/audios/proguard-rules.pro create mode 100644 ui/features/audios/src/androidTest/java/city/zouitel/audios/ExampleInstrumentedTest.kt rename {data/repository => ui/features/audios}/src/main/AndroidManifest.xml (100%) rename ui/features/{media-player/src/main/java/com/example/media_player => audios/src/main/java/city/zouitel/audios}/MediaPlayerViewModel.kt (74%) rename ui/features/{media-player/src/main/java/com/example/media_player => audios/src/main/java/city/zouitel/audios}/NoteMediaPlayer.kt (69%) create mode 100644 ui/features/audios/src/main/java/city/zouitel/audios/di/ExoPlayerMod.kt create mode 100644 ui/features/audios/src/main/java/city/zouitel/audios/di/exoPlayerDI.kt create mode 100644 ui/features/audios/src/test/java/city/zouitel/audios/ExampleUnitTest.kt create mode 100644 ui/features/camera/consumer-rules.pro create mode 100644 ui/features/camera/proguard-rules.pro create mode 100644 ui/features/camera/src/androidTest/java/city/zouitel/camera/ExampleInstrumentedTest.kt delete mode 100644 ui/features/camera/src/main/java/com/example/camera/AdaptingRow.kt delete mode 100644 ui/features/camera/src/main/java/com/example/camera/AddImageDialog.kt delete mode 100644 ui/features/camera/src/main/java/com/example/camera/CameraCompose.kt delete mode 100644 ui/features/camera/src/main/java/com/example/camera/CameraXVM.kt delete mode 100644 ui/features/camera/src/main/java/com/example/camera/Commons.kt delete mode 100644 ui/features/camera/src/main/java/com/example/camera/LaunchCameraX.kt create mode 100644 ui/features/camera/src/test/java/city/zouitel/camera/ExampleUnitTest.kt create mode 100644 ui/features/links/consumer-rules.pro create mode 100644 ui/features/links/proguard-rules.pro create mode 100644 ui/features/links/src/androidTest/java/city/zouitel/links/ExampleInstrumentedTest.kt create mode 100644 ui/features/links/src/main/java/city/zouitel/links/di/LinkModule.kt create mode 100644 ui/features/links/src/main/java/city/zouitel/links/di/linksDI.kt rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/mapper/LinkMapper.kt (63%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/mapper/NoteAndLinkMapper.kt (61%) rename ui/features/{tags/src/main/java/com/example/tags => links/src/main/java/city/zouitel/links}/mapper/base/Mapper.kt (84%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/model/Link.kt (87%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/model/NoteAndLink.kt (77%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/ui/CacheLinks.kt (98%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/ui/LinkPart.kt (96%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/ui/LinkVM.kt (90%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/ui/NoteAndLinkVM.kt (76%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/utils/Constants.kt (100%) rename ui/features/links/src/main/java/{com/example => city/zouitel}/links/worker/LinkWorker.kt (78%) delete mode 100644 ui/features/links/src/main/java/com/example/links/di/LinkModule.kt create mode 100644 ui/features/links/src/test/java/city/zouitel/links/ExampleUnitTest.kt delete mode 100644 ui/features/media-player/build.gradle.kts delete mode 100644 ui/features/media-player/src/main/java/com/example/media_player/di/ExoPlayerMod.kt create mode 100644 ui/features/note/consumer-rules.pro create mode 100644 ui/features/note/proguard-rules.pro create mode 100644 ui/features/note/src/androidTest/java/city/zouitel/note/ExampleInstrumentedTest.kt rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/DataViewModel.kt (95%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/NoteViewModel.kt (93%) create mode 100644 ui/features/note/src/main/java/city/zouitel/note/di/NoteModule.kt rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/mapper/DataMapper.kt (73%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/mapper/NoteMapper.kt (63%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/mapper/base/Mapper.kt (84%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/model/Data.kt (85%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/model/Note.kt (50%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/ColorsRow.kt (83%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/add_screen/AddNote.kt (88%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/bottom_bar/AddEditBottomBar.kt (85%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/bottom_bar/Plus.kt (88%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/bottom_bar/PriorityList.kt (88%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/bottom_bar/UndoRedo.kt (89%) rename ui/features/note/src/main/java/{com/example => city/zouitel}/note/ui/edit_screen/EditNote.kt (88%) delete mode 100644 ui/features/note/src/main/java/com/example/note/di/NoteModule.kt create mode 100644 ui/features/note/src/test/java/city/zouitel/note/ExampleUnitTest.kt delete mode 100644 ui/features/quick-note/build.gradle.kts delete mode 100644 ui/features/quick-note/src/main/java/com/example/quick_note/di/QuickDataModule.kt rename {service/notification => ui/features/quickNote}/.gitignore (100%) create mode 100644 ui/features/quickNote/build.gradle.kts create mode 100644 ui/features/quickNote/consumer-rules.pro create mode 100644 ui/features/quickNote/proguard-rules.pro create mode 100644 ui/features/quickNote/src/androidTest/java/city/zouitel/quicknote/ExampleInstrumentedTest.kt rename ui/features/{media-player => quickNote}/src/main/AndroidManifest.xml (100%) rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/Quick.kt (92%) rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/QuickActivity.kt (84%) rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/QuickDataViewModel.kt (52%) rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/QuickTileService.kt (77%) create mode 100644 ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickDataModule.kt create mode 100644 ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickNoteDI.kt rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/mapper/QuickDataMapper.kt (71%) rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/mapper/base/Mapper.kt (83%) rename ui/features/{quick-note/src/main/java/com/example/quick_note => quickNote/src/main/java/city/zouitel/quicknote}/model/QuickData.kt (83%) create mode 100644 ui/features/quickNote/src/test/java/city/zouitel/quicknote/ExampleUnitTest.kt delete mode 100644 ui/features/record/.gitignore delete mode 100644 ui/features/record/build.gradle.kts rename ui/features/{media-player => recorder}/.gitignore (100%) create mode 100644 ui/features/recorder/build.gradle.kts create mode 100644 ui/features/recorder/consumer-rules.pro create mode 100644 ui/features/recorder/proguard-rules.pro create mode 100644 ui/features/recorder/src/androidTest/java/city/zouitel/recoder/ExampleInstrumentedTest.kt rename ui/features/{record => recorder}/src/main/AndroidManifest.xml (100%) create mode 100644 ui/features/recorder/src/main/java/city/zouitel/recoder/di/recorderDI.kt rename ui/features/{record/src/main/java/com/example/record => recorder/src/main/java/city/zouitel/recoder/ui}/RecordController.kt (90%) rename ui/features/{record/src/main/java/com/example/record => recorder/src/main/java/city/zouitel/recoder/ui}/RecordTimer.kt (92%) rename ui/features/{record/src/main/java/com/example/record => recorder/src/main/java/city/zouitel/recoder/ui}/RecordingNote.kt (68%) rename ui/features/{record/src/main/java/com/example/record => recorder/src/main/java/city/zouitel/recoder/viewmodel}/MediaRecordVM.kt (94%) rename ui/features/{record/src/main/java/com/example/record/RecordVM.kt => recorder/src/main/java/city/zouitel/recoder/viewmodel/RecorderVM.kt} (80%) create mode 100644 ui/features/recorder/src/test/java/city/zouitel/recoder/ExampleUnitTest.kt create mode 100644 ui/features/reminder/consumer-rules.pro create mode 100644 ui/features/reminder/proguard-rules.pro create mode 100644 ui/features/reminder/src/androidTest/java/city/zouitel/reminder/ExampleInstrumentedTest.kt create mode 100644 ui/features/reminder/src/main/java/city/zouitel/reminder/di/reminderKoinModule.kt rename ui/features/reminder/src/main/java/{com/example/reminder => city/zouitel/reminder/ui}/RemindingNote.kt (87%) rename ui/features/reminder/src/main/java/{com/example/reminder => city/zouitel/reminder/viewmodel}/ReminderVM.kt (97%) create mode 100644 ui/features/reminder/src/test/java/city/zouitel/reminder/ExampleUnitTest.kt create mode 100644 ui/features/tags/consumer-rules.pro create mode 100644 ui/features/tags/proguard-rules.pro create mode 100644 ui/features/tags/src/androidTest/java/city/zouitel/tags/ExampleInstrumentedTest.kt create mode 100644 ui/features/tags/src/main/java/city/zouitel/tags/di/TagModule.kt rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/mapper/NoteAndTagMapper.kt (61%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/mapper/TagMapper.kt (59%) rename ui/features/{links/src/main/java/com/example/links => tags/src/main/java/city/zouitel/tags}/mapper/base/Mapper.kt (84%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/model/NoteAndTag.kt (77%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/model/Tag.kt (81%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/state/State.kt (69%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/ui/Tags.kt (91%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/utils/HashTagLayout.kt (88%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/utils/LableDialogColors.kt (62%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/viewmodel/NoteAndTagViewModel.kt (77%) rename ui/features/tags/src/main/java/{com/example => city/zouitel}/tags/viewmodel/TagViewModel.kt (80%) delete mode 100644 ui/features/tags/src/main/java/com/example/tags/di/TagModule.kt create mode 100644 ui/features/tags/src/test/java/city/zouitel/tags/ExampleUnitTest.kt create mode 100644 ui/features/tasks/consumer-rules.pro create mode 100644 ui/features/tasks/proguard-rules.pro create mode 100644 ui/features/tasks/src/androidTest/java/city/zouitel/tasks/ExampleInstrumentedTest.kt rename ui/features/tasks/src/main/java/{com/example => city/zouitel}/tasks/TaskList.kt (91%) create mode 100644 ui/features/tasks/src/main/java/city/zouitel/tasks/di/TaskModule.kt rename ui/features/tasks/src/main/java/{com/example => city/zouitel}/tasks/mapper/NoteAndTaskMapper.kt (61%) rename ui/features/tasks/src/main/java/{com/example => city/zouitel}/tasks/mapper/TaskMapper.kt (59%) rename ui/features/tasks/src/main/java/{com/example => city/zouitel}/tasks/mapper/base/Mapper.kt (84%) rename ui/features/tasks/src/main/java/{com/example => city/zouitel}/tasks/model/NoteAndTask.kt (76%) rename {domain/src/main/java/com/example/domain => ui/features/tasks/src/main/java/city/zouitel/tasks}/model/Task.kt (81%) rename ui/features/tasks/src/main/java/{com/example/tasks => city/zouitel/tasks/viewmodel}/NoteAndTaskViewModel.kt (80%) rename ui/features/tasks/src/main/java/{com/example/tasks => city/zouitel/tasks/viewmodel}/TaskViewModel.kt (81%) delete mode 100644 ui/features/tasks/src/main/java/com/example/tasks/di/TaskModule.kt create mode 100644 ui/features/tasks/src/test/java/city/zouitel/tasks/ExampleUnitTest.kt create mode 100644 ui/features/widget/consumer-rules.pro create mode 100644 ui/features/widget/proguard-rules.pro create mode 100644 ui/features/widget/src/androidTest/java/city/zouitel/widget/ExampleInstrumentedTest.kt create mode 100644 ui/features/widget/src/main/java/city/zouitel/widget/EntryPoint.kt rename ui/features/widget/src/main/java/{com/example/glance => city/zouitel/widget}/WidgetReceiver.kt (91%) create mode 100644 ui/features/widget/src/main/java/city/zouitel/widget/di/WidgetModule.kt rename ui/features/widget/src/main/java/{com/example/glance => city/zouitel/widget}/ui/AppWidget.kt (90%) rename ui/features/widget/src/main/java/{com/example/glance => city/zouitel/widget}/ui/WidgetViewModel.kt (74%) rename ui/features/widget/src/main/java/{com/example/glance => city/zouitel/widget}/utils.kt (76%) delete mode 100644 ui/features/widget/src/main/java/com/example/glance/EntryPoint.kt delete mode 100644 ui/features/widget/src/main/java/com/example/glance/di/WidgetModule.kt create mode 100644 ui/features/widget/src/test/java/city/zouitel/widget/ExampleUnitTest.kt delete mode 100644 ui/graph/.gitignore delete mode 100644 ui/graph/build.gradle.kts delete mode 100644 ui/graph/src/main/AndroidManifest.xml delete mode 100644 ui/graph/src/main/java/com/example/graph/CONS.kt delete mode 100644 ui/graph/src/main/java/com/example/graph/getMaterialColor.kt delete mode 100644 ui/graph/src/main/java/com/example/graph/sound.kt rename ui/{features/quick-note => navigation}/.gitignore (100%) create mode 100644 ui/navigation/build.gradle.kts create mode 100644 ui/navigation/consumer-rules.pro create mode 100644 ui/navigation/proguard-rules.pro create mode 100644 ui/navigation/src/androidTest/java/city/zouitel/navigation/ExampleInstrumentedTest.kt rename ui/{features/quick-note => navigation}/src/main/AndroidManifest.xml (60%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/Graph.kt (81%) rename {common/ui/src/main/java/com/example/common_ui => ui/navigation/src/main/java/city/zouitel/navigation}/ImageDisplay.kt (96%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/NoteTextField.kt (94%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/about_screen/AboutDescription.kt (75%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/about_screen/AboutLabel.kt (85%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/about_screen/AboutSources.kt (79%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/about_screen/AppAbout.kt (87%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/codeUrl.kt (88%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/copyNote.kt (69%) create mode 100644 ui/navigation/src/main/java/city/zouitel/navigation/di/modulesPackage.kt rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/draw_screen/DrawingNote.kt (90%) create mode 100644 ui/navigation/src/main/java/city/zouitel/navigation/getMaterialColor.kt rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/home_screen/NoteHome.kt (86%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/home_screen/UndoSnackbar.kt (87%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/intentHandler.kt (91%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/navigation_drawer/NavigationDrawer.kt (85%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/navigation_drawer/Screens.kt (70%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/note_card/NoteCard.kt (89%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/note_card/utils.kt (94%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/settings_screen/Licenses.kt (96%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/settings_screen/Settings.kt (89%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/shortcuts.kt (97%) create mode 100644 ui/navigation/src/main/java/city/zouitel/navigation/sound.kt rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/BroomData.kt (90%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/CustomTopAppBar.kt (90%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/Layout.kt (79%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/SearchField.kt (85%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/SortBy.kt (77%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/TopAppBar.kt (90%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/dialogs/EraseDialog.kt (82%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt (84%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt (81%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/selection_bars/utils.kt (86%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/top_action_bar/utils.kt (75%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/trash_screen/TrashScreen.kt (78%) rename ui/{graph/src/main/java/com/example/graph => navigation/src/main/java/city/zouitel/navigation}/urlPreview.kt (97%) rename ui/{graph => navigation}/src/main/res/drawable/baseline_add_24.xml (100%) create mode 100644 ui/navigation/src/main/res/drawable/mat.jpg rename ui/{graph => navigation}/src/main/res/drawable/plus_24.xml (100%) create mode 100644 ui/navigation/src/test/java/city/zouitel/navigation/ExampleUnitTest.kt diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml deleted file mode 100644 index d536a1e2..00000000 --- a/.github/workflows/android.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Android CI - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - cache: gradle - - - name: Grant execute permission for gradlew - run: chmod +x gradlew - - name: Build with Gradle - run: ./gradlew build diff --git a/.gitignore b/.gitignore index c2880309..aa724b77 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,15 @@ *.iml -/.gradle +.gradle /local.properties -/.idea /.idea/caches /.idea/libraries /.idea/modules.xml /.idea/workspace.xml /.idea/navEditor.xml /.idea/assetWizardSettings.xml +.DS_Store /build /captures .externalNativeBuild .cxx -local.properties \ No newline at end of file +local.properties diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 00000000..371f2e29 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..b589d56e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 00000000..0c0c3383 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 00000000..c74c2714 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,43 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..103e00cb --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,32 @@ + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 00000000..e805548a --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 00000000..f8051a6f --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..8978d23d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..94a25f7f --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e523fed7..00000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or noteEntity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting noteEntity and all - other entities that control, are controlled by, or are under common - control with that noteEntity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such noteEntity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such noteEntity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any noteEntity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md index 9a34b344..cd3dfe62 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ JetNote is modern note android application written by kotlin language and [jetpack-compose](https://github.com/JetBrains/compose-jb) toolkit. The app dealing with Room for Database, Dagger-Hilt dependency injection, Coroutine the non-blocking programming, Navigation-Compose, DataStore, ExoPlayer to play the recorded media in the app, CameraX to take and save picture, And more to make it good app that inspired by google app **keep Notes**. [![API](https://img.shields.io/badge/API-25%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=25) -[![Kotlin Version](https://img.shields.io/badge/Kotlin-v1.9.10-blue.svg)](https://kotlinlang.org) +[![Kotlin Version](https://img.shields.io/badge/Kotlin-v1.9.20-blue.svg)](https://kotlinlang.org) [![Jetpack Compose](https://img.shields.io/badge/Jetpack%20Compose-1.5.4-blueviolet)](https://developer.android.com/jetpack/androidx/releases/compose) [![Kotlin Coroutines Version](https://img.shields.io/badge/Coroutines-v1.7.3-yellow.svg)](https://kotlinlang.org/docs/reference/coroutines-overview.html) [![Gradle](https://img.shields.io/badge/Gradle-7.4-green)](https://gradle.org) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 8a099f05..6442d5dd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,45 +1,36 @@ -import com.android.build.api.dsl.Packaging - +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id ("com.android.application") - id ("org.jetbrains.kotlin.android") + alias(libs.plugins.androidApplication) + alias(libs.plugins.kotlinAndroid) id ("kotlin-kapt") - id ("dagger.hilt.android.plugin") id ("com.chrisney.enigma") } android { - namespace = "com.example.mobile" + namespace = "city.zouitel.jetnote" compileSdk = 34 defaultConfig { applicationId = "city.zouitel.jetnote" - minSdk = 25 - targetSdk = 33 - versionCode = 334 - versionName = "3.3.4" + minSdk = 26 + targetSdk = 34 + versionCode = 400 + versionName = "4.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } -// compileSdkPreview ="UpsideDownCake" } buildTypes { release { - isShrinkResources = true - isMinifyEnabled = true + isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } - create("benchmark") { - signingConfig = signingConfigs.getByName("debug") - matchingFallbacks += listOf("release") - isDebuggable = false - } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 @@ -52,22 +43,26 @@ android { compose = true } composeOptions { - kotlinCompilerExtensionVersion = "1.5.3" + kotlinCompilerExtensionVersion = "1.5.4" } - fun Packaging.options() { + packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } + lint { + abortOnError = false + } + /** * Configure the build for multiple APKs */ splits { - /** - * Configure multiple APKs for screen densities. - */ + /** + * Configure multiple APKs for screen densities. + */ density { isEnable = true include("ldpi", "xxhdpi", "xxxhdpi") @@ -85,55 +80,46 @@ android { } } -hilt { - enableAggregatingTask = true -} - enigma.enabled = true enigma.injectFakeKeys = true dependencies { + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.navigation) + + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + androidTestImplementation(platform(libs.compose.bom)) + androidTestImplementation(libs.ui.test.junit4) + debugImplementation(libs.ui.tooling) + debugImplementation(libs.ui.test.manifest) + //Modules. - implementation(projects.common.ui) - implementation(projects.service.notification) - implementation(projects.ui.graph) - implementation(projects.ui.features.widget) - implementation(projects.ui.features.quickNote) + implementation(projects.core.database) + implementation(projects.core.datastore) + implementation(projects.core.repository) + implementation(projects.domain) implementation(projects.init) + implementation(projects.services.notifications) + implementation(projects.ui.common.systemDesign) + api(projects.ui.navigation) - //AndroidX. - implementation(libs.androidx.core) - implementation(libs.androidx.corektx) - implementation(libs.androidx.appcompat) - implementation(libs.androidx.runtimektx) - implementation(libs.androidx.constraintlayout) - - //Compose. - implementation(libs.compose.ui) - implementation(libs.compose.material3) - implementation(libs.compose.activity) - implementation(libs.compose.navigation) - implementation(libs.compose.toolingpreview) - implementation(libs.compose.viewmodel) - implementation(libs.compose.constraintlayout) - - //Dagger-Hilt - implementation (libs.dagger) - implementation (libs.dagger.hilt) - implementation (libs.hilt.navcomp) - implementation (libs.hilt.work) - kapt (libs.dagger.compiler) - kapt (libs.hilt.compiler) - kapt (libs.dagger.hiltcompiler) - //Lifecycle. - implementation(libs.androidx.lifecycle.viewmodel.compose) - implementation(libs.androidx.lifecycle.runtime.compose) - implementation(libs.androidx.lifecycle.process) + implementation(libs.lifecycle.compose.viewmodel) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.lifecycle.process) //WorkManager. - implementation(libs.androidx.workmanager) + implementation(libs.workmanager) //Accompanist. implementation(libs.accompanist.systemuicontroller) @@ -145,22 +131,12 @@ dependencies { implementation(libs.beetle) //Global Exception. - implementation(libs.globalexception) +// implementation(libs.globalexception) - // - debugImplementation("com.squareup.leakcanary:leakcanary-android:2.10") - //Test. - testImplementation (libs.androidx.junit) - debugImplementation (libs.compose.manifest) - debugImplementation (libs.compose.uitest) - - androidTestImplementation (libs.androidx.extjunit) - androidTestImplementation (libs.compose.junit4) - - androidTestImplementation(libs.bundles.composetest) { - exclude(group = "androidx.core", module = "core-ktx") - exclude(group = "androidx.activity", module = "activity") - exclude(group = "androidx.lifecycle", module = "lifecycle-runtime-ktx") - } + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.worker) + implementation(libs.koin.compose) } \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 8a0dc3d1..481bb434 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -14,8 +14,8 @@ # Uncomment this to preserve the line number information for # debugging stack traces. --keepattributes SourceFile,LineNumberTable +#-keepattributes SourceFile,LineNumberTable # If you keep the line number information, uncomment this to # hide the original source file name. --renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/src/androidTest/java/city/zouitel/jetnote/ExampleInstrumentedTest.kt b/app/src/androidTest/java/city/zouitel/jetnote/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..c4a8203f --- /dev/null +++ b/app/src/androidTest/java/city/zouitel/jetnote/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.jetnote + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.jetnote", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2a2a99e8..fecf21d5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,13 +2,21 @@ + + + - + @@ -31,7 +39,7 @@ tools:targetApi="29" /> @@ -65,7 +73,7 @@ @@ -76,7 +84,7 @@ Unit ) { val currentTheme = remember(dataStoreVM, dataStoreVM::getTheme).collectAsState() diff --git a/app/src/main/java/city/zouitel/jetnote/NoteApplication.kt b/app/src/main/java/city/zouitel/jetnote/NoteApplication.kt new file mode 100644 index 00000000..0f4596f0 --- /dev/null +++ b/app/src/main/java/city/zouitel/jetnote/NoteApplication.kt @@ -0,0 +1,75 @@ +package city.zouitel.jetnote + +import android.app.Application +import city.zouitel.audios.di.exoPlayerKoinModule +import city.zouitel.database.di.databaseKoinModule +import city.zouitel.datastore.datastoreKoinModule +import city.zouitel.domain.di.useCasesKoinModule +import city.zouitel.links.di.linksKoinModule +import city.zouitel.note.di.noteKoinModule +import city.zouitel.notifications.di.notificationKoinModule +import city.zouitel.quicknote.di.quickNoteKoinModule +import city.zouitel.recoder.di.recorderKoinModule +import city.zouitel.reminder.di.reminderKoinModule +import city.zouitel.repository.di.repositoryKoinModule +import city.zouitel.systemDesign.di.datastoreVMKoinModule +import city.zouitel.tags.di.tagsKoinModule +import city.zouitel.tasks.di.tasksKoinModule +import city.zouitel.widget.di.widgetKoinModule +import com.karacca.beetle.Beetle +import org.koin.android.ext.koin.androidContext +import org.koin.android.ext.koin.androidLogger +import org.koin.core.component.KoinComponent +import org.koin.core.context.startKoin +import org.koin.core.logger.Level + +class NoteApplication: Application() +{ + + override fun onCreate() { + super.onCreate() + startKoin { + androidLogger(Level.INFO) + androidContext(this@NoteApplication) +// workManagerFactory() + modules( + databaseKoinModule, + datastoreKoinModule, + repositoryKoinModule, +// useCasesKoinModule, +// initializerKoinModule, + exoPlayerKoinModule, + linksKoinModule, + noteKoinModule, + quickNoteKoinModule, + recorderKoinModule, + reminderKoinModule, + tagsKoinModule, + tasksKoinModule, + widgetKoinModule, + notificationKoinModule, + datastoreVMKoinModule + ) + } + + /** + * Global Exception Handler. + */ +// GlobalExceptionHandler.initialize(this, NoteActivity::class.java) + + /** + * + */ + Beetle.configure { + enableAssignees = true + enableLabels = true + } + Beetle.init(this, "City-Zouitel", "JetNote") + + /** + * Work Manager Initializer. + */ +// AppInitializer.getInstance(this).initializeComponent(WorkManagerInitializer::class.java) + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/mobile/utils.kt b/app/src/main/java/city/zouitel/jetnote/utils.kt similarity index 100% rename from app/src/main/java/com/example/mobile/utils.kt rename to app/src/main/java/city/zouitel/jetnote/utils.kt diff --git a/app/src/main/java/com/example/mobile/NoteApplication.kt b/app/src/main/java/com/example/mobile/NoteApplication.kt deleted file mode 100644 index a72e76e1..00000000 --- a/app/src/main/java/com/example/mobile/NoteApplication.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.example.mobile - -import android.app.Application -import androidx.startup.AppInitializer -import com.emirhankolver.GlobalExceptionHandler -import com.karacca.beetle.Beetle -import dagger.hilt.android.HiltAndroidApp -import city.zouitel.init.WorkManagerInitializer - -@HiltAndroidApp -class NoteApplication: Application() { - - override fun onCreate() { - super.onCreate() - - /** - * Global Exception Handler. - */ - GlobalExceptionHandler.initialize(this, NoteActivity::class.java) - - /** - * - */ - Beetle.configure { - enableAssignees = true - enableLabels = true - } - Beetle.init(this, "City-Zouitel", "JetNote") - - /** - * Work Manager Initializer. - */ - AppInitializer.getInstance(this).initializeComponent(WorkManagerInitializer::class.java) - } - -} \ No newline at end of file diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_launcher_background.xml rename to app/src/main/res/drawable/ic_launcher_background.xml diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_launcher_foreground.xml rename to app/src/main/res/drawable/ic_launcher_foreground.xml diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/app/src/main/res/mipmap-anydpi/ic_launcher.xml new file mode 100644 index 00000000..6f3b755b --- /dev/null +++ b/app/src/main/res/mipmap-anydpi/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml new file mode 100644 index 00000000..6f3b755b --- /dev/null +++ b/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml new file mode 100644 index 00000000..fa0f996d --- /dev/null +++ b/app/src/main/res/xml/backup_rules.xml @@ -0,0 +1,13 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml new file mode 100644 index 00000000..9ee9997b --- /dev/null +++ b/app/src/main/res/xml/data_extraction_rules.xml @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/test/java/city/zouitel/jetnote/ExampleUnitTest.kt b/app/src/test/java/city/zouitel/jetnote/ExampleUnitTest.kt new file mode 100644 index 00000000..b593d878 --- /dev/null +++ b/app/src/test/java/city/zouitel/jetnote/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.jetnote + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts deleted file mode 100644 index cd24ff1d..00000000 --- a/benchmark/build.gradle.kts +++ /dev/null @@ -1,52 +0,0 @@ -plugins { - id("com.android.test") - id("org.jetbrains.kotlin.android") -} - -android { - namespace = "com.example.benchmark" - compileSdk = 33 - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = "1.8" - } - - defaultConfig { - minSdk = 25 - targetSdk = 33 - - 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("androidx.test.ext:junit:1.1.5") - implementation("androidx.test.espresso:espresso-core:3.5.1") - implementation("androidx.test.uiautomator:uiautomator:2.2.0") - implementation("androidx.benchmark:benchmark-macro-junit4:1.1.0-beta05") -} - -androidComponents { - beforeVariants(selector().all()) { -// it.enabled = it.buildType == "benchmark" - } -} \ No newline at end of file diff --git a/benchmark/src/main/AndroidManifest.xml b/benchmark/src/main/AndroidManifest.xml deleted file mode 100644 index 898f2374..00000000 --- a/benchmark/src/main/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/benchmark/src/main/java/com/example/benchmark/ExampleStartupBenchmark.kt b/benchmark/src/main/java/com/example/benchmark/ExampleStartupBenchmark.kt deleted file mode 100644 index e9f9c349..00000000 --- a/benchmark/src/main/java/com/example/benchmark/ExampleStartupBenchmark.kt +++ /dev/null @@ -1,39 +0,0 @@ -package com.example.benchmark - -import androidx.benchmark.macro.CompilationMode -import androidx.benchmark.macro.StartupMode -import androidx.benchmark.macro.StartupTimingMetric -import androidx.benchmark.macro.junit4.MacrobenchmarkRule -import androidx.test.ext.junit.runners.AndroidJUnit4 -import org.junit.Rule -import org.junit.Test -import org.junit.runner.RunWith - -/** - * This is an example startup benchmark. - * - * 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 ExampleStartupBenchmark { - @get:Rule - val benchmarkRule = MacrobenchmarkRule() - - @Test - fun startup() = benchmarkRule.measureRepeated( - packageName = "city.zouitel.jetnote", - metrics = listOf(StartupTimingMetric()), - iterations = 5, - startupMode = StartupMode.COLD - ) { - pressHome() - startActivityAndWait() - } -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 9e0a04aa..8d36806c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,20 +1,15 @@ - +// Top-level build file where you can add configuration options common to all sub-projects/modules. +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - alias(libs.plugins.dependencyanalysis) - id("com.android.application") version "7.4.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.0" apply false - id("com.android.library") version "7.4.0" apply false - id("com.android.dynamic-feature") version "7.4.2" apply false - id("com.android.test") version "7.4.2" apply false - id("org.jetbrains.kotlin.jvm") version "1.7.21" apply false + alias(libs.plugins.androidApplication) apply false + alias(libs.plugins.kotlinAndroid) apply false + alias(libs.plugins.androidLibrary) apply false + alias(libs.plugins.dependencyanalysis) apply false } buildscript { dependencies { - classpath(libs.dagger.hilt.gradle.plugin) - classpath(libs.kotlin) - classpath(libs.android.gradle.plugin) - classpath(libs.aboutlibraries.plugin) + classpath(libs.licenses.plugin) classpath("gradle.plugin.chrisney:enigma:1.0.0.8") } @@ -27,5 +22,5 @@ buildscript { } tasks.register("clean", Delete::class){ - delete(rootProject.layout.buildDirectory) -} + delete(rootProject.buildDir) +} \ No newline at end of file diff --git a/common/effect/build.gradle.kts b/common/effect/build.gradle.kts deleted file mode 100644 index fc63c0ef..00000000 --- a/common/effect/build.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -plugins { - id("city.android-lib") -} - -android { - namespace = "com.example.common_effect" -} \ No newline at end of file diff --git a/common/logic/build.gradle.kts b/common/logic/build.gradle.kts deleted file mode 100644 index 3f53550e..00000000 --- a/common/logic/build.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -plugins { - id("city.android-lib") -} - -android { - namespace = "com.example.common_logic" -} \ No newline at end of file diff --git a/common/mapper/build.gradle.kts b/common/mapper/build.gradle.kts deleted file mode 100644 index 493e91ba..00000000 --- a/common/mapper/build.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -plugins { - id("city.android-lib") -} - -android { - namespace = "com.example.common_mapper" -} \ No newline at end of file diff --git a/common/ui/build.gradle.kts b/common/ui/build.gradle.kts deleted file mode 100644 index 8203227f..00000000 --- a/common/ui/build.gradle.kts +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.common_ui" -} - -dependencies { - implementation(projects.data.datastore) - - //AndroidX. - implementation(libs.androidx.constraintlayout) - - //Accompanist. - implementation(libs.accompanist.permissions) - implementation(libs.accompanist.pager) - implementation(libs.accompanist.pager.indicators) - implementation(libs.accompanist.systemuicontroller) - implementation(libs.accompanist.navigation.animation) - implementation(libs.accompanist.swiperefresh) - implementation(libs.accompanist.flowlayout) - - //Baha-UrlPreview. - implementation(libs.url.preview) - - //Balloon. - implementation ("com.github.skydoves:balloon-compose:1.5.3") -} \ No newline at end of file diff --git a/common/ui/src/main/java/com/example/common_ui/DispatcherMod.kt b/common/ui/src/main/java/com/example/common_ui/DispatcherMod.kt deleted file mode 100644 index add64a5d..00000000 --- a/common/ui/src/main/java/com/example/common_ui/DispatcherMod.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.common_ui - -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ViewModelComponent -import dagger.hilt.components.SingletonComponent - -@Module -@InstallIn( - SingletonComponent::class, - ViewModelComponent::class -) -object DispatcherMod { - -// @Provides -// fun ioDispatcher(): CoroutineDispatcher = Dispatchers.IO -} \ No newline at end of file diff --git a/common/ui/src/main/java/com/example/common_ui/Utils.kt b/common/ui/src/main/java/com/example/common_ui/Utils.kt deleted file mode 100644 index 569bf804..00000000 --- a/common/ui/src/main/java/com/example/common_ui/Utils.kt +++ /dev/null @@ -1 +0,0 @@ -package com.example.common_ui diff --git a/benchmark/.gitignore b/core/database/.gitignore similarity index 100% rename from benchmark/.gitignore rename to core/database/.gitignore diff --git a/core/database/build.gradle.kts b/core/database/build.gradle.kts new file mode 100644 index 00000000..c396c964 --- /dev/null +++ b/core/database/build.gradle.kts @@ -0,0 +1,68 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) + alias(libs.plugins.ksp) +} + +android { + namespace = "city.zouitel.database" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + +} + +ksp { + arg("room.schemaLocation", "$projectDir/schemas") +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //Modules. + implementation(projects.core.repository) + + //Room. + implementation(libs.roomkts) + api(libs.room.runtime) + ksp(libs.room.compiler) + + //Security. + implementation (libs.security) + + //Sqlcipher. + implementation (libs.sqlcipher) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) +} \ No newline at end of file diff --git a/core/database/consumer-rules.pro b/core/database/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/core/database/proguard-rules.pro b/core/database/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/core/database/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/core/database/schemas/city.zouitel.database.Database/1.json b/core/database/schemas/city.zouitel.database.Database/1.json new file mode 100644 index 00000000..877906f2 --- /dev/null +++ b/core/database/schemas/city.zouitel.database.Database/1.json @@ -0,0 +1,296 @@ +{ + "formatVersion": 1, + "database": { + "version": 1, + "identityHash": "c5a4c217b4521dd1d3558c316d6fe3ca", + "entities": [ + { + "tableName": "notes_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`unique_id` TEXT NOT NULL, `title` TEXT, `description` TEXT, `priority` TEXT NOT NULL, `color` INTEGER NOT NULL, `text_color` INTEGER NOT NULL, `date` TEXT NOT NULL, `trashed` INTEGER NOT NULL, `audio_duration` INTEGER NOT NULL, `reminding` INTEGER NOT NULL, `image_url` TEXT, `audio_url` TEXT, PRIMARY KEY(`unique_id`))", + "fields": [ + { + "fieldPath": "uid", + "columnName": "unique_id", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "title", + "columnName": "title", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "description", + "columnName": "description", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "priority", + "columnName": "priority", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "color", + "columnName": "color", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "textColor", + "columnName": "text_color", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "date", + "columnName": "date", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "trashed", + "columnName": "trashed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "audioDuration", + "columnName": "audio_duration", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "reminding", + "columnName": "reminding", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "imageUrl", + "columnName": "image_url", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "audioUrl", + "columnName": "audio_url", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "unique_id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "labels_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `label` TEXT, `color` INTEGER NOT NULL DEFAULT 0x0000)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "label", + "columnName": "label", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "color", + "columnName": "color", + "affinity": "INTEGER", + "notNull": true, + "defaultValue": "0x0000" + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "note_and_label", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`noteUid` TEXT NOT NULL, `labelId` INTEGER NOT NULL, PRIMARY KEY(`noteUid`, `labelId`))", + "fields": [ + { + "fieldPath": "noteUid", + "columnName": "noteUid", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "labelId", + "columnName": "labelId", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "noteUid", + "labelId" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "tasks_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `item` TEXT, `isDone` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "item", + "columnName": "item", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "isDone", + "columnName": "isDone", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": true, + "columnNames": [ + "id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "note_and_todo", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`noteUid` TEXT NOT NULL, `todoId` INTEGER NOT NULL, PRIMARY KEY(`noteUid`, `todoId`))", + "fields": [ + { + "fieldPath": "noteUid", + "columnName": "noteUid", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "todoId", + "columnName": "todoId", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "noteUid", + "todoId" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "links_table", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `url` TEXT NOT NULL, `host` TEXT NOT NULL, `imageLink` TEXT, `title` TEXT, `description` TEXT, PRIMARY KEY(`id`))", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "url", + "columnName": "url", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "host", + "columnName": "host", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "image", + "columnName": "imageLink", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "title", + "columnName": "title", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "description", + "columnName": "description", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "id" + ] + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "note_and_link", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`noteUid` TEXT NOT NULL, `linkId` TEXT NOT NULL, PRIMARY KEY(`noteUid`, `linkId`))", + "fields": [ + { + "fieldPath": "noteUid", + "columnName": "noteUid", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "linkId", + "columnName": "linkId", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "autoGenerate": false, + "columnNames": [ + "noteUid", + "linkId" + ] + }, + "indices": [], + "foreignKeys": [] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'c5a4c217b4521dd1d3558c316d6fe3ca')" + ] + } +} \ No newline at end of file diff --git a/core/database/src/androidTest/java/city/zouitel/database/ExampleInstrumentedTest.kt b/core/database/src/androidTest/java/city/zouitel/database/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..72ce5856 --- /dev/null +++ b/core/database/src/androidTest/java/city/zouitel/database/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.database + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.database.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/common/effect/src/main/AndroidManifest.xml b/core/database/src/main/AndroidManifest.xml similarity index 100% rename from common/effect/src/main/AndroidManifest.xml rename to core/database/src/main/AndroidManifest.xml diff --git a/data/local/src/main/java/com/example/local/Database.kt b/core/database/src/main/java/city/zouitel/database/Database.kt similarity index 89% rename from data/local/src/main/java/com/example/local/Database.kt rename to core/database/src/main/java/city/zouitel/database/Database.kt index 095ea0c9..87aa69d6 100644 --- a/data/local/src/main/java/com/example/local/Database.kt +++ b/core/database/src/main/java/city/zouitel/database/Database.kt @@ -1,9 +1,9 @@ -package com.example.local +package city.zouitel.database import androidx.room.Database import androidx.room.RoomDatabase -import com.example.local.dao.* -import com.example.local.model.* +import city.zouitel.database.dao.* +import city.zouitel.database.model.* @Database( version = 1, diff --git a/data/local/src/main/java/com/example/local/Encryption.kt b/core/database/src/main/java/city/zouitel/database/Encryption.kt similarity index 87% rename from data/local/src/main/java/com/example/local/Encryption.kt rename to core/database/src/main/java/city/zouitel/database/Encryption.kt index 9b41fd3d..44aa876f 100644 --- a/data/local/src/main/java/com/example/local/Encryption.kt +++ b/core/database/src/main/java/city/zouitel/database/Encryption.kt @@ -1,17 +1,16 @@ -package com.example.local +package city.zouitel.database import android.content.Context import android.os.Build import androidx.annotation.RequiresApi import androidx.security.crypto.EncryptedFile import androidx.security.crypto.MasterKeys -import com.example.local.utils.Constants.CRYPTIC_PASS +import city.zouitel.database.utils.Constants.CRYPTIC_PASS import java.io.File import java.security.SecureRandom class Encryption(private val ctx: Context) { - @RequiresApi(Build.VERSION_CODES.O) fun getCrypticPass(): ByteArray { val file = File(ctx.filesDir, CRYPTIC_PASS) val encryptedFile = EncryptedFile.Builder( @@ -30,7 +29,6 @@ class Encryption(private val ctx: Context) { } } - @RequiresApi(Build.VERSION_CODES.O) private fun generateCryptic(): ByteArray { val random = SecureRandom.getInstanceStrong() val res = ByteArray(32) diff --git a/data/local/src/main/java/com/example/local/dao/DataDao.kt b/core/database/src/main/java/city/zouitel/database/dao/DataDao.kt similarity index 84% rename from data/local/src/main/java/com/example/local/dao/DataDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/DataDao.kt index db19a942..65cc7f7b 100644 --- a/data/local/src/main/java/com/example/local/dao/DataDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/DataDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.DataEntity +import city.zouitel.database.model.DataEntity @Dao interface DataDao { diff --git a/data/local/src/main/java/com/example/local/dao/LinkDao.kt b/core/database/src/main/java/city/zouitel/database/dao/LinkDao.kt similarity index 80% rename from data/local/src/main/java/com/example/local/dao/LinkDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/LinkDao.kt index e4924bf9..daefb330 100644 --- a/data/local/src/main/java/com/example/local/dao/LinkDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/LinkDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.LinkEntity +import city.zouitel.database.model.LinkEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/NoteAndLinkDao.kt b/core/database/src/main/java/city/zouitel/database/dao/NoteAndLinkDao.kt similarity index 81% rename from data/local/src/main/java/com/example/local/dao/NoteAndLinkDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/NoteAndLinkDao.kt index 001b58d8..6f4c221e 100644 --- a/data/local/src/main/java/com/example/local/dao/NoteAndLinkDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/NoteAndLinkDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.NoteAndLinkEntity +import city.zouitel.database.model.NoteAndLinkEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/NoteAndTagDao.kt b/core/database/src/main/java/city/zouitel/database/dao/NoteAndTagDao.kt similarity index 81% rename from data/local/src/main/java/com/example/local/dao/NoteAndTagDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/NoteAndTagDao.kt index 65c89d41..0e707839 100644 --- a/data/local/src/main/java/com/example/local/dao/NoteAndTagDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/NoteAndTagDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.NoteAndTagEntity +import city.zouitel.database.model.NoteAndTagEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/NoteAndTaskDao.kt b/core/database/src/main/java/city/zouitel/database/dao/NoteAndTaskDao.kt similarity index 81% rename from data/local/src/main/java/com/example/local/dao/NoteAndTaskDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/NoteAndTaskDao.kt index 5bf29bff..99e0b317 100644 --- a/data/local/src/main/java/com/example/local/dao/NoteAndTaskDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/NoteAndTaskDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.NoteAndTaskEntity +import city.zouitel.database.model.NoteAndTaskEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/NoteDao.kt b/core/database/src/main/java/city/zouitel/database/dao/NoteDao.kt similarity index 94% rename from data/local/src/main/java/com/example/local/dao/NoteDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/NoteDao.kt index 775b233b..15ac1892 100644 --- a/data/local/src/main/java/com/example/local/dao/NoteDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/NoteDao.kt @@ -1,9 +1,9 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.Dao import androidx.room.Query import androidx.room.Transaction -import com.example.local.model.relational.NoteEntity +import city.zouitel.database.model.relational.NoteEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/TagDao.kt b/core/database/src/main/java/city/zouitel/database/dao/TagDao.kt similarity index 83% rename from data/local/src/main/java/com/example/local/dao/TagDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/TagDao.kt index 4c08f169..ca2d5482 100644 --- a/data/local/src/main/java/com/example/local/dao/TagDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/TagDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.TagEntity +import city.zouitel.database.model.TagEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/TaskDao.kt b/core/database/src/main/java/city/zouitel/database/dao/TaskDao.kt similarity index 81% rename from data/local/src/main/java/com/example/local/dao/TaskDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/TaskDao.kt index 2db10760..689e6653 100644 --- a/data/local/src/main/java/com/example/local/dao/TaskDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/TaskDao.kt @@ -1,7 +1,7 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.* -import com.example.local.model.TaskEntity +import city.zouitel.database.model.TaskEntity import kotlinx.coroutines.flow.Flow @Dao diff --git a/data/local/src/main/java/com/example/local/dao/WidgetDao.kt b/core/database/src/main/java/city/zouitel/database/dao/WidgetDao.kt similarity index 73% rename from data/local/src/main/java/com/example/local/dao/WidgetDao.kt rename to core/database/src/main/java/city/zouitel/database/dao/WidgetDao.kt index 5bb7007f..3b229ea2 100644 --- a/data/local/src/main/java/com/example/local/dao/WidgetDao.kt +++ b/core/database/src/main/java/city/zouitel/database/dao/WidgetDao.kt @@ -1,9 +1,9 @@ -package com.example.local.dao +package city.zouitel.database.dao import androidx.room.Dao import androidx.room.Query import androidx.room.Transaction -import com.example.local.model.relational.NoteEntity +import city.zouitel.database.model.relational.NoteEntity @Dao interface WidgetDao { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/DataDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/DataDataSourceImpl.kt similarity index 63% rename from data/local/src/main/java/com/example/local/datasourceImpl/DataDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/DataDataSourceImpl.kt index f8840f5e..34430ad8 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/DataDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/DataDataSourceImpl.kt @@ -1,12 +1,11 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.DataDao -import com.example.local.mapper.DataMapper -import com.example.repository.datasource.DataDataSource -import com.example.repository.model.Data as OutData -import javax.inject.Inject +import city.zouitel.database.dao.DataDao +import city.zouitel.database.mapper.DataMapper +import city.zouitel.repository.datasource.DataDataSource +import city.zouitel.repository.model.Data as OutData -class DataDataSourceImpl @Inject constructor( +class DataDataSourceImpl /*@Inject*/ constructor( private val dataDao: DataDao, private val dataMapper: DataMapper ): DataDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/LinkDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/LinkDataSourceImpl.kt similarity index 65% rename from data/local/src/main/java/com/example/local/datasourceImpl/LinkDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/LinkDataSourceImpl.kt index 46765886..79edbc43 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/LinkDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/LinkDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.LinkDao -import com.example.local.mapper.LinkMapper -import com.example.repository.datasource.LinkDataSource -import com.example.repository.model.Link as OutLink +import city.zouitel.database.dao.LinkDao +import city.zouitel.database.mapper.LinkMapper +import city.zouitel.repository.datasource.LinkDataSource +import city.zouitel.repository.model.Link as OutLink import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class LinkDataSourceImpl @Inject constructor( +class LinkDataSourceImpl /*@Inject*/ constructor( private val linkDao: LinkDao, private val linkMapper: LinkMapper ): LinkDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/NoteAndLinkDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndLinkDataSourceImpl.kt similarity index 68% rename from data/local/src/main/java/com/example/local/datasourceImpl/NoteAndLinkDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndLinkDataSourceImpl.kt index 68aab7ae..2d82b4da 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/NoteAndLinkDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndLinkDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.NoteAndLinkDao -import com.example.local.mapper.NoteAndLinkMapper -import com.example.repository.datasource.NoteAndLinkDataSource -import com.example.repository.model.NoteAndLink as OutNoteAndLink +import city.zouitel.database.dao.NoteAndLinkDao +import city.zouitel.database.mapper.NoteAndLinkMapper +import city.zouitel.repository.datasource.NoteAndLinkDataSource +import city.zouitel.repository.model.NoteAndLink as OutNoteAndLink import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteAndLinkDataSourceImpl @Inject constructor( +class NoteAndLinkDataSourceImpl /*@Inject*/ constructor( private val noteAndLinkDao: NoteAndLinkDao, private val noteAndLinkMapper: NoteAndLinkMapper ): NoteAndLinkDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/NoteAndTagDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndTagDataSourceImpl.kt similarity index 68% rename from data/local/src/main/java/com/example/local/datasourceImpl/NoteAndTagDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndTagDataSourceImpl.kt index 4fbfae9d..da5dc4c8 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/NoteAndTagDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndTagDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.NoteAndTagDao -import com.example.local.mapper.NoteAndTagMapper -import com.example.repository.datasource.NoteAndTagDataSource -import com.example.repository.model.NoteAndTag as OutNoteAndTag +import city.zouitel.database.dao.NoteAndTagDao +import city.zouitel.database.mapper.NoteAndTagMapper +import city.zouitel.repository.datasource.NoteAndTagDataSource +import city.zouitel.repository.model.NoteAndTag as OutNoteAndTag import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteAndTagDataSourceImpl @Inject constructor( +class NoteAndTagDataSourceImpl /*@Inject*/ constructor( private val noteAndTagDao: NoteAndTagDao, private val noteAndTagMapper: NoteAndTagMapper ): NoteAndTagDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/NoteAndTaskDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndTaskDataSourceImpl.kt similarity index 68% rename from data/local/src/main/java/com/example/local/datasourceImpl/NoteAndTaskDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndTaskDataSourceImpl.kt index d6c2ca34..d7a446d5 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/NoteAndTaskDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteAndTaskDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.NoteAndTaskDao -import com.example.local.mapper.NoteAndTaskMapper -import com.example.repository.datasource.NoteAndTaskDataSource -import com.example.repository.model.NoteAndTask as OutNoteAndTask +import city.zouitel.database.dao.NoteAndTaskDao +import city.zouitel.database.mapper.NoteAndTaskMapper +import city.zouitel.repository.datasource.NoteAndTaskDataSource +import city.zouitel.repository.model.NoteAndTask as OutNoteAndTask import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteAndTaskDataSourceImpl @Inject constructor( +class NoteAndTaskDataSourceImpl /*@Inject*/ constructor( private val noteAndTaskDao: NoteAndTaskDao, private val noteAndTaskMapper: NoteAndTaskMapper ): NoteAndTaskDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/NoteDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteDataSourceImpl.kt similarity index 84% rename from data/local/src/main/java/com/example/local/datasourceImpl/NoteDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteDataSourceImpl.kt index 0be61358..3753bda9 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/NoteDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/NoteDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.NoteDao -import com.example.local.mapper.NoteMapper -import com.example.repository.datasource.NoteDataSource -import com.example.repository.model.Note as OutNote +import city.zouitel.database.dao.NoteDao +import city.zouitel.database.mapper.NoteMapper +import city.zouitel.repository.datasource.NoteDataSource +import city.zouitel.repository.model.Note as OutNote import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteDataSourceImpl @Inject constructor( +class NoteDataSourceImpl /*@Inject*/ constructor( private val noteDao: NoteDao, private val noteMapper: NoteMapper ): NoteDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/TagDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/TagDataSourceImpl.kt similarity index 69% rename from data/local/src/main/java/com/example/local/datasourceImpl/TagDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/TagDataSourceImpl.kt index 85d8d8ec..a0279bd1 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/TagDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/TagDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.TagDao -import com.example.local.mapper.TagMapper -import com.example.repository.datasource.TagDataSource -import com.example.repository.model.Tag as OutTag +import city.zouitel.database.dao.TagDao +import city.zouitel.database.mapper.TagMapper +import city.zouitel.repository.datasource.TagDataSource +import city.zouitel.repository.model.Tag as OutTag import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class TagDataSourceImpl @Inject constructor( +class TagDataSourceImpl /*@Inject*/ constructor( private val tagDao: TagDao, private val tagMapper: TagMapper ): TagDataSource { diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/TaskDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/TaskDataSourceImpl.kt similarity index 70% rename from data/local/src/main/java/com/example/local/datasourceImpl/TaskDataSourceImpl.kt rename to core/database/src/main/java/city/zouitel/database/datasourceImpl/TaskDataSourceImpl.kt index f0685974..b94f5dd3 100644 --- a/data/local/src/main/java/com/example/local/datasourceImpl/TaskDataSourceImpl.kt +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/TaskDataSourceImpl.kt @@ -1,14 +1,13 @@ -package com.example.local.datasourceImpl +package city.zouitel.database.datasourceImpl -import com.example.local.dao.TaskDao -import com.example.local.mapper.TaskMapper -import com.example.repository.datasource.TaskDataSource -import com.example.repository.model.Task as OutTask +import city.zouitel.database.dao.TaskDao +import city.zouitel.database.mapper.TaskMapper +import city.zouitel.repository.datasource.TaskDataSource +import city.zouitel.repository.model.Task as OutTask import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class TaskDataSourceImpl @Inject constructor( +class TaskDataSourceImpl /*@Inject*/ constructor( private val taskDao: TaskDao, private val taskMapper: TaskMapper ): TaskDataSource { diff --git a/core/database/src/main/java/city/zouitel/database/datasourceImpl/WidgetDataSourceImpl.kt b/core/database/src/main/java/city/zouitel/database/datasourceImpl/WidgetDataSourceImpl.kt new file mode 100644 index 00000000..54e0cf67 --- /dev/null +++ b/core/database/src/main/java/city/zouitel/database/datasourceImpl/WidgetDataSourceImpl.kt @@ -0,0 +1,16 @@ +package city.zouitel.database.datasourceImpl + +import city.zouitel.database.dao.WidgetDao +import city.zouitel.database.mapper.WidgetMapper +import city.zouitel.repository.datasource.WidgetDataSource +import city.zouitel.repository.model.Note as OutNote + +class WidgetDataSourceImpl /*@Inject*/ constructor( + private val widgetDao: WidgetDao, + private val widgetMapper: WidgetMapper +): WidgetDataSource { + override val getAllWidgetMainEntityById: List + get() = widgetDao.allWidgetEntitiesById().map { + widgetMapper.readOnly(it) + } +} \ No newline at end of file diff --git a/data/local/src/main/java/com/example/local/di/DaoModule.kt b/core/database/src/main/java/city/zouitel/database/di/DaoModule.kt similarity index 57% rename from data/local/src/main/java/com/example/local/di/DaoModule.kt rename to core/database/src/main/java/city/zouitel/database/di/DaoModule.kt index 5846eb0d..4519b694 100644 --- a/data/local/src/main/java/com/example/local/di/DaoModule.kt +++ b/core/database/src/main/java/city/zouitel/database/di/DaoModule.kt @@ -1,49 +1,44 @@ -package com.example.local.di +package city.zouitel.database.di -import com.example.local.Database -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton +import city.zouitel.database.Database -@Module -@InstallIn(SingletonComponent::class) +//@Module +//@InstallIn(SingletonComponent::class) object DaoModule { - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteDao(database: Database) = database.getNoteDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideLabelDao(database: Database) = database.getLabelDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndLabelDao(database: Database) = database.getNoteAndLabelDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideEntityDao(database: Database) = database.getEntityDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideWidgetEntityDao(database: Database) = database.getWidgetEntityDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideTodoDao(database: Database) = database.getTodoDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndTodoDao(database: Database) = database.getNoteAndTodoDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideLinkDao(database: Database) = database.getLinkDao() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndLinkDao(database: Database) = database.getNoteAndLink() } \ No newline at end of file diff --git a/data/local/src/main/java/com/example/local/di/DataSourceModule.kt b/core/database/src/main/java/city/zouitel/database/di/DataSourceModule.kt similarity index 57% rename from data/local/src/main/java/com/example/local/di/DataSourceModule.kt rename to core/database/src/main/java/city/zouitel/database/di/DataSourceModule.kt index 24838ab3..870aa1e0 100644 --- a/data/local/src/main/java/com/example/local/di/DataSourceModule.kt +++ b/core/database/src/main/java/city/zouitel/database/di/DataSourceModule.kt @@ -1,50 +1,45 @@ -package com.example.local.di - -import com.example.local.datasourceImpl.* -import com.example.repository.datasource.* -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) +package city.zouitel.database.di + +import city.zouitel.database.datasourceImpl.* +import city.zouitel.repository.datasource.* + +//@Module +//@InstallIn(SingletonComponent::class) interface DataSourceModule { - @Binds - @Singleton +// @Binds +// @Singleton fun bindLinkDataSource(data: LinkDataSourceImpl): LinkDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindDataDataSource(data: DataDataSourceImpl): DataDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteAndLinkDataSource(data: NoteAndLinkDataSourceImpl): NoteAndLinkDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteAndTagDataSource(data: NoteAndTagDataSourceImpl): NoteAndTagDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteAndTaskDataSource(data: NoteAndTaskDataSourceImpl): NoteAndTaskDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteDataSource(data: NoteDataSourceImpl): NoteDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindTagDataSource(data: TagDataSourceImpl): TagDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindTaskDataSource(data: TaskDataSourceImpl): TaskDataSource - @Binds - @Singleton +// @Binds +// @Singleton fun bindWidgetDataSource(data: WidgetDataSourceImpl): WidgetDataSource } \ No newline at end of file diff --git a/core/database/src/main/java/city/zouitel/database/di/DatabaseDI.kt b/core/database/src/main/java/city/zouitel/database/di/DatabaseDI.kt new file mode 100644 index 00000000..0c15399d --- /dev/null +++ b/core/database/src/main/java/city/zouitel/database/di/DatabaseDI.kt @@ -0,0 +1,101 @@ +package city.zouitel.database.di + +import android.app.Application +import androidx.room.Room +import city.zouitel.database.Database +import city.zouitel.database.Encryption +import city.zouitel.database.datasourceImpl.DataDataSourceImpl +import city.zouitel.database.datasourceImpl.LinkDataSourceImpl +import city.zouitel.database.datasourceImpl.NoteAndLinkDataSourceImpl +import city.zouitel.database.datasourceImpl.NoteAndTagDataSourceImpl +import city.zouitel.database.datasourceImpl.NoteAndTaskDataSourceImpl +import city.zouitel.database.datasourceImpl.NoteDataSourceImpl +import city.zouitel.database.datasourceImpl.TagDataSourceImpl +import city.zouitel.database.datasourceImpl.TaskDataSourceImpl +import city.zouitel.database.datasourceImpl.WidgetDataSourceImpl +import city.zouitel.database.mapper.DataMapper +import city.zouitel.database.mapper.LinkMapper +import city.zouitel.database.mapper.NoteAndLinkMapper +import city.zouitel.database.mapper.NoteAndTagMapper +import city.zouitel.database.mapper.NoteAndTaskMapper +import city.zouitel.database.mapper.NoteMapper +import city.zouitel.database.mapper.TagMapper +import city.zouitel.database.mapper.TaskMapper +import city.zouitel.database.mapper.WidgetMapper +import city.zouitel.database.utils.Constants +import city.zouitel.repository.datasource.DataDataSource +import city.zouitel.repository.datasource.LinkDataSource +import city.zouitel.repository.datasource.NoteAndLinkDataSource +import city.zouitel.repository.datasource.NoteAndTagDataSource +import city.zouitel.repository.datasource.NoteAndTaskDataSource +import city.zouitel.repository.datasource.NoteDataSource +import city.zouitel.repository.datasource.TagDataSource +import city.zouitel.repository.datasource.TaskDataSource +import city.zouitel.repository.datasource.WidgetDataSource +import net.sqlcipher.database.SupportFactory +import org.koin.android.ext.koin.androidApplication +import org.koin.android.ext.koin.androidContext +import org.koin.core.module.dsl.factoryOf +import org.koin.core.module.dsl.singleOf +import org.koin.dsl.bind +import org.koin.dsl.module + +val databaseKoinModule = module { + + //DataSource. + singleOf(::LinkDataSourceImpl) bind LinkDataSource::class + singleOf(::DataDataSourceImpl) bind DataDataSource::class + singleOf(::NoteAndLinkDataSourceImpl) bind NoteAndLinkDataSource::class + singleOf(::NoteAndTagDataSourceImpl) bind NoteAndTagDataSource::class + singleOf(::NoteAndTaskDataSourceImpl) bind NoteAndTaskDataSource::class + singleOf(::NoteDataSourceImpl) bind NoteDataSource::class + singleOf(::TagDataSourceImpl) bind TagDataSource::class + singleOf(::TaskDataSourceImpl) bind TaskDataSource::class + singleOf(::WidgetDataSourceImpl) bind WidgetDataSource::class + + //Dao's. + single { get().getNoteDao() } + single { get().getLabelDao() } + single { get().getNoteAndLabelDao() } + single { get().getEntityDao() } + single { get().getWidgetEntityDao() } + single { get().getTodoDao() } + single { get().getNoteAndTodoDao() } + single { get().getLinkDao() } + single { get().getNoteAndLink() } + + //Mappers + factoryOf(::DataMapper) + factoryOf(::LinkMapper) + factoryOf(::TagMapper) + factoryOf(::TaskMapper) + factoryOf(::NoteAndLinkMapper) + factoryOf(::NoteAndTagMapper) + factoryOf(::NoteAndTaskMapper) + factory { + NoteMapper(get(), get(), get(), get()) + } + factory { param -> + WidgetMapper( + param.get(), + param.get(), + param.get(), + param.get(), + ) + } + + //Database. + single { + Room.databaseBuilder( + androidContext(), + Database::class.java, + Constants.DATABASE_NAME + ).openHelperFactory( + SupportFactory(Encryption(androidContext()).getCrypticPass()) + ) + .fallbackToDestructiveMigration() + .fallbackToDestructiveMigrationOnDowngrade() + .build() + } + +} \ No newline at end of file diff --git a/data/local/src/main/java/com/example/local/di/DatabaseModule.kt b/core/database/src/main/java/city/zouitel/database/di/DatabaseModule.kt similarity index 56% rename from data/local/src/main/java/com/example/local/di/DatabaseModule.kt rename to core/database/src/main/java/city/zouitel/database/di/DatabaseModule.kt index 38c369c8..1b22c842 100644 --- a/data/local/src/main/java/com/example/local/di/DatabaseModule.kt +++ b/core/database/src/main/java/city/zouitel/database/di/DatabaseModule.kt @@ -1,39 +1,32 @@ -package com.example.local.di +package city.zouitel.database.di import android.app.Application import android.content.Context import android.os.Build import androidx.annotation.RequiresApi import androidx.room.Room -import com.example.local.utils.Constants.DATABASE_NAME -import com.example.local.Database -import com.example.local.Encryption -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.qualifiers.ApplicationContext -import dagger.hilt.components.SingletonComponent +import city.zouitel.database.utils.Constants.DATABASE_NAME +import city.zouitel.database.Database +import city.zouitel.database.Encryption import net.sqlcipher.database.SupportFactory -import javax.inject.Singleton -@Module -@InstallIn(SingletonComponent::class) +//@Module +//@InstallIn(SingletonComponent::class) object DatabaseModule { - @Provides - @Singleton +// @Provides +// @Singleton fun provideEncryption(application: Application) = Encryption(application) - @RequiresApi(Build.VERSION_CODES.O) - @Provides - @Singleton +// @Provides +// @Singleton fun provideSupportEncryption(encryption: Encryption) = SupportFactory(encryption.getCrypticPass()) - @Singleton - @Provides +// @Singleton +// @Provides fun provideDatabase( - @ApplicationContext context: Context, + /*@ApplicationContext*/ context: Context, supportFactory: SupportFactory ) = Room.databaseBuilder( context.applicationContext, diff --git a/data/local/src/main/java/com/example/local/di/MapperModule.kt b/core/database/src/main/java/city/zouitel/database/di/MapperModule.kt similarity index 60% rename from data/local/src/main/java/com/example/local/di/MapperModule.kt rename to core/database/src/main/java/city/zouitel/database/di/MapperModule.kt index f8943743..3fdc7e3b 100644 --- a/data/local/src/main/java/com/example/local/di/MapperModule.kt +++ b/core/database/src/main/java/city/zouitel/database/di/MapperModule.kt @@ -1,46 +1,41 @@ -package com.example.local.di +package city.zouitel.database.di -import com.example.local.mapper.* -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton +import city.zouitel.database.mapper.* -@Module -@InstallIn(SingletonComponent::class) +//@Module +//@InstallIn(SingletonComponent::class) object MapperModule { - @Singleton - @Provides +// @Singleton +// @Provides fun provideDataMapper() = DataMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideLinkMapper() = LinkMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideTagMapper() = TagMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideTaskMapper() = TaskMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndLinkMapper() = NoteAndLinkMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndTagMapper() = NoteAndTagMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndTaskMapper() = NoteAndTaskMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteMapper( dataMapper: DataMapper, tagMapper: TagMapper, @@ -48,8 +43,8 @@ object MapperModule { linkMapper: LinkMapper ) = NoteMapper(dataMapper, tagMapper, taskMapper, linkMapper) - @Singleton - @Provides +// @Singleton +// @Provides fun provideWidgetMapper( dataMapper: DataMapper, tagMapper: TagMapper, diff --git a/data/local/src/main/java/com/example/local/mapper/DataMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/DataMapper.kt similarity index 70% rename from data/local/src/main/java/com/example/local/mapper/DataMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/DataMapper.kt index 509224f7..978b1cc6 100644 --- a/data/local/src/main/java/com/example/local/mapper/DataMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/DataMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.DataEntity as InData -import com.example.repository.model.Data as OutData +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.DataEntity as InData +import city.zouitel.repository.model.Data as OutData class DataMapper: Mapper.Base { override fun toLocal(data: OutData): InData = with(data){ diff --git a/data/local/src/main/java/com/example/local/mapper/LinkMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/LinkMapper.kt similarity index 61% rename from data/local/src/main/java/com/example/local/mapper/LinkMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/LinkMapper.kt index 11eaad3a..ee1dace5 100644 --- a/data/local/src/main/java/com/example/local/mapper/LinkMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/LinkMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.LinkEntity as InLink -import com.example.repository.model.Link as OutLink +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.LinkEntity as InLink +import city.zouitel.repository.model.Link as OutLink class LinkMapper : Mapper.Base { override fun toLocal(data: OutLink): InLink = with(data) { diff --git a/data/local/src/main/java/com/example/local/mapper/NoteAndLinkMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/NoteAndLinkMapper.kt similarity index 58% rename from data/local/src/main/java/com/example/local/mapper/NoteAndLinkMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/NoteAndLinkMapper.kt index 19f31da4..6b1d84e5 100644 --- a/data/local/src/main/java/com/example/local/mapper/NoteAndLinkMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/NoteAndLinkMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.NoteAndLinkEntity as InNoteAndLink -import com.example.repository.model.NoteAndLink as OutNoteAndLink +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.NoteAndLinkEntity as InNoteAndLink +import city.zouitel.repository.model.NoteAndLink as OutNoteAndLink class NoteAndLinkMapper: Mapper.Base { override fun toLocal(data: OutNoteAndLink): InNoteAndLink = with(data){ diff --git a/data/local/src/main/java/com/example/local/mapper/NoteAndTagMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/NoteAndTagMapper.kt similarity index 58% rename from data/local/src/main/java/com/example/local/mapper/NoteAndTagMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/NoteAndTagMapper.kt index c98ef4c3..288d5df2 100644 --- a/data/local/src/main/java/com/example/local/mapper/NoteAndTagMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/NoteAndTagMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.NoteAndTagEntity as InNoteAndTag -import com.example.repository.model.NoteAndTag as OutNoteAndTag +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.NoteAndTagEntity as InNoteAndTag +import city.zouitel.repository.model.NoteAndTag as OutNoteAndTag class NoteAndTagMapper: Mapper.Base { override fun toLocal(data: OutNoteAndTag): InNoteAndTag = with(data){ diff --git a/data/local/src/main/java/com/example/local/mapper/NoteAndTaskMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/NoteAndTaskMapper.kt similarity index 58% rename from data/local/src/main/java/com/example/local/mapper/NoteAndTaskMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/NoteAndTaskMapper.kt index 8513297f..7e84856b 100644 --- a/data/local/src/main/java/com/example/local/mapper/NoteAndTaskMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/NoteAndTaskMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.NoteAndTaskEntity as InNoteAndTask -import com.example.repository.model.NoteAndTask as OutNoteAndTask +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.NoteAndTaskEntity as InNoteAndTask +import city.zouitel.repository.model.NoteAndTask as OutNoteAndTask class NoteAndTaskMapper: Mapper.Base { override fun toLocal(data: OutNoteAndTask): InNoteAndTask = with(data){ diff --git a/data/local/src/main/java/com/example/local/mapper/NoteMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/NoteMapper.kt similarity index 74% rename from data/local/src/main/java/com/example/local/mapper/NoteMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/NoteMapper.kt index c5028efc..036be3eb 100644 --- a/data/local/src/main/java/com/example/local/mapper/NoteMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/NoteMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.relational.NoteEntity as InNote -import com.example.repository.model.Note as OutNote +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.relational.NoteEntity as InNote +import city.zouitel.repository.model.Note as OutNote class NoteMapper( private val dataMapper: DataMapper, diff --git a/data/local/src/main/java/com/example/local/mapper/TagMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/TagMapper.kt similarity index 56% rename from data/local/src/main/java/com/example/local/mapper/TagMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/TagMapper.kt index ebbba36b..b479ab92 100644 --- a/data/local/src/main/java/com/example/local/mapper/TagMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/TagMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.TagEntity as InTag -import com.example.repository.model.Tag as OutTag +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.TagEntity as InTag +import city.zouitel.repository.model.Tag as OutTag class TagMapper: Mapper.Base { override fun toLocal(data: OutTag): InTag = with(data){ diff --git a/data/local/src/main/java/com/example/local/mapper/TaskMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/TaskMapper.kt similarity index 56% rename from data/local/src/main/java/com/example/local/mapper/TaskMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/TaskMapper.kt index 86c362bf..5d2d92fc 100644 --- a/data/local/src/main/java/com/example/local/mapper/TaskMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/TaskMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.TaskEntity as InTask -import com.example.repository.model.Task as OutTask +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.TaskEntity as InTask +import city.zouitel.repository.model.Task as OutTask class TaskMapper: Mapper.Base { override fun toLocal(data: OutTask): InTask = with(data){ diff --git a/data/local/src/main/java/com/example/local/mapper/WidgetMapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/WidgetMapper.kt similarity index 74% rename from data/local/src/main/java/com/example/local/mapper/WidgetMapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/WidgetMapper.kt index dc9b0ad4..b1e73d3d 100644 --- a/data/local/src/main/java/com/example/local/mapper/WidgetMapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/WidgetMapper.kt @@ -1,8 +1,8 @@ -package com.example.local.mapper +package city.zouitel.database.mapper -import com.example.local.mapper.base.Mapper -import com.example.local.model.relational.NoteEntity as InNote -import com.example.repository.model.Note as OutNote +import city.zouitel.database.mapper.base.Mapper +import city.zouitel.database.model.relational.NoteEntity as InNote +import city.zouitel.repository.model.Note as OutNote class WidgetMapper ( private val dataMapper: DataMapper, diff --git a/data/local/src/main/java/com/example/local/mapper/base/Mapper.kt b/core/database/src/main/java/city/zouitel/database/mapper/base/Mapper.kt similarity index 83% rename from data/local/src/main/java/com/example/local/mapper/base/Mapper.kt rename to core/database/src/main/java/city/zouitel/database/mapper/base/Mapper.kt index ce1f88dd..370e3212 100644 --- a/data/local/src/main/java/com/example/local/mapper/base/Mapper.kt +++ b/core/database/src/main/java/city/zouitel/database/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.local.mapper.base +package city.zouitel.database.mapper.base sealed interface Mapper { interface Base { diff --git a/data/local/src/main/java/com/example/local/model/DataEntity.kt b/core/database/src/main/java/city/zouitel/database/model/DataEntity.kt similarity index 54% rename from data/local/src/main/java/com/example/local/model/DataEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/DataEntity.kt index c2667133..d84b4620 100644 --- a/data/local/src/main/java/com/example/local/model/DataEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/DataEntity.kt @@ -1,23 +1,23 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.Entity import androidx.room.PrimaryKey import androidx.room.ColumnInfo -import com.example.local.utils.Constants.AUDIO_DURATION -import com.example.local.utils.Constants.AUDIO_URL -import com.example.local.utils.Constants.COLOR -import com.example.local.utils.Constants.DATE -import com.example.local.utils.Constants.DESCRIPTION -import com.example.local.utils.Constants.IMAGE_UIL -import com.example.local.utils.Constants.NON -import com.example.local.utils.Constants.NOTES_TABLE -import com.example.local.utils.Constants.PRIORITY -import com.example.local.utils.Constants.REMINDING -import com.example.local.utils.Constants.TEXT_COLOR -import com.example.local.utils.Constants.TITLE -import com.example.local.utils.Constants.TRASHED -import com.example.local.utils.Constants.UUID +import city.zouitel.database.utils.Constants.AUDIO_DURATION +import city.zouitel.database.utils.Constants.AUDIO_URL +import city.zouitel.database.utils.Constants.COLOR +import city.zouitel.database.utils.Constants.DATE +import city.zouitel.database.utils.Constants.DESCRIPTION +import city.zouitel.database.utils.Constants.IMAGE_UIL +import city.zouitel.database.utils.Constants.NON +import city.zouitel.database.utils.Constants.NOTES_TABLE +import city.zouitel.database.utils.Constants.PRIORITY +import city.zouitel.database.utils.Constants.REMINDING +import city.zouitel.database.utils.Constants.TEXT_COLOR +import city.zouitel.database.utils.Constants.TITLE +import city.zouitel.database.utils.Constants.TRASHED +import city.zouitel.database.utils.Constants.UUID @Entity( tableName = NOTES_TABLE diff --git a/data/local/src/main/java/com/example/local/model/LinkEntity.kt b/core/database/src/main/java/city/zouitel/database/model/LinkEntity.kt similarity index 56% rename from data/local/src/main/java/com/example/local/model/LinkEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/LinkEntity.kt index 8feaa95b..a821e30f 100644 --- a/data/local/src/main/java/com/example/local/model/LinkEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/LinkEntity.kt @@ -1,16 +1,16 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.ColumnInfo import androidx.room.PrimaryKey import androidx.room.Entity -import com.example.local.utils.Constants.DESCRIPTION -import com.example.local.utils.Constants.HOST -import com.example.local.utils.Constants.ID -import com.example.local.utils.Constants.IMG_LINK -import com.example.local.utils.Constants.LINKS_TABLE -import com.example.local.utils.Constants.TITLE -import com.example.local.utils.Constants.URL +import city.zouitel.database.utils.Constants.DESCRIPTION +import city.zouitel.database.utils.Constants.HOST +import city.zouitel.database.utils.Constants.ID +import city.zouitel.database.utils.Constants.IMG_LINK +import city.zouitel.database.utils.Constants.LINKS_TABLE +import city.zouitel.database.utils.Constants.TITLE +import city.zouitel.database.utils.Constants.URL @Entity( tableName = LINKS_TABLE diff --git a/data/local/src/main/java/com/example/local/model/NoteAndLinkEntity.kt b/core/database/src/main/java/city/zouitel/database/model/NoteAndLinkEntity.kt similarity index 86% rename from data/local/src/main/java/com/example/local/model/NoteAndLinkEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/NoteAndLinkEntity.kt index 97e3bca1..5beabe9b 100644 --- a/data/local/src/main/java/com/example/local/model/NoteAndLinkEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/NoteAndLinkEntity.kt @@ -1,4 +1,4 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.Entity diff --git a/data/local/src/main/java/com/example/local/model/NoteAndTagEntity.kt b/core/database/src/main/java/city/zouitel/database/model/NoteAndTagEntity.kt similarity index 86% rename from data/local/src/main/java/com/example/local/model/NoteAndTagEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/NoteAndTagEntity.kt index 2ac470e2..95c57f35 100644 --- a/data/local/src/main/java/com/example/local/model/NoteAndTagEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/NoteAndTagEntity.kt @@ -1,4 +1,4 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.Entity diff --git a/data/local/src/main/java/com/example/local/model/NoteAndTaskEntity.kt b/core/database/src/main/java/city/zouitel/database/model/NoteAndTaskEntity.kt similarity index 85% rename from data/local/src/main/java/com/example/local/model/NoteAndTaskEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/NoteAndTaskEntity.kt index f5409212..300be25b 100644 --- a/data/local/src/main/java/com/example/local/model/NoteAndTaskEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/NoteAndTaskEntity.kt @@ -1,4 +1,4 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.Entity diff --git a/data/local/src/main/java/com/example/local/model/TagEntity.kt b/core/database/src/main/java/city/zouitel/database/model/TagEntity.kt similarity index 58% rename from data/local/src/main/java/com/example/local/model/TagEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/TagEntity.kt index f1664a80..0fd8835b 100644 --- a/data/local/src/main/java/com/example/local/model/TagEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/TagEntity.kt @@ -1,11 +1,11 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.* -import com.example.local.utils.Constants.COLOR -import com.example.local.utils.Constants.ID -import com.example.local.utils.Constants.LABEL -import com.example.local.utils.Constants.LABELS_TABLE +import city.zouitel.database.utils.Constants.COLOR +import city.zouitel.database.utils.Constants.ID +import city.zouitel.database.utils.Constants.LABEL +import city.zouitel.database.utils.Constants.LABELS_TABLE @Entity( tableName = LABELS_TABLE diff --git a/data/local/src/main/java/com/example/local/model/TaskEntity.kt b/core/database/src/main/java/city/zouitel/database/model/TaskEntity.kt similarity index 65% rename from data/local/src/main/java/com/example/local/model/TaskEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/TaskEntity.kt index eb19c661..0ace2de5 100644 --- a/data/local/src/main/java/com/example/local/model/TaskEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/TaskEntity.kt @@ -1,9 +1,9 @@ -package com.example.local.model +package city.zouitel.database.model import androidx.annotation.Keep import androidx.room.* -import com.example.local.utils.Constants.ID -import com.example.local.utils.Constants.TASKS_TABLE +import city.zouitel.database.utils.Constants.ID +import city.zouitel.database.utils.Constants.TASKS_TABLE @Entity( tableName = TASKS_TABLE diff --git a/data/local/src/main/java/com/example/local/model/relational/NoteEntity.kt b/core/database/src/main/java/city/zouitel/database/model/relational/NoteEntity.kt similarity index 85% rename from data/local/src/main/java/com/example/local/model/relational/NoteEntity.kt rename to core/database/src/main/java/city/zouitel/database/model/relational/NoteEntity.kt index ddfba285..510d172c 100644 --- a/data/local/src/main/java/com/example/local/model/relational/NoteEntity.kt +++ b/core/database/src/main/java/city/zouitel/database/model/relational/NoteEntity.kt @@ -1,11 +1,11 @@ -package com.example.local.model.relational +package city.zouitel.database.model.relational import androidx.room.Embedded import androidx.room.Junction import androidx.room.Relation -import com.example.local.model.* -import com.example.local.utils.Constants.ID -import com.example.local.utils.Constants.UUID +import city.zouitel.database.model.* +import city.zouitel.database.utils.Constants.ID +import city.zouitel.database.utils.Constants.UUID data class NoteEntity( @Embedded val dataEntity: DataEntity, diff --git a/data/local/src/main/java/com/example/local/utils/Constants.kt b/core/database/src/main/java/city/zouitel/database/utils/Constants.kt similarity index 96% rename from data/local/src/main/java/com/example/local/utils/Constants.kt rename to core/database/src/main/java/city/zouitel/database/utils/Constants.kt index d5846eae..43c42573 100644 --- a/data/local/src/main/java/com/example/local/utils/Constants.kt +++ b/core/database/src/main/java/city/zouitel/database/utils/Constants.kt @@ -1,4 +1,4 @@ -package com.example.local.utils +package city.zouitel.database.utils internal object Constants { diff --git a/core/database/src/test/java/city/zouitel/database/ExampleUnitTest.kt b/core/database/src/test/java/city/zouitel/database/ExampleUnitTest.kt new file mode 100644 index 00000000..1659abfc --- /dev/null +++ b/core/database/src/test/java/city/zouitel/database/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.database + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/common/effect/.gitignore b/core/datastore/.gitignore similarity index 100% rename from common/effect/.gitignore rename to core/datastore/.gitignore diff --git a/core/datastore/build.gradle.kts b/core/datastore/build.gradle.kts new file mode 100644 index 00000000..5082f965 --- /dev/null +++ b/core/datastore/build.gradle.kts @@ -0,0 +1,56 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.datastore" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //Modules. + implementation(projects.core.repository) + + //DataStore. + implementation (libs.datastore) + + //AndroidX. + implementation(libs.constraintlayout) + + //SecurityDatastore. + implementation("io.github.osipxd:security-crypto-datastore-preferences:1.0.0-alpha04") +} \ No newline at end of file diff --git a/core/datastore/consumer-rules.pro b/core/datastore/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/core/datastore/proguard-rules.pro b/core/datastore/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/core/datastore/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/core/datastore/src/androidTest/java/city/zouitel/datastore/ExampleInstrumentedTest.kt b/core/datastore/src/androidTest/java/city/zouitel/datastore/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..1bc7f593 --- /dev/null +++ b/core/datastore/src/androidTest/java/city/zouitel/datastore/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.datastore + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.datastore.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/common/logic/src/main/AndroidManifest.xml b/core/datastore/src/main/AndroidManifest.xml similarity index 100% rename from common/logic/src/main/AndroidManifest.xml rename to core/datastore/src/main/AndroidManifest.xml diff --git a/data/datastore/src/main/java/com/example/datastore/Cons.kt b/core/datastore/src/main/java/city/zouitel/datastore/Cons.kt similarity index 95% rename from data/datastore/src/main/java/com/example/datastore/Cons.kt rename to core/datastore/src/main/java/city/zouitel/datastore/Cons.kt index 940c0155..9e4dcc1e 100644 --- a/data/datastore/src/main/java/com/example/datastore/Cons.kt +++ b/core/datastore/src/main/java/city/zouitel/datastore/Cons.kt @@ -1,4 +1,4 @@ -package com.example.datastore +package city.zouitel.datastore object Cons { const val LAYOUT = "LAYOUT_PREFERENCES_KEY" diff --git a/data/datastore/src/main/java/com/example/datastore/DataStoreModule.kt b/core/datastore/src/main/java/city/zouitel/datastore/DataStoreModule.kt similarity index 75% rename from data/datastore/src/main/java/com/example/datastore/DataStoreModule.kt rename to core/datastore/src/main/java/city/zouitel/datastore/DataStoreModule.kt index c985cefc..8e082de8 100644 --- a/data/datastore/src/main/java/com/example/datastore/DataStoreModule.kt +++ b/core/datastore/src/main/java/city/zouitel/datastore/DataStoreModule.kt @@ -1,4 +1,4 @@ -package com.example.datastore +package city.zouitel.datastore import android.content.Context import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler @@ -9,23 +9,18 @@ import androidx.datastore.preferences.core.emptyPreferences import androidx.datastore.preferences.preferencesDataStoreFile import androidx.security.crypto.EncryptedFile import androidx.security.crypto.MasterKeys -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.qualifiers.ApplicationContext -import dagger.hilt.components.SingletonComponent +import city.zouitel.datastore.Cons import io.github.osipxd.security.crypto.createEncrypted -import javax.inject.Singleton -@Module -@InstallIn(SingletonComponent::class) +//@Module +//@InstallIn(SingletonComponent::class) object DataStoreModule { - @Singleton - @Provides +// @Singleton +// @Provides fun provideEncryptedDataStore( - @ApplicationContext context: Context + /*@ApplicationContext*/ context: Context ): DataStore = PreferenceDataStoreFactory.createEncrypted( corruptionHandler = ReplaceFileCorruptionHandler( diff --git a/data/datastore/src/main/java/com/example/datastore/DataStoreRepo.kt b/core/datastore/src/main/java/city/zouitel/datastore/DataStoreRepo.kt similarity index 92% rename from data/datastore/src/main/java/com/example/datastore/DataStoreRepo.kt rename to core/datastore/src/main/java/city/zouitel/datastore/DataStoreRepo.kt index 1eba68f3..6d1e5905 100644 --- a/data/datastore/src/main/java/com/example/datastore/DataStoreRepo.kt +++ b/core/datastore/src/main/java/city/zouitel/datastore/DataStoreRepo.kt @@ -1,4 +1,4 @@ -package com.example.datastore +package city.zouitel.datastore import kotlinx.coroutines.flow.Flow diff --git a/data/datastore/src/main/java/com/example/datastore/DataStoreRepoImpl.kt b/core/datastore/src/main/java/city/zouitel/datastore/DataStoreRepoImpl.kt similarity index 94% rename from data/datastore/src/main/java/com/example/datastore/DataStoreRepoImpl.kt rename to core/datastore/src/main/java/city/zouitel/datastore/DataStoreRepoImpl.kt index 02b18dcd..64ace556 100644 --- a/data/datastore/src/main/java/com/example/datastore/DataStoreRepoImpl.kt +++ b/core/datastore/src/main/java/city/zouitel/datastore/DataStoreRepoImpl.kt @@ -1,14 +1,12 @@ -package com.example.datastore +package city.zouitel.datastore import kotlinx.coroutines.flow.Flow import androidx.datastore.core.DataStore import androidx.datastore.preferences.core.* import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.map -import javax.inject.Inject - -class DataStoreRepoImpl @Inject constructor( +class DataStoreRepoImpl /*@Inject*/ constructor( private val dataStore: DataStore ) : DataStoreRepo { diff --git a/data/datastore/src/main/java/com/example/datastore/Keys.kt b/core/datastore/src/main/java/city/zouitel/datastore/Keys.kt similarity index 85% rename from data/datastore/src/main/java/com/example/datastore/Keys.kt rename to core/datastore/src/main/java/city/zouitel/datastore/Keys.kt index 7c1a6045..97ea9124 100644 --- a/data/datastore/src/main/java/com/example/datastore/Keys.kt +++ b/core/datastore/src/main/java/city/zouitel/datastore/Keys.kt @@ -1,7 +1,8 @@ -package com.example.datastore +package city.zouitel.datastore import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.stringPreferencesKey +import city.zouitel.datastore.Cons object Keys { val LAYOUT_KEY = stringPreferencesKey(Cons.LAYOUT) diff --git a/core/datastore/src/main/java/city/zouitel/datastore/RepoMod.kt b/core/datastore/src/main/java/city/zouitel/datastore/RepoMod.kt new file mode 100644 index 00000000..bbb1f094 --- /dev/null +++ b/core/datastore/src/main/java/city/zouitel/datastore/RepoMod.kt @@ -0,0 +1,12 @@ +package city.zouitel.datastore + +import city.zouitel.datastore.DataStoreRepo +import city.zouitel.datastore.DataStoreRepoImpl + +//@Module +//@InstallIn(ViewModelComponent::class) +abstract class RepoMod { + +// @Binds + abstract fun bindRepository(impl: DataStoreRepoImpl): DataStoreRepo +} \ No newline at end of file diff --git a/core/datastore/src/main/java/city/zouitel/datastore/datastoreDI.kt b/core/datastore/src/main/java/city/zouitel/datastore/datastoreDI.kt new file mode 100644 index 00000000..5752ff91 --- /dev/null +++ b/core/datastore/src/main/java/city/zouitel/datastore/datastoreDI.kt @@ -0,0 +1,39 @@ +package city.zouitel.datastore + +import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler +import androidx.datastore.preferences.core.PreferenceDataStoreFactory +import androidx.datastore.preferences.core.emptyPreferences +import androidx.datastore.preferences.preferencesDataStoreFile +import androidx.security.crypto.EncryptedFile +import androidx.security.crypto.MasterKeys +import io.github.osipxd.security.crypto.createEncrypted +import kotlinx.coroutines.Dispatchers +import org.koin.android.ext.koin.androidContext +import org.koin.core.module.dsl.singleOf +import org.koin.dsl.bind +import org.koin.dsl.module + +val datastoreKoinModule = module { +// includes(dispatcherKoinModule) + + single { + PreferenceDataStoreFactory.createEncrypted( + corruptionHandler = ReplaceFileCorruptionHandler( + produceNewData = { emptyPreferences() } + ) + ) { + EncryptedFile.Builder( + androidContext().preferencesDataStoreFile(Cons.DS_FILE), + androidContext(), + MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC), + EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB + ).build() + } + } + + singleOf(::DataStoreRepoImpl) bind DataStoreRepo::class +} + +//private val dispatcherKoinModule = module { +// single { Dispatchers.IO } +//} \ No newline at end of file diff --git a/core/datastore/src/test/java/city/zouitel/datastore/ExampleUnitTest.kt b/core/datastore/src/test/java/city/zouitel/datastore/ExampleUnitTest.kt new file mode 100644 index 00000000..9178126f --- /dev/null +++ b/core/datastore/src/test/java/city/zouitel/datastore/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.datastore + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/common/logic/.gitignore b/core/repository/.gitignore similarity index 100% rename from common/logic/.gitignore rename to core/repository/.gitignore diff --git a/core/repository/build.gradle.kts b/core/repository/build.gradle.kts new file mode 100644 index 00000000..966cc56b --- /dev/null +++ b/core/repository/build.gradle.kts @@ -0,0 +1,54 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.repository" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //Modules. + implementation(projects.domain) + + //Koin. + api(libs.koin.core) + api(libs.koin.android) + + //Kotlin-Coroutines. + implementation(libs.coroutines.core) +} \ No newline at end of file diff --git a/core/repository/consumer-rules.pro b/core/repository/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/core/repository/proguard-rules.pro b/core/repository/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/core/repository/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/core/repository/src/androidTest/java/city/zouitel/repository/ExampleInstrumentedTest.kt b/core/repository/src/androidTest/java/city/zouitel/repository/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..521c8cc9 --- /dev/null +++ b/core/repository/src/androidTest/java/city/zouitel/repository/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.repository + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.repository.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/common/mapper/src/main/AndroidManifest.xml b/core/repository/src/main/AndroidManifest.xml similarity index 100% rename from common/mapper/src/main/AndroidManifest.xml rename to core/repository/src/main/AndroidManifest.xml diff --git a/data/repository/src/main/java/com/example/repository/datasource/DataDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/DataDataSource.kt similarity index 68% rename from data/repository/src/main/java/com/example/repository/datasource/DataDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/DataDataSource.kt index 9fbe72ca..a70fb269 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/DataDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/DataDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.Data +import city.zouitel.repository.model.Data interface DataDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/ExoDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/ExoDataSource.kt similarity index 88% rename from data/repository/src/main/java/com/example/repository/datasource/ExoDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/ExoDataSource.kt index a8d36f72..7764b1c1 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/ExoDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/ExoDataSource.kt @@ -1,4 +1,4 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource import android.content.Context import com.google.android.exoplayer2.ExoPlayer diff --git a/data/repository/src/main/java/com/example/repository/datasource/LinkDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/LinkDataSource.kt similarity index 68% rename from data/repository/src/main/java/com/example/repository/datasource/LinkDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/LinkDataSource.kt index 14b5af29..71174f8d 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/LinkDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/LinkDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.Link +import city.zouitel.repository.model.Link import kotlinx.coroutines.flow.Flow interface LinkDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/NoteAndLinkDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndLinkDataSource.kt similarity index 72% rename from data/repository/src/main/java/com/example/repository/datasource/NoteAndLinkDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndLinkDataSource.kt index 0d63c740..63d74ff7 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/NoteAndLinkDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndLinkDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.NoteAndLink +import city.zouitel.repository.model.NoteAndLink import kotlinx.coroutines.flow.Flow interface NoteAndLinkDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/NoteAndTagDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndTagDataSource.kt similarity index 72% rename from data/repository/src/main/java/com/example/repository/datasource/NoteAndTagDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndTagDataSource.kt index 76ad3b6a..7a3943ca 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/NoteAndTagDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndTagDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.NoteAndTag +import city.zouitel.repository.model.NoteAndTag import kotlinx.coroutines.flow.Flow interface NoteAndTagDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/NoteAndTaskDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndTaskDataSource.kt similarity index 72% rename from data/repository/src/main/java/com/example/repository/datasource/NoteAndTaskDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndTaskDataSource.kt index 3503082c..43021e26 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/NoteAndTaskDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteAndTaskDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.NoteAndTask +import city.zouitel.repository.model.NoteAndTask import kotlinx.coroutines.flow.Flow interface NoteAndTaskDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/NoteDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteDataSource.kt similarity index 82% rename from data/repository/src/main/java/com/example/repository/datasource/NoteDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/NoteDataSource.kt index 546e72c4..301ba2b8 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/NoteDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/NoteDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.Note +import city.zouitel.repository.model.Note import kotlinx.coroutines.flow.Flow interface NoteDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/TagDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/TagDataSource.kt similarity index 71% rename from data/repository/src/main/java/com/example/repository/datasource/TagDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/TagDataSource.kt index 27bad4ee..4abce630 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/TagDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/TagDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.Tag +import city.zouitel.repository.model.Tag import kotlinx.coroutines.flow.Flow interface TagDataSource { diff --git a/data/repository/src/main/java/com/example/repository/datasource/TaskDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/TaskDataSource.kt similarity index 73% rename from data/repository/src/main/java/com/example/repository/datasource/TaskDataSource.kt rename to core/repository/src/main/java/city/zouitel/repository/datasource/TaskDataSource.kt index 09d4cd54..dfe9b0ba 100644 --- a/data/repository/src/main/java/com/example/repository/datasource/TaskDataSource.kt +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/TaskDataSource.kt @@ -1,6 +1,6 @@ -package com.example.repository.datasource +package city.zouitel.repository.datasource -import com.example.repository.model.Task +import city.zouitel.repository.model.Task import kotlinx.coroutines.flow.Flow interface TaskDataSource { diff --git a/core/repository/src/main/java/city/zouitel/repository/datasource/WidgetDataSource.kt b/core/repository/src/main/java/city/zouitel/repository/datasource/WidgetDataSource.kt new file mode 100644 index 00000000..06a4bdf0 --- /dev/null +++ b/core/repository/src/main/java/city/zouitel/repository/datasource/WidgetDataSource.kt @@ -0,0 +1,8 @@ +package city.zouitel.repository.datasource + +import city.zouitel.repository.model.Note + +interface WidgetDataSource { + + val getAllWidgetMainEntityById: List +} \ No newline at end of file diff --git a/data/repository/src/main/java/com/example/repository/di/MapperModule.kt b/core/repository/src/main/java/city/zouitel/repository/di/MapperModule.kt similarity index 60% rename from data/repository/src/main/java/com/example/repository/di/MapperModule.kt rename to core/repository/src/main/java/city/zouitel/repository/di/MapperModule.kt index 495c6730..0a37176d 100644 --- a/data/repository/src/main/java/com/example/repository/di/MapperModule.kt +++ b/core/repository/src/main/java/city/zouitel/repository/di/MapperModule.kt @@ -1,46 +1,41 @@ -package com.example.repository.di +package city.zouitel.repository.di -import com.example.repository.mapper.* -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton +import city.zouitel.repository.mapper.* -@Module -@InstallIn(SingletonComponent::class) +//@Module +//@InstallIn(SingletonComponent::class) object MapperModule { - @Singleton - @Provides +// @Singleton +// @Provides fun provideDataMapper() = DataMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideLinkMapper() = LinkMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideTagMapper() = TagMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideTaskMapper() = TaskMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndLinkMapper() = NoteAndLinkMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndTagMapper() = NoteAndTagMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteAndTaskMapper() = NoteAndTaskMapper() - @Singleton - @Provides +// @Singleton +// @Provides fun provideNoteMapper( dataMapper: DataMapper, tagMapper: TagMapper, @@ -48,8 +43,8 @@ object MapperModule { linkMapper: LinkMapper ) = NoteMapper(dataMapper, tagMapper, taskMapper, linkMapper) - @Singleton - @Provides +// @Singleton +// @Provides fun provideWidgetMapper( dataMapper: DataMapper, tagMapper: TagMapper, diff --git a/data/repository/src/main/java/com/example/repository/di/RepositoryModule.kt b/core/repository/src/main/java/city/zouitel/repository/di/RepositoryModule.kt similarity index 56% rename from data/repository/src/main/java/com/example/repository/di/RepositoryModule.kt rename to core/repository/src/main/java/city/zouitel/repository/di/RepositoryModule.kt index 36ac0803..132ce575 100644 --- a/data/repository/src/main/java/com/example/repository/di/RepositoryModule.kt +++ b/core/repository/src/main/java/city/zouitel/repository/di/RepositoryModule.kt @@ -1,50 +1,45 @@ -package com.example.repository.di - -import com.example.domain.repository.* -import com.example.repository.repositoryImpl.* -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) +package city.zouitel.repository.di + +import city.zouitel.domain.repository.* +import city.zouitel.repository.repositoryImpl.* + +//@Module +//@InstallIn(SingletonComponent::class) interface RepositoryModule { - @Binds - @Singleton +// @Binds +// @Singleton fun bindLinkRepository(data: LinkRepositoryImpl): LinkRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindDataRepository(data: DataRepositoryImpl): DataRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteAndLinkRepository(data: NoteAndLinkRepositoryImpl): NoteAndLinkRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteAndTagRepository(data: NoteAndTagRepositoryImpl): NoteAndTagRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteAndTaskRepository(data: NoteAndTaskRepositoryImpl): NoteAndTaskRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindNoteRepository(data: NoteRepositoryImpl): NoteRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindTagRepository(data: TagRepositoryImpl): TagRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindTaskRepository(data: TaskRepositoryImpl): TaskRepository - @Binds - @Singleton +// @Binds +// @Singleton fun bindWidgetRepository(data: WidgetRepositoryImpl): WidgetRepository } \ No newline at end of file diff --git a/core/repository/src/main/java/city/zouitel/repository/di/repositoryDI.kt b/core/repository/src/main/java/city/zouitel/repository/di/repositoryDI.kt new file mode 100644 index 00000000..c7ea1a0e --- /dev/null +++ b/core/repository/src/main/java/city/zouitel/repository/di/repositoryDI.kt @@ -0,0 +1,119 @@ +package city.zouitel.repository.di + +import city.zouitel.domain.repository.DataRepository +import city.zouitel.domain.repository.LinkRepository +import city.zouitel.domain.repository.NoteAndLinkRepository +import city.zouitel.domain.repository.NoteAndTagRepository +import city.zouitel.domain.repository.NoteAndTaskRepository +import city.zouitel.domain.repository.NoteRepository +import city.zouitel.domain.repository.TagRepository +import city.zouitel.domain.repository.TaskRepository +import city.zouitel.domain.repository.WidgetRepository +import city.zouitel.domain.usecase.DataUseCase +import city.zouitel.domain.usecase.LinkUseCase +import city.zouitel.domain.usecase.NoteAndLinkUseCase +import city.zouitel.domain.usecase.NoteAndTagUseCase +import city.zouitel.domain.usecase.NoteAndTaskUseCase +import city.zouitel.domain.usecase.NoteUseCase +import city.zouitel.domain.usecase.TagUseCase +import city.zouitel.domain.usecase.TaskUseCase +import city.zouitel.domain.usecase.WidgetUseCase +import city.zouitel.repository.mapper.DataMapper +import city.zouitel.repository.mapper.LinkMapper +import city.zouitel.repository.mapper.NoteAndLinkMapper +import city.zouitel.repository.mapper.NoteAndTagMapper +import city.zouitel.repository.mapper.NoteAndTaskMapper +import city.zouitel.repository.mapper.NoteMapper +import city.zouitel.repository.mapper.TagMapper +import city.zouitel.repository.mapper.TaskMapper +import city.zouitel.repository.mapper.WidgetMapper +import city.zouitel.repository.repositoryImpl.DataRepositoryImpl +import city.zouitel.repository.repositoryImpl.LinkRepositoryImpl +import city.zouitel.repository.repositoryImpl.NoteAndLinkRepositoryImpl +import city.zouitel.repository.repositoryImpl.NoteAndTagRepositoryImpl +import city.zouitel.repository.repositoryImpl.NoteAndTaskRepositoryImpl +import city.zouitel.repository.repositoryImpl.NoteRepositoryImpl +import city.zouitel.repository.repositoryImpl.TagRepositoryImpl +import city.zouitel.repository.repositoryImpl.TaskRepositoryImpl +import city.zouitel.repository.repositoryImpl.WidgetRepositoryImpl +import org.koin.core.module.dsl.factoryOf +import org.koin.core.module.dsl.singleOf +import org.koin.dsl.bind +import org.koin.dsl.module + +val repositoryKoinModule = module { + + //Mappers. + factoryOf(::DataMapper) + factoryOf(::LinkMapper) + factoryOf(::TagMapper) + factoryOf(::TaskMapper) + factoryOf(::NoteAndLinkMapper) + factoryOf(::NoteAndTagMapper) + factoryOf(::NoteAndTaskMapper) + factory { + NoteMapper(get(), get(), get(), get()) + } + + factory { param -> + WidgetMapper( + param.get(), + param.get(), + param.get(), + param.get() + ) + } + + //Repositories. + singleOf(::LinkRepositoryImpl) bind LinkRepository::class + singleOf(::DataRepositoryImpl) bind DataRepository::class + singleOf(::NoteAndLinkRepositoryImpl) bind NoteAndLinkRepository::class + singleOf(::NoteAndTagRepositoryImpl) bind NoteAndTagRepository::class + singleOf(::NoteAndTaskRepositoryImpl) bind NoteAndTaskRepository::class + singleOf(::NoteRepositoryImpl) bind NoteRepository::class + singleOf(::TagRepositoryImpl) bind TagRepository::class + singleOf(::TaskRepositoryImpl) bind TaskRepository::class + singleOf(::WidgetRepositoryImpl) bind WidgetRepository::class + + // + factoryOf(DataUseCase::AddData) + factoryOf(DataUseCase::EditData) + factoryOf(DataUseCase::DeleteData) + factoryOf(DataUseCase::DeleteAllTrashedData) + + factoryOf(LinkUseCase::AddLink) + factoryOf(LinkUseCase::DeleteLink) + factoryOf(LinkUseCase::GetAllLinks) + + factoryOf(NoteAndLinkUseCase::AddNoteAndLink) + factoryOf(NoteAndLinkUseCase::DeleteNoteAndLink) + factoryOf(NoteAndLinkUseCase::GetAllNotesAndLinks) + + factoryOf(NoteAndTagUseCase::AddNoteAndTag) + factoryOf(NoteAndTagUseCase::DeleteNoteAndTag) + factoryOf(NoteAndTagUseCase::GetAllNotesAndTags) + + factoryOf(NoteAndTaskUseCase::AddNoteAndTask) + factoryOf(NoteAndTaskUseCase::DeleteNoteAndTask) + factoryOf(NoteAndTaskUseCase::GetAllNotesAndTask) + + factoryOf(NoteUseCase::GetAllNotesById) + factoryOf(NoteUseCase::GetAllNotesByName) + factoryOf(NoteUseCase::GetAllNotesByNewest) + factoryOf(NoteUseCase::GetAllRemindingNotes) + factoryOf(NoteUseCase::GetAllNotesByOldest) + factoryOf(NoteUseCase::GetAllNotesByPriority) + factoryOf(NoteUseCase::GetAllTrashedNotes) + + factoryOf(TagUseCase::AddTag) + factoryOf(TagUseCase::DeleteTag) + factoryOf(TagUseCase::UpdateTag) + factoryOf(TagUseCase::GetAllTags) + + factoryOf(TaskUseCase::AddTaskItem) + factoryOf(TaskUseCase::DeleteTaskItem) + factoryOf(TaskUseCase::UpdateTaskItem) + factoryOf(TaskUseCase::GetAllTaskItems) + + factoryOf(WidgetUseCase::GetAllWidgetMainEntityById) +} \ No newline at end of file diff --git a/data/repository/src/main/java/com/example/repository/mapper/DataMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/DataMapper.kt similarity index 71% rename from data/repository/src/main/java/com/example/repository/mapper/DataMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/DataMapper.kt index 9473ff50..8097c8f4 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/DataMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/DataMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.Data as InData -import com.example.domain.model.Data as OutData +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.Data as InData +import city.zouitel.domain.model.Data as OutData class DataMapper: Mapper.Base { override fun toRepository(data: OutData): InData = with(data){ diff --git a/data/repository/src/main/java/com/example/repository/mapper/LinkMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/LinkMapper.kt similarity index 62% rename from data/repository/src/main/java/com/example/repository/mapper/LinkMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/LinkMapper.kt index d19fcbb7..86a244fb 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/LinkMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/LinkMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.domain.model.Link as OutLink -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.Link as InLink +import city.zouitel.domain.model.Link as OutLink +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.Link as InLink class LinkMapper: Mapper.Base { override fun toRepository(data: OutLink): InLink = with(data) { diff --git a/data/repository/src/main/java/com/example/repository/mapper/NoteAndLinkMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndLinkMapper.kt similarity index 59% rename from data/repository/src/main/java/com/example/repository/mapper/NoteAndLinkMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndLinkMapper.kt index 3c8b08c2..006cbefb 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/NoteAndLinkMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndLinkMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.NoteAndLink as InNoteAndLink -import com.example.domain.model.NoteAndLink as OutNoteAndLink +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.NoteAndLink as InNoteAndLink +import city.zouitel.domain.model.NoteAndLink as OutNoteAndLink class NoteAndLinkMapper: Mapper.Base { override fun toRepository(data: OutNoteAndLink): InNoteAndLink = with(data){ diff --git a/data/repository/src/main/java/com/example/repository/mapper/NoteAndTagMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndTagMapper.kt similarity index 59% rename from data/repository/src/main/java/com/example/repository/mapper/NoteAndTagMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndTagMapper.kt index 42590001..88fe79b3 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/NoteAndTagMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndTagMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.NoteAndTag as InNoteAndTag -import com.example.domain.model.NoteAndTag as OutNoteAndTag +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.NoteAndTag as InNoteAndTag +import city.zouitel.domain.model.NoteAndTag as OutNoteAndTag class NoteAndTagMapper: Mapper.Base { override fun toRepository(data: OutNoteAndTag): InNoteAndTag = with(data){ diff --git a/data/repository/src/main/java/com/example/repository/mapper/NoteAndTaskMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndTaskMapper.kt similarity index 59% rename from data/repository/src/main/java/com/example/repository/mapper/NoteAndTaskMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndTaskMapper.kt index 4f722675..67b6e2c5 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/NoteAndTaskMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteAndTaskMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.NoteAndTask as InNoteAndTask -import com.example.domain.model.NoteAndTask as OutNoteAndTask +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.NoteAndTask as InNoteAndTask +import city.zouitel.domain.model.NoteAndTask as OutNoteAndTask class NoteAndTaskMapper: Mapper.Base { override fun toRepository(data: OutNoteAndTask): InNoteAndTask = with(data){ diff --git a/data/repository/src/main/java/com/example/repository/mapper/NoteMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteMapper.kt similarity index 75% rename from data/repository/src/main/java/com/example/repository/mapper/NoteMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/NoteMapper.kt index caf8e828..eb69cbc8 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/NoteMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/NoteMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.Note as InNote -import com.example.domain.model.Note as OutNote +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.Note as InNote +import city.zouitel.domain.model.Note as OutNote class NoteMapper( private val dataMapper: DataMapper, diff --git a/data/repository/src/main/java/com/example/repository/mapper/TagMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/TagMapper.kt similarity index 57% rename from data/repository/src/main/java/com/example/repository/mapper/TagMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/TagMapper.kt index f1ff5e1d..1cf52cbf 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/TagMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/TagMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.Tag as InTag -import com.example.domain.model.Tag as OutTag +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.Tag as InTag +import city.zouitel.domain.model.Tag as OutTag class TagMapper: Mapper.Base { override fun toRepository(data: OutTag): InTag = with(data){ diff --git a/data/repository/src/main/java/com/example/repository/mapper/TaskMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/TaskMapper.kt similarity index 57% rename from data/repository/src/main/java/com/example/repository/mapper/TaskMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/TaskMapper.kt index 08a24a03..9b7ef9fb 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/TaskMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/TaskMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.Task as InTask -import com.example.domain.model.Task as OutTask +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.Task as InTask +import city.zouitel.domain.model.Task as OutTask class TaskMapper: Mapper.Base { override fun toRepository(data: OutTask): InTask = with(data){ diff --git a/data/repository/src/main/java/com/example/repository/mapper/WidgetMapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/WidgetMapper.kt similarity index 75% rename from data/repository/src/main/java/com/example/repository/mapper/WidgetMapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/WidgetMapper.kt index 0996e040..61423e5f 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/WidgetMapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/WidgetMapper.kt @@ -1,8 +1,8 @@ -package com.example.repository.mapper +package city.zouitel.repository.mapper -import com.example.repository.mapper.base.Mapper -import com.example.repository.model.Note as InNote -import com.example.domain.model.Note as OutNote +import city.zouitel.repository.mapper.base.Mapper +import city.zouitel.repository.model.Note as InNote +import city.zouitel.domain.model.Note as OutNote class WidgetMapper ( private val dataMapper: DataMapper, diff --git a/data/repository/src/main/java/com/example/repository/mapper/base/Mapper.kt b/core/repository/src/main/java/city/zouitel/repository/mapper/base/Mapper.kt similarity index 83% rename from data/repository/src/main/java/com/example/repository/mapper/base/Mapper.kt rename to core/repository/src/main/java/city/zouitel/repository/mapper/base/Mapper.kt index b4f3f111..3d8daafa 100644 --- a/data/repository/src/main/java/com/example/repository/mapper/base/Mapper.kt +++ b/core/repository/src/main/java/city/zouitel/repository/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.repository.mapper.base +package city.zouitel.repository.mapper.base sealed interface Mapper { interface Base { diff --git a/data/repository/src/main/java/com/example/repository/model/Data.kt b/core/repository/src/main/java/city/zouitel/repository/model/Data.kt similarity index 82% rename from data/repository/src/main/java/com/example/repository/model/Data.kt rename to core/repository/src/main/java/city/zouitel/repository/model/Data.kt index e644ac78..8babdf2c 100644 --- a/data/repository/src/main/java/com/example/repository/model/Data.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/Data.kt @@ -1,7 +1,7 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep -import com.example.repository.utils.Constants.NON +import city.zouitel.repository.utils.Constants.NON @Keep data class Data( diff --git a/data/repository/src/main/java/com/example/repository/model/Link.kt b/core/repository/src/main/java/city/zouitel/repository/model/Link.kt similarity index 86% rename from data/repository/src/main/java/com/example/repository/model/Link.kt rename to core/repository/src/main/java/city/zouitel/repository/model/Link.kt index 9cb0ab8b..c127f49e 100644 --- a/data/repository/src/main/java/com/example/repository/model/Link.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/Link.kt @@ -1,4 +1,4 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep diff --git a/data/repository/src/main/java/com/example/repository/model/Note.kt b/core/repository/src/main/java/city/zouitel/repository/model/Note.kt similarity index 69% rename from data/repository/src/main/java/com/example/repository/model/Note.kt rename to core/repository/src/main/java/city/zouitel/repository/model/Note.kt index 38c6ef8e..9885d4be 100644 --- a/data/repository/src/main/java/com/example/repository/model/Note.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/Note.kt @@ -1,6 +1,7 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep +import city.zouitel.repository.model.Link @Keep data class Note( diff --git a/data/repository/src/main/java/com/example/repository/model/NoteAndLink.kt b/core/repository/src/main/java/city/zouitel/repository/model/NoteAndLink.kt similarity index 75% rename from data/repository/src/main/java/com/example/repository/model/NoteAndLink.kt rename to core/repository/src/main/java/city/zouitel/repository/model/NoteAndLink.kt index a09adb87..a7bb3afc 100644 --- a/data/repository/src/main/java/com/example/repository/model/NoteAndLink.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/NoteAndLink.kt @@ -1,4 +1,4 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep diff --git a/data/repository/src/main/java/com/example/repository/model/NoteAndTag.kt b/core/repository/src/main/java/city/zouitel/repository/model/NoteAndTag.kt similarity index 74% rename from data/repository/src/main/java/com/example/repository/model/NoteAndTag.kt rename to core/repository/src/main/java/city/zouitel/repository/model/NoteAndTag.kt index 20bc7eb3..1e41baa9 100644 --- a/data/repository/src/main/java/com/example/repository/model/NoteAndTag.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/NoteAndTag.kt @@ -1,4 +1,4 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep diff --git a/data/repository/src/main/java/com/example/repository/model/NoteAndTask.kt b/core/repository/src/main/java/city/zouitel/repository/model/NoteAndTask.kt similarity index 74% rename from data/repository/src/main/java/com/example/repository/model/NoteAndTask.kt rename to core/repository/src/main/java/city/zouitel/repository/model/NoteAndTask.kt index a8dc2858..6527b960 100644 --- a/data/repository/src/main/java/com/example/repository/model/NoteAndTask.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/NoteAndTask.kt @@ -1,4 +1,4 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep diff --git a/data/repository/src/main/java/com/example/repository/model/Tag.kt b/core/repository/src/main/java/city/zouitel/repository/model/Tag.kt similarity index 78% rename from data/repository/src/main/java/com/example/repository/model/Tag.kt rename to core/repository/src/main/java/city/zouitel/repository/model/Tag.kt index fe6adad9..d3a47cab 100644 --- a/data/repository/src/main/java/com/example/repository/model/Tag.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/Tag.kt @@ -1,4 +1,4 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep diff --git a/data/repository/src/main/java/com/example/repository/model/Task.kt b/core/repository/src/main/java/city/zouitel/repository/model/Task.kt similarity index 78% rename from data/repository/src/main/java/com/example/repository/model/Task.kt rename to core/repository/src/main/java/city/zouitel/repository/model/Task.kt index a07dabe1..29b0e06d 100644 --- a/data/repository/src/main/java/com/example/repository/model/Task.kt +++ b/core/repository/src/main/java/city/zouitel/repository/model/Task.kt @@ -1,4 +1,4 @@ -package com.example.repository.model +package city.zouitel.repository.model import androidx.annotation.Keep diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/DataRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/DataRepositoryImpl.kt similarity index 62% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/DataRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/DataRepositoryImpl.kt index 7ba1d511..918bacae 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/DataRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/DataRepositoryImpl.kt @@ -1,12 +1,11 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.Data as OutData -import com.example.domain.repository.DataRepository -import com.example.repository.datasource.DataDataSource -import com.example.repository.mapper.DataMapper -import javax.inject.Inject +import city.zouitel.domain.model.Data as OutData +import city.zouitel.domain.repository.DataRepository +import city.zouitel.repository.datasource.DataDataSource +import city.zouitel.repository.mapper.DataMapper -class DataRepositoryImpl @Inject constructor( +class DataRepositoryImpl /*@Inject*/ constructor( private val dataSource: DataDataSource, private val mapper: DataMapper ): DataRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/LinkRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/LinkRepositoryImpl.kt similarity index 64% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/LinkRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/LinkRepositoryImpl.kt index dbca10f6..638da855 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/LinkRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/LinkRepositoryImpl.kt @@ -1,14 +1,13 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.Link as OutLink -import com.example.domain.repository.LinkRepository -import com.example.repository.datasource.LinkDataSource -import com.example.repository.mapper.LinkMapper +import city.zouitel.domain.model.Link as OutLink +import city.zouitel.domain.repository.LinkRepository +import city.zouitel.repository.datasource.LinkDataSource +import city.zouitel.repository.mapper.LinkMapper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class LinkRepositoryImpl @Inject constructor( +class LinkRepositoryImpl /*@Inject*/ constructor( private val dataSource: LinkDataSource, private val mapper: LinkMapper ): LinkRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt similarity index 66% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt index 553ac498..0d199e8b 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndLinkRepositoryImpl.kt @@ -1,14 +1,13 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.NoteAndLink as OutNoteAndLink -import com.example.domain.repository.NoteAndLinkRepository -import com.example.repository.datasource.NoteAndLinkDataSource -import com.example.repository.mapper.NoteAndLinkMapper +import city.zouitel.domain.model.NoteAndLink as OutNoteAndLink +import city.zouitel.domain.repository.NoteAndLinkRepository +import city.zouitel.repository.datasource.NoteAndLinkDataSource +import city.zouitel.repository.mapper.NoteAndLinkMapper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteAndLinkRepositoryImpl @Inject constructor( +class NoteAndLinkRepositoryImpl /*@Inject*/ constructor( private val dataSource: NoteAndLinkDataSource, private val mapper: NoteAndLinkMapper ): NoteAndLinkRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt similarity index 62% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt index 71e065cf..e805b682 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndTagRepositoryImpl.kt @@ -1,15 +1,14 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.NoteAndTag as OutNoteAndTag -import com.example.domain.repository.NoteAndTagRepository -import com.example.repository.datasource.NoteAndTagDataSource -import com.example.repository.mapper.NoteAndTagMapper -import com.example.repository.model.NoteAndTag as InNoteAndTag +import city.zouitel.domain.model.NoteAndTag as OutNoteAndTag +import city.zouitel.domain.repository.NoteAndTagRepository +import city.zouitel.repository.datasource.NoteAndTagDataSource +import city.zouitel.repository.mapper.NoteAndTagMapper +import city.zouitel.repository.model.NoteAndTag as InNoteAndTag import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteAndTagRepositoryImpl @Inject constructor( +class NoteAndTagRepositoryImpl /*@Inject*/ constructor( private val dataSource: NoteAndTagDataSource, private val mapper: NoteAndTagMapper ): NoteAndTagRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt similarity index 66% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt index 020c2a62..073dc9bd 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteAndTaskRepositoryImpl.kt @@ -1,14 +1,13 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.NoteAndTask as OutNoteAndTask -import com.example.domain.repository.NoteAndTaskRepository -import com.example.repository.datasource.NoteAndTaskDataSource -import com.example.repository.mapper.NoteAndTaskMapper +import city.zouitel.domain.model.NoteAndTask as OutNoteAndTask +import city.zouitel.domain.repository.NoteAndTaskRepository +import city.zouitel.repository.datasource.NoteAndTaskDataSource +import city.zouitel.repository.mapper.NoteAndTaskMapper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteAndTaskRepositoryImpl @Inject constructor( +class NoteAndTaskRepositoryImpl /*@Inject*/ constructor( private val dataSource: NoteAndTaskDataSource, private val mapper: NoteAndTaskMapper ): NoteAndTaskRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteRepositoryImpl.kt similarity index 83% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/NoteRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteRepositoryImpl.kt index 4fdb0bea..2e0be5da 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/NoteRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/NoteRepositoryImpl.kt @@ -1,14 +1,13 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.Note as OutNote -import com.example.domain.repository.NoteRepository -import com.example.repository.datasource.NoteDataSource -import com.example.repository.mapper.NoteMapper +import city.zouitel.domain.model.Note as OutNote +import city.zouitel.domain.repository.NoteRepository +import city.zouitel.repository.datasource.NoteDataSource +import city.zouitel.repository.mapper.NoteMapper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class NoteRepositoryImpl @Inject constructor( +class NoteRepositoryImpl /*@Inject*/ constructor( private val dataSource: NoteDataSource, private val mapper: NoteMapper ): NoteRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/TagRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/TagRepositoryImpl.kt similarity index 68% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/TagRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/TagRepositoryImpl.kt index 945e0399..01dd5ce6 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/TagRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/TagRepositoryImpl.kt @@ -1,14 +1,13 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.Tag as OutTag -import com.example.domain.repository.TagRepository -import com.example.repository.datasource.TagDataSource -import com.example.repository.mapper.TagMapper +import city.zouitel.domain.model.Tag as OutTag +import city.zouitel.domain.repository.TagRepository +import city.zouitel.repository.datasource.TagDataSource +import city.zouitel.repository.mapper.TagMapper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class TagRepositoryImpl @Inject constructor( +class TagRepositoryImpl /*@Inject*/ constructor( private val dataSource: TagDataSource, private val mapper: TagMapper ): TagRepository { diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/TaskRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/TaskRepositoryImpl.kt similarity index 69% rename from data/repository/src/main/java/com/example/repository/repositoryImpl/TaskRepositoryImpl.kt rename to core/repository/src/main/java/city/zouitel/repository/repositoryImpl/TaskRepositoryImpl.kt index 91ef0792..8dd09bd4 100644 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/TaskRepositoryImpl.kt +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/TaskRepositoryImpl.kt @@ -1,14 +1,13 @@ -package com.example.repository.repositoryImpl +package city.zouitel.repository.repositoryImpl -import com.example.domain.model.Task as OutTask -import com.example.domain.repository.TaskRepository -import com.example.repository.datasource.TaskDataSource -import com.example.repository.mapper.TaskMapper +import city.zouitel.domain.model.Task as OutTask +import city.zouitel.domain.repository.TaskRepository +import city.zouitel.repository.datasource.TaskDataSource +import city.zouitel.repository.mapper.TaskMapper import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -import javax.inject.Inject -class TaskRepositoryImpl @Inject constructor( +class TaskRepositoryImpl /*@Inject*/ constructor( private val dataSource: TaskDataSource, private val mapper: TaskMapper ): TaskRepository { diff --git a/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/WidgetRepositoryImpl.kt b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/WidgetRepositoryImpl.kt new file mode 100644 index 00000000..eab44cf1 --- /dev/null +++ b/core/repository/src/main/java/city/zouitel/repository/repositoryImpl/WidgetRepositoryImpl.kt @@ -0,0 +1,16 @@ +package city.zouitel.repository.repositoryImpl + +import city.zouitel.domain.model.Note as OutNote +import city.zouitel.domain.repository.WidgetRepository +import city.zouitel.repository.datasource.WidgetDataSource +import city.zouitel.repository.mapper.WidgetMapper + +class WidgetRepositoryImpl /*@Inject*/ constructor( + private val dataSource: WidgetDataSource, + private val mapper: WidgetMapper +): WidgetRepository { + override val getAllWidgetMainEntityById: List + get() = dataSource.getAllWidgetMainEntityById.map { note -> + mapper.toDomain(note) + } +} \ No newline at end of file diff --git a/data/repository/src/main/java/com/example/repository/utils/Constants.kt b/core/repository/src/main/java/city/zouitel/repository/utils/Constants.kt similarity index 60% rename from data/repository/src/main/java/com/example/repository/utils/Constants.kt rename to core/repository/src/main/java/city/zouitel/repository/utils/Constants.kt index 88a4ac65..e8d8c657 100644 --- a/data/repository/src/main/java/com/example/repository/utils/Constants.kt +++ b/core/repository/src/main/java/city/zouitel/repository/utils/Constants.kt @@ -1,4 +1,4 @@ -package com.example.repository.utils +package city.zouitel.repository.utils object Constants { const val NON = "non_specified" diff --git a/core/repository/src/test/java/city/zouitel/repository/ExampleUnitTest.kt b/core/repository/src/test/java/city/zouitel/repository/ExampleUnitTest.kt new file mode 100644 index 00000000..4f9e04b8 --- /dev/null +++ b/core/repository/src/test/java/city/zouitel/repository/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.repository + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/data/datastore/.gitignore b/data/datastore/.gitignore deleted file mode 100644 index c2880309..00000000 --- a/data/datastore/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -*.iml -/.gradle -/local.properties -/.idea -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -/build -/captures -.externalNativeBuild -.cxx -local.properties \ No newline at end of file diff --git a/data/datastore/build.gradle.kts b/data/datastore/build.gradle.kts deleted file mode 100644 index dc117e1d..00000000 --- a/data/datastore/build.gradle.kts +++ /dev/null @@ -1,20 +0,0 @@ -plugins { - id("city.android-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.datastore" -} - -dependencies { - - //DataStore. - implementation (libs.datastore) - - //AndroidX. - implementation(libs.androidx.constraintlayout) - - //SecurityDatastore. - implementation("io.github.osipxd:security-crypto-datastore-preferences:1.0.0-alpha04") -} \ No newline at end of file diff --git a/data/datastore/src/main/java/com/example/datastore/RepoMod.kt b/data/datastore/src/main/java/com/example/datastore/RepoMod.kt deleted file mode 100644 index 82e9f742..00000000 --- a/data/datastore/src/main/java/com/example/datastore/RepoMod.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.datastore - -import dagger.Binds -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ViewModelComponent - -@Module -@InstallIn(ViewModelComponent::class) -abstract class RepoMod { - - @Binds - abstract fun bindRepository(impl: DataStoreRepoImpl): DataStoreRepo -} \ No newline at end of file diff --git a/data/local/.gitignore b/data/local/.gitignore deleted file mode 100644 index c2880309..00000000 --- a/data/local/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -*.iml -/.gradle -/local.properties -/.idea -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -/build -/captures -.externalNativeBuild -.cxx -local.properties \ No newline at end of file diff --git a/data/local/build.gradle.kts b/data/local/build.gradle.kts deleted file mode 100644 index 127fe121..00000000 --- a/data/local/build.gradle.kts +++ /dev/null @@ -1,32 +0,0 @@ -plugins { - id("city.android-lib") - id("city.dagger-hilt") - id ("kotlin-kapt") -// alias(libs.plugins.ksp) -} - -android { - namespace = "com.example.local" -} - -kapt { - arguments { - arg("room.schemaLocation", "$projectDir/schemas") - } -} -dependencies { - - //Modules. - implementation(projects.data.repository) - - //Room. - implementation(libs.roomkts) - api(libs.room.runtime) - kapt(libs.room.compiler) - - //Security. - implementation (libs.androidx.security) - - //Sqlcipher. - implementation (libs.sqlcipher) -} \ No newline at end of file diff --git a/data/local/src/main/AndroidManifest.xml b/data/local/src/main/AndroidManifest.xml deleted file mode 100644 index 45e89c38..00000000 --- a/data/local/src/main/AndroidManifest.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/data/local/src/main/java/com/example/local/datasourceImpl/WidgetDataSourceImpl.kt b/data/local/src/main/java/com/example/local/datasourceImpl/WidgetDataSourceImpl.kt deleted file mode 100644 index 901c6449..00000000 --- a/data/local/src/main/java/com/example/local/datasourceImpl/WidgetDataSourceImpl.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.local.datasourceImpl - -import com.example.local.dao.WidgetDao -import com.example.local.mapper.WidgetMapper -import com.example.repository.datasource.WidgetDataSource -import com.example.repository.model.Note as OutNote -import javax.inject.Inject - -class WidgetDataSourceImpl @Inject constructor( - private val widgetDao: WidgetDao, - private val widgetMapper: WidgetMapper -): WidgetDataSource { - override val getAllWidgetMainEntityById: List - get() = widgetDao.allWidgetEntitiesById().map { - widgetMapper.readOnly(it) - } -} \ No newline at end of file diff --git a/data/repository/build.gradle.kts b/data/repository/build.gradle.kts deleted file mode 100644 index fff43f7c..00000000 --- a/data/repository/build.gradle.kts +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id("city.android-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.repository" -} - -dependencies { - - //Project. - implementation(projects.domain) - - //Kotlin-Coroutines. - implementation(libs.kotlinx.coroutines.core) -} \ No newline at end of file diff --git a/data/repository/src/main/java/com/example/repository/datasource/WidgetDataSource.kt b/data/repository/src/main/java/com/example/repository/datasource/WidgetDataSource.kt deleted file mode 100644 index 89ecea54..00000000 --- a/data/repository/src/main/java/com/example/repository/datasource/WidgetDataSource.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.example.repository.datasource - -import com.example.repository.model.Note - -interface WidgetDataSource { - - val getAllWidgetMainEntityById: List -} \ No newline at end of file diff --git a/data/repository/src/main/java/com/example/repository/repositoryImpl/WidgetRepositoryImpl.kt b/data/repository/src/main/java/com/example/repository/repositoryImpl/WidgetRepositoryImpl.kt deleted file mode 100644 index 32f5400a..00000000 --- a/data/repository/src/main/java/com/example/repository/repositoryImpl/WidgetRepositoryImpl.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.repository.repositoryImpl - -import com.example.domain.model.Note as OutNote -import com.example.domain.repository.WidgetRepository -import com.example.repository.datasource.WidgetDataSource -import com.example.repository.mapper.WidgetMapper -import javax.inject.Inject - -class WidgetRepositoryImpl @Inject constructor( - private val dataSource: WidgetDataSource, - private val mapper: WidgetMapper -): WidgetRepository { - override val getAllWidgetMainEntityById: List - get() = dataSource.getAllWidgetMainEntityById.map { note -> - mapper.toDomain(note) - } -} \ No newline at end of file diff --git a/domain/.gitignore b/domain/.gitignore index c2880309..42afabfd 100644 --- a/domain/.gitignore +++ b/domain/.gitignore @@ -1,15 +1 @@ -*.iml -/.gradle -/local.properties -/.idea -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -/build -/captures -.externalNativeBuild -.cxx -local.properties \ No newline at end of file +/build \ No newline at end of file diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts index 20dc6ff4..dfe7410f 100644 --- a/domain/build.gradle.kts +++ b/domain/build.gradle.kts @@ -1,17 +1,50 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.dagger-hilt") -// alias(libs.plugins.ksp) + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.domain" + namespace = "city.zouitel.domain" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } } dependencies { - //Projects. - implementation(projects.data.datastore) + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //Koin. + api(libs.koin.core) + api(libs.koin.android) //ExoPlayer api(libs.exoplayer.core) diff --git a/domain/consumer-rules.pro b/domain/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/domain/proguard-rules.pro b/domain/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/domain/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/domain/src/androidTest/java/city/zouitel/domain/ExampleInstrumentedTest.kt b/domain/src/androidTest/java/city/zouitel/domain/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..d8c38002 --- /dev/null +++ b/domain/src/androidTest/java/city/zouitel/domain/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.domain + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.domain.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/domain/src/main/java/city/zouitel/domain/di/ExoPlayerModule.kt b/domain/src/main/java/city/zouitel/domain/di/ExoPlayerModule.kt new file mode 100644 index 00000000..dcbc7dc5 --- /dev/null +++ b/domain/src/main/java/city/zouitel/domain/di/ExoPlayerModule.kt @@ -0,0 +1,13 @@ +package city.zouitel.domain.di + +import city.zouitel.domain.exoplayer.ExoPlayerImpl +import com.google.android.exoplayer2.ExoPlayer + +//@Module +//@InstallIn(SingletonComponent::class) +object ExoPlayerModule { + +// @Singleton +// @Provides + fun provideExoPlayer(exo: ExoPlayer) = ExoPlayerImpl(exo) +} \ No newline at end of file diff --git a/domain/src/main/java/city/zouitel/domain/di/useCasesDI.kt b/domain/src/main/java/city/zouitel/domain/di/useCasesDI.kt new file mode 100644 index 00000000..1e007cba --- /dev/null +++ b/domain/src/main/java/city/zouitel/domain/di/useCasesDI.kt @@ -0,0 +1,60 @@ +package city.zouitel.domain.di + +import city.zouitel.domain.usecase.DataUseCase +import city.zouitel.domain.usecase.LinkUseCase +import city.zouitel.domain.usecase.NoteAndLinkUseCase +import city.zouitel.domain.usecase.NoteAndTagUseCase +import city.zouitel.domain.usecase.NoteAndTaskUseCase +import city.zouitel.domain.usecase.NoteUseCase +import city.zouitel.domain.usecase.TagUseCase +import city.zouitel.domain.usecase.TaskUseCase +import city.zouitel.domain.usecase.WidgetUseCase +import org.koin.core.annotation.KoinInternalApi +import org.koin.core.module.dsl.factoryOf +import org.koin.dsl.module + +@OptIn(KoinInternalApi::class) +val useCasesKoinModule = module { +// includedModules.add(repositoryKoinModule) + +// factoryOf(DataUseCase::AddData) +// factoryOf(DataUseCase::EditData) +// factoryOf(DataUseCase::DeleteData) +// factoryOf(DataUseCase::DeleteAllTrashedData) +// +// factoryOf(LinkUseCase::AddLink) +// factoryOf(LinkUseCase::DeleteLink) +// factoryOf(LinkUseCase::GetAllLinks) +// +// factoryOf(NoteAndLinkUseCase::AddNoteAndLink) +// factoryOf(NoteAndLinkUseCase::DeleteNoteAndLink) +// factoryOf(NoteAndLinkUseCase::GetAllNotesAndLinks) +// +// factoryOf(NoteAndTagUseCase::AddNoteAndTag) +// factoryOf(NoteAndTagUseCase::DeleteNoteAndTag) +// factoryOf(NoteAndTagUseCase::GetAllNotesAndTags) +// +// factoryOf(NoteAndTaskUseCase::AddNoteAndTask) +// factoryOf(NoteAndTaskUseCase::DeleteNoteAndTask) +// factoryOf(NoteAndTaskUseCase::GetAllNotesAndTask) +// +// factoryOf(NoteUseCase::GetAllNotesById) +// factoryOf(NoteUseCase::GetAllNotesByName) +// factoryOf(NoteUseCase::GetAllNotesByNewest) +// factoryOf(NoteUseCase::GetAllRemindingNotes) +// factoryOf(NoteUseCase::GetAllNotesByOldest) +// factoryOf(NoteUseCase::GetAllNotesByPriority) +// factoryOf(NoteUseCase::GetAllTrashedNotes) +// +// factoryOf(TagUseCase::AddTag) +// factoryOf(TagUseCase::DeleteTag) +// factoryOf(TagUseCase::UpdateTag) +// factoryOf(TagUseCase::GetAllTags) +// +// factoryOf(TaskUseCase::AddTaskItem) +// factoryOf(TaskUseCase::DeleteTaskItem) +// factoryOf(TaskUseCase::UpdateTaskItem) +// factoryOf(TaskUseCase::GetAllTaskItems) +// +// factoryOf(WidgetUseCase::GetAllWidgetMainEntityById) +} \ No newline at end of file diff --git a/domain/src/main/java/com/example/domain/exoplayer/ExoPlayerImpl.kt b/domain/src/main/java/city/zouitel/domain/exoplayer/ExoPlayerImpl.kt similarity index 92% rename from domain/src/main/java/com/example/domain/exoplayer/ExoPlayerImpl.kt rename to domain/src/main/java/city/zouitel/domain/exoplayer/ExoPlayerImpl.kt index a8f729f3..2e44ed9c 100644 --- a/domain/src/main/java/com/example/domain/exoplayer/ExoPlayerImpl.kt +++ b/domain/src/main/java/city/zouitel/domain/exoplayer/ExoPlayerImpl.kt @@ -1,4 +1,4 @@ -package com.example.domain.exoplayer +package city.zouitel.domain.exoplayer import android.content.Context import android.media.MediaMetadataRetriever @@ -6,9 +6,8 @@ import androidx.core.net.toUri import com.google.android.exoplayer2.ExoPlayer import com.google.android.exoplayer2.MediaItem import java.io.File -import javax.inject.Inject -class ExoPlayerImpl @Inject constructor ( +class ExoPlayerImpl ( private val exo: ExoPlayer, ): ExoRepo { diff --git a/domain/src/main/java/com/example/domain/exoplayer/ExoRepo.kt b/domain/src/main/java/city/zouitel/domain/exoplayer/ExoRepo.kt similarity index 89% rename from domain/src/main/java/com/example/domain/exoplayer/ExoRepo.kt rename to domain/src/main/java/city/zouitel/domain/exoplayer/ExoRepo.kt index 3c51543e..5541751c 100644 --- a/domain/src/main/java/com/example/domain/exoplayer/ExoRepo.kt +++ b/domain/src/main/java/city/zouitel/domain/exoplayer/ExoRepo.kt @@ -1,4 +1,4 @@ -package com.example.domain.exoplayer +package city.zouitel.domain.exoplayer import android.content.Context import com.google.android.exoplayer2.ExoPlayer diff --git a/domain/src/main/java/com/example/domain/model/Data.kt b/domain/src/main/java/city/zouitel/domain/model/Data.kt similarity index 84% rename from domain/src/main/java/com/example/domain/model/Data.kt rename to domain/src/main/java/city/zouitel/domain/model/Data.kt index 05ea4cf3..082937c7 100644 --- a/domain/src/main/java/com/example/domain/model/Data.kt +++ b/domain/src/main/java/city/zouitel/domain/model/Data.kt @@ -1,7 +1,7 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep -import com.example.domain.utils.Constants.NON +import city.zouitel.domain.utils.Constants.NON @Keep data class Data( diff --git a/domain/src/main/java/com/example/domain/model/Link.kt b/domain/src/main/java/city/zouitel/domain/model/Link.kt similarity index 87% rename from domain/src/main/java/com/example/domain/model/Link.kt rename to domain/src/main/java/city/zouitel/domain/model/Link.kt index 68128f83..24ea799f 100644 --- a/domain/src/main/java/com/example/domain/model/Link.kt +++ b/domain/src/main/java/city/zouitel/domain/model/Link.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/model/Note.kt b/domain/src/main/java/city/zouitel/domain/model/Note.kt similarity index 84% rename from domain/src/main/java/com/example/domain/model/Note.kt rename to domain/src/main/java/city/zouitel/domain/model/Note.kt index 312f3369..53ef6dbc 100644 --- a/domain/src/main/java/com/example/domain/model/Note.kt +++ b/domain/src/main/java/city/zouitel/domain/model/Note.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/model/NoteAndLink.kt b/domain/src/main/java/city/zouitel/domain/model/NoteAndLink.kt similarity index 77% rename from domain/src/main/java/com/example/domain/model/NoteAndLink.kt rename to domain/src/main/java/city/zouitel/domain/model/NoteAndLink.kt index d02802e9..988d926a 100644 --- a/domain/src/main/java/com/example/domain/model/NoteAndLink.kt +++ b/domain/src/main/java/city/zouitel/domain/model/NoteAndLink.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/model/NoteAndTag.kt b/domain/src/main/java/city/zouitel/domain/model/NoteAndTag.kt similarity index 76% rename from domain/src/main/java/com/example/domain/model/NoteAndTag.kt rename to domain/src/main/java/city/zouitel/domain/model/NoteAndTag.kt index 5895b203..11daec23 100644 --- a/domain/src/main/java/com/example/domain/model/NoteAndTag.kt +++ b/domain/src/main/java/city/zouitel/domain/model/NoteAndTag.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/model/NoteAndTask.kt b/domain/src/main/java/city/zouitel/domain/model/NoteAndTask.kt similarity index 76% rename from domain/src/main/java/com/example/domain/model/NoteAndTask.kt rename to domain/src/main/java/city/zouitel/domain/model/NoteAndTask.kt index 4abe2b32..3c3c55c1 100644 --- a/domain/src/main/java/com/example/domain/model/NoteAndTask.kt +++ b/domain/src/main/java/city/zouitel/domain/model/NoteAndTask.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/model/Tag.kt b/domain/src/main/java/city/zouitel/domain/model/Tag.kt similarity index 80% rename from domain/src/main/java/com/example/domain/model/Tag.kt rename to domain/src/main/java/city/zouitel/domain/model/Tag.kt index 9cee8669..35e027e7 100644 --- a/domain/src/main/java/com/example/domain/model/Tag.kt +++ b/domain/src/main/java/city/zouitel/domain/model/Tag.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/ui/features/tasks/src/main/java/com/example/tasks/model/Task.kt b/domain/src/main/java/city/zouitel/domain/model/Task.kt similarity index 80% rename from ui/features/tasks/src/main/java/com/example/tasks/model/Task.kt rename to domain/src/main/java/city/zouitel/domain/model/Task.kt index 5757e411..26cefc7d 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/model/Task.kt +++ b/domain/src/main/java/city/zouitel/domain/model/Task.kt @@ -1,4 +1,4 @@ -package com.example.tasks.model +package city.zouitel.domain.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/repository/DataRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/DataRepository.kt similarity index 68% rename from domain/src/main/java/com/example/domain/repository/DataRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/DataRepository.kt index de566895..2008476e 100644 --- a/domain/src/main/java/com/example/domain/repository/DataRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/DataRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.Data as OutData +import city.zouitel.domain.model.Data as OutData interface DataRepository { diff --git a/domain/src/main/java/com/example/domain/repository/ExoRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/ExoRepository.kt similarity index 89% rename from domain/src/main/java/com/example/domain/repository/ExoRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/ExoRepository.kt index 1a4568dc..3deefc40 100644 --- a/domain/src/main/java/com/example/domain/repository/ExoRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/ExoRepository.kt @@ -1,4 +1,4 @@ -package com.example.domain.repository +package city.zouitel.domain.repository import android.content.Context import com.google.android.exoplayer2.ExoPlayer diff --git a/domain/src/main/java/com/example/domain/repository/LinkRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/LinkRepository.kt similarity index 70% rename from domain/src/main/java/com/example/domain/repository/LinkRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/LinkRepository.kt index 738acf8a..efafae80 100644 --- a/domain/src/main/java/com/example/domain/repository/LinkRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/LinkRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.Link +import city.zouitel.domain.model.Link import kotlinx.coroutines.flow.Flow interface LinkRepository { diff --git a/domain/src/main/java/com/example/domain/repository/NoteAndLinkRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/NoteAndLinkRepository.kt similarity index 71% rename from domain/src/main/java/com/example/domain/repository/NoteAndLinkRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/NoteAndLinkRepository.kt index 8aebb276..bad17871 100644 --- a/domain/src/main/java/com/example/domain/repository/NoteAndLinkRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/NoteAndLinkRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.NoteAndLink as OutNoteAndLink +import city.zouitel.domain.model.NoteAndLink as OutNoteAndLink import kotlinx.coroutines.flow.Flow interface NoteAndLinkRepository { diff --git a/domain/src/main/java/com/example/domain/repository/NoteAndTagRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/NoteAndTagRepository.kt similarity index 71% rename from domain/src/main/java/com/example/domain/repository/NoteAndTagRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/NoteAndTagRepository.kt index 3e087473..b1ee6343 100644 --- a/domain/src/main/java/com/example/domain/repository/NoteAndTagRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/NoteAndTagRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.NoteAndTag as OutNoteAndTag +import city.zouitel.domain.model.NoteAndTag as OutNoteAndTag import kotlinx.coroutines.flow.Flow interface NoteAndTagRepository { diff --git a/domain/src/main/java/com/example/domain/repository/NoteAndTaskRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/NoteAndTaskRepository.kt similarity index 71% rename from domain/src/main/java/com/example/domain/repository/NoteAndTaskRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/NoteAndTaskRepository.kt index ee34a73a..57667d24 100644 --- a/domain/src/main/java/com/example/domain/repository/NoteAndTaskRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/NoteAndTaskRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.NoteAndTask as OutNoteAndTask +import city.zouitel.domain.model.NoteAndTask as OutNoteAndTask import kotlinx.coroutines.flow.Flow interface NoteAndTaskRepository { diff --git a/domain/src/main/java/com/example/domain/repository/NoteRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/NoteRepository.kt similarity index 82% rename from domain/src/main/java/com/example/domain/repository/NoteRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/NoteRepository.kt index 51d1e80f..71f77840 100644 --- a/domain/src/main/java/com/example/domain/repository/NoteRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/NoteRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.Note as OutNote +import city.zouitel.domain.model.Note as OutNote import kotlinx.coroutines.flow.Flow interface NoteRepository { diff --git a/domain/src/main/java/com/example/domain/repository/TagRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/TagRepository.kt similarity index 71% rename from domain/src/main/java/com/example/domain/repository/TagRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/TagRepository.kt index fddd4bbe..3dc05ecf 100644 --- a/domain/src/main/java/com/example/domain/repository/TagRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/TagRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.Tag as OutTag +import city.zouitel.domain.model.Tag as OutTag import kotlinx.coroutines.flow.Flow interface TagRepository { diff --git a/domain/src/main/java/com/example/domain/repository/TaskRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/TaskRepository.kt similarity index 73% rename from domain/src/main/java/com/example/domain/repository/TaskRepository.kt rename to domain/src/main/java/city/zouitel/domain/repository/TaskRepository.kt index 7187a47e..a6f2ec49 100644 --- a/domain/src/main/java/com/example/domain/repository/TaskRepository.kt +++ b/domain/src/main/java/city/zouitel/domain/repository/TaskRepository.kt @@ -1,6 +1,6 @@ -package com.example.domain.repository +package city.zouitel.domain.repository -import com.example.domain.model.Task as OutTask +import city.zouitel.domain.model.Task as OutTask import kotlinx.coroutines.flow.Flow interface TaskRepository { diff --git a/domain/src/main/java/city/zouitel/domain/repository/WidgetRepository.kt b/domain/src/main/java/city/zouitel/domain/repository/WidgetRepository.kt new file mode 100644 index 00000000..6ea9cd5e --- /dev/null +++ b/domain/src/main/java/city/zouitel/domain/repository/WidgetRepository.kt @@ -0,0 +1,9 @@ +package city.zouitel.domain.repository + +import city.zouitel.domain.model.Note as OutNote + + +interface WidgetRepository { + + val getAllWidgetMainEntityById: List +} \ No newline at end of file diff --git a/domain/src/main/java/com/example/domain/usecase/DataUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/DataUseCase.kt similarity index 63% rename from domain/src/main/java/com/example/domain/usecase/DataUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/DataUseCase.kt index bd129868..d2a7ba61 100644 --- a/domain/src/main/java/com/example/domain/usecase/DataUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/DataUseCase.kt @@ -1,32 +1,29 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.Data -import com.example.domain.repository.DataRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.Data +import city.zouitel.domain.repository.DataRepository -@Singleton sealed class DataUseCase { - class AddData @Inject constructor ( + class AddData ( private val repository: DataRepository ): DataUseCase() { suspend operator fun invoke(data: Data) = repository.addData(data) } - class EditData @Inject constructor( + class EditData /*@Inject*/ constructor( private val repository: DataRepository ): DataUseCase() { suspend operator fun invoke(data: Data) = repository.editData(data) } - class DeleteData @Inject constructor( + class DeleteData /*@Inject*/ constructor( private val repository: DataRepository ): DataUseCase() { suspend operator fun invoke(data: Data) = repository.deleteData(data) } - class DeleteAllTrashedData @Inject constructor( + class DeleteAllTrashedData /*@Inject*/ constructor( private val repository: DataRepository ) : DataUseCase() { suspend operator fun invoke() = repository.deleteAllTrashedData() diff --git a/domain/src/main/java/com/example/domain/usecase/LinkUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/LinkUseCase.kt similarity index 59% rename from domain/src/main/java/com/example/domain/usecase/LinkUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/LinkUseCase.kt index 39539b23..850124be 100644 --- a/domain/src/main/java/com/example/domain/usecase/LinkUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/LinkUseCase.kt @@ -1,25 +1,23 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.Link -import com.example.domain.repository.LinkRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.Link +import city.zouitel.domain.repository.LinkRepository -@Singleton +//@Singleton sealed class LinkUseCase { - class GetAllLinks @Inject constructor( + class GetAllLinks /*@Inject*/ constructor( private val repository: LinkRepository ): LinkUseCase() { operator fun invoke() = repository.getAllLinks } - class AddLink @Inject constructor( + class AddLink /*@Inject*/ constructor( private val repository: LinkRepository ): LinkUseCase() { suspend operator fun invoke(link: Link) = repository.addLink(link) } - class DeleteLink @Inject constructor( + class DeleteLink /*@Inject*/ constructor( private val repository: LinkRepository ): LinkUseCase() { suspend operator fun invoke(link: Link) = repository.deleteLink(link) diff --git a/domain/src/main/java/com/example/domain/usecase/NoteAndLinkUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/NoteAndLinkUseCase.kt similarity index 59% rename from domain/src/main/java/com/example/domain/usecase/NoteAndLinkUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/NoteAndLinkUseCase.kt index d9f7a53d..e891548d 100644 --- a/domain/src/main/java/com/example/domain/usecase/NoteAndLinkUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/NoteAndLinkUseCase.kt @@ -1,26 +1,24 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.Link -import com.example.domain.model.NoteAndLink -import com.example.domain.repository.NoteAndLinkRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.Link +import city.zouitel.domain.model.NoteAndLink +import city.zouitel.domain.repository.NoteAndLinkRepository -@Singleton +//@Singleton sealed class NoteAndLinkUseCase { - class GetAllNotesAndLinks @Inject constructor( + class GetAllNotesAndLinks /*@Inject*/ constructor( private val repository: NoteAndLinkRepository ): NoteAndLinkUseCase() { operator fun invoke() = repository.getAllNotesAndLinks } - class AddNoteAndLink @Inject constructor( + class AddNoteAndLink /*@Inject*/ constructor( private val repository: NoteAndLinkRepository ): NoteAndLinkUseCase() { suspend operator fun invoke(noteAndLink: NoteAndLink) = repository.addNoteAndLink(noteAndLink) } - class DeleteNoteAndLink @Inject constructor( + class DeleteNoteAndLink /*@Inject*/ constructor( private val repository: NoteAndLinkRepository ): NoteAndLinkUseCase() { suspend operator fun invoke(noteAndLink: NoteAndLink) = repository.deleteNoteAndLink(noteAndLink) diff --git a/domain/src/main/java/com/example/domain/usecase/NoteAndTagUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/NoteAndTagUseCase.kt similarity index 61% rename from domain/src/main/java/com/example/domain/usecase/NoteAndTagUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/NoteAndTagUseCase.kt index a3c96b1d..e66bec29 100644 --- a/domain/src/main/java/com/example/domain/usecase/NoteAndTagUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/NoteAndTagUseCase.kt @@ -1,25 +1,23 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.NoteAndTag -import com.example.domain.repository.NoteAndTagRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.NoteAndTag +import city.zouitel.domain.repository.NoteAndTagRepository -@Singleton +//@Singleton sealed class NoteAndTagUseCase { - class GetAllNotesAndTags @Inject constructor( + class GetAllNotesAndTags /*@Inject*/ constructor( private val repository: NoteAndTagRepository ): NoteAndTagUseCase() { operator fun invoke() = repository.getAllNotesAndTags } - class AddNoteAndTag @Inject constructor( + class AddNoteAndTag /*@Inject*/ constructor( private val repository: NoteAndTagRepository ): NoteAndTagUseCase() { suspend operator fun invoke(noteAndTag: NoteAndTag) = repository.addNoteAndTag(noteAndTag) } - class DeleteNoteAndTag @Inject constructor( + class DeleteNoteAndTag /*@Inject*/ constructor( private val repository: NoteAndTagRepository ): NoteAndTagUseCase() { suspend operator fun invoke(noteAndTag: NoteAndTag) = repository.deleteNoteAndTag(noteAndTag) diff --git a/domain/src/main/java/com/example/domain/usecase/NoteAndTaskUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/NoteAndTaskUseCase.kt similarity index 62% rename from domain/src/main/java/com/example/domain/usecase/NoteAndTaskUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/NoteAndTaskUseCase.kt index f10452dc..c4164ca5 100644 --- a/domain/src/main/java/com/example/domain/usecase/NoteAndTaskUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/NoteAndTaskUseCase.kt @@ -1,26 +1,24 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.NoteAndTask -import com.example.domain.repository.NoteAndTaskRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.NoteAndTask +import city.zouitel.domain.repository.NoteAndTaskRepository -@Singleton +//@Singleton sealed class NoteAndTaskUseCase { - class GetAllNotesAndTask @Inject constructor( + class GetAllNotesAndTask /*@Inject*/ constructor( private val repository: NoteAndTaskRepository ): NoteAndTaskUseCase() { operator fun invoke() = repository.getAllNotesAndTask } - class AddNoteAndTask @Inject constructor( + class AddNoteAndTask /*@Inject*/ constructor( private val repository: NoteAndTaskRepository ): NoteAndTaskUseCase() { suspend operator fun invoke(noteAndTask: NoteAndTask) = repository.addNoteAndTask(noteAndTask) } - class DeleteNoteAndTask @Inject constructor( + class DeleteNoteAndTask /*@Inject*/ constructor( private val repository: NoteAndTaskRepository ): NoteAndTaskUseCase() { suspend operator fun invoke(noteAndTask: NoteAndTask) = repository.deleteNoteAndTask(noteAndTask) diff --git a/domain/src/main/java/com/example/domain/usecase/NoteUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/NoteUseCase.kt similarity index 66% rename from domain/src/main/java/com/example/domain/usecase/NoteUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/NoteUseCase.kt index f0ebf748..08b0cdec 100644 --- a/domain/src/main/java/com/example/domain/usecase/NoteUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/NoteUseCase.kt @@ -1,49 +1,47 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.repository.NoteRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.repository.NoteRepository -@Singleton +//@Singleton sealed class NoteUseCase { - class GetAllNotesById @Inject constructor( + class GetAllNotesById /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.getAllNotesById } - class GetAllNotesByName @Inject constructor( + class GetAllNotesByName /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.getAllNotesByName } - class GetAllNotesByNewest @Inject constructor( + class GetAllNotesByNewest /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.getAllNotesByNewest } - class GetAllNotesByOldest @Inject constructor( + class GetAllNotesByOldest /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.getAllNotesByOldest } - class GetAllTrashedNotes @Inject constructor( + class GetAllTrashedNotes /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.getAllTrashedNotes } - class GetAllNotesByPriority @Inject constructor( + class GetAllNotesByPriority /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.allNotesByPriority } - class GetAllRemindingNotes @Inject constructor( + class GetAllRemindingNotes /*@Inject*/ constructor( private val repository: NoteRepository ): NoteUseCase() { operator fun invoke() = repository.getAllRemindingNotes diff --git a/domain/src/main/java/com/example/domain/usecase/TagUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/TagUseCase.kt similarity index 63% rename from domain/src/main/java/com/example/domain/usecase/TagUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/TagUseCase.kt index 7210eaae..3810157c 100644 --- a/domain/src/main/java/com/example/domain/usecase/TagUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/TagUseCase.kt @@ -1,32 +1,30 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.Tag -import com.example.domain.repository.TagRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.Tag +import city.zouitel.domain.repository.TagRepository -@Singleton +//@Singleton sealed class TagUseCase { - class GetAllTags @Inject constructor( + class GetAllTags /*@Inject*/ constructor( private val repository: TagRepository ): TagUseCase() { operator fun invoke() = repository.getAllTags } - class AddTag @Inject constructor( + class AddTag /*@Inject*/ constructor( private val repository: TagRepository ): TagUseCase() { suspend operator fun invoke(tag: Tag) = repository.addTag(tag) } - class UpdateTag @Inject constructor( + class UpdateTag /*@Inject*/ constructor( private val repository: TagRepository ): TagUseCase() { suspend operator fun invoke(tag: Tag) = repository.updateTag(tag) } - class DeleteTag @Inject constructor( + class DeleteTag /*@Inject*/ constructor( private val repository: TagRepository ): TagUseCase() { suspend operator fun invoke(tag: Tag) = repository.deleteTag(tag) diff --git a/domain/src/main/java/com/example/domain/usecase/TaskUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/TaskUseCase.kt similarity index 63% rename from domain/src/main/java/com/example/domain/usecase/TaskUseCase.kt rename to domain/src/main/java/city/zouitel/domain/usecase/TaskUseCase.kt index 2c13aed2..6e5e6297 100644 --- a/domain/src/main/java/com/example/domain/usecase/TaskUseCase.kt +++ b/domain/src/main/java/city/zouitel/domain/usecase/TaskUseCase.kt @@ -1,32 +1,30 @@ -package com.example.domain.usecase +package city.zouitel.domain.usecase -import com.example.domain.model.Task -import com.example.domain.repository.TaskRepository -import javax.inject.Inject -import javax.inject.Singleton +import city.zouitel.domain.model.Task +import city.zouitel.domain.repository.TaskRepository -@Singleton +//@Singleton sealed class TaskUseCase { - class GetAllTaskItems @Inject constructor( + class GetAllTaskItems /*@Inject*/ constructor( private val repository: TaskRepository ): TaskUseCase() { operator fun invoke() = repository.getAllTaskItems } - class AddTaskItem @Inject constructor( + class AddTaskItem /*@Inject*/ constructor( private val repository: TaskRepository ): TaskUseCase() { suspend operator fun invoke(task: Task) = repository.addTaskItem(task) } - class UpdateTaskItem @Inject constructor( + class UpdateTaskItem /*@Inject*/ constructor( private val repository: TaskRepository ): TaskUseCase() { suspend operator fun invoke(task: Task) = repository.updateTaskItem(task) } - class DeleteTaskItem @Inject constructor( + class DeleteTaskItem /*@Inject*/ constructor( private val repository: TaskRepository ): TaskUseCase() { suspend operator fun invoke(task: Task) = repository.deleteTaskItem(task) diff --git a/domain/src/main/java/city/zouitel/domain/usecase/WidgetUseCase.kt b/domain/src/main/java/city/zouitel/domain/usecase/WidgetUseCase.kt new file mode 100644 index 00000000..c4e2135e --- /dev/null +++ b/domain/src/main/java/city/zouitel/domain/usecase/WidgetUseCase.kt @@ -0,0 +1,13 @@ +package city.zouitel.domain.usecase + +import city.zouitel.domain.repository.WidgetRepository + +//@Singleton +sealed class WidgetUseCase { + + class GetAllWidgetMainEntityById /*@Inject*/ constructor( + private val repository: WidgetRepository + ): WidgetUseCase() { + operator fun invoke() = repository.getAllWidgetMainEntityById + } +} diff --git a/domain/src/main/java/com/example/domain/utils/Constants.kt b/domain/src/main/java/city/zouitel/domain/utils/Constants.kt similarity index 62% rename from domain/src/main/java/com/example/domain/utils/Constants.kt rename to domain/src/main/java/city/zouitel/domain/utils/Constants.kt index ba85cb6c..b10a2509 100644 --- a/domain/src/main/java/com/example/domain/utils/Constants.kt +++ b/domain/src/main/java/city/zouitel/domain/utils/Constants.kt @@ -1,4 +1,4 @@ -package com.example.domain.utils +package city.zouitel.domain.utils object Constants { const val NON = "non_specified" diff --git a/domain/src/main/java/com/example/domain/utils/Dispatcher.kt b/domain/src/main/java/city/zouitel/domain/utils/Dispatcher.kt similarity index 60% rename from domain/src/main/java/com/example/domain/utils/Dispatcher.kt rename to domain/src/main/java/city/zouitel/domain/utils/Dispatcher.kt index 6208c305..be3b9136 100644 --- a/domain/src/main/java/com/example/domain/utils/Dispatcher.kt +++ b/domain/src/main/java/city/zouitel/domain/utils/Dispatcher.kt @@ -1,7 +1,7 @@ -package com.example.domain.utils +package city.zouitel.domain.utils -import javax.inject.Qualifier +//import javax.inject.Qualifier @Retention(AnnotationRetention.RUNTIME) -@Qualifier +//@Qualifier annotation class Dispatcher(val dispatcher: Dispatchers = Dispatchers.DEFAULT) diff --git a/domain/src/main/java/com/example/domain/utils/Dispatchers.kt b/domain/src/main/java/city/zouitel/domain/utils/Dispatchers.kt similarity index 63% rename from domain/src/main/java/com/example/domain/utils/Dispatchers.kt rename to domain/src/main/java/city/zouitel/domain/utils/Dispatchers.kt index 9a23fd6a..fd422e17 100644 --- a/domain/src/main/java/com/example/domain/utils/Dispatchers.kt +++ b/domain/src/main/java/city/zouitel/domain/utils/Dispatchers.kt @@ -1,4 +1,4 @@ -package com.example.domain.utils +package city.zouitel.domain.utils enum class Dispatchers { DEFAULT, diff --git a/domain/src/main/java/com/example/domain/di/ExoPlayerModule.kt b/domain/src/main/java/com/example/domain/di/ExoPlayerModule.kt deleted file mode 100644 index f5d458a3..00000000 --- a/domain/src/main/java/com/example/domain/di/ExoPlayerModule.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.domain.di - -import com.example.domain.exoplayer.ExoPlayerImpl -import com.google.android.exoplayer2.ExoPlayer -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object ExoPlayerModule { - - @Singleton - @Provides - fun provideExoPlayer(exo: ExoPlayer) = ExoPlayerImpl(exo) -} \ No newline at end of file diff --git a/domain/src/main/java/com/example/domain/repository/WidgetRepository.kt b/domain/src/main/java/com/example/domain/repository/WidgetRepository.kt deleted file mode 100644 index 441dfd96..00000000 --- a/domain/src/main/java/com/example/domain/repository/WidgetRepository.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.domain.repository - -import com.example.domain.model.Note as OutNote - - -interface WidgetRepository { - - val getAllWidgetMainEntityById: List -} \ No newline at end of file diff --git a/domain/src/main/java/com/example/domain/usecase/WidgetUseCase.kt b/domain/src/main/java/com/example/domain/usecase/WidgetUseCase.kt deleted file mode 100644 index ae531284..00000000 --- a/domain/src/main/java/com/example/domain/usecase/WidgetUseCase.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.example.domain.usecase - -import com.example.domain.repository.WidgetRepository -import javax.inject.Inject -import javax.inject.Singleton - -@Singleton -sealed class WidgetUseCase { - - class GetAllWidgetMainEntityById @Inject constructor( - private val repository: WidgetRepository - ): WidgetUseCase() { - operator fun invoke() = repository.getAllWidgetMainEntityById - } -} diff --git a/domain/src/test/java/city/zouitel/domain/ExampleUnitTest.kt b/domain/src/test/java/city/zouitel/domain/ExampleUnitTest.kt new file mode 100644 index 00000000..f724b8de --- /dev/null +++ b/domain/src/test/java/city/zouitel/domain/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.domain + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/enigma-backup/.gitignore b/enigma-backup/.gitignore new file mode 100644 index 00000000..e7a210ec --- /dev/null +++ b/enigma-backup/.gitignore @@ -0,0 +1,3 @@ +* +*/ +!.gitignore \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 3cb31190..3c5031eb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true # AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app"s APK +# Android operating system, and which are packaged with your app's APK # https://developer.android.com/topic/libraries/support-library/androidx-rn android.useAndroidX=true # Kotlin code style for this project: "official" or "obsolete": @@ -20,14 +20,4 @@ kotlin.code.style=official # Enables namespacing of each library's R class so that its R class includes only the # resources declared in the library itself and none from the library's dependencies, # thereby reducing the size of the R class for that library -android.nonTransitiveRClass=true -org.gradle.parallel=true -android.enableJetifier=true -#Enable more aggressive optimizations for R8. -android.enableR8.fullMode=true - -# Set the property here so it matches the configuration cache fingerprint of the :build-logic-commons and :build-logic builds -systemProp.org.gradle.kotlin.dsl.precompiled.accessors.strict=true - -#To determine what is calling splits.density. -android.debug.obsoleteApi=true \ No newline at end of file +android.nonTransitiveRClass=true \ No newline at end of file diff --git a/gradle/libraries.versions.toml b/gradle/libraries.versions.toml deleted file mode 100644 index d3e33781..00000000 --- a/gradle/libraries.versions.toml +++ /dev/null @@ -1,216 +0,0 @@ -[versions] -# Project -gradle = "8.1.0" -kotlin = "1.9.10" - -# Plugins -ksp = "1.9.10-1.0.13" -dependencyanalysis = "1.25.0" - -# KotlinX -kotlinx_serialization = "1.6.0" -kotlinx_coroutines = "1.7.3" - -#AndroidX. -core = "1.12.0" -corektx = "1.12.0" -appcompat = "1.6.1" -runtimektx = "2.6.2" -constraintlayout = "2.1.4" -extjunit = "1.1.5" -glance = "1.0.0" -security = "1.0.0" -workmanager = "2.9.0" -startup = "1.1.1" -lifecycle = "2.6.2" - -#Compose. -comp = "1.5.4" -comp_nav = "2.7.6" -comp_viewmodel = "2.6.2" -comp_activity = "1.8.2" -comp_material3 = "1.1.2" -comp_constraintlayout = "1.1.0-alpha13" - -# Koin -#koin_core = "3.5.0" -#koin_compose = "3.5.0" -#koin_android = "3.5.0" - -#Exo. -exoplayer = "2.19.1" - -#Room. -room = "2.6.1" - -#Datastore. -datastore = "1.0.0" - -#Livedata. -livedatakts = "2.6.2" - -#Dagger-Hilt. -dagger_hilt = "2.48" -hilt_nav_comp = "1.1.0" -hilt_compiler = "1.1.0" -hilt-work = "1.1.0" - -#Accompanist. -accompanist = "0.28.0" - -#CameraX. -camerax = "1.3.1" - -#Glide. -#glide = "4.15.0" -#glide_comp = "4.14.0" - -#Coil -coil_compose = "2.2.1" -coil_svg = "2.2.2" - -#License. -about_libraries = "10.9.2" - -#Retrofit. -retrofit = "2.9.0" - -#Okhttp -okhttp = "5.0.0-alpha.1" - -#Junit. -junit = "4.13.2" - -#Others. -sketchbook = "1.0.4" -swipe = "1.1.1" -global_exception = "1.0.1" -url_preview = "1.0.1" -beetle = "2.0.1" -sqlcipher = "4.5.3" - -[libraries] -#Kotlin -kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } - -#KotlinX -#kotlinx_serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx_serialization" } -kotlinx_coroutines_core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx_coroutines" } - -#AndroidX. -android_gradle_plugin = { module = "com.android.tools.build:gradle", version.ref = "gradle" } -androidx_core = { module = "androidx.core:core", version.ref = "core" } -androidx_corektx = { module = "androidx.core:core-ktx", version.ref = "corektx" } -androidx_appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" } -androidx_runtimektx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "runtimektx" } -androidx_constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" } -androidx_extjunit = { module = "androidx.test.ext:junit", version.ref = "extjunit" } -androidx_glance = { module = "androidx.glance:glance-appwidget", version.ref = "glance" } -androidx_security = { module = "androidx.security:security-crypto", version.ref = "security" } -androidx_workmanager = { module = "androidx.work:work-runtime-ktx", version.ref = "workmanager" } -androidx_startup = { module = "androidx.startup:startup-runtime", version.ref = "startup" } -androidx-lifecycle-runtime-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycle" } -androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" } -androidx-lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "lifecycle" } - -#Compose. -compose_ui = { module = "androidx.compose.ui:ui", version.ref = "comp" } -compose_toolingpreview = { module = "androidx.compose.ui:ui-tooling-preview", version.ref = "comp" } -compose_navigation = { module = "androidx.navigation:navigation-compose", version.ref = "comp_nav" } -compose_viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "comp_viewmodel" } -compose_activity = { module = "androidx.activity:activity-compose", version.ref = "comp_activity" } -compose_material3 = { module = "androidx.compose.material3:material3", version.ref = "comp_material3" } -compose_constraintlayout = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "comp_constraintlayout" } -compose_uitest = { module = "androidx.compose.ui:ui-test", version.ref = "comp" } -compose_junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "comp" } -compose_manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "comp" } - -#Koin -#koin_core = { module = "io.insert-koin:koin-core", version.ref = "koin_core" } -#koin_android = { module = "io.insert-koin:koin-android", version.ref = "koin_android" } -#koin_compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin_compose" } -#koin_test = { module = "io.insert-koin:koin-test", version.ref = "koin_core" } - -# Exo. -exoplayer_core = { module = "com.google.android.exoplayer:exoplayer-core", version.ref = "exoplayer" } -exoplayer_ui = { module = "com.google.android.exoplayer:exoplayer-ui", version.ref = "exoplayer" } -exoplayer_extension = { module = "com.google.android.exoplayer:extension-mediasession", version.ref = "exoplayer" } - -#Room. -roomkts = { module = "androidx.room:room-ktx", version.ref = "room" } -room_runtime = { module = "androidx.room:room-runtime", version.ref = "room" } -room_compiler = { module = "androidx.room:room-compiler", version.ref = "room" } - -#DataStore. -datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" } - -#Livedata. -livedatakts = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "livedatakts" } - -#Dagger-Hilt. -dagger = { module = "com.google.dagger:dagger", version.ref = "dagger_hilt" } -dagger_compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger_hilt" } -dagger_hilt = { module = "com.google.dagger:hilt-android", version.ref = "dagger_hilt" } -dagger_hiltcompiler = { module = "com.google.dagger:hilt-compiler", version.ref = "dagger_hilt" } -hilt_navcomp = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hilt_nav_comp" } -hilt_compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hilt_compiler" } -hilt_work = { module = "androidx.hilt:hilt-work", version.ref = "hilt-work" } -dagger_hilt_gradle_plugin = { module = "com.google.dagger:hilt-android-gradle-plugin", version.ref = "dagger_hilt" } - -#Accompanist. -accompanist_permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" } -accompanist_pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accompanist" } -accompanist_pager_indicators = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "accompanist" } -accompanist_systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" } -accompanist_navigation_animation = { module = "com.google.accompanist:accompanist-navigation-animation", version.ref = "accompanist" } -accompanist_swiperefresh = { module = "com.google.accompanist:accompanist-swiperefresh", version.ref = "accompanist" } -accompanist_flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "accompanist" } -accompanist_insets = { module = "com.google.accompanist:accompanist-insets", version.ref = "accompanist" } - -#CameraX. -camerax_core = { module = "androidx.camera:camera-core", version.ref = "camerax" } -camerax_lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camerax" } -camerax_view = { module = "androidx.camera:camera-view", version.ref = "camerax" } -camerax_extensions = { module = "androidx.camera:camera-extensions", version.ref = "camerax" } - -#Glide. -#glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" } -#glide_compiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glide" } -#glide_comp = { module = "com.github.bumptech.glide:compose", version.ref = "glide_comp" } - -#Coil. -coil_compose = { module = "io.coil-kt:coil-compose", version.ref = "coil_compose" } -coil_svg = { module = "io.coil-kt:coil-svg", version.ref = "coil_svg" } - -#License. -aboutlibraries_comp = { module = "com.mikepenz:aboutlibraries-compose", version.ref = "about_libraries" } -aboutlibraries_plugin = { module = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin", version.ref = "about_libraries" } - -#Retrofit. -#retrofit = "com.squareup.retrofit2:retrofit:2.9.0" -#retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } - -#Okhttp. -#okhttp_bom = { module = "com.squareup.okhttp3:okhttp-bom", version.ref = "okhttp" } -#okhttp_bom_core = { module = "com.squareup.okhttp3:okhttp" } -#okhttp_bom_interceptor = { module = "com.squareup.okhttp3:logging-interceptor" } - -#Junit. -androidx_junit = { module = "junit:junit", version.ref = "junit" } - -#Others. -url_preview = { module = "tw.com.oneup.www:Baha-UrlPreview", version.ref = "url_preview" } -beetle = { module = "com.karacca:beetle", version.ref = "beetle" } -swipe = { module = "me.saket.swipe:swipe", version.ref = "swipe" } -globalexception = { module = "com.github.emirhankolver:GlobalExceptionHandler", version.ref = "global_exception" } -sketchbook = { module = "io.getstream:sketchbook", version.ref = "sketchbook" } -sqlcipher = { module = "net.zetetic:android-database-sqlcipher", version.ref = "sqlcipher" } - -[bundles] -compose = ["compose.ui", "compose.toolingpreview", "compose.material3"] -composetest = ["compose.uitest", "compose.junit4", "compose.manifest"] - -[plugins] -#kotlin_serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } -#ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } -dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyanalysis" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..dec52814 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,166 @@ +[versions] +agp = "8.2.1" +kotlin = "1.9.20" + +#Android. +core-ktx = "1.12.0" +junit = "4.13.2" +androidx-test-ext-junit = "1.1.5" +espresso-core = "3.5.1" +lifecycle = "2.7.0" +constraintlayout = "2.1.4" +glance = "1.0.0-alpha05" +security = "1.0.0" +workmanager = "2.9.0" +startup = "1.1.1" + +#Compose. +activity-compose = "1.8.2" +compose-bom = "2023.10.01" +appcompat = "1.6.1" +material = "1.11.0" +navigation-compose = "2.7.6" +compose-constraintlayout = "1.1.0-alpha07" + +#Plugins. +ksp = "1.9.10-1.0.13" +dependencyanalysis = "1.25.0" + +#KotlinX. +serialization = "1.6.0" +coroutines = "1.7.3" + +#Koin. +koin-core = "3.5.0" +koin-compose = "3.5.0" +koin-android = "3.5.0" +koin-worker = "3.5.0" +koin-test = "3.5.0" + +#Room. +room = "2.6.1" + +#Datastore. +datastore = "1.0.0" + +#Exo. +exoplayer = "2.19.1" + +#Accompanist. +accompanist = "0.28.0" + +#CameraX. +camerax = "1.3.1" + +#Coil +coil-compose = "2.2.1" +coil-svg = "2.2.2" + +#License. +license = "10.9.2" + +#Others. +sketchbook = "1.0.4" +swipe = "1.1.1" +global-exception = "1.0.1" +url-preview = "1.0.1" +beetle = "2.0.1" +sqlcipher = "4.5.3" + +[libraries] +# KotlinX +serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization" } +coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } +#Android. +core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } +junit = { group = "junit", name = "junit", version.ref = "junit" } +androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" } +espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espresso-core" } +lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" } +lifecycle-process = { group = "androidx.lifecycle", name = "lifecycle-process", version.ref = "lifecycle" } +lifecycle-livedata = { group = "androidx.lifecycle", name = "lifecycle-livedata-ktx", version.ref = "lifecycle" } +lifecycle-compose-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" } +constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" } +glance = { module = "androidx.glance:glance-appwidget", version.ref = "glance" } +security = { module = "androidx.security:security-crypto", version.ref = "security" } +workmanager = { module = "androidx.work:work-runtime-ktx", version.ref = "workmanager" } +startup = { module = "androidx.startup:startup-runtime", version.ref = "startup" } + +activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activity-compose" } +compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "compose-bom" } +ui = { group = "androidx.compose.ui", name = "ui" } +ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" } +ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } +ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } +ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } +ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" } +material3 = { group = "androidx.compose.material3", name = "material3" } +appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } +compose-navigation = { module = "androidx.navigation:navigation-compose", version.ref = "navigation-compose" } +compose-constraintlayout = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "compose-constraintlayout" } + +#Koin. +koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin-core" } +koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin-android" } +koin-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin-compose" } +koin-worker = { module = "io.insert-koin:koin-androidx-workmanager", version.ref = "koin-worker" } +koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin-test" } + +#Room. +roomkts = { module = "androidx.room:room-ktx", version.ref = "room" } +room_runtime = { module = "androidx.room:room-runtime", version.ref = "room" } +room_compiler = { module = "androidx.room:room-compiler", version.ref = "room" } + +#DataStore. +datastore = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" } + +# Exo. +exoplayer-core = { module = "com.google.android.exoplayer:exoplayer-core", version.ref = "exoplayer" } +exoplayer-ui = { module = "com.google.android.exoplayer:exoplayer-ui", version.ref = "exoplayer" } +exoplayer-extension = { module = "com.google.android.exoplayer:extension-mediasession", version.ref = "exoplayer" } + +#Accompanist. +accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist" } +accompanist-pager = { module = "com.google.accompanist:accompanist-pager", version.ref = "accompanist" } +accompanist-pager_indicators = { module = "com.google.accompanist:accompanist-pager-indicators", version.ref = "accompanist" } +accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" } +accompanist-navigation_animation = { module = "com.google.accompanist:accompanist-navigation-animation", version.ref = "accompanist" } +accompanist-swiperefresh = { module = "com.google.accompanist:accompanist-swiperefresh", version.ref = "accompanist" } +accompanist-flowlayout = { module = "com.google.accompanist:accompanist-flowlayout", version.ref = "accompanist" } +accompanist-insets = { module = "com.google.accompanist:accompanist-insets", version.ref = "accompanist" } + +#CameraX. +camerax-core = { module = "androidx.camera:camera-core", version.ref = "camerax" } +camerax-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camerax" } +camerax-view = { module = "androidx.camera:camera-view", version.ref = "camerax" } +camerax-extensions = { module = "androidx.camera:camera-extensions", version.ref = "camerax" } + +#Coil. +coil_compose = { module = "io.coil-kt:coil-compose", version.ref = "coil-compose" } +coil_svg = { module = "io.coil-kt:coil-svg", version.ref = "coil-svg" } + +#License. +licenses = { module = "com.mikepenz:aboutlibraries-compose", version.ref = "license" } +licenses-plugin = { module = "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin", version.ref = "license" } + +#Others. +url_preview = { module = "tw.com.oneup.www:Baha-UrlPreview", version.ref = "url-preview" } +beetle = { module = "com.karacca:beetle", version.ref = "beetle" } +swipe = { module = "me.saket.swipe:swipe", version.ref = "swipe" } +#globalexception = { module = "com.github.emirhankolver:GlobalExceptionHandler", version.ref = "global-exception" } +sketchbook = { module = "io.getstream:sketchbook", version.ref = "sketchbook" } +sqlcipher = { module = "net.zetetic:android-database-sqlcipher", version.ref = "sqlcipher" } + +[bundles] +compose = ["ui", "ui-tooling-preview", "material3"] +composetest = ["ui-test-junit4", "ui-test-manifest"] + +[plugins] +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } +dependencyanalysis = { id = "com.autonomousapps.dependency-analysis", version.ref = "dependencyanalysis" } +androidApplication = { id = "com.android.application", version.ref = "agp" } +kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +androidLibrary = { id = "com.android.library", version.ref = "agp" } + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 943f0cbfa754578e88a3dae77fce6e3dea56edbf..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 36846 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 CcabXq delta 39316 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 03bc5150..66e5d7c4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ +#Sat Jan 20 12:36:46 WAT 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip -networkTimeout=10000 +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 65dcd68d..4f906e0c 100644 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ -#!/bin/sh +#!/usr/bin/env sh # -# Copyright © 2015-2021 the original authors. +# Copyright 2015 the original author or authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,101 +17,67 @@ # ############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# +## +## Gradle start up script for UN*X +## ############################################################################## # Attempt to set APP_HOME - # Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum +MAX_FD="maximum" warn () { echo "$*" -} >&2 +} die () { echo echo "$*" echo exit 1 -} >&2 +} # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar @@ -121,9 +87,9 @@ CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java + JAVACMD="$JAVA_HOME/jre/sh/java" else - JAVACMD=$JAVA_HOME/bin/java + JAVACMD="$JAVA_HOME/bin/java" fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -132,7 +98,7 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD=java + JAVACMD="java" which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the @@ -140,105 +106,80 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi fi -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi # For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg + i=`expr $i + 1` done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 6689b85b..ac1b06f9 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%"=="" @echo off +@if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,8 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused +if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -41,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -76,15 +75,13 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd +if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/init/build.gradle.kts b/init/build.gradle.kts index 479cc19a..735cb621 100644 --- a/init/build.gradle.kts +++ b/init/build.gradle.kts @@ -1,19 +1,76 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { namespace = "city.zouitel.init" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { - implementation(libs.androidx.startup) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.worker) + + implementation(libs.startup) //Lifecycle. - implementation(libs.androidx.lifecycle.process) + implementation(libs.lifecycle.process) + + // + implementation(libs.workmanager) //Sqlcipher. implementation (libs.sqlcipher) - implementation("androidx.sqlite:sqlite:2.3.1") + implementation("androidx.sqlite:sqlite-ktx:2.4.0") } \ No newline at end of file diff --git a/init/consumer-rules.pro b/init/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/init/proguard-rules.pro b/init/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/init/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/init/src/androidTest/java/city/zouitel/init/ExampleInstrumentedTest.kt b/init/src/androidTest/java/city/zouitel/init/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..6c2a6d87 --- /dev/null +++ b/init/src/androidTest/java/city/zouitel/init/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.init + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.init.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/init/src/main/AndroidManifest.xml b/init/src/main/AndroidManifest.xml index 1d1f1dd7..768da3dd 100644 --- a/init/src/main/AndroidManifest.xml +++ b/init/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ - { -@Module -@InstallIn(SingletonComponent::class) -object WorkManagerInitializer : Initializer { - - @Provides - @Singleton - override fun create(@ApplicationContext context: Context): WorkManager { - val workFactory = getWorkerFactory(context) - val configuration = Configuration.Builder() - .setWorkerFactory(workFactory) - .build() + override fun create(context: Context): WorkManager { + val configuration = Configuration.Builder().build() WorkManager.initialize(context, configuration) return WorkManager.getInstance(context) } @@ -35,12 +19,4 @@ object WorkManagerInitializer : Initializer { ProcessLifecycleInitializer::class.java ) } - - private fun getWorkerFactory(appContext: Context): HiltWorkerFactory { - val workManagerEntryPoint = EntryPointAccessors.fromApplication( - appContext, - WorkManagerInitializerEntryPoint::class.java - ) - return workManagerEntryPoint.hiltWorkerFactory() - } } \ No newline at end of file diff --git a/init/src/main/java/city/zouitel/init/WorkManagerInitializerEntryPoint.kt b/init/src/main/java/city/zouitel/init/WorkManagerInitializerEntryPoint.kt deleted file mode 100644 index c68153cc..00000000 --- a/init/src/main/java/city/zouitel/init/WorkManagerInitializerEntryPoint.kt +++ /dev/null @@ -1,12 +0,0 @@ -package city.zouitel.init - -import androidx.hilt.work.HiltWorkerFactory -import dagger.hilt.EntryPoint -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent - -@InstallIn(SingletonComponent::class) -@EntryPoint -interface WorkManagerInitializerEntryPoint { - fun hiltWorkerFactory(): HiltWorkerFactory -} \ No newline at end of file diff --git a/init/src/main/java/city/zouitel/init/WorkerDI.kt b/init/src/main/java/city/zouitel/init/WorkerDI.kt new file mode 100644 index 00000000..6f9fa7d9 --- /dev/null +++ b/init/src/main/java/city/zouitel/init/WorkerDI.kt @@ -0,0 +1,7 @@ +package city.zouitel.init + +import org.koin.dsl.module + +val initializerKoinModule = module { + +} \ No newline at end of file diff --git a/init/src/test/java/city/zouitel/init/ExampleUnitTest.kt b/init/src/test/java/city/zouitel/init/ExampleUnitTest.kt new file mode 100644 index 00000000..59623073 --- /dev/null +++ b/init/src/test/java/city/zouitel/init/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.init + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/plugins/.gradle/7.6.1/executionHistory/executionHistory.bin b/plugins/.gradle/7.6.1/executionHistory/executionHistory.bin deleted file mode 100644 index d0e2165e388dc131f48a3ebb1ecc65462aac79ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1847843 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

W$7h{<5lglHNXC#Q&Y^j&#@W8;H- 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

-M+)J5{pk>dFX9$5z#hUuYxDK6azTXodz0Z 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 diff --git a/plugins/.gradle/7.6.1/executionHistory/executionHistory.lock b/plugins/.gradle/7.6.1/executionHistory/executionHistory.lock deleted file mode 100644 index d486801924732756370c12f21df6931e26938382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 UcmZQx^V=k6f~DP21_%fN05t6cYXATM diff --git a/plugins/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/plugins/.gradle/buildOutputCleanup/buildOutputCleanup.lock deleted file mode 100644 index dfc4ba41c3114872906a5152e1b9301556f312d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 VcmZR+Jt5if#_{b_8Nh(08UQ`s1#JKT diff --git a/plugins/.gradle/buildOutputCleanup/cache.properties b/plugins/.gradle/buildOutputCleanup/cache.properties deleted file mode 100644 index 57d23ee0..00000000 --- a/plugins/.gradle/buildOutputCleanup/cache.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Fri Jan 12 16:26:14 WAT 2024 -gradle.version=8.3 diff --git a/plugins/.gradle/buildOutputCleanup/outputFiles.bin b/plugins/.gradle/buildOutputCleanup/outputFiles.bin deleted file mode 100644 index e71546cd9a4de987834b4e5f246606a4a728d109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19757 zcmeI%ZA?>V6u|KUzTk$uj5GsefMBBqV_+h)S#&ie(0gw?Q34ZF62LL)K%rAa!cZhK zQUxKPvN=)6V1ft~5Zpj+(Yo>Q~jnB0(kSeDbI(ERSX zr@jA@_5=PRk%R3Fy@_7j#4jG=BP@UgumBdo0$2bGU;!+E1+V}XzyeqR3t#~(fCaDs z7Qg~n;Qvw}#CRdEkc)9xX+HbFCP^gnwlY2lNJ}Wxt7Xyc{#DTx~I?NZJlYkJ!`hoJvrc? zp5CW(33IlldlrMA%I+SNZp@>X!R!Jr&EF7U-v1z-%(LO(W$p_G!skzZM)$;kS6TZ9 zMdF!S(LL?p4XqhgJ1>3WMx3()|7!P#yKOqx)(}?}f;W0d->+F* zrJ$Y+-gM=jGA&XuZ#x2?iAEo(x*O7oE3xjUehdV65sVD&J=*(x6Qfp@V2ax&X<~eKwPlH zaATNyKKQ`dUmlu;+$$ok90MPeC~n*2c6d?OgAdRD&h5zg(LabYUf@q!bbIT&Dx}1@ zYv7|&r#B~(FT(p0Z}JOgzCGq$xP#2ACcwuks{Jn6M+MORj^NYXBXSw zWt!R>l_U8ja7o)T9t0k^l*#}x0} z{59Q^Ve&KcT&_-=N6lgq9;M#wu=bp8Uk-ox1FLsVDiUo)(YLBXLL_7 zxFRR9UjCD12XR&g&M-yNsC6fv6K9&h-+jXU+Bj9>PxqvP2k8czGRpcxiK`cZZ)U|3 z^KJWFh%19l9%Ju*@MNfg?uiB8;@48C@0Qcg8D^o$kGS7W%3W$t=Go=on(!Yzf>*46 zO!xe3@{W0yR@!m+Tx|jW;AG&R)+vs&UlGO|I}9FU)_1-%-EsCi!gymgg2&m}?0H*t zqLnxo2A)vhl{KVYr6kUB;2+(vtZp8ipzovdH}J$~AFub9mwJ+UWfD027Ks)VlVkW3 z3t#~(fCaDs7Qg~n01IFNEPw^D02aUkSO5!P0W5$8umBdo0$2bGU;!+E1+V}XzyeqR z3t#~(fCaDs7Qg~n;AI6?8xJfp-pyw3vp=l=Ax8L*%iLbGkhAzRLWEz8f0mG$xt+z| z%oib>g`6d1kB}MubNyQ) - get() = findBundle("compose").get() - - internal val VersionCatalog.composeTest: Provider - get() = findBundle("composetest").get() -} \ No newline at end of file diff --git a/plugins/src/main/java/com/example/plugins/Extensions.kt b/plugins/src/main/java/com/example/plugins/Extensions.kt deleted file mode 100644 index f222e707..00000000 --- a/plugins/src/main/java/com/example/plugins/Extensions.kt +++ /dev/null @@ -1,58 +0,0 @@ -package com.example.plugins - -import com.android.build.api.dsl.CommonExtension -import com.android.build.api.dsl.CompileOptions -import com.android.build.api.dsl.LibraryExtension -import com.android.build.api.dsl.Packaging -import org.gradle.api.JavaVersion -import org.gradle.api.plugins.ExtensionAware -import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions - - -fun CommonExtension<*, *, *, *, *>.androidConfig() { - defaultConfig { - compileSdk = Versions.compileSdk - minSdk = Versions.minSdk - testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - fun Packaging.options() { - resources { - excludes += "/META-INF/{AL2.0,LGPL2.1}" - } - } - - kotlinOptions { - jvmTarget = "1.8" - } -} - -fun CommonExtension<*, *, *, *, *>.composeConfig() { - buildFeatures { - compose = true - } - composeOptions { - kotlinCompilerExtensionVersion = Versions.composeVersion - } -} - -fun LibraryExtension.proguardConfig() { - buildTypes { - release { - isMinifyEnabled = true - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } -} - -private fun CommonExtension<*, *, *, *, *>.kotlinOptions (options: KotlinJvmOptions.() -> Unit) { - (this as ExtensionAware).extensions.configure("kotlinOptions", options) -} diff --git a/plugins/src/main/java/com/example/plugins/Libraries.kt b/plugins/src/main/java/com/example/plugins/Libraries.kt deleted file mode 100644 index 05c7f128..00000000 --- a/plugins/src/main/java/com/example/plugins/Libraries.kt +++ /dev/null @@ -1,66 +0,0 @@ -package com.example.plugins - -import org.gradle.api.artifacts.MinimalExternalModuleDependency -import org.gradle.api.artifacts.VersionCatalog -import org.gradle.api.provider.Provider - -object Libraries { - - //AndroidX. - internal val VersionCatalog.core: Provider - get() = findLibrary("androidx_core").get() - - internal val VersionCatalog.coreKtx: Provider - get() = findLibrary("androidx_corektx").get() - - internal val VersionCatalog.appcompat: Provider - get() = findLibrary("androidx_appcompat").get() - - internal val VersionCatalog.runTimeKtx: Provider - get() = findLibrary("androidx_runtimektx").get() - - //Compose. - internal val VersionCatalog.ui: Provider - get() = findLibrary("compose_ui").get() - - internal val VersionCatalog.toolingPreview: Provider - get() = findLibrary("compose_toolingpreview").get() - - internal val VersionCatalog.navigation: Provider - get() = findLibrary("compose_navigation").get() - - internal val VersionCatalog.viewmodel: Provider - get() = findLibrary("compose_viewmodel").get() - - internal val VersionCatalog.activity: Provider - get() = findLibrary("compose_activity").get() - - internal val VersionCatalog.material3: Provider - get() = findLibrary("compose_material3").get() - - internal val VersionCatalog.constraintLayout: Provider - get() = findLibrary("compose_constraintlayout").get() - - //Dagger-Hilt. - internal val VersionCatalog.dagger: Provider - get() = findLibrary("dagger").get() - - internal val VersionCatalog.compiler: Provider - get() = findLibrary("dagger_compiler").get() - - internal val VersionCatalog.hilt: Provider - get() = findLibrary("dagger_hilt").get() - - internal val VersionCatalog.daggerHiltCompiler: Provider - get() = findLibrary("dagger_hiltcompiler").get() - - internal val VersionCatalog.hiltNavComp: Provider - get() = findLibrary("hilt_navcomp").get() - - internal val VersionCatalog.hiltCompiler: Provider - get() = findLibrary("hilt_compiler").get() - - internal val VersionCatalog.hiltWork: Provider - get() = findLibrary("hilt_work").get() - -} \ No newline at end of file diff --git a/plugins/src/main/java/com/example/plugins/Versions.kt b/plugins/src/main/java/com/example/plugins/Versions.kt deleted file mode 100644 index 376df62b..00000000 --- a/plugins/src/main/java/com/example/plugins/Versions.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.example.plugins - -object Versions { - const val compileSdk = 34 - const val targetSdk = 33 - const val minSdk = 25 - - const val code = 320 - const val name = "3.2.0" - - const val composeVersion = "1.5.3" -} \ No newline at end of file diff --git a/plugins/src/main/java/com/example/plugins/city.android-lib.gradle.kts b/plugins/src/main/java/com/example/plugins/city.android-lib.gradle.kts deleted file mode 100644 index 70b2c5b4..00000000 --- a/plugins/src/main/java/com/example/plugins/city.android-lib.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -import com.example.plugins.Libraries.appcompat -import com.example.plugins.Libraries.core -import com.example.plugins.Libraries.coreKtx -import com.example.plugins.Libraries.runTimeKtx -import com.example.plugins.androidConfig -import com.example.plugins.proguardConfig - -plugins { - id("com.android.library") - id("kotlin-android") -} - -android { - androidConfig() - proguardConfig() -} - -val libs: VersionCatalog = extensions - .getByType() - .named("libs") - -dependencies { - - //AndroidX. - "implementation"(libs.core) - "implementation"(libs.coreKtx) - "implementation"(libs.appcompat) - "implementation"(libs.runTimeKtx) -} - - - - - - - - diff --git a/plugins/src/main/java/com/example/plugins/city.compose-lib.gradle.kts b/plugins/src/main/java/com/example/plugins/city.compose-lib.gradle.kts deleted file mode 100644 index cede98cf..00000000 --- a/plugins/src/main/java/com/example/plugins/city.compose-lib.gradle.kts +++ /dev/null @@ -1,42 +0,0 @@ -import com.example.plugins.Bundles.compose -import com.example.plugins.Bundles.composeTest -import com.example.plugins.Libraries.activity -import com.example.plugins.Libraries.constraintLayout -import com.example.plugins.Libraries.material3 -import com.example.plugins.Libraries.navigation -import com.example.plugins.Libraries.toolingPreview -import com.example.plugins.Libraries.ui -import com.example.plugins.Libraries.viewmodel -import com.example.plugins.androidConfig -import com.example.plugins.composeConfig -import com.example.plugins.proguardConfig -import org.gradle.kotlin.dsl.dependencies -import org.gradle.kotlin.dsl.getByType - -plugins { - id("com.android.library") - id("kotlin-android") -} - -android { - composeConfig() -} - -val libs: VersionCatalog = extensions - .getByType() - .named("libs") - -dependencies { - //Compose Bundle. - "implementation"(libs.compose) - "implementation"(libs.composeTest) - - //Compose Libs. - "implementation"(libs.ui) - "implementation"(libs.material3) - "implementation"(libs.navigation) - "implementation"(libs.viewmodel) - "implementation"(libs.toolingPreview) - "implementation"(libs.activity) - "implementation"(libs.constraintLayout) -} \ No newline at end of file diff --git a/plugins/src/main/java/com/example/plugins/city.dagger-hilt.gradle.kts b/plugins/src/main/java/com/example/plugins/city.dagger-hilt.gradle.kts deleted file mode 100644 index de9b3288..00000000 --- a/plugins/src/main/java/com/example/plugins/city.dagger-hilt.gradle.kts +++ /dev/null @@ -1,37 +0,0 @@ -import com.example.plugins.Libraries.compiler -import com.example.plugins.Libraries.dagger -import com.example.plugins.Libraries.daggerHiltCompiler -import com.example.plugins.Libraries.hilt -import com.example.plugins.Libraries.hiltCompiler -import com.example.plugins.Libraries.hiltNavComp -import com.example.plugins.Libraries.hiltWork -import dagger.hilt.android.plugin.HiltExtension -import org.jetbrains.kotlin.gradle.plugin.KaptExtension - -plugins { - id ("dagger.hilt.android.plugin") - id ("kotlin-kapt") -} - -val libs: VersionCatalog = extensions - .getByType() - .named("libs") - -val hilt = extensions - .getByType() - -val kapt = extensions - .getByType() - -kapt.correctErrorTypes = true -hilt.enableAggregatingTask = true - -dependencies { - "implementation"(libs.dagger) - "implementation"(libs.hilt) - "implementation"(libs.hiltWork) - "implementation"(libs.hiltNavComp) - "kapt"(libs.daggerHiltCompiler) - "kapt"(libs.hiltCompiler) - "kapt"(libs.compiler) -} diff --git a/service/notification/build.gradle.kts b/service/notification/build.gradle.kts deleted file mode 100644 index abb9c5cb..00000000 --- a/service/notification/build.gradle.kts +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id("city.android-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.notification" -} - -dependencies { - //Projects. - implementation(projects.common.ui) - - //AndroidX. - implementation(libs.androidx.constraintlayout) -} \ No newline at end of file diff --git a/common/mapper/.gitignore b/services/notifications/.gitignore similarity index 100% rename from common/mapper/.gitignore rename to services/notifications/.gitignore diff --git a/services/notifications/build.gradle.kts b/services/notifications/build.gradle.kts new file mode 100644 index 00000000..d8fb69da --- /dev/null +++ b/services/notifications/build.gradle.kts @@ -0,0 +1,66 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.notifications" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //AndroidX. + implementation(libs.constraintlayout) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) +} \ No newline at end of file diff --git a/services/notifications/consumer-rules.pro b/services/notifications/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/services/notifications/proguard-rules.pro b/services/notifications/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/services/notifications/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/services/notifications/src/androidTest/java/city/zouitel/notifications/ExampleInstrumentedTest.kt b/services/notifications/src/androidTest/java/city/zouitel/notifications/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..1495c1e6 --- /dev/null +++ b/services/notifications/src/androidTest/java/city/zouitel/notifications/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.notifications + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.notifications.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/service/notification/src/main/AndroidManifest.xml b/services/notifications/src/main/AndroidManifest.xml similarity index 100% rename from service/notification/src/main/AndroidManifest.xml rename to services/notifications/src/main/AndroidManifest.xml diff --git a/services/notifications/src/main/java/city/zouitel/notifications/Cons.kt b/services/notifications/src/main/java/city/zouitel/notifications/Cons.kt new file mode 100644 index 00000000..9e2a76fd --- /dev/null +++ b/services/notifications/src/main/java/city/zouitel/notifications/Cons.kt @@ -0,0 +1,14 @@ +package city.zouitel.notifications + +object Cons { + const val NOTIFICATION_ID = 1 + const val CHANNEL_ID = "NOTE_CHANNEL" + const val CHANNEL_NAME = "JETNOTE_NOTIFY" + + const val JPEG = "jpeg" + const val TITLE = "Title" + const val DESCRIPTION = "Description" + const val UID = "Uid" + const val IMAGES = "images_folder" + +} \ No newline at end of file diff --git a/service/notification/src/main/java/com/example/notification/di/NotificationModule.kt b/services/notifications/src/main/java/city/zouitel/notifications/di/NotificationModule.kt similarity index 53% rename from service/notification/src/main/java/com/example/notification/di/NotificationModule.kt rename to services/notifications/src/main/java/city/zouitel/notifications/di/NotificationModule.kt index ed9fac74..8d96a95b 100644 --- a/service/notification/src/main/java/com/example/notification/di/NotificationModule.kt +++ b/services/notifications/src/main/java/city/zouitel/notifications/di/NotificationModule.kt @@ -1,4 +1,4 @@ -package com.example.notification.di +package city.zouitel.notifications.di import android.annotation.SuppressLint import android.app.NotificationChannel @@ -8,24 +8,18 @@ import android.graphics.Color import android.os.Build import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat -import com.example.common_ui.Cons.CHANNEL_ID -import com.example.common_ui.Cons.CHANNEL_NAME -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.qualifiers.ApplicationContext -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton +import city.zouitel.notifications.Cons.CHANNEL_ID +import city.zouitel.notifications.Cons.CHANNEL_NAME -@Module -@InstallIn(SingletonComponent::class) +//@Module +//@InstallIn(SingletonComponent::class) object NotificationModule { @SuppressLint("InvalidColorHexValue") - @Singleton - @Provides +// @Singleton +// @Provides fun notificationBuilder( - @ApplicationContext context: Context + /*@ApplicationContext*/ context: Context ): NotificationCompat.Builder { return NotificationCompat.Builder(context, CHANNEL_ID) .setDefaults(android.app.Notification.DEFAULT_ALL) @@ -37,21 +31,18 @@ object NotificationModule { } @SuppressLint("ServiceCast") - @Singleton - @Provides +// @Singleton +// @Provides fun notificationChannel( - @ApplicationContext context: Context + /*@ApplicationContext*/ context: Context ): NotificationManagerCompat { val notificationManager = NotificationManagerCompat.from(context) - // Create the NotificationChannel, but only on API 26+ - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - val channel = NotificationChannel( - CHANNEL_ID, - CHANNEL_NAME, - NotificationManager.IMPORTANCE_DEFAULT - ) - notificationManager.createNotificationChannel(channel) - } + val channel = NotificationChannel( + CHANNEL_ID, + CHANNEL_NAME, + NotificationManager.IMPORTANCE_DEFAULT + ) + notificationManager.createNotificationChannel(channel) return notificationManager } } \ No newline at end of file diff --git a/services/notifications/src/main/java/city/zouitel/notifications/di/notificationDI.kt b/services/notifications/src/main/java/city/zouitel/notifications/di/notificationDI.kt new file mode 100644 index 00000000..ba457fef --- /dev/null +++ b/services/notifications/src/main/java/city/zouitel/notifications/di/notificationDI.kt @@ -0,0 +1,37 @@ +package city.zouitel.notifications.di + +import android.app.NotificationChannel +import android.app.NotificationManager +import android.graphics.Color +import androidx.core.app.NotificationCompat +import androidx.core.app.NotificationManagerCompat +import city.zouitel.notifications.Cons +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.dsl.module +import city.zouitel.notifications.viewmodel.NotificationVM +import org.koin.android.ext.koin.androidContext + +val notificationKoinModule = module { + viewModelOf(::NotificationVM) + + single { + NotificationCompat.Builder(androidContext(), Cons.CHANNEL_ID) + .setDefaults(android.app.Notification.DEFAULT_ALL) + .setSmallIcon(android.R.drawable.ic_popup_reminder) + .setColor(Color.YELLOW) +// .setOngoing(true) to ability cancel the notification or not. + .setLights(Color.WHITE, 300, 100) + .setPriority(NotificationCompat.PRIORITY_DEFAULT) + } + + single { + NotificationManagerCompat.from(androidContext()) + .createNotificationChannel( + NotificationChannel( + Cons.CHANNEL_ID, + Cons.CHANNEL_NAME, + NotificationManager.IMPORTANCE_DEFAULT + ) + ) + } +} \ No newline at end of file diff --git a/service/notification/src/main/java/com/example/notification/reciver/Notification.kt b/services/notifications/src/main/java/city/zouitel/notifications/reciver/Notification.kt similarity index 67% rename from service/notification/src/main/java/com/example/notification/reciver/Notification.kt rename to services/notifications/src/main/java/city/zouitel/notifications/reciver/Notification.kt index e90c91cf..01b8a067 100644 --- a/service/notification/src/main/java/com/example/notification/reciver/Notification.kt +++ b/services/notifications/src/main/java/city/zouitel/notifications/reciver/Notification.kt @@ -1,4 +1,4 @@ -package com.example.notification.reciver +package city.zouitel.notifications.reciver import android.Manifest import android.content.Context @@ -8,20 +8,19 @@ import android.graphics.BitmapFactory import androidx.core.app.ActivityCompat import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat -import com.example.common_ui.Cons.DESCRIPTION -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Cons.NOTIFICATION_ID -import com.example.common_ui.Cons.TITLE -import com.example.common_ui.Cons.UID -import dagger.hilt.android.AndroidEntryPoint +import city.zouitel.notifications.Cons.DESCRIPTION +import city.zouitel.notifications.Cons.IMAGES +import city.zouitel.notifications.Cons.JPEG +import city.zouitel.notifications.Cons.NOTIFICATION_ID +import city.zouitel.notifications.Cons.TITLE +import city.zouitel.notifications.Cons.UID import java.io.File -import javax.inject.Inject -@AndroidEntryPoint -class Notification : HiltBroadcastReceiver() { - @Inject lateinit var notifyBuilder : NotificationCompat.Builder - @Inject lateinit var notifyManager : NotificationManagerCompat +//@AndroidEntryPoint +class Notification : NotifyBroadcastReceiver() { + + /*@Inject*/ lateinit var notifyBuilder : NotificationCompat.Builder + /*@Inject*/ lateinit var notifyManager : NotificationManagerCompat override fun onReceive(context: Context, intent: Intent) { super.onReceive(context, intent) diff --git a/service/notification/src/main/java/com/example/notification/reciver/HiltBroadcastReceiver.kt b/services/notifications/src/main/java/city/zouitel/notifications/reciver/NotifyBroadcastReceiver.kt similarity index 64% rename from service/notification/src/main/java/com/example/notification/reciver/HiltBroadcastReceiver.kt rename to services/notifications/src/main/java/city/zouitel/notifications/reciver/NotifyBroadcastReceiver.kt index b1e28a34..8007f657 100644 --- a/service/notification/src/main/java/com/example/notification/reciver/HiltBroadcastReceiver.kt +++ b/services/notifications/src/main/java/city/zouitel/notifications/reciver/NotifyBroadcastReceiver.kt @@ -1,12 +1,11 @@ -package com.example.notification.reciver +package city.zouitel.notifications.reciver import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import androidx.annotation.CallSuper -import dagger.Module -abstract class HiltBroadcastReceiver : BroadcastReceiver() { +abstract class NotifyBroadcastReceiver : BroadcastReceiver() { @CallSuper override fun onReceive(context: Context, intent: Intent) {} diff --git a/service/notification/src/main/java/com/example/notification/viewmodel/NotificationVM.kt b/services/notifications/src/main/java/city/zouitel/notifications/viewmodel/NotificationVM.kt similarity index 82% rename from service/notification/src/main/java/com/example/notification/viewmodel/NotificationVM.kt rename to services/notifications/src/main/java/city/zouitel/notifications/viewmodel/NotificationVM.kt index 642c3e41..8f743c7e 100644 --- a/service/notification/src/main/java/com/example/notification/viewmodel/NotificationVM.kt +++ b/services/notifications/src/main/java/city/zouitel/notifications/viewmodel/NotificationVM.kt @@ -1,4 +1,4 @@ -package com.example.notification.viewmodel +package city.zouitel.notifications.viewmodel import android.app.AlarmManager import android.app.PendingIntent @@ -6,10 +6,10 @@ import android.content.Context import android.content.Intent import androidx.compose.runtime.MutableState import androidx.lifecycle.ViewModel -import com.example.common_ui.Cons.DESCRIPTION -import com.example.common_ui.Cons.TITLE -import com.example.common_ui.Cons.UID -import com.example.notification.reciver.Notification +import city.zouitel.notifications.Cons.DESCRIPTION +import city.zouitel.notifications.Cons.TITLE +import city.zouitel.notifications.Cons.UID +import city.zouitel.notifications.reciver.Notification class NotificationVM: ViewModel() { diff --git a/services/notifications/src/test/java/city/zouitel/notifications/ExampleUnitTest.kt b/services/notifications/src/test/java/city/zouitel/notifications/ExampleUnitTest.kt new file mode 100644 index 00000000..49aa2bd3 --- /dev/null +++ b/services/notifications/src/test/java/city/zouitel/notifications/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.notifications + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index a46d88f1..4d4d0762 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,69 +1,37 @@ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") - pluginManagement { repositories { - includeBuild("plugins") - gradlePluginPortal() google() mavenCentral() + gradlePluginPortal() } } - dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() - maven("https://jitpack.io") - } - versionCatalogs { - create("libs") { - from(files("gradle/libraries.versions.toml")) - } } } rootProject.name = "JetNote" - -include( - ":app" -) -include( - ":common:ui", - ":common:effect", - ":common:logic", - ":common:mapper", -) -include( - "service:notification" -) -include( - ":ui:features:camera", - ":ui:features:tags", - ":ui:features:record", - ":ui:features:tasks", - ":ui:features:media-player", - ":ui:features:reminder", - ":ui:features:note", - ":ui:features:widget", - ":ui:features:quick-note", - ":ui:features:links", - ":ui:graph" -) -include( - ":domain" -) -include( - ":data:local", - ":data:datastore", - ":data:repository" -) -include( - ":benchmark" -) -include( - ":data:remote" -) -include( - ":init" -) +include(":app") +include(":core:database") +include(":core:repository") +include(":core:datastore") +include(":domain") +include(":ui:features:note") +include(":ui:features:quickNote") +include(":ui:features:camera") +include(":ui:features:links") +include(":ui:features:audios") +include(":ui:features:recorder") +include(":ui:features:reminder") +include(":ui:features:tags") +include(":ui:features:tasks") +include(":ui:features:widget") +include(":ui:navigation") +include(":services:notifications") +include(":init") +include(":ui:common:systemDesign") +include(":ui:common:logic") diff --git a/common/ui/.gitignore b/ui/common/logic/.gitignore similarity index 100% rename from common/ui/.gitignore rename to ui/common/logic/.gitignore diff --git a/ui/common/logic/build.gradle.kts b/ui/common/logic/build.gradle.kts new file mode 100644 index 00000000..04d4f351 --- /dev/null +++ b/ui/common/logic/build.gradle.kts @@ -0,0 +1,44 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.logic" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ No newline at end of file diff --git a/ui/common/logic/consumer-rules.pro b/ui/common/logic/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/common/logic/proguard-rules.pro b/ui/common/logic/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/common/logic/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/common/logic/src/androidTest/java/city/zouitel/logic/ExampleInstrumentedTest.kt b/ui/common/logic/src/androidTest/java/city/zouitel/logic/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..0c140e74 --- /dev/null +++ b/ui/common/logic/src/androidTest/java/city/zouitel/logic/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.logic + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.logic.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/common/ui/src/main/AndroidManifest.xml b/ui/common/logic/src/main/AndroidManifest.xml similarity index 100% rename from common/ui/src/main/AndroidManifest.xml rename to ui/common/logic/src/main/AndroidManifest.xml diff --git a/ui/common/logic/src/test/java/city/zouitel/logic/ExampleUnitTest.kt b/ui/common/logic/src/test/java/city/zouitel/logic/ExampleUnitTest.kt new file mode 100644 index 00000000..aaaecbf3 --- /dev/null +++ b/ui/common/logic/src/test/java/city/zouitel/logic/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.logic + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/data/repository/.gitignore b/ui/common/systemDesign/.gitignore similarity index 100% rename from data/repository/.gitignore rename to ui/common/systemDesign/.gitignore diff --git a/ui/common/systemDesign/build.gradle.kts b/ui/common/systemDesign/build.gradle.kts new file mode 100644 index 00000000..a813fe95 --- /dev/null +++ b/ui/common/systemDesign/build.gradle.kts @@ -0,0 +1,82 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.systemDesign" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + + //Modules. + implementation(projects.core.datastore) + + //AndroidX. + implementation(libs.constraintlayout) + + //Accompanist. + implementation(libs.accompanist.permissions) + implementation(libs.accompanist.pager) + implementation(libs.accompanist.pager.indicators) + implementation(libs.accompanist.systemuicontroller) + implementation(libs.accompanist.navigation.animation) + implementation(libs.accompanist.swiperefresh) + implementation(libs.accompanist.flowlayout) + + //Baha-UrlPreview. + implementation(libs.url.preview) + + //Balloon. + implementation ("com.github.skydoves:balloon-compose:1.5.3") + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) +} \ No newline at end of file diff --git a/ui/common/systemDesign/consumer-rules.pro b/ui/common/systemDesign/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/common/systemDesign/proguard-rules.pro b/ui/common/systemDesign/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/common/systemDesign/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/common/systemDesign/src/androidTest/java/city/zouitel/systemDesign/ExampleInstrumentedTest.kt b/ui/common/systemDesign/src/androidTest/java/city/zouitel/systemDesign/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..c821000d --- /dev/null +++ b/ui/common/systemDesign/src/androidTest/java/city/zouitel/systemDesign/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.systemDesign + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.common.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/data/datastore/src/main/AndroidManifest.xml b/ui/common/systemDesign/src/main/AndroidManifest.xml similarity index 100% rename from data/datastore/src/main/AndroidManifest.xml rename to ui/common/systemDesign/src/main/AndroidManifest.xml diff --git a/common/ui/src/main/java/com/example/common_ui/AdaptingRow.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/AdaptingRow.kt similarity index 71% rename from common/ui/src/main/java/com/example/common_ui/AdaptingRow.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/AdaptingRow.kt index 5d7dcae2..4231f61d 100644 --- a/common/ui/src/main/java/com/example/common_ui/AdaptingRow.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/AdaptingRow.kt @@ -1,17 +1,16 @@ -package com.example.common_ui +package city.zouitel.systemDesign -import android.icu.text.MeasureFormat -import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.RowScope import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp @Composable fun RowScope.AdaptingRow( - modifier: Modifier = Modifier, - content: @Composable () -> Unit, + modifier: Modifier = Modifier, + content: @Composable () -> Unit, ) { Row( modifier = modifier, diff --git a/common/ui/src/main/java/com/example/common_ui/BackgroundColors.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/BackgroundColors.kt similarity index 95% rename from common/ui/src/main/java/com/example/common_ui/BackgroundColors.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/BackgroundColors.kt index 6a68e410..835533a5 100644 --- a/common/ui/src/main/java/com/example/common_ui/BackgroundColors.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/BackgroundColors.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.systemDesign import androidx.compose.ui.graphics.Color diff --git a/common/ui/src/main/java/com/example/common_ui/Cons.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Cons.kt similarity index 92% rename from common/ui/src/main/java/com/example/common_ui/Cons.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Cons.kt index 79cdcc82..a747970d 100644 --- a/common/ui/src/main/java/com/example/common_ui/Cons.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Cons.kt @@ -1,11 +1,11 @@ -package com.example.common_ui +package city.zouitel.systemDesign object Cons { const val APP_NAME = "JetNote" const val TAG = "This" const val NUL = "null" - const val APP_VERSION = "3.3.4" + const val APP_VERSION = "4.0" const val ID = "Id" const val TITLE = "Title" @@ -54,10 +54,6 @@ object Cons { const val ORDER_BY_REMINDER = "ORDER_BY_REMINDER" const val BY_ID = "ORDER_BY_ID" - const val NOTIFICATION_ID = 1 - const val CHANNEL_ID = "NOTE_CHANNEL" - const val CHANNEL_NAME = "JETNOTE_NOTIFY" - const val SEARCH_IN_LOCAL = "Search in local.." const val SEARCH_IN_TRASH = "Search in trash.." const val SEARCH_IN_CLOUD = "Search in cloud.." diff --git a/common/ui/src/main/java/com/example/common_ui/DataStoreVM.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DataStoreVM.kt similarity index 86% rename from common/ui/src/main/java/com/example/common_ui/DataStoreVM.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DataStoreVM.kt index 8f11e29e..5abb974d 100644 --- a/common/ui/src/main/java/com/example/common_ui/DataStoreVM.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DataStoreVM.kt @@ -1,19 +1,18 @@ -package com.example.common_ui +package city.zouitel.systemDesign import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.datastore.DataStoreRepo -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.datastore.Cons +import city.zouitel.datastore.DataStoreRepo import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class DataStoreVM @Inject constructor( +//@HiltViewModel +class DataStoreVM /*@Inject*/ constructor( private val dataStoreRepo: DataStoreRepo ) : ViewModel() { @@ -37,14 +36,14 @@ class DataStoreVM @Inject constructor( .stateIn( viewModelScope, SharingStarted.WhileSubscribed(), - Cons.BY_NAME + city.zouitel.systemDesign.Cons.BY_NAME ) val getTheme: StateFlow = dataStoreRepo.getTheme .stateIn( viewModelScope, SharingStarted.WhileSubscribed(), - com.example.datastore.Cons.DARK + Cons.DARK ) diff --git a/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DispatcherMod.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DispatcherMod.kt new file mode 100644 index 00000000..5f5dea29 --- /dev/null +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/DispatcherMod.kt @@ -0,0 +1,13 @@ +package city.zouitel.systemDesign + + +//@Module +//@InstallIn( +// SingletonComponent::class, +// ViewModelComponent::class +//) +object DispatcherMod { + +// @Provides +// fun ioDispatcher(): CoroutineDispatcher = Dispatchers.IO +} \ No newline at end of file diff --git a/common/ui/src/main/java/com/example/common_ui/Icons.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Icons.kt similarity index 97% rename from common/ui/src/main/java/com/example/common_ui/Icons.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Icons.kt index ba58265f..ca2d7746 100644 --- a/common/ui/src/main/java/com/example/common_ui/Icons.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Icons.kt @@ -1,4 +1,7 @@ -package com.example.common_ui +package city.zouitel.systemDesign + +import city.zouitel.systemDesign.R + object Icons { diff --git a/ui/graph/src/main/java/com/example/graph/ImageDisplay.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/ImageDisplay.kt similarity index 96% rename from ui/graph/src/main/java/com/example/graph/ImageDisplay.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/ImageDisplay.kt index 93629d12..a70eacf0 100644 --- a/ui/graph/src/main/java/com/example/graph/ImageDisplay.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/ImageDisplay.kt @@ -1,4 +1,4 @@ -package com.example.graph +package city.zouitel.systemDesign import androidx.compose.foundation.Image import androidx.compose.foundation.layout.* @@ -35,4 +35,4 @@ fun ImageDisplayed( } } } -} \ No newline at end of file +} diff --git a/common/ui/src/main/java/com/example/common_ui/Lambda.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Lambda.kt similarity index 90% rename from common/ui/src/main/java/com/example/common_ui/Lambda.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Lambda.kt index a256d222..795bef31 100644 --- a/common/ui/src/main/java/com/example/common_ui/Lambda.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Lambda.kt @@ -1,22 +1,15 @@ -package com.example.common_ui +package city.zouitel.systemDesign import android.content.Context import android.content.Intent import android.net.Uri -import android.widget.Toast import androidx.compose.runtime.MutableState import androidx.compose.ui.graphics.Color -import com.baha.url.preview.BahaUrlPreview -import com.baha.url.preview.IUrlPreviewCallback -import com.baha.url.preview.UrlInfoItem -import com.example.common_ui.Cons.IMPORTANT -import com.example.common_ui.Cons.LOW -import com.example.common_ui.Cons.NON -import com.example.common_ui.Cons.NORMAL -import com.example.common_ui.Cons.URGENT -import kotlinx.coroutines.* -import java.net.URL -import java.util.* +import city.zouitel.systemDesign.Cons.IMPORTANT +import city.zouitel.systemDesign.Cons.LOW +import city.zouitel.systemDesign.Cons.NON +import city.zouitel.systemDesign.Cons.NORMAL +import city.zouitel.systemDesign.Cons.URGENT // val sharApp: (Context, String) -> Unit = { ctx, txt -> diff --git a/common/ui/src/main/java/com/example/common_ui/MaterialColors.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/MaterialColors.kt similarity index 99% rename from common/ui/src/main/java/com/example/common_ui/MaterialColors.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/MaterialColors.kt index f033a0da..efccc55f 100644 --- a/common/ui/src/main/java/com/example/common_ui/MaterialColors.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/MaterialColors.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.systemDesign import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable diff --git a/common/ui/src/main/java/com/example/common_ui/Popup.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Popup.kt similarity index 57% rename from common/ui/src/main/java/com/example/common_ui/Popup.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Popup.kt index e2816dbe..3f430243 100644 --- a/common/ui/src/main/java/com/example/common_ui/Popup.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Popup.kt @@ -1,28 +1,10 @@ -package com.example.common_ui +package city.zouitel.systemDesign -import androidx.activity.compose.setContent -import androidx.compose.foundation.background -import androidx.compose.foundation.border -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.layout.* -import androidx.compose.material.Button -import androidx.compose.material.contentColorFor import androidx.compose.material3.Text import androidx.compose.runtime.* -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.toArgb -import androidx.compose.ui.hapticfeedback.HapticFeedbackType -import androidx.compose.ui.platform.LocalHapticFeedback -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Popup -import androidx.compose.ui.window.PopupPositionProvider -import androidx.compose.ui.window.PopupProperties -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.ON_SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE import com.skydoves.balloon.ArrowPositionRules import com.skydoves.balloon.BalloonAnimation import com.skydoves.balloon.BalloonHighlightAnimation diff --git a/common/ui/src/main/java/com/example/common_ui/SoundEffect.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/SoundEffect.kt similarity index 91% rename from common/ui/src/main/java/com/example/common_ui/SoundEffect.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/SoundEffect.kt index 5cb41667..2e15afe6 100644 --- a/common/ui/src/main/java/com/example/common_ui/SoundEffect.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/SoundEffect.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.systemDesign import android.content.Context import android.media.AudioManager diff --git a/common/ui/src/main/java/com/example/common_ui/TextColors.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/TextColors.kt similarity index 92% rename from common/ui/src/main/java/com/example/common_ui/TextColors.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/TextColors.kt index 90e9d500..4cce0bc4 100644 --- a/common/ui/src/main/java/com/example/common_ui/TextColors.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/TextColors.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.systemDesign import androidx.compose.ui.graphics.Color diff --git a/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Utils.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Utils.kt new file mode 100644 index 00000000..1b243707 --- /dev/null +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/Utils.kt @@ -0,0 +1 @@ +package city.zouitel.systemDesign diff --git a/common/ui/src/main/java/com/example/common_ui/VerticalGrid.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/VerticalGrid.kt similarity index 98% rename from common/ui/src/main/java/com/example/common_ui/VerticalGrid.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/VerticalGrid.kt index ee6b9cd1..0a06fed3 100644 --- a/common/ui/src/main/java/com/example/common_ui/VerticalGrid.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/VerticalGrid.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.systemDesign import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier diff --git a/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/di/dataStoreDI.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/di/dataStoreDI.kt new file mode 100644 index 00000000..22e98cd6 --- /dev/null +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/di/dataStoreDI.kt @@ -0,0 +1,9 @@ +package city.zouitel.systemDesign.di + +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.dsl.module +import city.zouitel.systemDesign.DataStoreVM + +val datastoreVMKoinModule = module { + viewModelOf(::DataStoreVM) +} \ No newline at end of file diff --git a/common/ui/src/main/java/com/example/common_ui/listOfPriorityColors.kt b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/listOfPriorityColors.kt similarity index 83% rename from common/ui/src/main/java/com/example/common_ui/listOfPriorityColors.kt rename to ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/listOfPriorityColors.kt index 25e8417c..0645e876 100644 --- a/common/ui/src/main/java/com/example/common_ui/listOfPriorityColors.kt +++ b/ui/common/systemDesign/src/main/java/city/zouitel/systemDesign/listOfPriorityColors.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.systemDesign import androidx.compose.ui.graphics.Color diff --git a/common/ui/src/main/res/drawable-hdpi/add_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/add_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/add_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/add_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/add_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/add_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/add_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/add_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/add_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/add_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/add_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/add_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/add_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/add_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/add_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_down_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_down_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_down_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_down_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_down_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_down_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_down_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_down_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_down_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_down_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_down_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_down_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_up_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_up_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_up_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_up_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_small_up_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_small_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_small_up_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_up_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_up_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_up_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_up_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/angle_up_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/angle_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/angle_up_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/apps_sort_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/apps_sort_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/apps_sort_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/apps_sort_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/apps_sort_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/apps_sort_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/apps_sort_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/apps_sort_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/apps_sort_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/apps_sort_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/apps_sort_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_ring_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_ring_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_ring_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_ring_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_ring_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_ring_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_ring_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_ring_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/bell_ring_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/bell_ring_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/bell_ring_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/broom_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/broom_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/broom_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/broom_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/broom_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/broom_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/broom_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/broom_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/broom_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/broom_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/broom_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/broom_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/broom_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/broom_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/broom_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/broom_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/broom_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/broom_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/broom_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/broom_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/calendar_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/calendar_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/calendar_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/calendar_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/calendar_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/calendar_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/calendar_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/calendar_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/calendar_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/calendar_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/calendar_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/camera_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/camera_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/camera_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/camera_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/camera_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/camera_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/camera_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/camera_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/camera_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/camera_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/camera_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/camera_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/camera_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/camera_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/camera_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/camera_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/camera_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/camera_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/camera_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/camera_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/check_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/check_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/check_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/check_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/check_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/check_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/check_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/check_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/check_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/check_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/check_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/check_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/check_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/check_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/check_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/checkbox_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/checkbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/checkbox_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/checkbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/checkbox_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/checkbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/checkbox_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/checkbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/checkbox_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/checkbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/checkbox_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/circle_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/circle_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/circle_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/circle_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/circle_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/circle_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/circle_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/circle_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/circle_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/circle_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/clock_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/clock_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/clock_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/clock_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/clock_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/clock_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/clock_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/clock_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/clock_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/clock_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/clock_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/clock_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/clock_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/clock_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/clock_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/clock_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/clock_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/clock_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/clock_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/clock_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_disabled_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_disabled_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_disabled_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_disabled_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_disabled_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_disabled_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_disabled_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_disabled_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_disabled_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_disabled_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_disabled_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_download_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_download_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_download_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_download_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_download_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_download_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_download_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_download_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_download_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_download_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_download_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_upload_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_upload_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_upload_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_upload_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_upload_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_upload_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_upload_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_upload_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/cloud_upload_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cloud_upload_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cloud_upload_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/comment_exclamation_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/comment_exclamation_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/comment_exclamation_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/comment_exclamation_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/comment_exclamation_24_.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/comment_exclamation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_24_.png diff --git a/common/ui/src/main/res/drawable-hdpi/comment_exclamation_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/comment_exclamation_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/comment_exclamation_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/comment_exclamation_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/comment_exclamation_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/copy_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/copy_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/copy_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/copy_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/copy_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/copy_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/copy_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/copy_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/copy_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/copy_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/copy_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/copy_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/copy_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/copy_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/copy_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/copy_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/copy_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/copy_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/copy_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/copy_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/cross_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/cross_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/cross_circle_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/delete_user_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/delete_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/delete_user_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/delete_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/delete_user_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/delete_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/delete_user_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/delete_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/delete_user_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/delete_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/delete_user_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/disk_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/disk_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/disk_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/disk_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/disk_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/disk_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/disk_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/disk_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/disk_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/disk_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/disk_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/disk_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/disk_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/disk_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/disk_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/disk_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/disk_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/disk_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/disk_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/disk_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/download_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/download_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/download_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/download_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/download_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/download_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/download_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/download_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/download_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/download_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/download_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/download_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/download_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/download_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/download_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/exit_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/exit_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/exit_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/exit_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/exit_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/exit_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/exit_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/exit_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/exit_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/exit_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/exit_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/exit_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/exit_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/exit_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/exit_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/exit_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/exit_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/exit_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/exit_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/exit_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/github_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/github_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/github_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/github_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/github_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/github_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/github_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/github_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/github_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/github_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/github_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/github_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/github_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/github_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/github_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/github_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/github_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/github_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/github_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/github_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/globe_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/globe_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/globe_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/globe_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/globe_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/globe_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/globe_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/globe_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/globe_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/globe_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/globe_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/globe_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/globe_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/globe_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/globe_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/globe_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/globe_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/globe_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/globe_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/globe_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/home_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/home_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/home_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/home_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/home_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/home_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/home_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/home_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/home_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/home_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/home_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/home_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/home_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/home_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/home_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/home_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/home_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/home_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/home_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/home_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/inbox_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/inbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/inbox_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/inbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/inbox_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/inbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/inbox_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/inbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/inbox_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/inbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/inbox_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/interlining_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interlining_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/interlining_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interlining_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/interlining_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interlining_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/interlining_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interlining_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/interlining_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interlining_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interlining_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_18_.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_18_.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_18_.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_18_.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_20_.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_20_.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_20_.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_20_.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_24_.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_24_.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_36_.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_36_.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_36_.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_36_.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/interrogation_48_.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_48_.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/interrogation_48_.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/interrogation_48_.png diff --git a/common/ui/src/main/res/drawable-hdpi/label_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/label_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/label_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/label_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/label_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/label_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/label_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/label_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/label_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/label_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/label_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/label_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/label_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/label_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/label_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/list_check_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/list_check_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/list_check_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/list_check_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/list_check_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/list_check_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/list_check_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/list_check_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/list_check_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/list_check_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/list_check_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/menu_burger_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/menu_burger_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/menu_burger_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/menu_burger_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/menu_burger_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/menu_burger_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/menu_burger_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/menu_burger_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/menu_burger_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/menu_burger_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/menu_burger_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/microphone_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/microphone_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/microphone_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/microphone_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/microphone_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/microphone_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/microphone_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/microphone_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/microphone_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/microphone_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/microphone_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/moon_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/moon_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/moon_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/moon_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/moon_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/moon_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/moon_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/moon_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/moon_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/moon_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/moon_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/moon_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/moon_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/moon_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/moon_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/moon_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/moon_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/moon_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/moon_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/moon_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/no_label_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/no_label_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/no_label_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/no_label_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/no_label_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/no_label_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/no_label_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/no_label_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/no_label_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/no_label_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/no_label_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/opacity_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/opacity_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/opacity_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/opacity_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/opacity_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/opacity_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/opacity_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/opacity_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/opacity_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/opacity_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/opacity_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/pause_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pause_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pause_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pause_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/pause_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pause_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pause_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pause_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/pause_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pause_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pause_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pause_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/pause_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pause_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pause_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pause_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/pause_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pause_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pause_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pause_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/pencil_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pencil_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/pencil_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pencil_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/pencil_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pencil_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/pencil_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pencil_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/pencil_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/pencil_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/pencil_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/picture_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/picture_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/picture_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/picture_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/picture_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/picture_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/picture_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/picture_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/picture_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/picture_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/picture_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/picture_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/picture_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/picture_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/picture_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/picture_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/picture_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/picture_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/picture_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/picture_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/play_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/play_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/play_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/play_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/play_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/play_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/play_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/play_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/play_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/play_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/play_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/play_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/play_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/play_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/play_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/play_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/play_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/play_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/play_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/play_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/plus_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/plus_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/plus_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/plus_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/plus_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/plus_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/plus_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/plus_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/plus_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/plus_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/plus_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/plus_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/plus_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/plus_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/plus_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/plus_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/plus_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/plus_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/plus_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/plus_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/remove_user_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/remove_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/remove_user_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/remove_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/remove_user_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/remove_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/remove_user_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/remove_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/remove_user_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/remove_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/remove_user_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/reset_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/reset_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/reset_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/reset_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/reset_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/reset_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/reset_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/reset_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/reset_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/reset_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/reset_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/reset_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/reset_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/reset_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/reset_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/reset_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/reset_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/reset_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/reset_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/reset_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/rotate_left_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/rotate_left_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/rotate_left_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/rotate_left_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/rotate_left_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/rotate_left_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/rotate_left_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/rotate_left_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/rotate_left_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/rotate_left_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/rotate_left_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/settings_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/settings_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/settings_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/settings_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/settings_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/settings_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/settings_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/settings_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/settings_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/settings_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/settings_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/settings_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/settings_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/settings_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/settings_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/settings_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/settings_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/settings_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/settings_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/settings_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/share_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/share_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/share_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/share_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/share_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/share_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/share_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/share_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/share_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/share_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/share_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/share_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/share_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/share_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/share_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/share_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/share_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/share_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/share_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/share_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alpha_down_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alpha_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alpha_down_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alpha_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alpha_down_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alpha_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alpha_down_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alpha_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alpha_down_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alpha_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alpha_down_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_alt_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_down_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_down_alt_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_amount_up_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_amount_up_alt_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_numeric_down_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_numeric_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_numeric_down_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_numeric_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_numeric_down_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_numeric_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_numeric_down_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_numeric_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/sort_numeric_down_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sort_numeric_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sort_numeric_down_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/stop_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/stop_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/stop_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/stop_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/stop_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/stop_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/stop_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/stop_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/stop_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/stop_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/stop_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/stop_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/stop_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/stop_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/stop_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/stop_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/stop_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/stop_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/stop_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/stop_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/sun_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sun_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sun_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sun_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/sun_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sun_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sun_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sun_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/sun_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sun_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sun_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sun_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/sun_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sun_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sun_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sun_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/sun_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/sun_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/sun_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/sun_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/tags_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/tags_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/tags_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/tags_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/tags_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/tags_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/tags_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/tags_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/tags_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/tags_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/tags_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/tags_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/tags_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/tags_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/tags_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/tags_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/tags_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/tags_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/tags_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/tags_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/trash_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/trash_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/trash_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/trash_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/trash_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/trash_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/trash_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/trash_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/trash_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/trash_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/trash_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/trash_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/trash_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/trash_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/trash_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/trash_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/trash_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/trash_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/trash_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/trash_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_add_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_add_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_add_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_add_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_add_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_add_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_add_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_add_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/user_add_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/user_add_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/user_add_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/void_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/void_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/void_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/void_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/void_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/void_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/void_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/void_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/void_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/void_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/void_circle_48.png diff --git a/common/ui/src/main/res/drawable-hdpi/wifi_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/wifi_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_18.png diff --git a/common/ui/src/main/res/drawable-hdpi/wifi_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/wifi_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_20.png diff --git a/common/ui/src/main/res/drawable-hdpi/wifi_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/wifi_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_24.png diff --git a/common/ui/src/main/res/drawable-hdpi/wifi_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/wifi_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_36.png diff --git a/common/ui/src/main/res/drawable-hdpi/wifi_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-hdpi/wifi_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-hdpi/wifi_alt_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/add_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/add_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/add_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/add_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/add_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/add_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/add_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/add_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/add_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/add_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/add_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/add_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/add_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/add_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/add_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_down_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_down_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_down_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_down_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_down_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_down_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_down_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_down_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_down_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_down_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_down_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_down_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_up_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_up_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_up_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_up_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_small_up_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_small_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_small_up_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_up_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_up_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_up_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_up_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/angle_up_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/angle_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/angle_up_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/apps_sort_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/apps_sort_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/apps_sort_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/apps_sort_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/apps_sort_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/apps_sort_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/apps_sort_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/apps_sort_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/apps_sort_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/apps_sort_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/apps_sort_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_ring_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_ring_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_ring_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_ring_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_ring_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_ring_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_ring_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_ring_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/bell_ring_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/bell_ring_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/bell_ring_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/broom_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/broom_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/broom_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/broom_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/broom_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/broom_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/broom_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/broom_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/broom_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/broom_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/broom_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/broom_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/broom_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/broom_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/broom_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/broom_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/broom_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/broom_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/broom_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/broom_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/calendar_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/calendar_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/calendar_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/calendar_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/calendar_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/calendar_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/calendar_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/calendar_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/calendar_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/calendar_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/calendar_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/camera_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/camera_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/camera_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/camera_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/camera_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/camera_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/camera_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/camera_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/camera_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/camera_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/camera_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/camera_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/camera_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/camera_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/camera_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/camera_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/camera_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/camera_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/camera_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/camera_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/check_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/check_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/check_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/check_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/check_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/check_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/check_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/check_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/check_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/check_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/check_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/check_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/check_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/check_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/check_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/checkbox_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/checkbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/checkbox_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/checkbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/checkbox_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/checkbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/checkbox_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/checkbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/checkbox_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/checkbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/checkbox_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/circle_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/circle_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/circle_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/circle_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/circle_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/circle_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/circle_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/circle_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/circle_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/circle_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/clock_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/clock_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/clock_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/clock_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/clock_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/clock_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/clock_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/clock_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/clock_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/clock_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/clock_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/clock_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/clock_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/clock_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/clock_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/clock_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/clock_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/clock_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/clock_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/clock_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_disabled_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_disabled_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_disabled_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_disabled_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_disabled_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_disabled_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_disabled_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_disabled_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_disabled_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_disabled_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_disabled_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_download_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_download_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_download_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_download_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_download_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_download_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_download_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_download_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_download_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_download_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_download_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_upload_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_upload_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_upload_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_upload_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_upload_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_upload_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_upload_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_upload_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/cloud_upload_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cloud_upload_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cloud_upload_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/comment_exclamation_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/comment_exclamation_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/comment_exclamation_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/comment_exclamation_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/comment_exclamation_24_.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/comment_exclamation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_24_.png diff --git a/common/ui/src/main/res/drawable-mdpi/comment_exclamation_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/comment_exclamation_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/comment_exclamation_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/comment_exclamation_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/comment_exclamation_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/copy_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/copy_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/copy_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/copy_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/copy_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/copy_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/copy_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/copy_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/copy_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/copy_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/copy_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/copy_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/copy_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/copy_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/copy_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/copy_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/copy_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/copy_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/copy_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/copy_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/cross_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/cross_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/cross_circle_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/delete_user_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/delete_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/delete_user_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/delete_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/delete_user_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/delete_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/delete_user_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/delete_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/delete_user_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/delete_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/delete_user_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/disk_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/disk_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/disk_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/disk_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/disk_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/disk_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/disk_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/disk_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/disk_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/disk_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/disk_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/disk_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/disk_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/disk_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/disk_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/disk_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/disk_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/disk_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/disk_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/disk_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/download_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/download_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/download_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/download_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/download_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/download_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/download_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/download_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/download_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/download_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/download_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/download_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/download_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/download_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/download_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/exit_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/exit_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/exit_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/exit_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/exit_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/exit_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/exit_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/exit_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/exit_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/exit_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/exit_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/exit_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/exit_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/exit_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/exit_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/exit_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/exit_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/exit_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/exit_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/exit_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/github_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/github_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/github_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/github_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/github_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/github_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/github_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/github_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/github_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/github_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/github_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/github_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/github_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/github_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/github_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/github_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/github_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/github_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/github_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/github_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/globe_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/globe_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/globe_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/globe_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/globe_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/globe_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/globe_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/globe_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/globe_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/globe_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/globe_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/globe_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/globe_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/globe_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/globe_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/globe_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/globe_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/globe_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/globe_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/globe_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/home_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/home_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/home_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/home_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/home_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/home_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/home_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/home_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/home_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/home_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/home_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/home_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/home_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/home_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/home_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/home_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/home_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/home_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/home_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/home_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/inbox_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/inbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/inbox_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/inbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/inbox_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/inbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/inbox_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/inbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/inbox_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/inbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/inbox_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/interlining_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interlining_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/interlining_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interlining_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/interlining_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interlining_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/interlining_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interlining_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/interlining_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interlining_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interlining_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_18_.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_18_.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_18_.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_18_.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_20_.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_20_.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_20_.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_20_.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_24_.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_24_.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_36_.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_36_.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_36_.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_36_.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/interrogation_48_.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_48_.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/interrogation_48_.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/interrogation_48_.png diff --git a/common/ui/src/main/res/drawable-mdpi/label_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/label_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/label_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/label_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/label_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/label_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/label_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/label_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/label_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/label_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/label_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/label_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/label_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/label_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/label_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/list_check_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/list_check_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/list_check_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/list_check_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/list_check_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/list_check_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/list_check_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/list_check_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/list_check_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/list_check_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/list_check_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/menu_burger_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/menu_burger_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/menu_burger_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/menu_burger_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/menu_burger_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/menu_burger_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/menu_burger_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/menu_burger_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/menu_burger_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/menu_burger_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/menu_burger_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/microphone_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/microphone_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/microphone_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/microphone_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/microphone_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/microphone_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/microphone_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/microphone_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/microphone_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/microphone_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/microphone_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/moon_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/moon_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/moon_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/moon_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/moon_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/moon_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/moon_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/moon_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/moon_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/moon_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/moon_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/moon_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/moon_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/moon_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/moon_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/moon_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/moon_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/moon_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/moon_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/moon_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/no_label_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/no_label_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/no_label_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/no_label_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/no_label_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/no_label_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/no_label_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/no_label_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/no_label_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/no_label_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/no_label_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/opacity_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/opacity_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/opacity_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/opacity_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/opacity_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/opacity_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/opacity_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/opacity_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/opacity_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/opacity_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/opacity_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/pause_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/pause_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/pause_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/pause_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/pause_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/pause_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/pause_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/pause_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/pause_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/pause_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/pause_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/pause_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/pause_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/pause_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/pause_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/pause_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/pause_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/pause_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/pause_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/pause_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/picture_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/picture_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/picture_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/picture_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/picture_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/picture_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/picture_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/picture_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/picture_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/picture_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/picture_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/picture_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/picture_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/picture_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/picture_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/picture_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/picture_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/picture_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/picture_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/picture_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/play_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/play_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/play_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/play_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/play_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/play_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/play_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/play_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/play_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/play_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/play_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/play_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/play_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/play_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/play_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/play_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/play_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/play_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/play_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/play_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/plus_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/plus_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/plus_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/plus_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/plus_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/plus_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/plus_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/plus_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/plus_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/plus_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/plus_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/plus_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/plus_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/plus_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/plus_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/plus_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/plus_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/plus_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/plus_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/plus_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/remove_user_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/remove_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/remove_user_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/remove_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/remove_user_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/remove_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/remove_user_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/remove_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/remove_user_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/remove_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/remove_user_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/reset_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/reset_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/reset_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/reset_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/reset_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/reset_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/reset_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/reset_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/reset_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/reset_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/reset_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/reset_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/reset_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/reset_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/reset_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/reset_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/reset_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/reset_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/reset_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/reset_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/rotate_left_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/rotate_left_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/rotate_left_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/rotate_left_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/rotate_left_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/rotate_left_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/rotate_left_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/rotate_left_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/rotate_left_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/rotate_left_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/rotate_left_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/settings_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/settings_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/settings_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/settings_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/settings_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/settings_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/settings_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/settings_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/settings_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/settings_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/settings_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/settings_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/settings_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/settings_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/settings_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/settings_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/settings_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/settings_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/settings_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/settings_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/share_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/share_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/share_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/share_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/share_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/share_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/share_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/share_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/share_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/share_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/share_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/share_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/share_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/share_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/share_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/share_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/share_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/share_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/share_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/share_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alpha_down_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alpha_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alpha_down_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alpha_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alpha_down_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alpha_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alpha_down_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alpha_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alpha_down_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alpha_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alpha_down_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_alt_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_down_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_down_alt_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_amount_up_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_amount_up_alt_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_numeric_down_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_numeric_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_numeric_down_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_numeric_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_numeric_down_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_numeric_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_numeric_down_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_numeric_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/sort_numeric_down_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sort_numeric_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sort_numeric_down_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/stop_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/stop_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/stop_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/stop_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/stop_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/stop_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/stop_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/stop_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/stop_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/stop_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/stop_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/stop_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/stop_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/stop_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/stop_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/stop_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/stop_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/stop_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/stop_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/stop_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/sun_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sun_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sun_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sun_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/sun_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sun_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sun_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sun_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/sun_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sun_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sun_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sun_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/sun_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sun_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sun_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sun_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/sun_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/sun_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/sun_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/sun_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/tags_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/tags_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/tags_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/tags_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/tags_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/tags_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/tags_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/tags_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/tags_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/tags_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/tags_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/tags_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/tags_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/tags_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/tags_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/tags_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/tags_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/tags_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/tags_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/tags_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/trash_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/trash_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/trash_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/trash_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/trash_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/trash_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/trash_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/trash_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/trash_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/trash_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/trash_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/trash_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/trash_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/trash_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/trash_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/trash_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/trash_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/trash_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/trash_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/trash_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_add_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_add_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_add_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_add_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_add_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_add_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_add_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_add_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/user_add_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/user_add_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/user_add_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/void_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/void_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/void_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/void_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/void_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/void_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/void_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/void_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/void_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/void_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/void_circle_48.png diff --git a/common/ui/src/main/res/drawable-mdpi/wifi_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/wifi_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_18.png diff --git a/common/ui/src/main/res/drawable-mdpi/wifi_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/wifi_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_20.png diff --git a/common/ui/src/main/res/drawable-mdpi/wifi_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/wifi_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_24.png diff --git a/common/ui/src/main/res/drawable-mdpi/wifi_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/wifi_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_36.png diff --git a/common/ui/src/main/res/drawable-mdpi/wifi_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-mdpi/wifi_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-mdpi/wifi_alt_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/add_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/add_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/add_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/add_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/add_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/add_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/add_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/add_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/add_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/add_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/add_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/add_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/add_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/add_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/add_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_down_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_down_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_up_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_up_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_up_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_up_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_small_up_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_small_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_small_up_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_up_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_up_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_up_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_up_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/angle_up_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/angle_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/angle_up_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/apps_sort_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/apps_sort_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/apps_sort_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/apps_sort_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/apps_sort_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/apps_sort_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/apps_sort_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/apps_sort_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/apps_sort_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/apps_sort_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/apps_sort_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_ring_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_ring_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_ring_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_ring_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_ring_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_ring_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_ring_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_ring_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/bell_ring_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/bell_ring_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/bell_ring_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/broom_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/broom_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/broom_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/broom_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/broom_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/broom_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/broom_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/broom_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/broom_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/broom_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/broom_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/calendar_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/calendar_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/calendar_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/calendar_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/calendar_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/calendar_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/calendar_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/calendar_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/calendar_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/calendar_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/calendar_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/camera_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/camera_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/camera_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/camera_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/camera_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/camera_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/camera_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/camera_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/camera_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/camera_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/camera_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/check_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/check_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/check_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/check_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/check_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/check_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/check_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/check_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/check_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/check_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/check_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/check_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/check_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/check_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/check_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/checkbox_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/checkbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/checkbox_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/checkbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/checkbox_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/checkbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/checkbox_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/checkbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/checkbox_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/checkbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/checkbox_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/circle_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/clock_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/clock_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/clock_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/clock_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/clock_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/clock_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/clock_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/clock_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/clock_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/clock_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/clock_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_disabled_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_disabled_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_disabled_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_disabled_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_disabled_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_disabled_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_disabled_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_disabled_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_disabled_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_disabled_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_disabled_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_download_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_download_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_download_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_download_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_download_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_download_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_download_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_download_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_download_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_download_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_download_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_upload_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_upload_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_upload_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_upload_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_upload_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_upload_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_upload_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_upload_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cloud_upload_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cloud_upload_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cloud_upload_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/comment_exclamation_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/comment_exclamation_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/comment_exclamation_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/comment_exclamation_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/comment_exclamation_24_.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/comment_exclamation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_24_.png diff --git a/common/ui/src/main/res/drawable-xhdpi/comment_exclamation_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/comment_exclamation_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/comment_exclamation_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/comment_exclamation_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/comment_exclamation_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/copy_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/copy_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/copy_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/copy_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/copy_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/copy_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/copy_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/copy_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/copy_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/copy_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/copy_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/cross_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/cross_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/cross_circle_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/delete_user_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/delete_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/delete_user_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/delete_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/delete_user_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/delete_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/delete_user_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/delete_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/delete_user_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/delete_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/delete_user_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/disk_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/disk_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/disk_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/disk_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/disk_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/disk_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/disk_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/disk_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/disk_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/disk_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/disk_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/download_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/download_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/download_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/download_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/download_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/download_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/download_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/download_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/download_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/download_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/download_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/download_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/download_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/download_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/download_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/exit_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/exit_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/exit_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/exit_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/exit_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/exit_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/exit_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/exit_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/exit_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/exit_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/exit_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/github_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/github_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/github_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/github_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/github_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/github_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/github_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/github_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/github_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/github_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/github_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/github_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/github_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/github_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/github_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/github_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/github_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/github_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/github_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/github_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/globe_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/globe_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/globe_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/globe_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/globe_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/globe_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/globe_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/globe_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/globe_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/globe_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/globe_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/home_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/home_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/home_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/home_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/home_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/home_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/home_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/home_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/home_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/home_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/home_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/home_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/home_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/home_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/home_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/home_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/home_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/home_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/home_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/home_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/inbox_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/inbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/inbox_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/inbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/inbox_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/inbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/inbox_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/inbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/inbox_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/inbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/inbox_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interlining_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interlining_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interlining_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interlining_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interlining_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interlining_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interlining_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interlining_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interlining_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interlining_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interlining_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_18_.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_18_.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_18_.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_18_.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_20_.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_20_.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_20_.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_20_.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_24_.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_24_.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_36_.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_36_.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_36_.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_36_.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/interrogation_48_.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_48_.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/interrogation_48_.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/interrogation_48_.png diff --git a/common/ui/src/main/res/drawable-xhdpi/label_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/label_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/label_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/label_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/label_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/label_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/label_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/label_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/label_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/label_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/label_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/label_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/label_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/label_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/label_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/list_check_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/list_check_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/list_check_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/list_check_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/list_check_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/list_check_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/list_check_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/list_check_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/list_check_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/list_check_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/list_check_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/menu_burger_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/menu_burger_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/menu_burger_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/menu_burger_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/menu_burger_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/menu_burger_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/menu_burger_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/menu_burger_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/menu_burger_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/menu_burger_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/menu_burger_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/microphone_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/microphone_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/microphone_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/microphone_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/microphone_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/microphone_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/microphone_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/microphone_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/microphone_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/microphone_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/microphone_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/moon_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/moon_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/moon_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/moon_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/moon_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/moon_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/moon_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/moon_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/moon_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/moon_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/moon_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/no_label_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/no_label_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/no_label_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/no_label_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/no_label_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/no_label_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/no_label_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/no_label_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/no_label_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/no_label_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/no_label_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/opacity_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/opacity_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/opacity_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/opacity_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/opacity_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/opacity_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/opacity_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/opacity_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/opacity_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/opacity_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/opacity_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/pause_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/pause_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/pause_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/pause_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/pause_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/pause_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/pause_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/pause_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/pause_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/pause_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/pause_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/picture_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/picture_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/picture_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/picture_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/picture_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/picture_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/picture_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/picture_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/picture_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/picture_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/picture_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/play_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/play_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/play_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/play_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/play_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/play_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/play_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/play_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/play_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/play_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/play_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/play_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/play_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/play_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/play_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/play_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/play_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/play_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/play_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/play_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/plus_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/plus_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/plus_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/plus_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/plus_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/plus_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/plus_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/plus_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/plus_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/plus_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/plus_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/remove_user_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/remove_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/remove_user_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/remove_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/remove_user_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/remove_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/remove_user_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/remove_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/remove_user_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/remove_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/remove_user_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/reset_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/reset_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/reset_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/reset_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/reset_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/reset_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/reset_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/reset_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/reset_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/reset_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/reset_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/rotate_left_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/rotate_left_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/rotate_left_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/rotate_left_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/rotate_left_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/rotate_left_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/rotate_left_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/rotate_left_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/rotate_left_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/rotate_left_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/rotate_left_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/settings_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/settings_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/settings_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/settings_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/settings_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/settings_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/settings_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/settings_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/settings_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/settings_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/settings_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/share_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/share_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/share_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/share_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/share_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/share_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/share_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/share_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/share_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/share_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/share_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/share_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/share_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/share_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/share_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/share_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/share_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/share_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/share_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/share_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alpha_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alpha_down_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_alt_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_down_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_down_alt_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_amount_up_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_amount_up_alt_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sort_numeric_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sort_numeric_down_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/stop_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/stop_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/stop_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/stop_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/stop_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/stop_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/stop_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/stop_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/stop_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/stop_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/stop_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sun_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sun_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sun_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sun_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sun_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sun_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sun_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sun_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/sun_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/sun_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/sun_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/tags_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/tags_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/tags_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/tags_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/tags_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/tags_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/tags_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/tags_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/tags_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/tags_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/tags_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/trash_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/trash_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/trash_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/trash_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/trash_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/trash_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/trash_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/trash_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/trash_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/trash_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/trash_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_add_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_add_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_add_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_add_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_add_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_add_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_add_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_add_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/user_add_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/user_add_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/user_add_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/void_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/void_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/void_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/void_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/void_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/void_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/void_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/void_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/void_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/void_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/void_circle_48.png diff --git a/common/ui/src/main/res/drawable-xhdpi/wifi_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/wifi_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_18.png diff --git a/common/ui/src/main/res/drawable-xhdpi/wifi_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/wifi_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_20.png diff --git a/common/ui/src/main/res/drawable-xhdpi/wifi_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/wifi_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_24.png diff --git a/common/ui/src/main/res/drawable-xhdpi/wifi_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/wifi_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_36.png diff --git a/common/ui/src/main/res/drawable-xhdpi/wifi_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xhdpi/wifi_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xhdpi/wifi_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/add_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/add_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/add_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/add_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/add_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/add_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/add_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/add_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/add_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/add_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/add_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_down_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_down_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_up_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_up_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_up_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_up_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_small_up_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_small_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_small_up_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_up_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_up_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_up_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_up_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/angle_up_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/angle_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/angle_up_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/apps_sort_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/apps_sort_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/apps_sort_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/apps_sort_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/apps_sort_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/apps_sort_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/apps_sort_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/apps_sort_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/apps_sort_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/apps_sort_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/apps_sort_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_ring_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_ring_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_ring_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_ring_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_ring_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_ring_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_ring_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_ring_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/bell_ring_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/bell_ring_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/bell_ring_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/broom_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/broom_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/broom_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/broom_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/broom_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/broom_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/broom_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/broom_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/broom_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/broom_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/broom_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/calendar_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/calendar_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/calendar_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/calendar_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/calendar_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/calendar_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/calendar_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/calendar_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/calendar_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/calendar_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/calendar_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/camera_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/camera_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/camera_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/camera_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/camera_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/camera_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/camera_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/camera_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/camera_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/camera_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/camera_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/check_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/check_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/check_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/check_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/check_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/check_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/check_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/check_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/check_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/check_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/check_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/checkbox_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/checkbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/checkbox_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/checkbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/checkbox_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/checkbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/checkbox_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/checkbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/checkbox_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/checkbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/checkbox_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/circle_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/clock_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/clock_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/clock_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/clock_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/clock_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/clock_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/clock_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/clock_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/clock_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/clock_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/clock_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_disabled_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_disabled_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_download_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_download_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_download_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_download_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_download_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_download_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_download_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_download_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_download_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_download_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_download_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_upload_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_upload_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_upload_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_upload_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_upload_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_upload_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_upload_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_upload_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cloud_upload_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cloud_upload_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cloud_upload_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_24_.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_24_.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/comment_exclamation_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/comment_exclamation_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/copy_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/copy_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/copy_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/copy_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/copy_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/copy_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/copy_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/copy_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/copy_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/copy_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/copy_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/cross_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/cross_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/cross_circle_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/delete_user_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/delete_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/delete_user_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/delete_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/delete_user_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/delete_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/delete_user_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/delete_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/delete_user_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/delete_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/delete_user_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/disk_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/disk_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/disk_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/disk_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/disk_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/disk_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/disk_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/disk_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/disk_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/disk_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/disk_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/download_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/download_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/download_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/download_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/download_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/download_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/download_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/download_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/download_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/download_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/download_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/exit_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/exit_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/exit_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/exit_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/exit_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/exit_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/exit_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/exit_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/exit_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/exit_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/exit_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/github_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/github_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/github_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/github_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/github_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/github_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/github_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/github_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/github_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/github_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/github_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/globe_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/globe_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/globe_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/globe_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/globe_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/globe_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/globe_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/globe_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/globe_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/globe_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/globe_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/home_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/home_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/home_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/home_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/home_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/home_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/home_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/home_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/home_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/home_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/home_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_image.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_image.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_image.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_image.xml diff --git a/common/ui/src/main/res/drawable/ic_launcher_background.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_launcher_background.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_launcher_background.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_launcher_background.xml diff --git a/common/ui/src/main/res/drawable/ic_launcher_foreground.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_launcher_foreground.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_launcher_foreground.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_launcher_foreground.xml diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_logo.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_logo.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_logo.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_logo.xml diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_music.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_music.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_music.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_music.xml diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_round_pause.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_round_pause.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_round_pause.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_round_pause.xml diff --git a/common/ui/src/main/res/drawable-xxhdpi/ic_round_play_arrow.xml b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_round_play_arrow.xml similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/ic_round_play_arrow.xml rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/ic_round_play_arrow.xml diff --git a/common/ui/src/main/res/drawable-xxhdpi/inbox_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/inbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/inbox_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/inbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/inbox_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/inbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/inbox_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/inbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/inbox_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/inbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/inbox_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interlining_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interlining_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interlining_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interlining_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interlining_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interlining_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interlining_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interlining_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interlining_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interlining_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interlining_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_18_.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_18_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_18_.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_18_.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_20_.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_20_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_20_.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_20_.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_24_.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_24_.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_36_.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_36_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_36_.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_36_.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/interrogation_48_.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_48_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/interrogation_48_.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/interrogation_48_.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/label_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/label_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/label_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/label_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/label_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/label_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/label_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/label_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/label_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/label_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/label_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/list_check_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/list_check_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/list_check_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/list_check_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/list_check_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/list_check_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/list_check_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/list_check_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/list_check_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/list_check_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/list_check_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/menu_burger_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/menu_burger_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/menu_burger_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/menu_burger_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/menu_burger_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/menu_burger_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/menu_burger_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/menu_burger_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/menu_burger_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/menu_burger_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/menu_burger_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/microphone_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/microphone_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/microphone_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/microphone_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/microphone_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/microphone_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/microphone_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/microphone_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/microphone_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/microphone_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/microphone_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/moon_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/moon_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/moon_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/moon_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/moon_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/moon_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/moon_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/moon_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/moon_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/moon_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/moon_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/no_label_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/no_label_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/no_label_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/no_label_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/no_label_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/no_label_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/no_label_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/no_label_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/no_label_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/no_label_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/no_label_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/opacity_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/opacity_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/opacity_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/opacity_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/opacity_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/opacity_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/opacity_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/opacity_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/opacity_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/opacity_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/opacity_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pause_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pause_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pause_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pause_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pause_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pause_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pause_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pause_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pause_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pause_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pause_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pencil_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pencil_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pencil_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pencil_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pencil_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pencil_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pencil_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pencil_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/pencil_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/pencil_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/pencil_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/picture_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/picture_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/picture_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/picture_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/picture_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/picture_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/picture_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/picture_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/picture_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/picture_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/picture_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/play_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/play_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/play_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/play_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/play_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/play_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/play_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/play_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/play_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/play_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/play_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/plus_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/plus_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/plus_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/plus_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/plus_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/plus_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/plus_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/plus_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/plus_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/plus_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/plus_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/remove_user_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/remove_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/remove_user_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/remove_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/remove_user_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/remove_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/remove_user_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/remove_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/remove_user_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/remove_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/remove_user_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/reset_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/reset_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/reset_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/reset_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/reset_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/reset_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/reset_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/reset_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/reset_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/reset_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/reset_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/rotate_left_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/rotate_left_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/rotate_left_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/rotate_left_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/rotate_left_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/rotate_left_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/rotate_left_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/rotate_left_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/rotate_left_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/rotate_left_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/rotate_left_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/settings_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/settings_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/settings_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/settings_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/settings_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/settings_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/settings_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/settings_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/settings_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/settings_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/settings_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/share_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/share_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/share_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/share_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/share_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/share_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/share_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/share_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/share_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/share_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/share_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alpha_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alpha_down_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_down_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_down_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_amount_up_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_amount_up_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sort_numeric_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sort_numeric_down_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/stop_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/stop_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/stop_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/stop_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/stop_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/stop_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/stop_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/stop_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/stop_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/stop_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/stop_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sun_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sun_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sun_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sun_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sun_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sun_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sun_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sun_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/sun_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/sun_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/sun_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/tags_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/tags_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/tags_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/tags_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/tags_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/tags_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/tags_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/tags_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/tags_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/tags_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/tags_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/trash_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/trash_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/trash_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/trash_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/trash_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/trash_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/trash_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/trash_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/trash_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/trash_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/trash_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_add_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_add_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_add_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_add_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_add_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_add_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_add_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_add_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/user_add_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/user_add_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/user_add_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/vinyl_background.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/vinyl_background.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/vinyl_background.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/vinyl_background.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/void_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/void_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/void_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/void_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/void_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/void_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/void_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/void_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/void_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/void_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/void_circle_48.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/wifi_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/wifi_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/wifi_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/wifi_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/wifi_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/wifi_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/wifi_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/wifi_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxhdpi/wifi_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxhdpi/wifi_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxhdpi/wifi_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/add_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/add_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/add_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/add_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/add_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/add_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/add_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/add_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/add_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/add_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/add_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_down_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_down_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_small_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_small_up_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_up_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_up_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_up_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_up_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_up_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_up_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_up_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_up_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/angle_up_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/angle_up_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/angle_up_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/apps_sort_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/apps_sort_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/apps_sort_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/apps_sort_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/apps_sort_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/apps_sort_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/apps_sort_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/apps_sort_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/apps_sort_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/apps_sort_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/apps_sort_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_ring_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_ring_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_ring_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_ring_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_ring_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_ring_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_ring_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_ring_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/bell_ring_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/bell_ring_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/bell_ring_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/broom_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/broom_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/broom_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/broom_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/broom_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/broom_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/broom_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/broom_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/broom_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/broom_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/broom_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/calendar_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/calendar_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/calendar_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/calendar_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/calendar_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/calendar_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/calendar_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/calendar_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/calendar_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/calendar_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/calendar_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/camera_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/camera_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/camera_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/camera_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/camera_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/camera_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/camera_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/camera_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/camera_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/camera_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/camera_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/check_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/check_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/check_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/check_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/check_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/check_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/check_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/check_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/check_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/check_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/check_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/checkbox_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/checkbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/checkbox_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/checkbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/checkbox_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/checkbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/checkbox_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/checkbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/checkbox_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/checkbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/checkbox_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/circle_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/clock_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/clock_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/clock_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/clock_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/clock_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/clock_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/clock_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/clock_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/clock_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/clock_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/clock_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_disabled_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_disabled_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_download_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_download_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_download_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_download_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_download_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_download_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_download_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_download_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_download_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_download_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_download_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cloud_upload_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cloud_upload_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_24_.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_24_.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/comment_exclamation_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/comment_exclamation_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/copy_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/copy_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/copy_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/copy_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/copy_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/copy_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/copy_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/copy_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/copy_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/copy_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/copy_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/cross_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/cross_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/cross_circle_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/delete_user_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/delete_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/delete_user_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/delete_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/delete_user_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/delete_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/delete_user_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/delete_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/delete_user_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/delete_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/delete_user_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/disk_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/disk_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/disk_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/disk_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/disk_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/disk_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/disk_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/disk_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/disk_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/disk_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/disk_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/download_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/download_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/download_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/download_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/download_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/download_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/download_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/download_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/download_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/download_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/download_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/exit_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/exit_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/exit_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/exit_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/exit_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/exit_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/exit_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/exit_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/exit_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/exit_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/exit_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/github_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/github_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/github_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/github_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/github_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/github_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/github_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/github_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/github_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/github_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/github_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/globe_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/globe_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/globe_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/globe_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/globe_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/globe_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/globe_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/globe_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/globe_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/globe_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/globe_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/home_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/home_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/home_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/home_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/home_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/home_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/home_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/home_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/home_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/home_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/home_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/inbox_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/inbox_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/inbox_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/inbox_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/inbox_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/inbox_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/inbox_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/inbox_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/inbox_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/inbox_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/inbox_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interlining_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interlining_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interlining_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interlining_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interlining_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interlining_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interlining_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interlining_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interlining_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interlining_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interlining_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_18_.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_18_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_18_.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_18_.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_20_.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_20_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_20_.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_20_.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_24_.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_24_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_24_.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_24_.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_36_.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_36_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_36_.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_36_.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/interrogation_48_.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_48_.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/interrogation_48_.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/interrogation_48_.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/label_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/label_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/label_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/label_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/label_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/label_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/label_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/label_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/label_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/label_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/label_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/list_check_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/list_check_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/list_check_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/list_check_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/list_check_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/list_check_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/list_check_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/list_check_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/list_check_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/list_check_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/list_check_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/menu_burger_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/menu_burger_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/menu_burger_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/menu_burger_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/menu_burger_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/menu_burger_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/menu_burger_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/menu_burger_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/menu_burger_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/menu_burger_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/menu_burger_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/microphone_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/microphone_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/microphone_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/microphone_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/microphone_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/microphone_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/microphone_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/microphone_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/microphone_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/microphone_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/microphone_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/moon_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/moon_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/moon_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/moon_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/moon_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/moon_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/moon_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/moon_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/moon_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/moon_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/moon_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/no_label_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/no_label_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/no_label_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/no_label_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/no_label_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/no_label_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/no_label_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/no_label_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/no_label_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/no_label_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/no_label_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/opacity_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/opacity_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/opacity_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/opacity_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/opacity_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/opacity_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/opacity_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/opacity_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/opacity_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/opacity_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/opacity_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/pause_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/pause_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/pause_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/pause_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/pause_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/pause_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/pause_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/pause_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/pause_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/pause_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/pause_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/picture_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/picture_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/picture_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/picture_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/picture_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/picture_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/picture_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/picture_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/picture_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/picture_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/picture_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/play_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/play_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/play_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/play_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/play_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/play_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/play_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/play_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/play_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/play_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/play_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/plus_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/plus_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/plus_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/plus_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/plus_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/plus_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/plus_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/plus_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/plus_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/plus_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/plus_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/remove_user_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/remove_user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/remove_user_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/remove_user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/remove_user_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/remove_user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/remove_user_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/remove_user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/remove_user_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/remove_user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/remove_user_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/reset_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/reset_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/reset_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/reset_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/reset_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/reset_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/reset_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/reset_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/reset_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/reset_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/reset_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/rotate_left_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/rotate_left_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/rotate_left_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/rotate_left_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/rotate_left_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/rotate_left_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/rotate_left_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/rotate_left_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/rotate_left_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/rotate_left_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/rotate_left_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/settings_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/settings_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/settings_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/settings_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/settings_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/settings_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/settings_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/settings_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/settings_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/settings_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/settings_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/share_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/share_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/share_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/share_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/share_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/share_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/share_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/share_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/share_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/share_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/share_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alpha_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alpha_down_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_down_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_amount_up_alt_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sort_numeric_down_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sort_numeric_down_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/stop_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/stop_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/stop_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/stop_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/stop_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/stop_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/stop_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/stop_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/stop_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/stop_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/stop_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sun_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sun_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sun_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sun_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sun_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sun_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sun_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sun_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/sun_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/sun_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/sun_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/tags_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/tags_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/tags_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/tags_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/tags_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/tags_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/tags_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/tags_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/tags_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/tags_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/tags_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/trash_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/trash_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/trash_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/trash_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/trash_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/trash_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/trash_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/trash_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/trash_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/trash_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/trash_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_add_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_add_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_add_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_add_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_add_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_add_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_add_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_add_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/user_add_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/user_add_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/user_add_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/void_circle_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/void_circle_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/void_circle_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/void_circle_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/void_circle_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/void_circle_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/void_circle_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/void_circle_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/void_circle_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/void_circle_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/void_circle_48.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_18.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_18.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_18.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_18.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_20.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_20.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_20.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_20.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_24.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_24.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_24.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_24.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_36.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_36.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_36.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_36.png diff --git a/common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_48.png b/ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_48.png similarity index 100% rename from common/ui/src/main/res/drawable-xxxhdpi/wifi_alt_48.png rename to ui/common/systemDesign/src/main/res/drawable-xxxhdpi/wifi_alt_48.png diff --git a/common/ui/src/main/res/drawable/add_24.xml b/ui/common/systemDesign/src/main/res/drawable/add_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/add_24.xml rename to ui/common/systemDesign/src/main/res/drawable/add_24.xml diff --git a/common/ui/src/main/res/drawable/angle_down_24_.xml b/ui/common/systemDesign/src/main/res/drawable/angle_down_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/angle_down_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/angle_down_24_.xml diff --git a/common/ui/src/main/res/drawable/angle_small_down_24_.xml b/ui/common/systemDesign/src/main/res/drawable/angle_small_down_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/angle_small_down_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/angle_small_down_24_.xml diff --git a/common/ui/src/main/res/drawable/angle_small_up_24_.xml b/ui/common/systemDesign/src/main/res/drawable/angle_small_up_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/angle_small_up_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/angle_small_up_24_.xml diff --git a/common/ui/src/main/res/drawable/angle_up_24_.xml b/ui/common/systemDesign/src/main/res/drawable/angle_up_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/angle_up_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/angle_up_24_.xml diff --git a/common/ui/src/main/res/drawable/apps_sort_24.xml b/ui/common/systemDesign/src/main/res/drawable/apps_sort_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/apps_sort_24.xml rename to ui/common/systemDesign/src/main/res/drawable/apps_sort_24.xml diff --git a/common/ui/src/main/res/drawable/bell_24.xml b/ui/common/systemDesign/src/main/res/drawable/bell_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/bell_24.xml rename to ui/common/systemDesign/src/main/res/drawable/bell_24.xml diff --git a/common/ui/src/main/res/drawable/bell_ring_24.xml b/ui/common/systemDesign/src/main/res/drawable/bell_ring_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/bell_ring_24.xml rename to ui/common/systemDesign/src/main/res/drawable/bell_ring_24.xml diff --git a/common/ui/src/main/res/drawable/brightness.png b/ui/common/systemDesign/src/main/res/drawable/brightness.png similarity index 100% rename from common/ui/src/main/res/drawable/brightness.png rename to ui/common/systemDesign/src/main/res/drawable/brightness.png diff --git a/common/ui/src/main/res/drawable/broom_24.xml b/ui/common/systemDesign/src/main/res/drawable/broom_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/broom_24.xml rename to ui/common/systemDesign/src/main/res/drawable/broom_24.xml diff --git a/common/ui/src/main/res/drawable/calendar_24.xml b/ui/common/systemDesign/src/main/res/drawable/calendar_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/calendar_24.xml rename to ui/common/systemDesign/src/main/res/drawable/calendar_24.xml diff --git a/common/ui/src/main/res/drawable/camera_24.xml b/ui/common/systemDesign/src/main/res/drawable/camera_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/camera_24.xml rename to ui/common/systemDesign/src/main/res/drawable/camera_24.xml diff --git a/common/ui/src/main/res/drawable/check_24.xml b/ui/common/systemDesign/src/main/res/drawable/check_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/check_24.xml rename to ui/common/systemDesign/src/main/res/drawable/check_24.xml diff --git a/common/ui/src/main/res/drawable/checkbox_24.xml b/ui/common/systemDesign/src/main/res/drawable/checkbox_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/checkbox_24.xml rename to ui/common/systemDesign/src/main/res/drawable/checkbox_24.xml diff --git a/common/ui/src/main/res/drawable/circle_24.xml b/ui/common/systemDesign/src/main/res/drawable/circle_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/circle_24.xml rename to ui/common/systemDesign/src/main/res/drawable/circle_24.xml diff --git a/common/ui/src/main/res/drawable/clock_24.xml b/ui/common/systemDesign/src/main/res/drawable/clock_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/clock_24.xml rename to ui/common/systemDesign/src/main/res/drawable/clock_24.xml diff --git a/common/ui/src/main/res/drawable/cloud_24.xml b/ui/common/systemDesign/src/main/res/drawable/cloud_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/cloud_24.xml rename to ui/common/systemDesign/src/main/res/drawable/cloud_24.xml diff --git a/common/ui/src/main/res/drawable/cloud_disabled_24_.xml b/ui/common/systemDesign/src/main/res/drawable/cloud_disabled_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/cloud_disabled_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/cloud_disabled_24_.xml diff --git a/common/ui/src/main/res/drawable/cloud_download_24_.xml b/ui/common/systemDesign/src/main/res/drawable/cloud_download_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/cloud_download_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/cloud_download_24_.xml diff --git a/common/ui/src/main/res/drawable/cloud_upload_24_.xml b/ui/common/systemDesign/src/main/res/drawable/cloud_upload_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/cloud_upload_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/cloud_upload_24_.xml diff --git a/common/ui/src/main/res/drawable/comment_exclamation_24.xml b/ui/common/systemDesign/src/main/res/drawable/comment_exclamation_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/comment_exclamation_24.xml rename to ui/common/systemDesign/src/main/res/drawable/comment_exclamation_24.xml diff --git a/common/ui/src/main/res/drawable/copy_24.xml b/ui/common/systemDesign/src/main/res/drawable/copy_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/copy_24.xml rename to ui/common/systemDesign/src/main/res/drawable/copy_24.xml diff --git a/common/ui/src/main/res/drawable/cross_24.xml b/ui/common/systemDesign/src/main/res/drawable/cross_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/cross_24.xml rename to ui/common/systemDesign/src/main/res/drawable/cross_24.xml diff --git a/common/ui/src/main/res/drawable/cross_circle_24.xml b/ui/common/systemDesign/src/main/res/drawable/cross_circle_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/cross_circle_24.xml rename to ui/common/systemDesign/src/main/res/drawable/cross_circle_24.xml diff --git a/common/ui/src/main/res/drawable/cross_circle_24_.xml b/ui/common/systemDesign/src/main/res/drawable/cross_circle_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/cross_circle_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/cross_circle_24_.xml diff --git a/common/ui/src/main/res/drawable/delete_user_24.xml b/ui/common/systemDesign/src/main/res/drawable/delete_user_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/delete_user_24.xml rename to ui/common/systemDesign/src/main/res/drawable/delete_user_24.xml diff --git a/common/ui/src/main/res/drawable/disk_24.xml b/ui/common/systemDesign/src/main/res/drawable/disk_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/disk_24.xml rename to ui/common/systemDesign/src/main/res/drawable/disk_24.xml diff --git a/common/ui/src/main/res/drawable/download_24.xml b/ui/common/systemDesign/src/main/res/drawable/download_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/download_24.xml rename to ui/common/systemDesign/src/main/res/drawable/download_24.xml diff --git a/common/ui/src/main/res/drawable/exit_24.xml b/ui/common/systemDesign/src/main/res/drawable/exit_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/exit_24.xml rename to ui/common/systemDesign/src/main/res/drawable/exit_24.xml diff --git a/common/ui/src/main/res/drawable/github_24.xml b/ui/common/systemDesign/src/main/res/drawable/github_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/github_24.xml rename to ui/common/systemDesign/src/main/res/drawable/github_24.xml diff --git a/common/ui/src/main/res/drawable/globe_24.xml b/ui/common/systemDesign/src/main/res/drawable/globe_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/globe_24.xml rename to ui/common/systemDesign/src/main/res/drawable/globe_24.xml diff --git a/common/ui/src/main/res/drawable/home_24.xml b/ui/common/systemDesign/src/main/res/drawable/home_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/home_24.xml rename to ui/common/systemDesign/src/main/res/drawable/home_24.xml diff --git a/common/ui/src/main/res/drawable/ic_baseline_add_photo_alternate_24.xml b/ui/common/systemDesign/src/main/res/drawable/ic_baseline_add_photo_alternate_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_baseline_add_photo_alternate_24.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_baseline_add_photo_alternate_24.xml diff --git a/common/ui/src/main/res/drawable/ic_baseline_circle_24.xml b/ui/common/systemDesign/src/main/res/drawable/ic_baseline_circle_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_baseline_circle_24.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_baseline_circle_24.xml diff --git a/common/ui/src/main/res/drawable/ic_baseline_dashboard_24.xml b/ui/common/systemDesign/src/main/res/drawable/ic_baseline_dashboard_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_baseline_dashboard_24.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_baseline_dashboard_24.xml diff --git a/common/ui/src/main/res/drawable/ic_baseline_delete_outline_24.xml b/ui/common/systemDesign/src/main/res/drawable/ic_baseline_delete_outline_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_baseline_delete_outline_24.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_baseline_delete_outline_24.xml diff --git a/common/ui/src/main/res/drawable/ic_baseline_gesture_24.xml b/ui/common/systemDesign/src/main/res/drawable/ic_baseline_gesture_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_baseline_gesture_24.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_baseline_gesture_24.xml diff --git a/common/ui/src/main/res/drawable/ic_baseline_view_agenda_24.xml b/ui/common/systemDesign/src/main/res/drawable/ic_baseline_view_agenda_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_baseline_view_agenda_24.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_baseline_view_agenda_24.xml diff --git a/common/ui/src/main/res/drawable/ic_eraser_black_24dp.xml b/ui/common/systemDesign/src/main/res/drawable/ic_eraser_black_24dp.xml similarity index 100% rename from common/ui/src/main/res/drawable/ic_eraser_black_24dp.xml rename to ui/common/systemDesign/src/main/res/drawable/ic_eraser_black_24dp.xml diff --git a/ui/common/systemDesign/src/main/res/drawable/ic_launcher_background.xml b/ui/common/systemDesign/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..07d5da9c --- /dev/null +++ b/ui/common/systemDesign/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/common/systemDesign/src/main/res/drawable/ic_launcher_foreground.xml b/ui/common/systemDesign/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 00000000..2b068d11 --- /dev/null +++ b/ui/common/systemDesign/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/common/ui/src/main/res/drawable/inbox_24.xml b/ui/common/systemDesign/src/main/res/drawable/inbox_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/inbox_24.xml rename to ui/common/systemDesign/src/main/res/drawable/inbox_24.xml diff --git a/common/ui/src/main/res/drawable/interlining_24.xml b/ui/common/systemDesign/src/main/res/drawable/interlining_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/interlining_24.xml rename to ui/common/systemDesign/src/main/res/drawable/interlining_24.xml diff --git a/common/ui/src/main/res/drawable/interrogation_24.xml b/ui/common/systemDesign/src/main/res/drawable/interrogation_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/interrogation_24.xml rename to ui/common/systemDesign/src/main/res/drawable/interrogation_24.xml diff --git a/common/ui/src/main/res/drawable/interrogation_24_.xml b/ui/common/systemDesign/src/main/res/drawable/interrogation_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/interrogation_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/interrogation_24_.xml diff --git a/common/ui/src/main/res/drawable/label_24.xml b/ui/common/systemDesign/src/main/res/drawable/label_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/label_24.xml rename to ui/common/systemDesign/src/main/res/drawable/label_24.xml diff --git a/common/ui/src/main/res/drawable/list_check_24.xml b/ui/common/systemDesign/src/main/res/drawable/list_check_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/list_check_24.xml rename to ui/common/systemDesign/src/main/res/drawable/list_check_24.xml diff --git a/common/ui/src/main/res/drawable/mat.jpg b/ui/common/systemDesign/src/main/res/drawable/mat.jpg similarity index 100% rename from common/ui/src/main/res/drawable/mat.jpg rename to ui/common/systemDesign/src/main/res/drawable/mat.jpg diff --git a/common/ui/src/main/res/drawable/menu_burger_24.xml b/ui/common/systemDesign/src/main/res/drawable/menu_burger_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/menu_burger_24.xml rename to ui/common/systemDesign/src/main/res/drawable/menu_burger_24.xml diff --git a/common/ui/src/main/res/drawable/microphone_24.xml b/ui/common/systemDesign/src/main/res/drawable/microphone_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/microphone_24.xml rename to ui/common/systemDesign/src/main/res/drawable/microphone_24.xml diff --git a/common/ui/src/main/res/drawable/moon_24.xml b/ui/common/systemDesign/src/main/res/drawable/moon_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/moon_24.xml rename to ui/common/systemDesign/src/main/res/drawable/moon_24.xml diff --git a/common/ui/src/main/res/drawable/no_label_24.xml b/ui/common/systemDesign/src/main/res/drawable/no_label_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/no_label_24.xml rename to ui/common/systemDesign/src/main/res/drawable/no_label_24.xml diff --git a/common/ui/src/main/res/drawable/opacity_24.xml b/ui/common/systemDesign/src/main/res/drawable/opacity_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/opacity_24.xml rename to ui/common/systemDesign/src/main/res/drawable/opacity_24.xml diff --git a/common/ui/src/main/res/drawable/paint_palette.png b/ui/common/systemDesign/src/main/res/drawable/paint_palette.png similarity index 100% rename from common/ui/src/main/res/drawable/paint_palette.png rename to ui/common/systemDesign/src/main/res/drawable/paint_palette.png diff --git a/common/ui/src/main/res/drawable/pause_24.xml b/ui/common/systemDesign/src/main/res/drawable/pause_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/pause_24.xml rename to ui/common/systemDesign/src/main/res/drawable/pause_24.xml diff --git a/common/ui/src/main/res/drawable/picture_24.xml b/ui/common/systemDesign/src/main/res/drawable/picture_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/picture_24.xml rename to ui/common/systemDesign/src/main/res/drawable/picture_24.xml diff --git a/common/ui/src/main/res/drawable/play_24.xml b/ui/common/systemDesign/src/main/res/drawable/play_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/play_24.xml rename to ui/common/systemDesign/src/main/res/drawable/play_24.xml diff --git a/common/ui/src/main/res/drawable/plus_24.xml b/ui/common/systemDesign/src/main/res/drawable/plus_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/plus_24.xml rename to ui/common/systemDesign/src/main/res/drawable/plus_24.xml diff --git a/common/ui/src/main/res/drawable/redo.png b/ui/common/systemDesign/src/main/res/drawable/redo.png similarity index 100% rename from common/ui/src/main/res/drawable/redo.png rename to ui/common/systemDesign/src/main/res/drawable/redo.png diff --git a/common/ui/src/main/res/drawable/remove_user_24.xml b/ui/common/systemDesign/src/main/res/drawable/remove_user_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/remove_user_24.xml rename to ui/common/systemDesign/src/main/res/drawable/remove_user_24.xml diff --git a/common/ui/src/main/res/drawable/reset_24.xml b/ui/common/systemDesign/src/main/res/drawable/reset_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/reset_24.xml rename to ui/common/systemDesign/src/main/res/drawable/reset_24.xml diff --git a/common/ui/src/main/res/drawable/rotate_left_24_.xml b/ui/common/systemDesign/src/main/res/drawable/rotate_left_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/rotate_left_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/rotate_left_24_.xml diff --git a/common/ui/src/main/res/drawable/settings_24.xml b/ui/common/systemDesign/src/main/res/drawable/settings_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/settings_24.xml rename to ui/common/systemDesign/src/main/res/drawable/settings_24.xml diff --git a/common/ui/src/main/res/drawable/share_24.xml b/ui/common/systemDesign/src/main/res/drawable/share_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/share_24.xml rename to ui/common/systemDesign/src/main/res/drawable/share_24.xml diff --git a/common/ui/src/main/res/drawable/sort.png b/ui/common/systemDesign/src/main/res/drawable/sort.png similarity index 100% rename from common/ui/src/main/res/drawable/sort.png rename to ui/common/systemDesign/src/main/res/drawable/sort.png diff --git a/common/ui/src/main/res/drawable/sort_alpha_down_24.xml b/ui/common/systemDesign/src/main/res/drawable/sort_alpha_down_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/sort_alpha_down_24.xml rename to ui/common/systemDesign/src/main/res/drawable/sort_alpha_down_24.xml diff --git a/common/ui/src/main/res/drawable/sort_alt_24_.xml b/ui/common/systemDesign/src/main/res/drawable/sort_alt_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/sort_alt_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/sort_alt_24_.xml diff --git a/common/ui/src/main/res/drawable/sort_amount_down_alt_24.xml b/ui/common/systemDesign/src/main/res/drawable/sort_amount_down_alt_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/sort_amount_down_alt_24.xml rename to ui/common/systemDesign/src/main/res/drawable/sort_amount_down_alt_24.xml diff --git a/common/ui/src/main/res/drawable/sort_amount_up_alt_24.xml b/ui/common/systemDesign/src/main/res/drawable/sort_amount_up_alt_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/sort_amount_up_alt_24.xml rename to ui/common/systemDesign/src/main/res/drawable/sort_amount_up_alt_24.xml diff --git a/common/ui/src/main/res/drawable/sort_numeric_down_24_.xml b/ui/common/systemDesign/src/main/res/drawable/sort_numeric_down_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/sort_numeric_down_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/sort_numeric_down_24_.xml diff --git a/common/ui/src/main/res/drawable/stop_24.xml b/ui/common/systemDesign/src/main/res/drawable/stop_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/stop_24.xml rename to ui/common/systemDesign/src/main/res/drawable/stop_24.xml diff --git a/common/ui/src/main/res/drawable/sun_24.xml b/ui/common/systemDesign/src/main/res/drawable/sun_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/sun_24.xml rename to ui/common/systemDesign/src/main/res/drawable/sun_24.xml diff --git a/common/ui/src/main/res/drawable/tags_24.xml b/ui/common/systemDesign/src/main/res/drawable/tags_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/tags_24.xml rename to ui/common/systemDesign/src/main/res/drawable/tags_24.xml diff --git a/common/ui/src/main/res/drawable/trash_24.xml b/ui/common/systemDesign/src/main/res/drawable/trash_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/trash_24.xml rename to ui/common/systemDesign/src/main/res/drawable/trash_24.xml diff --git a/common/ui/src/main/res/drawable/undo.png b/ui/common/systemDesign/src/main/res/drawable/undo.png similarity index 100% rename from common/ui/src/main/res/drawable/undo.png rename to ui/common/systemDesign/src/main/res/drawable/undo.png diff --git a/common/ui/src/main/res/drawable/user_24.xml b/ui/common/systemDesign/src/main/res/drawable/user_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/user_24.xml rename to ui/common/systemDesign/src/main/res/drawable/user_24.xml diff --git a/common/ui/src/main/res/drawable/user_add_24.xml b/ui/common/systemDesign/src/main/res/drawable/user_add_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/user_add_24.xml rename to ui/common/systemDesign/src/main/res/drawable/user_add_24.xml diff --git a/common/ui/src/main/res/drawable/void_circle_24.xml b/ui/common/systemDesign/src/main/res/drawable/void_circle_24.xml similarity index 100% rename from common/ui/src/main/res/drawable/void_circle_24.xml rename to ui/common/systemDesign/src/main/res/drawable/void_circle_24.xml diff --git a/common/ui/src/main/res/drawable/wifi_alt_24_.xml b/ui/common/systemDesign/src/main/res/drawable/wifi_alt_24_.xml similarity index 100% rename from common/ui/src/main/res/drawable/wifi_alt_24_.xml rename to ui/common/systemDesign/src/main/res/drawable/wifi_alt_24_.xml diff --git a/ui/common/systemDesign/src/test/java/city/zouitel/systemDesign/ExampleUnitTest.kt b/ui/common/systemDesign/src/test/java/city/zouitel/systemDesign/ExampleUnitTest.kt new file mode 100644 index 00000000..59dd3777 --- /dev/null +++ b/ui/common/systemDesign/src/test/java/city/zouitel/systemDesign/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.systemDesign + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/plugins/.gitignore b/ui/features/audios/.gitignore similarity index 100% rename from plugins/.gitignore rename to ui/features/audios/.gitignore diff --git a/ui/features/audios/build.gradle.kts b/ui/features/audios/build.gradle.kts new file mode 100644 index 00000000..a1331141 --- /dev/null +++ b/ui/features/audios/build.gradle.kts @@ -0,0 +1,74 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.audios" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.core.datastore) + implementation(projects.domain) + implementation(projects.ui.common.systemDesign) + + //AndroidX. + implementation(libs.constraintlayout) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) +} \ No newline at end of file diff --git a/ui/features/audios/consumer-rules.pro b/ui/features/audios/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/audios/proguard-rules.pro b/ui/features/audios/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/audios/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/audios/src/androidTest/java/city/zouitel/audios/ExampleInstrumentedTest.kt b/ui/features/audios/src/androidTest/java/city/zouitel/audios/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..c860aab1 --- /dev/null +++ b/ui/features/audios/src/androidTest/java/city/zouitel/audios/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.audios + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.audios.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/data/repository/src/main/AndroidManifest.xml b/ui/features/audios/src/main/AndroidManifest.xml similarity index 100% rename from data/repository/src/main/AndroidManifest.xml rename to ui/features/audios/src/main/AndroidManifest.xml diff --git a/ui/features/media-player/src/main/java/com/example/media_player/MediaPlayerViewModel.kt b/ui/features/audios/src/main/java/city/zouitel/audios/MediaPlayerViewModel.kt similarity index 74% rename from ui/features/media-player/src/main/java/com/example/media_player/MediaPlayerViewModel.kt rename to ui/features/audios/src/main/java/city/zouitel/audios/MediaPlayerViewModel.kt index 1e847136..774afe4c 100644 --- a/ui/features/media-player/src/main/java/com/example/media_player/MediaPlayerViewModel.kt +++ b/ui/features/audios/src/main/java/city/zouitel/audios/MediaPlayerViewModel.kt @@ -1,22 +1,20 @@ -package com.example.media_player +package city.zouitel.audios import android.content.Context +import androidx.compose.runtime.mutableLongStateOf import androidx.compose.runtime.mutableStateOf import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.exoplayer.ExoPlayerImpl -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.exoplayer.ExoPlayerImpl import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.* -import javax.inject.Inject -@HiltViewModel -class MediaPlayerViewModel @Inject constructor( +class MediaPlayerViewModel ( private val exoBuilder : ExoPlayerImpl, -):ViewModel() { +): ViewModel() { - var getMediaDuration = mutableStateOf(0L) + var getMediaDuration = mutableLongStateOf(0L) private set fun playMedia(mediaUri: String) { @@ -44,9 +42,9 @@ class MediaPlayerViewModel @Inject constructor( fun getMediaDuration(context: Context, path: String):Long { viewModelScope.launch { - getMediaDuration.value = exoBuilder.getMediaDuration(context,path) + getMediaDuration.longValue = exoBuilder.getMediaDuration(context,path) } - return getMediaDuration.value + return getMediaDuration.longValue } internal fun formatLong(value: Long): String { diff --git a/ui/features/media-player/src/main/java/com/example/media_player/NoteMediaPlayer.kt b/ui/features/audios/src/main/java/city/zouitel/audios/NoteMediaPlayer.kt similarity index 69% rename from ui/features/media-player/src/main/java/com/example/media_player/NoteMediaPlayer.kt rename to ui/features/audios/src/main/java/city/zouitel/audios/NoteMediaPlayer.kt index ebe3ab17..22e12501 100644 --- a/ui/features/media-player/src/main/java/com/example/media_player/NoteMediaPlayer.kt +++ b/ui/features/audios/src/main/java/city/zouitel/audios/NoteMediaPlayer.kt @@ -1,4 +1,4 @@ -package com.example.media_player +package city.zouitel.audios import android.annotation.SuppressLint import androidx.compose.foundation.clickable @@ -13,51 +13,49 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.AdaptingRow -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.MP3 -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.PAUSE_CIRCLE_FILLED_ICON -import com.example.common_ui.Icons.PLAY_CIRCLE_FILLED_ICON -import com.example.common_ui.Icons.TRASH_ICON +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.MP3 +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.PAUSE_CIRCLE_FILLED_ICON +import city.zouitel.systemDesign.Icons.PLAY_CIRCLE_FILLED_ICON +import city.zouitel.systemDesign.Icons.TRASH_ICON import kotlinx.coroutines.delay import kotlinx.coroutines.launch +import org.koin.androidx.compose.koinViewModel import java.io.File - @SuppressLint("CoroutineCreationDuringComposition") @Composable fun NoteMediaPlayer( - exoViewModule: MediaPlayerViewModel = hiltViewModel(), - datastoreVM: DataStoreVM = hiltViewModel(), + exoViewModule: MediaPlayerViewModel = koinViewModel(), + datastoreVM: DataStoreVM = koinViewModel(), localMediaUid: String? ) { val context = LocalContext.current - val processState = remember { mutableStateOf(0f) } val scope = rememberCoroutineScope() - val isPlaying = remember { mutableStateOf(false) } val mediaFile = context.filesDir.path + "/$AUDIOS/" + localMediaUid + "." + MP3 + var processState by remember { mutableFloatStateOf(0f) } + var isPlaying by remember { mutableStateOf(false) } - val currentLayout = datastoreVM.getLayout.collectAsState() - + val currentLayout by datastoreVM.getLayout.collectAsState() // val exoMedia = exoViewModule.prepareMediaPlayer(mediaFile) scope.launch { - while(isPlaying.value && processState.value <= 1f) { + while(isPlaying && processState <= 1f) { delay(exoViewModule.getMediaDuration(context,mediaFile) / 100) - processState.value += .011f + processState += .011f } when { - processState.value >= 1f -> { - isPlaying.value = false - processState.value = 0f + processState >= 1f -> { + isPlaying = false + processState = 0f } } } - if (isPlaying.value) exoViewModule.playMedia(mediaFile) else exoViewModule.pauseMedia(mediaFile) + if (isPlaying) exoViewModule.playMedia(mediaFile) else exoViewModule.pauseMedia(mediaFile) Surface( modifier = Modifier @@ -69,19 +67,19 @@ fun NoteMediaPlayer( AdaptingRow(modifier = Modifier .padding(start = 5.dp, end = 5.dp)) { // - if (currentLayout.value == "GRID"){ + if (currentLayout == "GRID"){ Icon( painter = painterResource( - id = if (isPlaying.value) PAUSE_CIRCLE_FILLED_ICON else PLAY_CIRCLE_FILLED_ICON + id = if (isPlaying) PAUSE_CIRCLE_FILLED_ICON else PLAY_CIRCLE_FILLED_ICON ), null, modifier = Modifier.clickable { - isPlaying.value = !isPlaying.value + isPlaying = !isPlaying } ) LinearProgressIndicator( - progress = processState.value, + progress = processState, modifier = Modifier .weight(1f) .padding(10.dp), @@ -93,16 +91,16 @@ fun NoteMediaPlayer( ) { Icon( painter = painterResource( - id = if (isPlaying.value) PAUSE_CIRCLE_FILLED_ICON else PLAY_CIRCLE_FILLED_ICON + id = if (isPlaying) PAUSE_CIRCLE_FILLED_ICON else PLAY_CIRCLE_FILLED_ICON ), null, modifier = Modifier .padding(start = 3.dp) .clickable { - isPlaying.value = !isPlaying.value + isPlaying = !isPlaying } ) - CircularProgressIndicator(progress = processState.value, + CircularProgressIndicator(progress = processState, modifier = Modifier, ) } diff --git a/ui/features/audios/src/main/java/city/zouitel/audios/di/ExoPlayerMod.kt b/ui/features/audios/src/main/java/city/zouitel/audios/di/ExoPlayerMod.kt new file mode 100644 index 00000000..cd8f3569 --- /dev/null +++ b/ui/features/audios/src/main/java/city/zouitel/audios/di/ExoPlayerMod.kt @@ -0,0 +1,19 @@ +package city.zouitel.audios.di + +import android.content.Context +import com.google.android.exoplayer2.ExoPlayer + +//@Module +//@InstallIn(SingletonComponent::class) +object ExoPlayerMod { + +// @Singleton +// @Provides + fun buildMediaPlayer( + /*@ApplicationContext*/ context: Context, + ) = ExoPlayer.Builder(context).build().apply { + setHandleAudioBecomingNoisy(true) + } +} + + diff --git a/ui/features/audios/src/main/java/city/zouitel/audios/di/exoPlayerDI.kt b/ui/features/audios/src/main/java/city/zouitel/audios/di/exoPlayerDI.kt new file mode 100644 index 00000000..a574de4c --- /dev/null +++ b/ui/features/audios/src/main/java/city/zouitel/audios/di/exoPlayerDI.kt @@ -0,0 +1,23 @@ +package city.zouitel.audios.di + +import com.google.android.exoplayer2.ExoPlayer +import org.koin.android.ext.koin.androidContext +import org.koin.androidx.viewmodel.dsl.viewModel +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.dsl.module +import city.zouitel.audios.MediaPlayerViewModel +import org.koin.core.module.dsl.singleOf +import city.zouitel.domain.exoplayer.* +import org.koin.dsl.bind + +val exoPlayerKoinModule = module { + single { + ExoPlayer.Builder(androidContext()).build().apply { + setHandleAudioBecomingNoisy(true) + } + } + + singleOf(::ExoPlayerImpl) bind ExoRepo::class + + viewModelOf(::MediaPlayerViewModel) +} \ No newline at end of file diff --git a/ui/features/audios/src/test/java/city/zouitel/audios/ExampleUnitTest.kt b/ui/features/audios/src/test/java/city/zouitel/audios/ExampleUnitTest.kt new file mode 100644 index 00000000..82a8b557 --- /dev/null +++ b/ui/features/audios/src/test/java/city/zouitel/audios/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.audios + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/camera/build.gradle.kts b/ui/features/camera/build.gradle.kts index 4ecc8121..06dfab0a 100644 --- a/ui/features/camera/build.gradle.kts +++ b/ui/features/camera/build.gradle.kts @@ -1,68 +1,73 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { -// id("com.android.library") -// id("org.jetbrains.kotlin.android") - id("city.android-lib") - id("city.compose-lib") -// id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.camera" -// compileSdk = 33 -// -// defaultConfig { -// minSdk = 25 -// targetSdk = 33 -// -// testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" -// consumerProguardFiles("consumer-rules.pro") -// } -// -// buildTypes { -// release { -// isMinifyEnabled = false -// proguardFiles( -// getDefaultProguardFile("proguard-android-optimize.txt"), -// "proguard-rules.pro" -// ) -// } -// } -// compileOptions { -// sourceCompatibility = JavaVersion.VERSION_1_8 -// targetCompatibility = JavaVersion.VERSION_1_8 -// } -// buildFeatures { -// compose = true -// } -// composeOptions { -// kotlinCompilerExtensionVersion = "1.4.0" -// } -// kotlinOptions { -// jvmTarget = "1.8" -// } + namespace = "city.zouitel.camera" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { - implementation(projects.common.ui) - //AndroidX. -// implementation(libs.androidx.core) -// implementation(libs.androidx.corektx) -// implementation(libs.androidx.appcompat) -// implementation(libs.androidx.runtimektx) - implementation(libs.androidx.constraintlayout) - //Compose. - implementation(libs.compose.ui) - implementation(libs.compose.material3) - implementation(libs.compose.activity) - implementation(libs.compose.navigation) - implementation(libs.compose.toolingpreview) - implementation(libs.compose.viewmodel) + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + + //AndroidX. + implementation(libs.constraintlayout) + // CameraX implementation (libs.camerax.core) implementation (libs.camerax.lifecycle) implementation (libs.camerax.view) implementation (libs.camerax.extensions) - } \ No newline at end of file diff --git a/ui/features/camera/consumer-rules.pro b/ui/features/camera/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/camera/proguard-rules.pro b/ui/features/camera/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/camera/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/camera/src/androidTest/java/city/zouitel/camera/ExampleInstrumentedTest.kt b/ui/features/camera/src/androidTest/java/city/zouitel/camera/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..0ae546b7 --- /dev/null +++ b/ui/features/camera/src/androidTest/java/city/zouitel/camera/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.camera + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.camera.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/camera/src/main/java/com/example/camera/AdaptingRow.kt b/ui/features/camera/src/main/java/com/example/camera/AdaptingRow.kt deleted file mode 100644 index bcbd4156..00000000 --- a/ui/features/camera/src/main/java/com/example/camera/AdaptingRow.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.example.camera - -import android.icu.text.MeasureFormat -import androidx.compose.foundation.layout.* -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp - -@Composable -internal fun RowScope.AdaptingRow( - modifier: Modifier = Modifier, - content: @Composable () -> Unit, -) { - Row( - modifier = modifier, - horizontalArrangement = Arrangement.SpaceAround, - verticalAlignment = Alignment.CenterVertically - ) { - content.invoke() - } -} - -@Composable -internal fun Unit.AdaptingRowBetween( - modifier: Modifier = Modifier, - content: @Composable () -> Unit, -) { - Row( - modifier = modifier, - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - content.invoke() - } -} diff --git a/ui/features/camera/src/main/java/com/example/camera/AddImageDialog.kt b/ui/features/camera/src/main/java/com/example/camera/AddImageDialog.kt deleted file mode 100644 index 66cc7fbc..00000000 --- a/ui/features/camera/src/main/java/com/example/camera/AddImageDialog.kt +++ /dev/null @@ -1,102 +0,0 @@ -package com.example.camera - -import android.net.Uri -import androidx.activity.compose.ManagedActivityResultLauncher -import androidx.compose.foundation.layout.* -import androidx.compose.material3.* -import androidx.compose.runtime.Composable -import androidx.compose.runtime.MutableState -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import androidx.navigation.NavController -import com.example.common_ui.Cons.CAMERA_ROUTE -import com.example.common_ui.Icons.CAMERA_ICON -import com.example.common_ui.Icons.IMAGE_ICON - -@Composable -internal fun AddImageDialog( - dialogState: MutableState, -// photoLaunch: ManagedActivityResultLauncher, - imageLaunch: ManagedActivityResultLauncher, - navController: NavController, - uid: String? -) { - - AlertDialog( - onDismissRequest = { - dialogState.value = false - }, - confirmButton = {}, - title = { - Row { - AdaptingRow(modifier = Modifier.fillMaxWidth()) { - Text(text = "Add Image", fontSize = 25.sp) - } - } - }, - text = { - Column { - OutlinedIconButton( - modifier = Modifier - .fillMaxWidth() - .height(50.dp), - onClick = { -// prCamera.launchPermissionRequest() -// if (prCamera.status.isGranted) { -// photoLaunch.launch() -// } else { -// Toast -// .makeText(c, "permission denied", Toast.LENGTH_SHORT) -// .show() -// } - navController.navigate( - CAMERA_ROUTE + "/" + - uid - ) - dialogState.value = false - }) { - Row( - horizontalArrangement = Arrangement.Start, - modifier = Modifier - .fillMaxWidth() - .padding(start = 20.dp) - ) { - Icon(painterResource(id = CAMERA_ICON), contentDescription = null, - modifier = Modifier.size(28.dp) - ) - Spacer(modifier = Modifier.width(10.dp)) - Text(text = "Take Photo", fontSize = 17.sp) - } - } - - Spacer(modifier = Modifier.height(20.dp)) - - OutlinedIconButton( - modifier = Modifier - .fillMaxWidth() - .height(50.dp), - onClick = { - imageLaunch.launch("image/*") - dialogState.value = false - }) { - Row( - horizontalArrangement = Arrangement.Start, - modifier = Modifier - .fillMaxWidth() - .padding(start = 20.dp) - ) { - Icon( - painter = painterResource(id = IMAGE_ICON), - contentDescription = null, - modifier = Modifier.size(28.dp) - ) - Spacer(modifier = Modifier.width(10.dp)) - Text(text = "Choose Image", fontSize = 17.sp) - } - } - } - }, - ) -} \ No newline at end of file diff --git a/ui/features/camera/src/main/java/com/example/camera/CameraCompose.kt b/ui/features/camera/src/main/java/com/example/camera/CameraCompose.kt deleted file mode 100644 index d19f97ab..00000000 --- a/ui/features/camera/src/main/java/com/example/camera/CameraCompose.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.example.camera - -import android.Manifest -import android.content.Context -import android.content.pm.PackageManager -import androidx.activity.compose.rememberLauncherForActivityResult -import androidx.activity.result.contract.ActivityResultContracts -import androidx.compose.foundation.Canvas -import androidx.compose.foundation.clickable -import androidx.compose.foundation.layout.* -import androidx.compose.runtime.* -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.StrokeCap -import androidx.compose.ui.graphics.drawscope.Stroke -import androidx.compose.ui.unit.dp -import androidx.compose.ui.viewinterop.AndroidView -import androidx.core.content.ContextCompat -import androidx.lifecycle.LifecycleOwner -import com.example.camera.Commons.REQUIRED_PERMISSIONS - -@Composable -fun CameraCompose( - context: Context, - owner: LifecycleOwner, - cameraX: CameraXVM, - onCaptureClick: () -> Unit, -) { - var hasCamPermission by remember { - mutableStateOf( - REQUIRED_PERMISSIONS.all { - ContextCompat.checkSelfPermission(context, it) == - PackageManager.PERMISSION_GRANTED - }) - } - - - val launcher = rememberLauncherForActivityResult( - contract = ActivityResultContracts.RequestMultiplePermissions(), - onResult = { granted -> - hasCamPermission = granted.size == 2 - } - ) - LaunchedEffect(key1 = true) { - launcher.launch( - arrayOf( - Manifest.permission.CAMERA, - Manifest.permission.WRITE_EXTERNAL_STORAGE - ) - ) - } - Column(modifier = Modifier.fillMaxSize()) { - if (hasCamPermission) { - AndroidView( - modifier = Modifier.fillMaxSize(), - factory = { cameraX.startCameraPreviewView(context, owner) } - ) - } - } - Column( - modifier = Modifier.fillMaxSize(), Arrangement.Bottom, Alignment.CenterHorizontally - ) { - Canvas( - modifier = Modifier - .size(70.dp) - .padding(bottom = 3.dp) - .clickable { - onCaptureClick.invoke() - } - ) { - drawArc( - color = Color.White, - startAngle = 1f, - sweepAngle = 360f, - useCenter = true, - style = Stroke(width = 10f,cap = StrokeCap.Round) - ) - } - } -} - diff --git a/ui/features/camera/src/main/java/com/example/camera/CameraXVM.kt b/ui/features/camera/src/main/java/com/example/camera/CameraXVM.kt deleted file mode 100644 index 3da9ed0b..00000000 --- a/ui/features/camera/src/main/java/com/example/camera/CameraXVM.kt +++ /dev/null @@ -1,141 +0,0 @@ -package com.example.camera - -import android.content.ContentValues -import android.content.Context -import android.content.Intent -import android.graphics.Bitmap -import android.graphics.BitmapFactory -import android.net.Uri -import android.os.Build -import android.os.Environment -import android.provider.MediaStore -import android.widget.Toast -import androidx.camera.core.* -import androidx.camera.lifecycle.ProcessCameraProvider -import androidx.camera.view.PreviewView -import androidx.core.content.ContextCompat -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.ViewModel -import androidx.lifecycle.lifecycleScope -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.Dispatchers.IO -import kotlinx.coroutines.async -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import java.io.File -import java.io.FileOutputStream -import java.io.OutputStream -import java.nio.ByteBuffer - -class CameraXVM: ViewModel() { - - private var imageCapture: ImageCapture? = null - - fun startCameraPreviewView(context: Context, owner: LifecycleOwner,): PreviewView { - val cameraProviderFuture = ProcessCameraProvider.getInstance(context) - val previewView = PreviewView(context) - val preview = Preview.Builder().build().also { - it.setSurfaceProvider(previewView.surfaceProvider) - } - - imageCapture = ImageCapture.Builder().build() - - val camSelector = - CameraSelector.Builder().requireLensFacing(CameraSelector.LENS_FACING_BACK).build() - kotlin.runCatching { - cameraProviderFuture.get().bindToLifecycle( - owner, - camSelector, - preview, - imageCapture - ) - } .onFailure { - it.printStackTrace() - } - return previewView - } - - fun capturePhoto(context: Context, owner: LifecycleOwner,uid: String?) = owner.lifecycleScope.launch{ - val imageCapture = imageCapture ?: return@launch - - imageCapture.takePicture(ContextCompat.getMainExecutor(context), object : - ImageCapture.OnImageCapturedCallback(), ImageCapture.OnImageSavedCallback { - override fun onCaptureSuccess(image: ImageProxy) { - super.onCaptureSuccess(image) - owner.lifecycleScope.launch { - saveMediaToStorage( - imageProxyToBitmap(image,owner), - uid!!, - context - ) - } - } - - override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) { -// showLog("onCaptureSuccess: Uri ${outputFileResults.savedUri}") - } - - override fun onError(exception: ImageCaptureException) { - super.onError(exception) -// showLog("onCaptureSuccess: onError") - } - }) - } - - private suspend fun imageProxyToBitmap(image: ImageProxy, owner: LifecycleOwner): Bitmap = - withContext(owner.lifecycleScope.coroutineContext) { - val planeProxy = image.planes[0] - val buffer: ByteBuffer = planeProxy.buffer - val bytes = ByteArray(buffer.remaining()) - buffer.get(bytes) - BitmapFactory.decodeByteArray(bytes, 0, bytes.size) - } - - private suspend fun saveMediaToStorage(bitmap: Bitmap, name: String, context: Context,) { - withContext(IO) { - val filename = "$name.$JPEG" - var fos: OutputStream? = null - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - context.contentResolver?.also { resolver -> - - val contentValues = ContentValues().apply { - - put(MediaStore.MediaColumns.DISPLAY_NAME, filename) - put(MediaStore.MediaColumns.MIME_TYPE, "image/$JPEG") - put( - MediaStore.MediaColumns.RELATIVE_PATH, - Environment.DIRECTORY_DCIM - ) - } - val imageUri: Uri? = - resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues) - - fos = imageUri?.let { with(resolver) { openOutputStream(it) } } - } - } else { - val imagesDir = -// Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) - context.filesDir.path + "/" + IMAGES + "/" - val image = File(imagesDir, filename).also { fos = FileOutputStream(it) } - Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE).also { mediaScanIntent -> - mediaScanIntent.data = Uri.fromFile(image) - context.sendBroadcast(mediaScanIntent) - } - } - - fos?.use { - val success = async(IO) { - bitmap.compress(Bitmap.CompressFormat.JPEG, 100, it) - } - if (success.await()) { - withContext(Dispatchers.Main) { - Toast.makeText(context, "Saved Successfully", Toast.LENGTH_SHORT) - .show() - } - } - } - } - } -} \ No newline at end of file diff --git a/ui/features/camera/src/main/java/com/example/camera/Commons.kt b/ui/features/camera/src/main/java/com/example/camera/Commons.kt deleted file mode 100644 index ba63aea7..00000000 --- a/ui/features/camera/src/main/java/com/example/camera/Commons.kt +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.camera - -import android.Manifest -import android.content.Context -import android.content.pm.PackageManager -import android.os.Build -import androidx.core.content.ContextCompat - -object Commons { - val REQUIRED_PERMISSIONS = - mutableListOf( - Manifest.permission.CAMERA, - ).apply { - if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) { - add(Manifest.permission.WRITE_EXTERNAL_STORAGE) - } - }.toTypedArray() - - fun allPermissionsGranted(ctx: Context) = - REQUIRED_PERMISSIONS.all { - ContextCompat.checkSelfPermission(ctx, it) == - PackageManager.PERMISSION_GRANTED - } -} \ No newline at end of file diff --git a/ui/features/camera/src/main/java/com/example/camera/LaunchCameraX.kt b/ui/features/camera/src/main/java/com/example/camera/LaunchCameraX.kt deleted file mode 100644 index 8fe81436..00000000 --- a/ui/features/camera/src/main/java/com/example/camera/LaunchCameraX.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.example.camera - -import android.content.Context -import androidx.compose.runtime.Composable -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalLifecycleOwner -import androidx.lifecycle.LifecycleOwner -import com.example.camera.Commons.allPermissionsGranted - -@Composable -fun LaunchCameraX( - ctx: Context = LocalContext.current, - owner: LifecycleOwner = LocalLifecycleOwner.current, - uid: String? -) { - val cameraX = CameraXVM() - CameraCompose(context = ctx, owner = owner, cameraX = cameraX) { - if (allPermissionsGranted(ctx)) { - cameraX.capturePhoto(context = ctx,owner = owner, uid = uid) - } - } -} \ No newline at end of file diff --git a/ui/features/camera/src/test/java/city/zouitel/camera/ExampleUnitTest.kt b/ui/features/camera/src/test/java/city/zouitel/camera/ExampleUnitTest.kt new file mode 100644 index 00000000..441ef1a4 --- /dev/null +++ b/ui/features/camera/src/test/java/city/zouitel/camera/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.camera + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/links/build.gradle.kts b/ui/features/links/build.gradle.kts index d29a3526..aaf50d37 100644 --- a/ui/features/links/build.gradle.kts +++ b/ui/features/links/build.gradle.kts @@ -1,24 +1,72 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.links" + namespace = "city.zouitel.links" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { - //Projects. - implementation(projects.common.ui) + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) implementation(projects.domain) //AndroidX. - implementation(libs.androidx.constraintlayout) + implementation(libs.constraintlayout) //WorkManager. - implementation(libs.androidx.workmanager) + implementation(libs.workmanager) //Swipe. implementation(libs.swipe) @@ -29,4 +77,9 @@ dependencies { //Baha-UrlPreview. implementation(libs.url.preview) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.worker) } \ No newline at end of file diff --git a/ui/features/links/consumer-rules.pro b/ui/features/links/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/links/proguard-rules.pro b/ui/features/links/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/links/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/links/src/androidTest/java/city/zouitel/links/ExampleInstrumentedTest.kt b/ui/features/links/src/androidTest/java/city/zouitel/links/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..1b69cba4 --- /dev/null +++ b/ui/features/links/src/androidTest/java/city/zouitel/links/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.links + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.links.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/links/src/main/java/city/zouitel/links/di/LinkModule.kt b/ui/features/links/src/main/java/city/zouitel/links/di/LinkModule.kt new file mode 100644 index 00000000..cc33a241 --- /dev/null +++ b/ui/features/links/src/main/java/city/zouitel/links/di/LinkModule.kt @@ -0,0 +1,27 @@ +package city.zouitel.links.di + +import android.content.Context +import city.zouitel.links.mapper.LinkMapper +import city.zouitel.links.mapper.NoteAndLinkMapper +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +//@Module +//@InstallIn(SingletonComponent::class) +object LinkModule { + +// @Singleton +// @Provides + fun provideContext(/*@ApplicationContext*/ context: Context) = context + +// @Provides + fun provideDispatcherIO(): CoroutineDispatcher = Dispatchers.IO + +// @Singleton +// @Provides + fun provideLinkMapper() = LinkMapper() + +// @Singleton +// @Provides + fun provideNoteAndLinkMapper() = NoteAndLinkMapper() +} \ No newline at end of file diff --git a/ui/features/links/src/main/java/city/zouitel/links/di/linksDI.kt b/ui/features/links/src/main/java/city/zouitel/links/di/linksDI.kt new file mode 100644 index 00000000..78f1364b --- /dev/null +++ b/ui/features/links/src/main/java/city/zouitel/links/di/linksDI.kt @@ -0,0 +1,18 @@ +package city.zouitel.links.di + +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.dsl.module +import city.zouitel.links.ui.* +import city.zouitel.links.mapper.* +import city.zouitel.links.worker.LinkWorker +import org.koin.androidx.workmanager.dsl.workerOf +import org.koin.core.module.dsl.factoryOf + +val linksKoinModule = module { + factoryOf(::LinkMapper) + factoryOf(::NoteAndLinkMapper) + + viewModelOf(::LinkVM) + viewModelOf(::NoteAndLinkVM) + workerOf(::LinkWorker) +} \ No newline at end of file diff --git a/ui/features/links/src/main/java/com/example/links/mapper/LinkMapper.kt b/ui/features/links/src/main/java/city/zouitel/links/mapper/LinkMapper.kt similarity index 63% rename from ui/features/links/src/main/java/com/example/links/mapper/LinkMapper.kt rename to ui/features/links/src/main/java/city/zouitel/links/mapper/LinkMapper.kt index f97425dc..2a457f61 100644 --- a/ui/features/links/src/main/java/com/example/links/mapper/LinkMapper.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/mapper/LinkMapper.kt @@ -1,8 +1,8 @@ -package com.example.links.mapper +package city.zouitel.links.mapper -import com.example.domain.model.Link as OutLink -import com.example.links.mapper.base.Mapper -import com.example.links.model.Link as InLink +import city.zouitel.domain.model.Link as OutLink +import city.zouitel.links.mapper.base.Mapper +import city.zouitel.links.model.Link as InLink class LinkMapper: Mapper.Base { override fun toView(data: OutLink): InLink = with(data) { diff --git a/ui/features/links/src/main/java/com/example/links/mapper/NoteAndLinkMapper.kt b/ui/features/links/src/main/java/city/zouitel/links/mapper/NoteAndLinkMapper.kt similarity index 61% rename from ui/features/links/src/main/java/com/example/links/mapper/NoteAndLinkMapper.kt rename to ui/features/links/src/main/java/city/zouitel/links/mapper/NoteAndLinkMapper.kt index 99728244..77a96b7f 100644 --- a/ui/features/links/src/main/java/com/example/links/mapper/NoteAndLinkMapper.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/mapper/NoteAndLinkMapper.kt @@ -1,8 +1,8 @@ -package com.example.links.mapper +package city.zouitel.links.mapper -import com.example.links.mapper.base.Mapper -import com.example.domain.model.NoteAndLink as OutNoteAndLink -import com.example.links.model.NoteAndLink as InNoteAndLink +import city.zouitel.links.mapper.base.Mapper +import city.zouitel.domain.model.NoteAndLink as OutNoteAndLink +import city.zouitel.links.model.NoteAndLink as InNoteAndLink class NoteAndLinkMapper: Mapper.Base { override fun toView(data: OutNoteAndLink): InNoteAndLink = with(data) { diff --git a/ui/features/tags/src/main/java/com/example/tags/mapper/base/Mapper.kt b/ui/features/links/src/main/java/city/zouitel/links/mapper/base/Mapper.kt similarity index 84% rename from ui/features/tags/src/main/java/com/example/tags/mapper/base/Mapper.kt rename to ui/features/links/src/main/java/city/zouitel/links/mapper/base/Mapper.kt index df035525..57eacca8 100644 --- a/ui/features/tags/src/main/java/com/example/tags/mapper/base/Mapper.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.tags.mapper.base +package city.zouitel.links.mapper.base sealed interface Mapper { interface Base { diff --git a/ui/features/links/src/main/java/com/example/links/model/Link.kt b/ui/features/links/src/main/java/city/zouitel/links/model/Link.kt similarity index 87% rename from ui/features/links/src/main/java/com/example/links/model/Link.kt rename to ui/features/links/src/main/java/city/zouitel/links/model/Link.kt index e00fe955..0a7a9307 100644 --- a/ui/features/links/src/main/java/com/example/links/model/Link.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/model/Link.kt @@ -1,4 +1,4 @@ -package com.example.links.model +package city.zouitel.links.model import androidx.annotation.Keep diff --git a/ui/features/links/src/main/java/com/example/links/model/NoteAndLink.kt b/ui/features/links/src/main/java/city/zouitel/links/model/NoteAndLink.kt similarity index 77% rename from ui/features/links/src/main/java/com/example/links/model/NoteAndLink.kt rename to ui/features/links/src/main/java/city/zouitel/links/model/NoteAndLink.kt index 566c1183..d5895724 100644 --- a/ui/features/links/src/main/java/com/example/links/model/NoteAndLink.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/model/NoteAndLink.kt @@ -1,4 +1,4 @@ -package com.example.links.model +package city.zouitel.links.model import androidx.annotation.Keep diff --git a/ui/features/links/src/main/java/com/example/links/ui/CacheLinks.kt b/ui/features/links/src/main/java/city/zouitel/links/ui/CacheLinks.kt similarity index 98% rename from ui/features/links/src/main/java/com/example/links/ui/CacheLinks.kt rename to ui/features/links/src/main/java/city/zouitel/links/ui/CacheLinks.kt index 89626dfb..9a15132d 100644 --- a/ui/features/links/src/main/java/com/example/links/ui/CacheLinks.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/ui/CacheLinks.kt @@ -1,4 +1,4 @@ -package com.example.links.ui +package city.zouitel.links.ui import android.annotation.SuppressLint import androidx.compose.runtime.* diff --git a/ui/features/links/src/main/java/com/example/links/ui/LinkPart.kt b/ui/features/links/src/main/java/city/zouitel/links/ui/LinkPart.kt similarity index 96% rename from ui/features/links/src/main/java/com/example/links/ui/LinkPart.kt rename to ui/features/links/src/main/java/city/zouitel/links/ui/LinkPart.kt index 4893df51..6433350d 100644 --- a/ui/features/links/src/main/java/com/example/links/ui/LinkPart.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/ui/LinkPart.kt @@ -1,4 +1,4 @@ -package com.example.links.ui +package city.zouitel.links.ui import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.Image @@ -17,8 +17,8 @@ import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.example.links.model.Link -import com.example.links.model.NoteAndLink as InNoteAndLink +import city.zouitel.links.model.Link +import city.zouitel.links.model.NoteAndLink as InNoteAndLink import me.saket.swipe.SwipeAction import me.saket.swipe.SwipeableActionsBox import me.saket.swipe.rememberSwipeableActionsState diff --git a/ui/features/links/src/main/java/com/example/links/ui/LinkVM.kt b/ui/features/links/src/main/java/city/zouitel/links/ui/LinkVM.kt similarity index 90% rename from ui/features/links/src/main/java/com/example/links/ui/LinkVM.kt rename to ui/features/links/src/main/java/city/zouitel/links/ui/LinkVM.kt index 2cafeac3..457a7d0d 100644 --- a/ui/features/links/src/main/java/com/example/links/ui/LinkVM.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/ui/LinkVM.kt @@ -1,4 +1,4 @@ -package com.example.links.ui +package city.zouitel.links.ui import android.app.Application import android.content.Context @@ -12,27 +12,24 @@ import androidx.work.* import com.baha.url.preview.BahaUrlPreview import com.baha.url.preview.IUrlPreviewCallback import com.baha.url.preview.UrlInfoItem -import com.example.common_ui.Cons.JPEG -import com.example.domain.model.Link as OutLink -import com.example.domain.usecase.LinkUseCase -import com.example.links.mapper.LinkMapper -import com.example.links.model.Link as InLink -import com.example.links.worker.LinkWorker -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.LinkUseCase +import city.zouitel.links.mapper.LinkMapper +import city.zouitel.links.model.Link as InLink +import city.zouitel.links.worker.LinkWorker +import city.zouitel.systemDesign.Cons.JPEG import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import java.io.File import java.net.URL -import javax.inject.Inject -@HiltViewModel -class LinkVM @Inject constructor( +//@HiltViewModel +class LinkVM /*@Inject*/ constructor( application: Application, getAll: LinkUseCase.GetAllLinks, private val delete: LinkUseCase.DeleteLink, private val mapper: LinkMapper - ): ViewModel() { +): ViewModel() { private val _getAllLinks = MutableStateFlow>(emptyList()) val getAllLinks: StateFlow> diff --git a/ui/features/links/src/main/java/com/example/links/ui/NoteAndLinkVM.kt b/ui/features/links/src/main/java/city/zouitel/links/ui/NoteAndLinkVM.kt similarity index 76% rename from ui/features/links/src/main/java/com/example/links/ui/NoteAndLinkVM.kt rename to ui/features/links/src/main/java/city/zouitel/links/ui/NoteAndLinkVM.kt index 80c8edd2..6ebe1c01 100644 --- a/ui/features/links/src/main/java/com/example/links/ui/NoteAndLinkVM.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/ui/NoteAndLinkVM.kt @@ -1,22 +1,19 @@ -package com.example.links.ui +package city.zouitel.links.ui import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.model.NoteAndLink as OutNoteAndLink -import com.example.domain.usecase.NoteAndLinkUseCase -import com.example.links.mapper.NoteAndLinkMapper -import com.example.links.model.NoteAndLink as InNoteAndLink -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.NoteAndLinkUseCase +import city.zouitel.links.mapper.NoteAndLinkMapper +import city.zouitel.links.model.NoteAndLink as InNoteAndLink import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class NoteAndLinkVM @Inject constructor( +//@HiltViewModel +class NoteAndLinkVM /*@Inject*/ constructor( private val getAll: NoteAndLinkUseCase.GetAllNotesAndLinks, private val delete: NoteAndLinkUseCase.DeleteNoteAndLink, private val mapper: NoteAndLinkMapper diff --git a/ui/features/links/src/main/java/com/example/links/utils/Constants.kt b/ui/features/links/src/main/java/city/zouitel/links/utils/Constants.kt similarity index 100% rename from ui/features/links/src/main/java/com/example/links/utils/Constants.kt rename to ui/features/links/src/main/java/city/zouitel/links/utils/Constants.kt diff --git a/ui/features/links/src/main/java/com/example/links/worker/LinkWorker.kt b/ui/features/links/src/main/java/city/zouitel/links/worker/LinkWorker.kt similarity index 78% rename from ui/features/links/src/main/java/com/example/links/worker/LinkWorker.kt rename to ui/features/links/src/main/java/city/zouitel/links/worker/LinkWorker.kt index beb9446a..de870a22 100644 --- a/ui/features/links/src/main/java/com/example/links/worker/LinkWorker.kt +++ b/ui/features/links/src/main/java/city/zouitel/links/worker/LinkWorker.kt @@ -1,31 +1,28 @@ -package com.example.links.worker +package city.zouitel.links.worker import android.content.Context import android.graphics.Bitmap import androidx.core.graphics.drawable.toBitmap -import androidx.hilt.work.HiltWorker import androidx.work.* import coil.ImageLoader import coil.request.ImageRequest -import com.example.common_ui.Cons -import com.example.domain.usecase.LinkUseCase -import com.example.domain.usecase.NoteAndLinkUseCase -import com.example.links.mapper.LinkMapper -import com.example.links.mapper.NoteAndLinkMapper -import com.example.links.model.Link as InLink -import com.example.links.model.NoteAndLink as InNoteAndLink -import dagger.assisted.Assisted -import dagger.assisted.AssistedInject +import city.zouitel.domain.usecase.LinkUseCase +import city.zouitel.domain.usecase.NoteAndLinkUseCase +import city.zouitel.links.mapper.LinkMapper +import city.zouitel.links.mapper.NoteAndLinkMapper +import city.zouitel.systemDesign.Cons +import city.zouitel.links.model.Link as InLink +import city.zouitel.links.model.NoteAndLink as InNoteAndLink import kotlinx.coroutines.* import java.io.File import java.io.FileOutputStream import java.util.* @OptIn(DelicateCoroutinesApi::class) -@HiltWorker -class LinkWorker @AssistedInject constructor( - @Assisted private val context: Context, - @Assisted workerParameters: WorkerParameters, +//@HiltWorker +class LinkWorker /*@AssistedInject*/ constructor( + /*@Assisted*/ private val context: Context, + /*@Assisted*/ workerParameters: WorkerParameters, private val ioDeprecated: CoroutineDispatcher, private val addLink: LinkUseCase.AddLink, private val addNoteAndLink: NoteAndLinkUseCase.AddNoteAndLink, @@ -33,7 +30,7 @@ class LinkWorker @AssistedInject constructor( private val noteAndLinkMapper: NoteAndLinkMapper, ): CoroutineWorker(context, workerParameters) { - val linkImgPath = context.filesDir.path + "/" + "links_img" + private val linkImgPath = context.filesDir.path + "/" + "links_img" override suspend fun doWork(): Result = withContext(ioDeprecated) { return@withContext try { diff --git a/ui/features/links/src/main/java/com/example/links/di/LinkModule.kt b/ui/features/links/src/main/java/com/example/links/di/LinkModule.kt deleted file mode 100644 index d5046db6..00000000 --- a/ui/features/links/src/main/java/com/example/links/di/LinkModule.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.example.links.di - -import android.content.Context -import com.example.links.mapper.LinkMapper -import com.example.links.mapper.NoteAndLinkMapper -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.qualifiers.ApplicationContext -import dagger.hilt.components.SingletonComponent -import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.Dispatchers -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object LinkModule { - - @Singleton - @Provides - fun provideContext(@ApplicationContext context: Context) = context - - @Provides - fun provideDispatcherIO(): CoroutineDispatcher = Dispatchers.IO - - @Singleton - @Provides - fun provideLinkMapper() = LinkMapper() - - @Singleton - @Provides - fun provideNoteAndLinkMapper() = NoteAndLinkMapper() -} \ No newline at end of file diff --git a/ui/features/links/src/test/java/city/zouitel/links/ExampleUnitTest.kt b/ui/features/links/src/test/java/city/zouitel/links/ExampleUnitTest.kt new file mode 100644 index 00000000..51370e59 --- /dev/null +++ b/ui/features/links/src/test/java/city/zouitel/links/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.links + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/media-player/build.gradle.kts b/ui/features/media-player/build.gradle.kts deleted file mode 100644 index b994fcbb..00000000 --- a/ui/features/media-player/build.gradle.kts +++ /dev/null @@ -1,19 +0,0 @@ -plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.media_player" -} - -dependencies { - //Projects. - implementation(projects.data.datastore) - implementation(projects.domain) - implementation(projects.common.ui) - - //AndroidX. - implementation(libs.androidx.constraintlayout) -} \ No newline at end of file diff --git a/ui/features/media-player/src/main/java/com/example/media_player/di/ExoPlayerMod.kt b/ui/features/media-player/src/main/java/com/example/media_player/di/ExoPlayerMod.kt deleted file mode 100644 index d15d9296..00000000 --- a/ui/features/media-player/src/main/java/com/example/media_player/di/ExoPlayerMod.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.example.media_player.di - -import android.content.Context -import com.google.android.exoplayer2.ExoPlayer -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.qualifiers.ApplicationContext -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object ExoPlayerMod { - - @Singleton - @Provides - fun buildMediaPlayer( - @ApplicationContext context: Context, - ) = ExoPlayer.Builder(context).build().apply { - setHandleAudioBecomingNoisy(true) - } -} - - diff --git a/ui/features/note/build.gradle.kts b/ui/features/note/build.gradle.kts index 74f528d5..9b85dcb3 100644 --- a/ui/features/note/build.gradle.kts +++ b/ui/features/note/build.gradle.kts @@ -1,28 +1,78 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.note" + namespace = "city.zouitel.note" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { - //Projects. - implementation(projects.common.ui) + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + implementation(projects.domain) - implementation(projects.data.datastore) + implementation(projects.core.datastore) implementation(projects.ui.features.reminder) - implementation(projects.ui.features.record) + implementation(projects.ui.features.recorder) implementation(projects.ui.features.tasks) - implementation(projects.ui.features.mediaPlayer) + implementation(projects.ui.features.audios) implementation(projects.ui.features.tags) implementation(projects.ui.features.camera) implementation(projects.ui.features.links) //AndroidX. - implementation(libs.androidx.constraintlayout) + implementation(libs.constraintlayout) //Accompanist. implementation(libs.accompanist.permissions) @@ -43,4 +93,9 @@ dependencies { //Baha-UrlPreview. implementation(libs.url.preview) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) } \ No newline at end of file diff --git a/ui/features/note/consumer-rules.pro b/ui/features/note/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/note/proguard-rules.pro b/ui/features/note/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/note/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/note/src/androidTest/java/city/zouitel/note/ExampleInstrumentedTest.kt b/ui/features/note/src/androidTest/java/city/zouitel/note/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..4f348055 --- /dev/null +++ b/ui/features/note/src/androidTest/java/city/zouitel/note/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.note + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.note.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/note/src/main/java/com/example/note/DataViewModel.kt b/ui/features/note/src/main/java/city/zouitel/note/DataViewModel.kt similarity index 95% rename from ui/features/note/src/main/java/com/example/note/DataViewModel.kt rename to ui/features/note/src/main/java/city/zouitel/note/DataViewModel.kt index 3fc40277..2a402013 100644 --- a/ui/features/note/src/main/java/com/example/note/DataViewModel.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/DataViewModel.kt @@ -1,4 +1,4 @@ -package com.example.note +package city.zouitel.note import android.content.Context import android.graphics.Bitmap @@ -15,27 +15,23 @@ import androidx.compose.ui.graphics.ImageBitmap import androidx.compose.ui.graphics.asImageBitmap import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.domain.usecase.DataUseCase -import com.example.note.mapper.DataMapper -import com.example.note.model.Data as InData -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.DataUseCase +import city.zouitel.note.mapper.DataMapper +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.note.model.Data as InData import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import java.io.* -import javax.inject.Inject - -@HiltViewModel -class DataViewModel @Inject constructor( +//@HiltViewModel +class DataViewModel /*@Inject*/ constructor( private val add: DataUseCase.AddData, private val edit: DataUseCase.EditData, private val delete: DataUseCase.DeleteData, private val eraseTrash: DataUseCase.DeleteAllTrashedData, private val mapper: DataMapper - -):ViewModel() { +): ViewModel() { var isProcessing by mutableStateOf(false) private set diff --git a/ui/features/note/src/main/java/com/example/note/NoteViewModel.kt b/ui/features/note/src/main/java/city/zouitel/note/NoteViewModel.kt similarity index 93% rename from ui/features/note/src/main/java/com/example/note/NoteViewModel.kt rename to ui/features/note/src/main/java/city/zouitel/note/NoteViewModel.kt index 3d3333cd..88e150da 100644 --- a/ui/features/note/src/main/java/com/example/note/NoteViewModel.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/NoteViewModel.kt @@ -1,25 +1,22 @@ -package com.example.note +package city.zouitel.note import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.usecase.NoteUseCase -import com.example.note.mapper.NoteMapper -import com.example.note.model.Note as InNote -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.NoteUseCase +import city.zouitel.note.mapper.NoteMapper +import city.zouitel.note.model.Note as InNote import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject - -@HiltViewModel -class NoteViewModel @Inject constructor( +//@HiltViewModel +class NoteViewModel /*@Inject*/ constructor( private val getAllById: NoteUseCase.GetAllNotesById, private val getAllByOldest: NoteUseCase.GetAllNotesByOldest, private val getAllByNewest: NoteUseCase.GetAllNotesByNewest, diff --git a/ui/features/note/src/main/java/city/zouitel/note/di/NoteModule.kt b/ui/features/note/src/main/java/city/zouitel/note/di/NoteModule.kt new file mode 100644 index 00000000..1d6da5e8 --- /dev/null +++ b/ui/features/note/src/main/java/city/zouitel/note/di/NoteModule.kt @@ -0,0 +1,39 @@ +package city.zouitel.note.di + +import city.zouitel.links.mapper.LinkMapper +import city.zouitel.note.mapper.DataMapper +import city.zouitel.note.* +import city.zouitel.note.mapper.NoteMapper +import city.zouitel.tags.mapper.TagMapper +import city.zouitel.tasks.mapper.TaskMapper +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.core.module.dsl.factoryOf +import org.koin.dsl.module + +//@Module +//@InstallIn(SingletonComponent::class) +object NoteModule { + +// @Singleton +// @Provides + fun provideDataMapper() = DataMapper() + +// @Singleton +// @Provides + fun provideNoteMapper( + dataMapper: DataMapper, + tagMapper: TagMapper, + taskMapper: TaskMapper, + linkMapper: LinkMapper + ) = NoteMapper(dataMapper, tagMapper, taskMapper, linkMapper) +} + +val noteKoinModule = module { + factoryOf(::DataMapper) + factory { + NoteMapper(get(), get(), get(), get()) + } + + viewModelOf(::DataViewModel) + viewModelOf(::NoteViewModel) +} \ No newline at end of file diff --git a/ui/features/note/src/main/java/com/example/note/mapper/DataMapper.kt b/ui/features/note/src/main/java/city/zouitel/note/mapper/DataMapper.kt similarity index 73% rename from ui/features/note/src/main/java/com/example/note/mapper/DataMapper.kt rename to ui/features/note/src/main/java/city/zouitel/note/mapper/DataMapper.kt index 37da5712..c326f415 100644 --- a/ui/features/note/src/main/java/com/example/note/mapper/DataMapper.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/mapper/DataMapper.kt @@ -1,8 +1,8 @@ -package com.example.note.mapper +package city.zouitel.note.mapper -import com.example.tasks.mapper.base.Mapper -import com.example.note.model.Data as InData -import com.example.domain.model.Data as OutData +import city.zouitel.tasks.mapper.base.Mapper +import city.zouitel.note.model.Data as InData +import city.zouitel.domain.model.Data as OutData class DataMapper: Mapper.Base { override fun toView(data: OutData): InData = with(data) { diff --git a/ui/features/note/src/main/java/com/example/note/mapper/NoteMapper.kt b/ui/features/note/src/main/java/city/zouitel/note/mapper/NoteMapper.kt similarity index 63% rename from ui/features/note/src/main/java/com/example/note/mapper/NoteMapper.kt rename to ui/features/note/src/main/java/city/zouitel/note/mapper/NoteMapper.kt index 69184656..6c4b56d6 100644 --- a/ui/features/note/src/main/java/com/example/note/mapper/NoteMapper.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/mapper/NoteMapper.kt @@ -1,12 +1,11 @@ -package com.example.note.mapper +package city.zouitel.note.mapper -import com.example.links.mapper.LinkMapper -import com.example.domain.model.Note as OutNote -import com.example.note.mapper.base.Mapper -import com.example.note.model.Data -import com.example.tags.mapper.TagMapper -import com.example.tasks.mapper.TaskMapper -import com.example.note.model.Note as InNote +import city.zouitel.links.mapper.LinkMapper +import city.zouitel.domain.model.Note as OutNote +import city.zouitel.note.mapper.base.Mapper +import city.zouitel.tags.mapper.TagMapper +import city.zouitel.tasks.mapper.TaskMapper +import city.zouitel.note.model.Note as InNote class NoteMapper( private val dataMapper: DataMapper, diff --git a/ui/features/note/src/main/java/com/example/note/mapper/base/Mapper.kt b/ui/features/note/src/main/java/city/zouitel/note/mapper/base/Mapper.kt similarity index 84% rename from ui/features/note/src/main/java/com/example/note/mapper/base/Mapper.kt rename to ui/features/note/src/main/java/city/zouitel/note/mapper/base/Mapper.kt index 8fef9639..60ac7377 100644 --- a/ui/features/note/src/main/java/com/example/note/mapper/base/Mapper.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.note.mapper.base +package city.zouitel.note.mapper.base sealed interface Mapper { interface Base { diff --git a/ui/features/note/src/main/java/com/example/note/model/Data.kt b/ui/features/note/src/main/java/city/zouitel/note/model/Data.kt similarity index 85% rename from ui/features/note/src/main/java/com/example/note/model/Data.kt rename to ui/features/note/src/main/java/city/zouitel/note/model/Data.kt index 3afd36ff..0570c5a7 100644 --- a/ui/features/note/src/main/java/com/example/note/model/Data.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/model/Data.kt @@ -1,7 +1,7 @@ -package com.example.note.model +package city.zouitel.note.model import androidx.annotation.Keep -import com.example.common_ui.Cons.NON +import city.zouitel.systemDesign.Cons.NON @Keep data class Data( diff --git a/ui/features/note/src/main/java/com/example/note/model/Note.kt b/ui/features/note/src/main/java/city/zouitel/note/model/Note.kt similarity index 50% rename from ui/features/note/src/main/java/com/example/note/model/Note.kt rename to ui/features/note/src/main/java/city/zouitel/note/model/Note.kt index 57cde71b..3f7014a9 100644 --- a/ui/features/note/src/main/java/com/example/note/model/Note.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/model/Note.kt @@ -1,10 +1,10 @@ -package com.example.note.model +package city.zouitel.note.model import androidx.annotation.Keep -import com.example.links.model.Link -import com.example.note.model.Data -import com.example.tags.model.Tag -import com.example.tasks.model.Task +import city.zouitel.links.model.Link +import city.zouitel.note.model.Data +import city.zouitel.tags.model.Tag +import city.zouitel.tasks.model.Task @Keep data class Note( diff --git a/ui/features/note/src/main/java/com/example/note/ui/ColorsRow.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/ColorsRow.kt similarity index 83% rename from ui/features/note/src/main/java/com/example/note/ui/ColorsRow.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/ColorsRow.kt index db0adf25..11a64c67 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/ColorsRow.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/ColorsRow.kt @@ -1,4 +1,4 @@ -package com.example.note +package city.zouitel.note import androidx.compose.foundation.Canvas import androidx.compose.foundation.background @@ -16,16 +16,16 @@ import androidx.compose.ui.graphics.drawscope.Stroke import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.DataStoreVM -import com.example.common_ui.MaterialColors -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.common_ui.SoundEffect +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.SoundEffect +import org.koin.androidx.compose.koinViewModel @Composable fun ColorsRow( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), colorState: MutableState, colors: Array ) { @@ -48,7 +48,8 @@ fun ColorsRow( items(items = colors){ Spacer(modifier = Modifier.width(5.dp)) Canvas( - modifier = Modifier.size(40.dp) + modifier = Modifier + .size(40.dp) .clickable { currentColor.value = it colorState.value = it.toArgb() diff --git a/ui/features/note/src/main/java/com/example/note/ui/add_screen/AddNote.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/add_screen/AddNote.kt similarity index 88% rename from ui/features/note/src/main/java/com/example/note/ui/add_screen/AddNote.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/add_screen/AddNote.kt index 578a48a2..018c254d 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/add_screen/AddNote.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/add_screen/AddNote.kt @@ -1,4 +1,4 @@ -package com.example.note.ui.add_screen +package city.zouitel.note.ui.add_screen import android.annotation.SuppressLint import android.graphics.Bitmap @@ -42,40 +42,45 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.net.toUri -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.* -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.HOME_ROUTE -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Cons.KEY_STANDARD -import com.example.common_ui.Cons.MP3 -import com.example.common_ui.Cons.NON -import com.example.common_ui.Cons.NUL -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.DONE_ICON -import com.example.common_ui.MaterialColors.Companion.OUT_LINE_VARIANT -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.links.model.NoteAndLink -import com.example.links.ui.CacheLinks -import com.example.links.ui.LinkPart -import com.example.links.ui.LinkVM -import com.example.links.ui.NoteAndLinkVM -import com.example.media_player.MediaPlayerViewModel -import com.example.note.ui.bottom_bar.AddEditBottomBar -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.record.RecordingNote -import com.example.reminder.RemindingNote -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.viewmodel.NoteAndTagViewModel -import com.example.tags.model.NoteAndTag -import com.example.tasks.NoteAndTaskViewModel -import com.example.tasks.TaskViewModel -import com.example.tasks.model.NoteAndTask -import com.example.tasks.model.Task +import city.zouitel.links.model.NoteAndLink +import city.zouitel.links.ui.CacheLinks +import city.zouitel.links.ui.LinkPart +import city.zouitel.links.ui.LinkVM +import city.zouitel.links.ui.NoteAndLinkVM +import city.zouitel.audios.MediaPlayerViewModel +import city.zouitel.note.ui.bottom_bar.AddEditBottomBar +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.recoder.ui.RecordingNote +import city.zouitel.reminder.ui.RemindingNote +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.HOME_ROUTE +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.systemDesign.Cons.KEY_STANDARD +import city.zouitel.systemDesign.Cons.MP3 +import city.zouitel.systemDesign.Cons.NON +import city.zouitel.systemDesign.Cons.NUL +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.DONE_ICON +import city.zouitel.systemDesign.ImageDisplayed +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.OUT_LINE_VARIANT +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.SoundEffect +import city.zouitel.systemDesign.decodeUrl +import city.zouitel.systemDesign.findUrlLink +import city.zouitel.tags.viewmodel.TagViewModel +import city.zouitel.tags.viewmodel.NoteAndTagViewModel +import city.zouitel.tags.model.NoteAndTag +import city.zouitel.tasks.viewmodel.NoteAndTaskViewModel +import city.zouitel.tasks.viewmodel.TaskViewModel +import city.zouitel.tasks.model.NoteAndTask +import city.zouitel.tasks.model.Task import com.google.accompanist.flowlayout.FlowRow +import org.koin.androidx.compose.koinViewModel import java.io.File @SuppressLint( @@ -89,15 +94,15 @@ import java.io.File ) @Composable fun NoteAdd( - dataViewModel: DataViewModel = hiltViewModel(), - exoVM: MediaPlayerViewModel = hiltViewModel(), - noteAndTagViewModel: NoteAndTagViewModel = hiltViewModel(), - tagViewModel: TagViewModel = hiltViewModel(), - taskViewModel: TaskViewModel = hiltViewModel(), - noteAndTodoVM: NoteAndTaskViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), - linkVM: LinkVM = hiltViewModel(), - noteAndLinkVM: NoteAndLinkVM = hiltViewModel(), + dataViewModel: DataViewModel = koinViewModel(), + exoVM: MediaPlayerViewModel = koinViewModel(), + noteAndTagViewModel: NoteAndTagViewModel = koinViewModel(), + tagViewModel: TagViewModel = koinViewModel(), + taskViewModel: TaskViewModel = koinViewModel(), + noteAndTodoVM: NoteAndTaskViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), + linkVM: LinkVM = koinViewModel(), + noteAndLinkVM: NoteAndLinkVM = koinViewModel(), navController: NavController, uid: String, description: String? @@ -131,17 +136,11 @@ fun NoteAdd( val titleState = rememberSaveable { mutableStateOf(null) } -// .filterBadWords() -// .filterBadEmoji() -// .filterBadWebsites() val descriptionState = rememberSaveable { mutableStateOf( if (description == NUL) null else decodeUrl(description) ) } -// .filterBadWords() -// .filterBadEmoji() -// .filterBadWebsites() val backgroundColor = getMatColor(SURFACE).toArgb() val backgroundColorState = rememberSaveable { mutableStateOf(backgroundColor) } @@ -279,7 +278,7 @@ fun NoteAdd( if ( File(mediaFile).exists() && !recordDialogState.value ) { - com.example.media_player.NoteMediaPlayer(localMediaUid = uid) + city.zouitel.audios.NoteMediaPlayer(localMediaUid = uid) audioDurationState.value = exoVM.getMediaDuration(ctx, mediaFile).toInt() diff --git a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/AddEditBottomBar.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/AddEditBottomBar.kt similarity index 85% rename from ui/features/note/src/main/java/com/example/note/ui/bottom_bar/AddEditBottomBar.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/AddEditBottomBar.kt index 4196716b..3f40c2e5 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/AddEditBottomBar.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/AddEditBottomBar.kt @@ -1,4 +1,4 @@ -package com.example.note.ui.bottom_bar +package city.zouitel.note.ui.bottom_bar import android.net.Uri import androidx.activity.compose.ManagedActivityResultLauncher @@ -17,24 +17,30 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.* -import com.example.common_ui.Cons.FOCUS_NAVIGATION -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Icons.ADD_CIRCLE_ICON -import com.example.common_ui.Icons.BELL_ICON -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE_VARIANT -import com.example.note.ColorsRow -import com.example.note.model.Data +import city.zouitel.note.ColorsRow +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Cons.FOCUS_NAVIGATION +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.ADD_CIRCLE_ICON +import city.zouitel.systemDesign.Icons.BELL_ICON +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE_VARIANT +import city.zouitel.systemDesign.PopupTip +import city.zouitel.systemDesign.SoundEffect +import city.zouitel.systemDesign.listOfBackgroundColors +import city.zouitel.systemDesign.listOfTextColors +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalMaterialApi::class, ExperimentalFoundationApi::class, ExperimentalFoundationApi::class ) @Composable fun AddEditBottomBar( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), note: Data, navController: NavController, imageLaunch : ManagedActivityResultLauncher, diff --git a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/Plus.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/Plus.kt similarity index 88% rename from ui/features/note/src/main/java/com/example/note/ui/bottom_bar/Plus.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/Plus.kt index ae1268d6..42eec6c3 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/Plus.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/Plus.kt @@ -1,4 +1,4 @@ -package com.example.note.ui.bottom_bar +package city.zouitel.note.ui.bottom_bar import android.Manifest.permission import android.annotation.SuppressLint @@ -26,27 +26,31 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.PopupProperties -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.* -import com.example.common_ui.Cons.DRAW_ROUTE -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Cons.KEY_STANDARD -import com.example.common_ui.Icons.CAMERA_ICON -import com.example.common_ui.Icons.GESTURE_ICON -import com.example.common_ui.Icons.IMAGE_ICON -import com.example.common_ui.Icons.LIST_CHECK_ICON -import com.example.common_ui.Icons.MIC_ICON -import com.example.common_ui.Icons.TAGS_ICON -import com.example.note.model.Data +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.Cons.DRAW_ROUTE +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.Cons.KEY_STANDARD +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.CAMERA_ICON +import city.zouitel.systemDesign.Icons.GESTURE_ICON +import city.zouitel.systemDesign.Icons.IMAGE_ICON +import city.zouitel.systemDesign.Icons.LIST_CHECK_ICON +import city.zouitel.systemDesign.Icons.MIC_ICON +import city.zouitel.systemDesign.Icons.TAGS_ICON +import city.zouitel.systemDesign.SoundEffect +import city.zouitel.systemDesign.getColorOfPriority +import city.zouitel.systemDesign.getPriorityOfColor +import city.zouitel.systemDesign.listOfPriorityColors import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.rememberMultiplePermissionsState +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalPermissionsApi::class) @SuppressLint("SuspiciousIndentation") @Composable internal fun Plus( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), isShow: MutableState, note: Data, navController: NavController, diff --git a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/PriorityList.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/PriorityList.kt similarity index 88% rename from ui/features/note/src/main/java/com/example/note/ui/bottom_bar/PriorityList.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/PriorityList.kt index 355b6a18..74e27aa8 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/PriorityList.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/PriorityList.kt @@ -1,4 +1,4 @@ -package com.example.note.ui.bottom_bar +package city.zouitel.note.ui.bottom_bar import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem @@ -11,12 +11,12 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.sp import androidx.compose.ui.window.PopupProperties -import com.example.common_ui.Cons.IMPORTANT -import com.example.common_ui.Cons.LOW -import com.example.common_ui.Cons.NON -import com.example.common_ui.Cons.NORMAL -import com.example.common_ui.Cons.URGENT -import com.example.common_ui.Icons.CIRCLE_ICON +import city.zouitel.systemDesign.Cons.IMPORTANT +import city.zouitel.systemDesign.Cons.LOW +import city.zouitel.systemDesign.Cons.NON +import city.zouitel.systemDesign.Cons.NORMAL +import city.zouitel.systemDesign.Cons.URGENT +import city.zouitel.systemDesign.Icons.CIRCLE_ICON @Deprecated("dispensed with!") @Composable diff --git a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/UndoRedo.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/UndoRedo.kt similarity index 89% rename from ui/features/note/src/main/java/com/example/note/ui/bottom_bar/UndoRedo.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/UndoRedo.kt index 27af9194..e265e1da 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/bottom_bar/UndoRedo.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/bottom_bar/UndoRedo.kt @@ -1,4 +1,4 @@ -package com.example.note.ui.bottom_bar +package city.zouitel.note.ui.bottom_bar import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable @@ -12,20 +12,20 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.REDO_ICON -import com.example.common_ui.Icons.UNDO_ICON -import com.example.common_ui.MaterialColors -import com.example.common_ui.MaterialColors.Companion.SURFACE_VARIANT -import com.example.common_ui.SoundEffect +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.REDO_ICON +import city.zouitel.systemDesign.Icons.UNDO_ICON +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE_VARIANT +import city.zouitel.systemDesign.SoundEffect +import org.koin.androidx.compose.koinViewModel // TODO: need improvement. @OptIn(ExperimentalFoundationApi::class) @Composable fun UndoRedo( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), titleFieldState: MutableState, descriptionFieldState: MutableState, isTitleFieldSelected : MutableState, diff --git a/ui/features/note/src/main/java/com/example/note/ui/edit_screen/EditNote.kt b/ui/features/note/src/main/java/city/zouitel/note/ui/edit_screen/EditNote.kt similarity index 88% rename from ui/features/note/src/main/java/com/example/note/ui/edit_screen/EditNote.kt rename to ui/features/note/src/main/java/city/zouitel/note/ui/edit_screen/EditNote.kt index 2d6329ad..c4068ed6 100644 --- a/ui/features/note/src/main/java/com/example/note/ui/edit_screen/EditNote.kt +++ b/ui/features/note/src/main/java/city/zouitel/note/ui/edit_screen/EditNote.kt @@ -1,4 +1,4 @@ -package com.example.note.ui.edit_screen +package city.zouitel.note.ui.edit_screen import android.annotation.SuppressLint import android.graphics.Bitmap @@ -41,37 +41,43 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.net.toUri -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.* -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.HOME_ROUTE -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Cons.KEY_STANDARD -import com.example.common_ui.Cons.MP3 -import com.example.common_ui.Cons.NUL -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.EDIT_ICON -import com.example.common_ui.MaterialColors.Companion.OUT_LINE_VARIANT -import com.example.links.model.NoteAndLink -import com.example.links.ui.CacheLinks -import com.example.links.ui.LinkPart -import com.example.links.ui.LinkVM -import com.example.links.ui.NoteAndLinkVM -import com.example.media_player.MediaPlayerViewModel -import com.example.note.ui.bottom_bar.AddEditBottomBar -import com.example.record.RecordingNote -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.tags.viewmodel.NoteAndTagViewModel -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.model.NoteAndTag -import com.example.tasks.NoteAndTaskViewModel -import com.example.tasks.TaskViewModel -import com.example.tasks.model.NoteAndTask -import com.example.tasks.model.Task +import city.zouitel.links.model.NoteAndLink +import city.zouitel.links.ui.CacheLinks +import city.zouitel.links.ui.LinkPart +import city.zouitel.links.ui.LinkVM +import city.zouitel.links.ui.NoteAndLinkVM +import city.zouitel.audios.MediaPlayerViewModel +import city.zouitel.note.ui.bottom_bar.AddEditBottomBar +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.recoder.ui.RecordingNote +import city.zouitel.reminder.ui.RemindingNote +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.HOME_ROUTE +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.systemDesign.Cons.KEY_STANDARD +import city.zouitel.systemDesign.Cons.MP3 +import city.zouitel.systemDesign.Cons.NUL +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.EDIT_ICON +import city.zouitel.systemDesign.ImageDisplayed +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.OUT_LINE_VARIANT +import city.zouitel.systemDesign.SoundEffect +import city.zouitel.systemDesign.decodeUrl +import city.zouitel.systemDesign.findUrlLink +import city.zouitel.tags.viewmodel.NoteAndTagViewModel +import city.zouitel.tags.viewmodel.TagViewModel +import city.zouitel.tags.model.NoteAndTag +import city.zouitel.tasks.viewmodel.NoteAndTaskViewModel +import city.zouitel.tasks.viewmodel.TaskViewModel +import city.zouitel.tasks.model.NoteAndTask +import city.zouitel.tasks.model.Task import com.google.accompanist.flowlayout.FlowRow +import org.koin.androidx.compose.koinViewModel import java.io.File @SuppressLint( @@ -86,15 +92,15 @@ import java.io.File @Composable fun NoteEdit( navController: NavController, - dataViewModel: DataViewModel = hiltViewModel(), - exoViewModule: MediaPlayerViewModel = hiltViewModel(), - noteAndLabelVM: NoteAndTagViewModel = hiltViewModel(), - tagViewModel: TagViewModel = hiltViewModel(), - taskViewModel: TaskViewModel = hiltViewModel(), - noteAndTodoVM: NoteAndTaskViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), - linkVM: LinkVM = hiltViewModel(), - noteAndLinkVM: NoteAndLinkVM = hiltViewModel(), + dataViewModel: DataViewModel = koinViewModel(), + exoViewModule: MediaPlayerViewModel = koinViewModel(), + noteAndLabelVM: NoteAndTagViewModel = koinViewModel(), + tagViewModel: TagViewModel = koinViewModel(), + taskViewModel: TaskViewModel = koinViewModel(), + noteAndTodoVM: NoteAndTaskViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), + linkVM: LinkVM = koinViewModel(), + noteAndLinkVM: NoteAndLinkVM = koinViewModel(), uid:String, title:String?, description:String?, @@ -135,16 +141,12 @@ fun NoteEdit( if(title == NUL || title.isNullOrEmpty()) null else decodeUrl.invoke(title) ) } -// .filterBadWords() -// .filterBadEmoji() val descriptionState = rememberSaveable { mutableStateOf( if(description == NUL) null else decodeUrl.invoke(description) ) } -// .filterBadWords() -// .filterBadEmoji() val backgroundColorState = rememberSaveable { mutableStateOf(color) } val textColorState = rememberSaveable { mutableStateOf(textColor) } @@ -250,7 +252,7 @@ fun NoteEdit( // reminding dialog visibility. if (remindingDialogState.value) { - com.example.reminder.RemindingNote( + RemindingNote( dialogState = remindingDialogState, remindingValue = remindingValue, title = titleState.value, @@ -270,7 +272,7 @@ fun NoteEdit( if ( File(mediaFile).exists() && !recordDialogState.value ) { - com.example.media_player.NoteMediaPlayer(localMediaUid = uid) + city.zouitel.audios.NoteMediaPlayer(localMediaUid = uid) audioDurationState.value = exoViewModule.getMediaDuration(ctx,mediaFile).toInt() } diff --git a/ui/features/note/src/main/java/com/example/note/di/NoteModule.kt b/ui/features/note/src/main/java/com/example/note/di/NoteModule.kt deleted file mode 100644 index 965557fd..00000000 --- a/ui/features/note/src/main/java/com/example/note/di/NoteModule.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.example.note.di - -import com.example.links.mapper.LinkMapper -import com.example.note.mapper.DataMapper -import com.example.note.mapper.NoteMapper -import com.example.tags.mapper.TagMapper -import com.example.tasks.mapper.TaskMapper -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object NoteModule { - - @Singleton - @Provides - fun provideDataMapper() = DataMapper() - - @Singleton - @Provides - fun provideNoteMapper( - dataMapper: DataMapper, - tagMapper: TagMapper, - taskMapper: TaskMapper, - linkMapper: LinkMapper - ) = NoteMapper(dataMapper, tagMapper, taskMapper, linkMapper) -} \ No newline at end of file diff --git a/ui/features/note/src/test/java/city/zouitel/note/ExampleUnitTest.kt b/ui/features/note/src/test/java/city/zouitel/note/ExampleUnitTest.kt new file mode 100644 index 00000000..59a43de2 --- /dev/null +++ b/ui/features/note/src/test/java/city/zouitel/note/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.note + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/quick-note/build.gradle.kts b/ui/features/quick-note/build.gradle.kts deleted file mode 100644 index a4426462..00000000 --- a/ui/features/quick-note/build.gradle.kts +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.quick_note" -} - -dependencies { - //Projects. - implementation(projects.domain) - implementation(projects.data.datastore) - implementation(projects.ui.features.note) - implementation(projects.common.ui) - - //AndroidX. - implementation(libs.androidx.constraintlayout) - - //LiveData. - implementation(libs.livedatakts) - - //Accompanist. - implementation(libs.accompanist.systemuicontroller) -} \ No newline at end of file diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/di/QuickDataModule.kt b/ui/features/quick-note/src/main/java/com/example/quick_note/di/QuickDataModule.kt deleted file mode 100644 index d9545689..00000000 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/di/QuickDataModule.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.example.quick_note.di - -import com.example.quick_note.mapper.QuickDataMapper -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object QuickDataModule { - - @Singleton - @Provides - fun provideQuickDataMapper() = QuickDataMapper() -} \ No newline at end of file diff --git a/service/notification/.gitignore b/ui/features/quickNote/.gitignore similarity index 100% rename from service/notification/.gitignore rename to ui/features/quickNote/.gitignore diff --git a/ui/features/quickNote/build.gradle.kts b/ui/features/quickNote/build.gradle.kts new file mode 100644 index 00000000..c0df3e61 --- /dev/null +++ b/ui/features/quickNote/build.gradle.kts @@ -0,0 +1,82 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.quicknote" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + + //Projects. + implementation(projects.domain) + implementation(projects.core.datastore) + implementation(projects.ui.features.note) + + //AndroidX. + implementation(libs.constraintlayout) + + //LiveData. + implementation(libs.lifecycle.livedata) + + //Accompanist. + implementation(libs.accompanist.systemuicontroller) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) +} \ No newline at end of file diff --git a/ui/features/quickNote/consumer-rules.pro b/ui/features/quickNote/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/quickNote/proguard-rules.pro b/ui/features/quickNote/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/quickNote/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/quickNote/src/androidTest/java/city/zouitel/quicknote/ExampleInstrumentedTest.kt b/ui/features/quickNote/src/androidTest/java/city/zouitel/quicknote/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..7061d777 --- /dev/null +++ b/ui/features/quickNote/src/androidTest/java/city/zouitel/quicknote/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.quicknote + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.quicknote.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/media-player/src/main/AndroidManifest.xml b/ui/features/quickNote/src/main/AndroidManifest.xml similarity index 100% rename from ui/features/media-player/src/main/AndroidManifest.xml rename to ui/features/quickNote/src/main/AndroidManifest.xml diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/Quick.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/Quick.kt similarity index 92% rename from ui/features/quick-note/src/main/java/com/example/quick_note/Quick.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/Quick.kt index c3fa37d7..e8f84b4e 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/Quick.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/Quick.kt @@ -1,4 +1,4 @@ -package com.example.quick_note +package city.zouitel.quicknote import android.annotation.SuppressLint import androidx.compose.foundation.background @@ -29,19 +29,19 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons -import com.example.common_ui.Icons -import com.example.common_ui.MaterialColors -import com.example.common_ui.MaterialColors.Companion.OUT_LINE_VARIANT -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.quick_note.model.QuickData +import city.zouitel.quicknote.model.QuickData +import city.zouitel.systemDesign.Cons +import city.zouitel.systemDesign.Icons +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.OUT_LINE_VARIANT +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import org.koin.androidx.compose.koinViewModel import java.util.UUID @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") @OptIn(ExperimentalMaterial3Api::class) @Composable fun Quick( - quickDataViewModel: QuickDataViewModel = hiltViewModel(), + quickDataViewModel: QuickDataViewModel = koinViewModel(), action:() -> (Unit) ) { val descriptionState = remember { mutableStateOf("") } diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/QuickActivity.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickActivity.kt similarity index 84% rename from ui/features/quick-note/src/main/java/com/example/quick_note/QuickActivity.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickActivity.kt index b698be1d..86432c5b 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/QuickActivity.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickActivity.kt @@ -1,9 +1,8 @@ -package com.example.quick_note +package city.zouitel.quicknote import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.activity.viewModels import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme @@ -13,13 +12,11 @@ import androidx.compose.runtime.SideEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.remember import androidx.compose.ui.graphics.Color -import androidx.compose.ui.platform.LocalContext -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.DataStoreVM +import city.zouitel.systemDesign.DataStoreVM import com.google.accompanist.systemuicontroller.rememberSystemUiController -import dagger.hilt.android.AndroidEntryPoint +import org.koin.androidx.compose.koinViewModel -@AndroidEntryPoint +//@AndroidEntryPoint class QuickActivity: ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -34,7 +31,7 @@ class QuickActivity: ComponentActivity() { @Composable private fun AppTheme( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), content: @Composable () -> Unit ) { val currentTheme = remember(dataStoreVM, dataStoreVM::getTheme).collectAsState() diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/QuickDataViewModel.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickDataViewModel.kt similarity index 52% rename from ui/features/quick-note/src/main/java/com/example/quick_note/QuickDataViewModel.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickDataViewModel.kt index ceae71cc..32f0e580 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/QuickDataViewModel.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickDataViewModel.kt @@ -1,20 +1,18 @@ -package com.example.quick_note +package city.zouitel.quicknote import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.usecase.DataUseCase -import com.example.quick_note.mapper.QuickDataMapper -import com.example.quick_note.model.QuickData -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.DataUseCase +import city.zouitel.quicknote.mapper.QuickDataMapper +import city.zouitel.quicknote.model.QuickData import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class QuickDataViewModel @Inject constructor( +//@HiltViewModel +class QuickDataViewModel /*@Inject*/ constructor( private val add: DataUseCase.AddData, private val mapper: QuickDataMapper -) : ViewModel() { +): ViewModel() { fun addQuickData(data: QuickData) = viewModelScope.launch(Dispatchers.IO) { add.invoke(mapper.toDomain(data)) } diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/QuickTileService.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickTileService.kt similarity index 77% rename from ui/features/quick-note/src/main/java/com/example/quick_note/QuickTileService.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickTileService.kt index 107f90fc..4700a0fd 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/QuickTileService.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/QuickTileService.kt @@ -1,10 +1,12 @@ -package com.example.quick_note +package city.zouitel.quicknote +import android.annotation.SuppressLint import android.content.Intent import android.service.quicksettings.TileService class QuickTileService: TileService() { + @SuppressLint("StartActivityAndCollapseDeprecated") override fun onClick() { super.onClick() val intent = Intent(applicationContext, QuickActivity::class.java) diff --git a/ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickDataModule.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickDataModule.kt new file mode 100644 index 00000000..70f19527 --- /dev/null +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickDataModule.kt @@ -0,0 +1,12 @@ +package city.zouitel.quicknote.di + +import city.zouitel.quicknote.mapper.QuickDataMapper + +//@Module +//@InstallIn(SingletonComponent::class) +object QuickDataModule { + +// @Singleton +// @Provides + fun provideQuickDataMapper() = QuickDataMapper() +} \ No newline at end of file diff --git a/ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickNoteDI.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickNoteDI.kt new file mode 100644 index 00000000..d72cfb59 --- /dev/null +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/di/QuickNoteDI.kt @@ -0,0 +1,12 @@ +package city.zouitel.quicknote.di + +import org.koin.core.module.dsl.factoryOf +import org.koin.dsl.module +import city.zouitel.quicknote.mapper.QuickDataMapper +import city.zouitel.quicknote.* +import org.koin.androidx.viewmodel.dsl.viewModelOf + +val quickNoteKoinModule = module { + factoryOf(::QuickDataMapper) + viewModelOf(::QuickDataViewModel) +} \ No newline at end of file diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/mapper/QuickDataMapper.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/mapper/QuickDataMapper.kt similarity index 71% rename from ui/features/quick-note/src/main/java/com/example/quick_note/mapper/QuickDataMapper.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/mapper/QuickDataMapper.kt index 7be9c611..36258cbe 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/mapper/QuickDataMapper.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/mapper/QuickDataMapper.kt @@ -1,8 +1,8 @@ -package com.example.quick_note.mapper +package city.zouitel.quicknote.mapper -import com.example.domain.model.Data as OutData -import com.example.quick_note.mapper.base.Mapper -import com.example.quick_note.model.QuickData as InData +import city.zouitel.domain.model.Data as OutData +import city.zouitel.quicknote.mapper.base.Mapper +import city.zouitel.quicknote.model.QuickData as InData class QuickDataMapper: Mapper.Base { override fun toView(data: OutData): InData = with(data) { diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/mapper/base/Mapper.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/mapper/base/Mapper.kt similarity index 83% rename from ui/features/quick-note/src/main/java/com/example/quick_note/mapper/base/Mapper.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/mapper/base/Mapper.kt index d2d27e17..8d533af5 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/mapper/base/Mapper.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.quick_note.mapper.base +package city.zouitel.quicknote.mapper.base sealed interface Mapper { interface Base { diff --git a/ui/features/quick-note/src/main/java/com/example/quick_note/model/QuickData.kt b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/model/QuickData.kt similarity index 83% rename from ui/features/quick-note/src/main/java/com/example/quick_note/model/QuickData.kt rename to ui/features/quickNote/src/main/java/city/zouitel/quicknote/model/QuickData.kt index 2876b726..2a230133 100644 --- a/ui/features/quick-note/src/main/java/com/example/quick_note/model/QuickData.kt +++ b/ui/features/quickNote/src/main/java/city/zouitel/quicknote/model/QuickData.kt @@ -1,7 +1,6 @@ -package com.example.quick_note.model - -import com.example.common_ui.Cons.NON +package city.zouitel.quicknote.model +import city.zouitel.systemDesign.Cons.NON data class QuickData( var uid: String = "", diff --git a/ui/features/quickNote/src/test/java/city/zouitel/quicknote/ExampleUnitTest.kt b/ui/features/quickNote/src/test/java/city/zouitel/quicknote/ExampleUnitTest.kt new file mode 100644 index 00000000..2547dd09 --- /dev/null +++ b/ui/features/quickNote/src/test/java/city/zouitel/quicknote/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.quicknote + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/record/.gitignore b/ui/features/record/.gitignore deleted file mode 100644 index 42afabfd..00000000 --- a/ui/features/record/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/ui/features/record/build.gradle.kts b/ui/features/record/build.gradle.kts deleted file mode 100644 index 20f34e6f..00000000 --- a/ui/features/record/build.gradle.kts +++ /dev/null @@ -1,19 +0,0 @@ -plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.record" -} - -dependencies { - //Projects. - implementation(projects.common.ui) - implementation(projects.domain) - implementation(projects.data.datastore) - - //AndroidX. - implementation(libs.androidx.constraintlayout) -} \ No newline at end of file diff --git a/ui/features/media-player/.gitignore b/ui/features/recorder/.gitignore similarity index 100% rename from ui/features/media-player/.gitignore rename to ui/features/recorder/.gitignore diff --git a/ui/features/recorder/build.gradle.kts b/ui/features/recorder/build.gradle.kts new file mode 100644 index 00000000..7490f951 --- /dev/null +++ b/ui/features/recorder/build.gradle.kts @@ -0,0 +1,75 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.recorder" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + + //Projects. + implementation(projects.domain) + implementation(projects.core.datastore) + + //AndroidX. + implementation(libs.constraintlayout) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) +} \ No newline at end of file diff --git a/ui/features/recorder/consumer-rules.pro b/ui/features/recorder/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/recorder/proguard-rules.pro b/ui/features/recorder/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/recorder/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/recorder/src/androidTest/java/city/zouitel/recoder/ExampleInstrumentedTest.kt b/ui/features/recorder/src/androidTest/java/city/zouitel/recoder/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..7d13f07a --- /dev/null +++ b/ui/features/recorder/src/androidTest/java/city/zouitel/recoder/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.recoder + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.recoder.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/record/src/main/AndroidManifest.xml b/ui/features/recorder/src/main/AndroidManifest.xml similarity index 100% rename from ui/features/record/src/main/AndroidManifest.xml rename to ui/features/recorder/src/main/AndroidManifest.xml diff --git a/ui/features/recorder/src/main/java/city/zouitel/recoder/di/recorderDI.kt b/ui/features/recorder/src/main/java/city/zouitel/recoder/di/recorderDI.kt new file mode 100644 index 00000000..70d7eade --- /dev/null +++ b/ui/features/recorder/src/main/java/city/zouitel/recoder/di/recorderDI.kt @@ -0,0 +1,11 @@ +package city.zouitel.recoder.di + +import city.zouitel.recoder.viewmodel.MediaRecordVM +import city.zouitel.recoder.viewmodel.RecorderVM +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.dsl.module + +val recorderKoinModule = module { + viewModelOf(::MediaRecordVM) + viewModelOf(::RecorderVM) +} \ No newline at end of file diff --git a/ui/features/record/src/main/java/com/example/record/RecordController.kt b/ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordController.kt similarity index 90% rename from ui/features/record/src/main/java/com/example/record/RecordController.kt rename to ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordController.kt index caf38d39..eef4961c 100644 --- a/ui/features/record/src/main/java/com/example/record/RecordController.kt +++ b/ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordController.kt @@ -1,9 +1,8 @@ -package com.example.record +package city.zouitel.recoder.ui import android.annotation.SuppressLint import android.media.MediaRecorder import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.scaleIn import androidx.compose.animation.scaleOut import androidx.compose.foundation.clickable @@ -14,14 +13,13 @@ import androidx.compose.runtime.MutableState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource -import com.example.common_ui.AdaptingRow -import com.example.common_ui.Icons.MIC_ICON_36 -import com.example.common_ui.Icons.PAUSE_CIRCLE_FILLED_ICON_36 -import com.example.common_ui.Icons.PLAY_CIRCLE_FILLED_ICON_36 -import com.example.common_ui.Icons.STOP_CIRCLE_ICON_36 +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Icons.MIC_ICON_36 +import city.zouitel.systemDesign.Icons.PAUSE_CIRCLE_FILLED_ICON_36 +import city.zouitel.systemDesign.Icons.PLAY_CIRCLE_FILLED_ICON_36 +import city.zouitel.systemDesign.Icons.STOP_CIRCLE_ICON_36 @SuppressLint("UnusedMaterialScaffoldPaddingParameter") -@OptIn(ExperimentalAnimationApi::class) @Composable fun RecordController( isRecording: MutableState, diff --git a/ui/features/record/src/main/java/com/example/record/RecordTimer.kt b/ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordTimer.kt similarity index 92% rename from ui/features/record/src/main/java/com/example/record/RecordTimer.kt rename to ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordTimer.kt index 4d9062a6..0b18ead6 100644 --- a/ui/features/record/src/main/java/com/example/record/RecordTimer.kt +++ b/ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordTimer.kt @@ -1,4 +1,4 @@ -package com.example.record +package city.zouitel.recoder.ui import androidx.compose.animation.* import androidx.compose.foundation.layout.Row @@ -23,7 +23,7 @@ fun RecordTimer( modifier = Modifier .height(100.dp) ) { - val numberTransitionSpec: AnimatedContentTransitionScope.() -> ContentTransform = { + val numberTransitionSpec: AnimatedContentTransitionScope.() -> ContentTransform = { (slideInVertically( initialOffsetY = { it } ) + fadeIn()).togetherWith(slideOutVertically( diff --git a/ui/features/record/src/main/java/com/example/record/RecordingNote.kt b/ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordingNote.kt similarity index 68% rename from ui/features/record/src/main/java/com/example/record/RecordingNote.kt rename to ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordingNote.kt index 603f51ce..cafe09b4 100644 --- a/ui/features/record/src/main/java/com/example/record/RecordingNote.kt +++ b/ui/features/recorder/src/main/java/city/zouitel/recoder/ui/RecordingNote.kt @@ -1,4 +1,4 @@ -package com.example.record +package city.zouitel.recoder.ui import android.annotation.SuppressLint import androidx.compose.material3.AlertDialog @@ -7,10 +7,12 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext -import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.viewmodel.compose.viewModel -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.MP3 +import city.zouitel.recoder.viewmodel.MediaRecordVM +import city.zouitel.recoder.viewmodel.RecorderVM +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.MP3 +import org.koin.androidx.compose.koinViewModel import java.io.File import kotlin.time.ExperimentalTime @@ -21,7 +23,7 @@ import kotlin.time.ExperimentalTime ) @Composable fun RecordingNote( - noteMediaRecordVM: MediaRecordVM = hiltViewModel(), + noteMediaRecordVM: MediaRecordVM = koinViewModel(), dialogState: MutableState, uid: String? ) { @@ -30,7 +32,7 @@ fun RecordingNote( val isRecording = remember { mutableStateOf(false) } val isPause = remember { mutableStateOf(false) } - val recordVm = viewModel(RecordVM::class.java) + val recorderVm = viewModel(RecorderVM::class.java) val path = File( ctx.filesDir.path + "/$AUDIOS/" + uid + "." + MP3 @@ -47,7 +49,7 @@ fun RecordingNote( record.stop() record.reset() record.release() - recordVm.stop() + recorderVm.stop() } dialogState.value = false }, @@ -58,12 +60,12 @@ fun RecordingNote( isPause = isPause, dialogState = dialogState, mediaRecorder = record, - seconds = recordVm.seconds, - minutes = recordVm.minutes, - hours = recordVm.hours, - onStart = { recordVm.start() }, - onPause = { recordVm.pause() }, - onStop = { recordVm.stop() } + seconds = recorderVm.seconds, + minutes = recorderVm.minutes, + hours = recorderVm.hours, + onStart = { recorderVm.start() }, + onPause = { recorderVm.pause() }, + onStop = { recorderVm.stop() } ) } ) diff --git a/ui/features/record/src/main/java/com/example/record/MediaRecordVM.kt b/ui/features/recorder/src/main/java/city/zouitel/recoder/viewmodel/MediaRecordVM.kt similarity index 94% rename from ui/features/record/src/main/java/com/example/record/MediaRecordVM.kt rename to ui/features/recorder/src/main/java/city/zouitel/recoder/viewmodel/MediaRecordVM.kt index f03002a7..16ed27f7 100644 --- a/ui/features/record/src/main/java/com/example/record/MediaRecordVM.kt +++ b/ui/features/recorder/src/main/java/city/zouitel/recoder/viewmodel/MediaRecordVM.kt @@ -1,4 +1,4 @@ -package com.example.record +package city.zouitel.recoder.viewmodel import android.media.MediaRecorder import androidx.lifecycle.ViewModel diff --git a/ui/features/record/src/main/java/com/example/record/RecordVM.kt b/ui/features/recorder/src/main/java/city/zouitel/recoder/viewmodel/RecorderVM.kt similarity index 80% rename from ui/features/record/src/main/java/com/example/record/RecordVM.kt rename to ui/features/recorder/src/main/java/city/zouitel/recoder/viewmodel/RecorderVM.kt index 869dd90e..d3e14726 100644 --- a/ui/features/record/src/main/java/com/example/record/RecordVM.kt +++ b/ui/features/recorder/src/main/java/city/zouitel/recoder/viewmodel/RecorderVM.kt @@ -1,4 +1,4 @@ -package com.example.record +package city.zouitel.recoder.viewmodel import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -8,10 +8,8 @@ import java.util.* import kotlin.concurrent.fixedRateTimer import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds -import kotlin.time.ExperimentalTime -@ExperimentalTime -class RecordVM : ViewModel() { +class RecorderVM : ViewModel() { private var time: Duration = Duration.ZERO private lateinit var timer: Timer @@ -31,9 +29,9 @@ class RecordVM : ViewModel() { private fun updateTimeStates() { time.toComponents { hours, minutes, seconds, _ -> - this@RecordVM.seconds = seconds.pad() - this@RecordVM.minutes = minutes.pad() - this@RecordVM.hours = hours.toInt().pad() + this@RecorderVM.seconds = seconds.pad() + this@RecorderVM.minutes = minutes.pad() + this@RecorderVM.hours = hours.toInt().pad() } } diff --git a/ui/features/recorder/src/test/java/city/zouitel/recoder/ExampleUnitTest.kt b/ui/features/recorder/src/test/java/city/zouitel/recoder/ExampleUnitTest.kt new file mode 100644 index 00000000..7c5651e5 --- /dev/null +++ b/ui/features/recorder/src/test/java/city/zouitel/recoder/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.recoder + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/reminder/build.gradle.kts b/ui/features/reminder/build.gradle.kts index f29d6f81..9d702574 100644 --- a/ui/features/reminder/build.gradle.kts +++ b/ui/features/reminder/build.gradle.kts @@ -1,19 +1,74 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.reminder" + namespace = "city.zouitel.reminder" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { - //Projects. - implementation(projects.common.ui) - implementation(projects.service.notification) - implementation(projects.data.datastore) + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + + implementation(projects.services.notifications) + implementation(projects.core.datastore) //AndroidX. - implementation(libs.androidx.constraintlayout) + implementation(libs.constraintlayout) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) } \ No newline at end of file diff --git a/ui/features/reminder/consumer-rules.pro b/ui/features/reminder/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/reminder/proguard-rules.pro b/ui/features/reminder/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/reminder/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/reminder/src/androidTest/java/city/zouitel/reminder/ExampleInstrumentedTest.kt b/ui/features/reminder/src/androidTest/java/city/zouitel/reminder/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..337a3870 --- /dev/null +++ b/ui/features/reminder/src/androidTest/java/city/zouitel/reminder/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.reminder + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.reminder.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/reminder/src/main/java/city/zouitel/reminder/di/reminderKoinModule.kt b/ui/features/reminder/src/main/java/city/zouitel/reminder/di/reminderKoinModule.kt new file mode 100644 index 00000000..b37b5f21 --- /dev/null +++ b/ui/features/reminder/src/main/java/city/zouitel/reminder/di/reminderKoinModule.kt @@ -0,0 +1,9 @@ +package city.zouitel.reminder.di + +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.dsl.module +import city.zouitel.reminder.viewmodel.ReminderVM + +val reminderKoinModule = module { + viewModelOf(::ReminderVM) +} \ No newline at end of file diff --git a/ui/features/reminder/src/main/java/com/example/reminder/RemindingNote.kt b/ui/features/reminder/src/main/java/city/zouitel/reminder/ui/RemindingNote.kt similarity index 87% rename from ui/features/reminder/src/main/java/com/example/reminder/RemindingNote.kt rename to ui/features/reminder/src/main/java/city/zouitel/reminder/ui/RemindingNote.kt index a246959f..ddc11ada 100644 --- a/ui/features/reminder/src/main/java/com/example/reminder/RemindingNote.kt +++ b/ui/features/reminder/src/main/java/city/zouitel/reminder/ui/RemindingNote.kt @@ -1,4 +1,4 @@ -package com.example.reminder +package city.zouitel.reminder.ui import android.annotation.SuppressLint import androidx.compose.foundation.layout.* @@ -15,18 +15,19 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.lifecycle.viewmodel.compose.viewModel -import com.example.common_ui.AdaptingRow -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Cons.KEY_STANDARD -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.CALENDAR_ICON -import com.example.common_ui.Icons.CLOCK_ICON -import com.example.common_ui.MaterialColors -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.common_ui.SoundEffect -import com.example.notification.viewmodel.NotificationVM +import city.zouitel.notifications.viewmodel.NotificationVM +import city.zouitel.reminder.viewmodel.ReminderVM +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.Cons.KEY_STANDARD +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.CALENDAR_ICON +import city.zouitel.systemDesign.Icons.CLOCK_ICON +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.SoundEffect +import org.koin.androidx.compose.koinViewModel @SuppressLint( "UnspecifiedImmutableFlag", @@ -34,7 +35,7 @@ import com.example.notification.viewmodel.NotificationVM ) @Composable fun RemindingNote( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), dialogState: MutableState, title: String?, message: String?, diff --git a/ui/features/reminder/src/main/java/com/example/reminder/ReminderVM.kt b/ui/features/reminder/src/main/java/city/zouitel/reminder/viewmodel/ReminderVM.kt similarity index 97% rename from ui/features/reminder/src/main/java/com/example/reminder/ReminderVM.kt rename to ui/features/reminder/src/main/java/city/zouitel/reminder/viewmodel/ReminderVM.kt index 0ebef879..43f19936 100644 --- a/ui/features/reminder/src/main/java/com/example/reminder/ReminderVM.kt +++ b/ui/features/reminder/src/main/java/city/zouitel/reminder/viewmodel/ReminderVM.kt @@ -1,4 +1,4 @@ -package com.example.reminder +package city.zouitel.reminder.viewmodel import android.app.DatePickerDialog import android.app.TimePickerDialog diff --git a/ui/features/reminder/src/test/java/city/zouitel/reminder/ExampleUnitTest.kt b/ui/features/reminder/src/test/java/city/zouitel/reminder/ExampleUnitTest.kt new file mode 100644 index 00000000..28e35365 --- /dev/null +++ b/ui/features/reminder/src/test/java/city/zouitel/reminder/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.reminder + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/tags/build.gradle.kts b/ui/features/tags/build.gradle.kts index 55ec513f..c38c7974 100644 --- a/ui/features/tags/build.gradle.kts +++ b/ui/features/tags/build.gradle.kts @@ -1,29 +1,85 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.tags" + namespace = "city.zouitel.tags" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + //Projects. - implementation(projects.common.ui) implementation(projects.domain) - implementation(projects.data.datastore) + implementation(projects.core.datastore) //AndroidX. - implementation(libs.androidx.constraintlayout) + implementation(libs.constraintlayout) //LiveData. - implementation(libs.livedatakts) + implementation(libs.lifecycle.livedata) //Lifecycle. - implementation(libs.androidx.lifecycle.runtime.compose) - implementation(libs.androidx.lifecycle.viewmodel.compose) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.lifecycle.compose.viewmodel) //Accompanist. implementation(libs.accompanist.flowlayout) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) } \ No newline at end of file diff --git a/ui/features/tags/consumer-rules.pro b/ui/features/tags/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/tags/proguard-rules.pro b/ui/features/tags/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/tags/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/tags/src/androidTest/java/city/zouitel/tags/ExampleInstrumentedTest.kt b/ui/features/tags/src/androidTest/java/city/zouitel/tags/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..c7ed2fd8 --- /dev/null +++ b/ui/features/tags/src/androidTest/java/city/zouitel/tags/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.tags + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.tags.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/tags/src/main/java/city/zouitel/tags/di/TagModule.kt b/ui/features/tags/src/main/java/city/zouitel/tags/di/TagModule.kt new file mode 100644 index 00000000..26190016 --- /dev/null +++ b/ui/features/tags/src/main/java/city/zouitel/tags/di/TagModule.kt @@ -0,0 +1,29 @@ +package city.zouitel.tags.di + +import city.zouitel.tags.mapper.NoteAndTagMapper +import city.zouitel.tags.mapper.TagMapper +import city.zouitel.tags.viewmodel.* +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.core.module.dsl.factoryOf +import org.koin.dsl.module + +//@Module +//@InstallIn(SingletonComponent::class) +object TagModule { + +// @Singleton +// @Provides + fun provideTagMapper() = TagMapper() + +// @Singleton +// @Provides + fun provideNoteAndTagMapper() = NoteAndTagMapper() +} + +val tagsKoinModule = module { + factoryOf(::TagMapper) + factoryOf(::NoteAndTagMapper) + + viewModelOf(::NoteAndTagViewModel) + viewModelOf(::TagViewModel) +} \ No newline at end of file diff --git a/ui/features/tags/src/main/java/com/example/tags/mapper/NoteAndTagMapper.kt b/ui/features/tags/src/main/java/city/zouitel/tags/mapper/NoteAndTagMapper.kt similarity index 61% rename from ui/features/tags/src/main/java/com/example/tags/mapper/NoteAndTagMapper.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/mapper/NoteAndTagMapper.kt index 4be308bc..5dec190c 100644 --- a/ui/features/tags/src/main/java/com/example/tags/mapper/NoteAndTagMapper.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/mapper/NoteAndTagMapper.kt @@ -1,8 +1,8 @@ -package com.example.tags.mapper +package city.zouitel.tags.mapper -import com.example.domain.model.NoteAndTag as OutNoteAndTag -import com.example.tags.mapper.base.Mapper -import com.example.tags.model.NoteAndTag as InNoteAndTag +import city.zouitel.domain.model.NoteAndTag as OutNoteAndTag +import city.zouitel.tags.mapper.base.Mapper +import city.zouitel.tags.model.NoteAndTag as InNoteAndTag class NoteAndTagMapper: Mapper.Base { override fun toView(data: OutNoteAndTag): InNoteAndTag = with(data) { diff --git a/ui/features/tags/src/main/java/com/example/tags/mapper/TagMapper.kt b/ui/features/tags/src/main/java/city/zouitel/tags/mapper/TagMapper.kt similarity index 59% rename from ui/features/tags/src/main/java/com/example/tags/mapper/TagMapper.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/mapper/TagMapper.kt index f2225600..7de105a9 100644 --- a/ui/features/tags/src/main/java/com/example/tags/mapper/TagMapper.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/mapper/TagMapper.kt @@ -1,8 +1,8 @@ -package com.example.tags.mapper +package city.zouitel.tags.mapper -import com.example.domain.model.Tag as OutTag -import com.example.tags.mapper.base.Mapper -import com.example.tags.model.Tag as InTag +import city.zouitel.domain.model.Tag as OutTag +import city.zouitel.tags.mapper.base.Mapper +import city.zouitel.tags.model.Tag as InTag class TagMapper: Mapper.Base { override fun toView(data: OutTag): InTag = with(data) { diff --git a/ui/features/links/src/main/java/com/example/links/mapper/base/Mapper.kt b/ui/features/tags/src/main/java/city/zouitel/tags/mapper/base/Mapper.kt similarity index 84% rename from ui/features/links/src/main/java/com/example/links/mapper/base/Mapper.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/mapper/base/Mapper.kt index 899780cd..491f7f0b 100644 --- a/ui/features/links/src/main/java/com/example/links/mapper/base/Mapper.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.links.mapper.base +package city.zouitel.tags.mapper.base sealed interface Mapper { interface Base { diff --git a/ui/features/tags/src/main/java/com/example/tags/model/NoteAndTag.kt b/ui/features/tags/src/main/java/city/zouitel/tags/model/NoteAndTag.kt similarity index 77% rename from ui/features/tags/src/main/java/com/example/tags/model/NoteAndTag.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/model/NoteAndTag.kt index 3ada0bd3..803ac407 100644 --- a/ui/features/tags/src/main/java/com/example/tags/model/NoteAndTag.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/model/NoteAndTag.kt @@ -1,4 +1,4 @@ -package com.example.tags.model +package city.zouitel.tags.model import androidx.annotation.Keep diff --git a/ui/features/tags/src/main/java/com/example/tags/model/Tag.kt b/ui/features/tags/src/main/java/city/zouitel/tags/model/Tag.kt similarity index 81% rename from ui/features/tags/src/main/java/com/example/tags/model/Tag.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/model/Tag.kt index bcdfaca1..a6711205 100644 --- a/ui/features/tags/src/main/java/com/example/tags/model/Tag.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/model/Tag.kt @@ -1,4 +1,4 @@ -package com.example.tags.model +package city.zouitel.tags.model import androidx.annotation.Keep diff --git a/ui/features/tags/src/main/java/com/example/tags/state/State.kt b/ui/features/tags/src/main/java/city/zouitel/tags/state/State.kt similarity index 69% rename from ui/features/tags/src/main/java/com/example/tags/state/State.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/state/State.kt index e660a4d4..ca5255e4 100644 --- a/ui/features/tags/src/main/java/com/example/tags/state/State.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/state/State.kt @@ -1,11 +1,11 @@ -package com.example.tags.state +package city.zouitel.tags.state import androidx.compose.runtime.Composable import androidx.compose.runtime.Stable +import androidx.compose.runtime.collectAsState import androidx.compose.runtime.remember -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.example.tags.viewmodel.NoteAndTagViewModel -import com.example.tags.viewmodel.TagViewModel +import city.zouitel.tags.viewmodel.NoteAndTagViewModel +import city.zouitel.tags.viewmodel.TagViewModel internal sealed class State { @@ -18,7 +18,7 @@ internal sealed class State { remember( viewModel, viewModel::getAllLTags - ).collectAsStateWithLifecycle().value + ).collectAsState().value } @@ -32,6 +32,6 @@ internal sealed class State { remember( viewModel, viewModel::getAllNotesAndTags - ).collectAsStateWithLifecycle().value + ).collectAsState().value } } diff --git a/ui/features/tags/src/main/java/com/example/tags/ui/Tags.kt b/ui/features/tags/src/main/java/city/zouitel/tags/ui/Tags.kt similarity index 91% rename from ui/features/tags/src/main/java/com/example/tags/ui/Tags.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/ui/Tags.kt index f7583f71..d8cec01e 100644 --- a/ui/features/tags/src/main/java/com/example/tags/ui/Tags.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/ui/Tags.kt @@ -1,4 +1,4 @@ -package com.example.tags.ui +package city.zouitel.tags.ui import android.annotation.SuppressLint import androidx.compose.foundation.background @@ -22,20 +22,20 @@ import androidx.compose.ui.text.input.KeyboardCapitalization import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.NUL -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.FULL_LABEL_ICON -import com.example.common_ui.Icons.OUTLINE_LABEL_ICON -import com.example.common_ui.MaterialColors -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE_TINT -import com.example.tags.state.State -import com.example.tags.viewmodel.NoteAndTagViewModel -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.model.Tag as InTag -import com.example.tags.model.NoteAndTag as InNoteAndTag +import city.zouitel.systemDesign.Cons.NUL +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.FULL_LABEL_ICON +import city.zouitel.systemDesign.Icons.OUTLINE_LABEL_ICON +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE_TINT +import city.zouitel.tags.state.State +import city.zouitel.tags.viewmodel.NoteAndTagViewModel +import city.zouitel.tags.viewmodel.TagViewModel import com.google.accompanist.flowlayout.FlowRow +import org.koin.androidx.compose.koinViewModel +import city.zouitel.tags.model.NoteAndTag as InNoteAndTag +import city.zouitel.tags.model.Tag as InTag @SuppressLint( "UnusedMaterial3ScaffoldPaddingParameter", @@ -48,8 +48,8 @@ import com.google.accompanist.flowlayout.FlowRow ) @Composable fun Tags( - tagViewModel: TagViewModel = hiltViewModel(), - noteAndTagViewModel: NoteAndTagViewModel = hiltViewModel(), + tagViewModel: TagViewModel = koinViewModel(), + noteAndTagViewModel: NoteAndTagViewModel = koinViewModel(), noteUid: String?, ) { val tagState = State.Tag(tagViewModel) diff --git a/ui/features/tags/src/main/java/com/example/tags/utils/HashTagLayout.kt b/ui/features/tags/src/main/java/city/zouitel/tags/utils/HashTagLayout.kt similarity index 88% rename from ui/features/tags/src/main/java/com/example/tags/utils/HashTagLayout.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/utils/HashTagLayout.kt index 2cb3a01e..566146d6 100644 --- a/ui/features/tags/src/main/java/com/example/tags/utils/HashTagLayout.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/utils/HashTagLayout.kt @@ -1,4 +1,4 @@ -package com.example.tags.ui +package city.zouitel.tags.ui import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.clickable @@ -12,17 +12,17 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.CROSS_CIRCLE_ICON -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.model.Tag as InTag +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.CROSS_CIRCLE_ICON +import city.zouitel.tags.viewmodel.TagViewModel +import city.zouitel.tags.model.Tag as InTag import com.google.accompanist.flowlayout.FlowRow +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable internal fun HashTagLayout( - tagViewModel: TagViewModel = hiltViewModel(), + tagViewModel: TagViewModel = koinViewModel(), labelDialogState: MutableState, hashTags: Collection, idState: MutableState, diff --git a/ui/features/tags/src/main/java/com/example/tags/utils/LableDialogColors.kt b/ui/features/tags/src/main/java/city/zouitel/tags/utils/LableDialogColors.kt similarity index 62% rename from ui/features/tags/src/main/java/com/example/tags/utils/LableDialogColors.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/utils/LableDialogColors.kt index bd2ef88e..e0b82b93 100644 --- a/ui/features/tags/src/main/java/com/example/tags/utils/LableDialogColors.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/utils/LableDialogColors.kt @@ -1,4 +1,4 @@ -package com.example.tags.ui +package city.zouitel.tags.ui import androidx.compose.foundation.Canvas import androidx.compose.foundation.clickable @@ -13,14 +13,14 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.drawscope.Fill import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.listOfBackgroundColors -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.model.Tag as InTag +import city.zouitel.systemDesign.listOfBackgroundColors +import city.zouitel.tags.viewmodel.TagViewModel +import org.koin.androidx.compose.koinViewModel +import city.zouitel.tags.model.Tag as InTag @Composable internal fun DialogColors( - tagViewModel: TagViewModel = hiltViewModel(), + tagViewModel: TagViewModel = koinViewModel(), dialogState:MutableState, idState: MutableState, labelState: MutableState, @@ -39,14 +39,20 @@ internal fun DialogColors( .padding(2.dp) .clickable { // colorState.value = it.toArgb() - tagViewModel.updateTag( - InTag(id = idState.value, label = labelState.value, color = it.toArgb()) - ).invokeOnCompletion { - dialogState.value = false - colorState.value = 0x0000 - labelState.value = "" - idState.value = -1L - } + tagViewModel + .updateTag( + InTag( + id = idState.value, + label = labelState.value, + color = it.toArgb() + ) + ) + .invokeOnCompletion { + dialogState.value = false + colorState.value = 0x0000 + labelState.value = "" + idState.value = -1L + } } ) { drawArc( diff --git a/ui/features/tags/src/main/java/com/example/tags/viewmodel/NoteAndTagViewModel.kt b/ui/features/tags/src/main/java/city/zouitel/tags/viewmodel/NoteAndTagViewModel.kt similarity index 77% rename from ui/features/tags/src/main/java/com/example/tags/viewmodel/NoteAndTagViewModel.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/viewmodel/NoteAndTagViewModel.kt index 3bf36c47..cf7f1c3b 100644 --- a/ui/features/tags/src/main/java/com/example/tags/viewmodel/NoteAndTagViewModel.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/viewmodel/NoteAndTagViewModel.kt @@ -1,19 +1,16 @@ -package com.example.tags.viewmodel +package city.zouitel.tags.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.model.NoteAndTag as OutNoteAndTag -import com.example.domain.usecase.NoteAndTagUseCase -import com.example.tags.mapper.NoteAndTagMapper -import com.example.tags.model.NoteAndTag as InNoteAndTag -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.NoteAndTagUseCase +import city.zouitel.tags.mapper.NoteAndTagMapper +import city.zouitel.tags.model.NoteAndTag as InNoteAndTag import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class NoteAndTagViewModel @Inject constructor( +//@HiltViewModel +class NoteAndTagViewModel /*@Inject*/ constructor( private val getAll: NoteAndTagUseCase.GetAllNotesAndTags, private val add: NoteAndTagUseCase.AddNoteAndTag, private val delete: NoteAndTagUseCase.DeleteNoteAndTag, diff --git a/ui/features/tags/src/main/java/com/example/tags/viewmodel/TagViewModel.kt b/ui/features/tags/src/main/java/city/zouitel/tags/viewmodel/TagViewModel.kt similarity index 80% rename from ui/features/tags/src/main/java/com/example/tags/viewmodel/TagViewModel.kt rename to ui/features/tags/src/main/java/city/zouitel/tags/viewmodel/TagViewModel.kt index 4d741eb7..dc5bc8fc 100644 --- a/ui/features/tags/src/main/java/com/example/tags/viewmodel/TagViewModel.kt +++ b/ui/features/tags/src/main/java/city/zouitel/tags/viewmodel/TagViewModel.kt @@ -1,22 +1,19 @@ -package com.example.tags.viewmodel +package city.zouitel.tags.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.usecase.TagUseCase -import com.example.tags.mapper.TagMapper -import com.example.tags.model.NoteAndTag -import com.example.tags.model.Tag as InTag -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.TagUseCase +import city.zouitel.tags.mapper.TagMapper +import city.zouitel.tags.model.Tag as InTag import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class TagViewModel @Inject constructor( +//@HiltViewModel +class TagViewModel /*@Inject*/ constructor( getAllTags: TagUseCase.GetAllTags, private val add: TagUseCase.AddTag, private val update: TagUseCase.UpdateTag, diff --git a/ui/features/tags/src/main/java/com/example/tags/di/TagModule.kt b/ui/features/tags/src/main/java/com/example/tags/di/TagModule.kt deleted file mode 100644 index 69ff253d..00000000 --- a/ui/features/tags/src/main/java/com/example/tags/di/TagModule.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.example.tags.di - -import com.example.tags.mapper.NoteAndTagMapper -import com.example.tags.mapper.TagMapper -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object TagModule { - - @Singleton - @Provides - fun provideTagMapper() = TagMapper() - - @Singleton - @Provides - fun provideNoteAndTagMapper() = NoteAndTagMapper() -} \ No newline at end of file diff --git a/ui/features/tags/src/test/java/city/zouitel/tags/ExampleUnitTest.kt b/ui/features/tags/src/test/java/city/zouitel/tags/ExampleUnitTest.kt new file mode 100644 index 00000000..7093634c --- /dev/null +++ b/ui/features/tags/src/test/java/city/zouitel/tags/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.tags + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/tasks/build.gradle.kts b/ui/features/tasks/build.gradle.kts index 36d1535b..661c265a 100644 --- a/ui/features/tasks/build.gradle.kts +++ b/ui/features/tasks/build.gradle.kts @@ -1,21 +1,75 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.tasks" + namespace = "city.zouitel.tasks" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { - //Projects. + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) implementation(projects.domain) - implementation(projects.common.ui) //AndroidX. - implementation(libs.androidx.constraintlayout) + implementation(libs.constraintlayout) //Swipe. implementation (libs.swipe) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) } \ No newline at end of file diff --git a/ui/features/tasks/consumer-rules.pro b/ui/features/tasks/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/tasks/proguard-rules.pro b/ui/features/tasks/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/tasks/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/tasks/src/androidTest/java/city/zouitel/tasks/ExampleInstrumentedTest.kt b/ui/features/tasks/src/androidTest/java/city/zouitel/tasks/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..ee709bd7 --- /dev/null +++ b/ui/features/tasks/src/androidTest/java/city/zouitel/tasks/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.tasks + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.tasks.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/tasks/src/main/java/com/example/tasks/TaskList.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/TaskList.kt similarity index 91% rename from ui/features/tasks/src/main/java/com/example/tasks/TaskList.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/TaskList.kt index 7c25b0fd..2d1c66b9 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/TaskList.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/TaskList.kt @@ -1,4 +1,4 @@ -package com.example.tasks +package city.zouitel.tasks import android.annotation.SuppressLint import androidx.compose.foundation.background @@ -24,17 +24,19 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Icons.DELETE_OUTLINE_ICON -import com.example.common_ui.MaterialColors -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.tasks.model.NoteAndTask as InNoteAndTask -import com.example.tasks.model.Task as InTask +import city.zouitel.systemDesign.Icons.DELETE_OUTLINE_ICON +import city.zouitel.systemDesign.MaterialColors +import city.zouitel.systemDesign.MaterialColors.Companion.ON_SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.tasks.viewmodel.NoteAndTaskViewModel +import city.zouitel.tasks.viewmodel.TaskViewModel +import city.zouitel.tasks.model.NoteAndTask as InNoteAndTask +import city.zouitel.tasks.model.Task as InTask import kotlinx.coroutines.Job import me.saket.swipe.SwipeAction import me.saket.swipe.SwipeableActionsBox import me.saket.swipe.rememberSwipeableActionsState +import org.koin.androidx.compose.koinViewModel import kotlin.random.Random private val getMatColor = MaterialColors().getMaterialColor @@ -43,8 +45,8 @@ private val getMatColor = MaterialColors().getMaterialColor @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") @Composable fun TaskList( - taskViewModel: TaskViewModel = hiltViewModel(), - noteAndTodoVM: NoteAndTaskViewModel = hiltViewModel(), + taskViewModel: TaskViewModel = koinViewModel(), + noteAndTodoVM: NoteAndTaskViewModel = koinViewModel(), noteUid:String ) { val observeTaskList = remember(taskViewModel, taskViewModel::getAllTaskList).collectAsState() diff --git a/ui/features/tasks/src/main/java/city/zouitel/tasks/di/TaskModule.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/di/TaskModule.kt new file mode 100644 index 00000000..762a723c --- /dev/null +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/di/TaskModule.kt @@ -0,0 +1,29 @@ +package city.zouitel.tasks.di + +import city.zouitel.tasks.mapper.NoteAndTaskMapper +import city.zouitel.tasks.mapper.TaskMapper +import city.zouitel.tasks.viewmodel.* +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.core.module.dsl.factoryOf +import org.koin.dsl.module + +//@Module +//@InstallIn(SingletonComponent::class) +object TaskModule { + +// @Singleton +// @Provides + fun provideTaskMapper() = TaskMapper() + +// @Singleton +// @Provides + fun provideNoteAndTaskMapper() = NoteAndTaskMapper() +} + +val tasksKoinModule = module { + factoryOf(::TaskMapper) + factoryOf(::NoteAndTaskMapper) + + viewModelOf(::TaskViewModel) + viewModelOf(::NoteAndTaskViewModel) +} \ No newline at end of file diff --git a/ui/features/tasks/src/main/java/com/example/tasks/mapper/NoteAndTaskMapper.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/NoteAndTaskMapper.kt similarity index 61% rename from ui/features/tasks/src/main/java/com/example/tasks/mapper/NoteAndTaskMapper.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/NoteAndTaskMapper.kt index ed40e631..cd7bcaa0 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/mapper/NoteAndTaskMapper.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/NoteAndTaskMapper.kt @@ -1,8 +1,8 @@ -package com.example.tasks.mapper +package city.zouitel.tasks.mapper -import com.example.domain.model.NoteAndTask as OutNoteAndTask -import com.example.tasks.mapper.base.Mapper -import com.example.tasks.model.NoteAndTask as InNoteAndTask +import city.zouitel.domain.model.NoteAndTask as OutNoteAndTask +import city.zouitel.tasks.mapper.base.Mapper +import city.zouitel.tasks.model.NoteAndTask as InNoteAndTask class NoteAndTaskMapper: Mapper.Base { diff --git a/ui/features/tasks/src/main/java/com/example/tasks/mapper/TaskMapper.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/TaskMapper.kt similarity index 59% rename from ui/features/tasks/src/main/java/com/example/tasks/mapper/TaskMapper.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/TaskMapper.kt index 58bb0e9d..26be61fa 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/mapper/TaskMapper.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/TaskMapper.kt @@ -1,8 +1,8 @@ -package com.example.tasks.mapper +package city.zouitel.tasks.mapper -import com.example.domain.model.Task as OutTask -import com.example.tasks.mapper.base.Mapper -import com.example.tasks.model.Task as InTask +import city.zouitel.domain.model.Task as OutTask +import city.zouitel.tasks.mapper.base.Mapper +import city.zouitel.tasks.model.Task as InTask class TaskMapper: Mapper.Base { override fun toView(data: OutTask): InTask = with((data)) { diff --git a/ui/features/tasks/src/main/java/com/example/tasks/mapper/base/Mapper.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/base/Mapper.kt similarity index 84% rename from ui/features/tasks/src/main/java/com/example/tasks/mapper/base/Mapper.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/base/Mapper.kt index 21ca9346..fa70445f 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/mapper/base/Mapper.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/mapper/base/Mapper.kt @@ -1,4 +1,4 @@ -package com.example.tasks.mapper.base +package city.zouitel.tasks.mapper.base sealed interface Mapper { interface Base { diff --git a/ui/features/tasks/src/main/java/com/example/tasks/model/NoteAndTask.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/model/NoteAndTask.kt similarity index 76% rename from ui/features/tasks/src/main/java/com/example/tasks/model/NoteAndTask.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/model/NoteAndTask.kt index f20b855b..f2b0fbe8 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/model/NoteAndTask.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/model/NoteAndTask.kt @@ -1,4 +1,4 @@ -package com.example.tasks.model +package city.zouitel.tasks.model import androidx.annotation.Keep diff --git a/domain/src/main/java/com/example/domain/model/Task.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/model/Task.kt similarity index 81% rename from domain/src/main/java/com/example/domain/model/Task.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/model/Task.kt index 97ca872e..c46387cf 100644 --- a/domain/src/main/java/com/example/domain/model/Task.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/model/Task.kt @@ -1,4 +1,4 @@ -package com.example.domain.model +package city.zouitel.tasks.model import androidx.annotation.Keep diff --git a/ui/features/tasks/src/main/java/com/example/tasks/NoteAndTaskViewModel.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/viewmodel/NoteAndTaskViewModel.kt similarity index 80% rename from ui/features/tasks/src/main/java/com/example/tasks/NoteAndTaskViewModel.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/viewmodel/NoteAndTaskViewModel.kt index e3ab6a1b..cf74a290 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/NoteAndTaskViewModel.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/viewmodel/NoteAndTaskViewModel.kt @@ -1,21 +1,19 @@ -package com.example.tasks +package city.zouitel.tasks.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.usecase.NoteAndTaskUseCase -import com.example.tasks.mapper.NoteAndTaskMapper -import com.example.tasks.model.NoteAndTask as InNoteAndTask -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.NoteAndTaskUseCase +import city.zouitel.tasks.mapper.NoteAndTaskMapper +import city.zouitel.tasks.model.NoteAndTask as InNoteAndTask import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class NoteAndTaskViewModel @Inject constructor( +//@HiltViewModel +class NoteAndTaskViewModel /*@Inject*/ constructor( getAll: NoteAndTaskUseCase.GetAllNotesAndTask, private val add: NoteAndTaskUseCase.AddNoteAndTask, private val delete: NoteAndTaskUseCase.DeleteNoteAndTask, diff --git a/ui/features/tasks/src/main/java/com/example/tasks/TaskViewModel.kt b/ui/features/tasks/src/main/java/city/zouitel/tasks/viewmodel/TaskViewModel.kt similarity index 81% rename from ui/features/tasks/src/main/java/com/example/tasks/TaskViewModel.kt rename to ui/features/tasks/src/main/java/city/zouitel/tasks/viewmodel/TaskViewModel.kt index a4b0882d..497de73b 100644 --- a/ui/features/tasks/src/main/java/com/example/tasks/TaskViewModel.kt +++ b/ui/features/tasks/src/main/java/city/zouitel/tasks/viewmodel/TaskViewModel.kt @@ -1,22 +1,19 @@ -package com.example.tasks +package city.zouitel.tasks.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.domain.usecase.TaskUseCase -import com.example.tasks.mapper.TaskMapper -import com.example.tasks.model.Task as InTask -import com.example.domain.model.Task as OutTask -import dagger.hilt.android.lifecycle.HiltViewModel +import city.zouitel.domain.usecase.TaskUseCase +import city.zouitel.tasks.mapper.TaskMapper +import city.zouitel.tasks.model.Task as InTask import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject -@HiltViewModel -class TaskViewModel @Inject constructor( +//@HiltViewModel +class TaskViewModel /*@Inject*/ constructor( private val getAll: TaskUseCase.GetAllTaskItems, private val add: TaskUseCase.AddTaskItem, private val update: TaskUseCase.UpdateTaskItem, diff --git a/ui/features/tasks/src/main/java/com/example/tasks/di/TaskModule.kt b/ui/features/tasks/src/main/java/com/example/tasks/di/TaskModule.kt deleted file mode 100644 index 904faffb..00000000 --- a/ui/features/tasks/src/main/java/com/example/tasks/di/TaskModule.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.example.tasks.di - -import com.example.tasks.mapper.NoteAndTaskMapper -import com.example.tasks.mapper.TaskMapper -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent -import javax.inject.Singleton - -@Module -@InstallIn(SingletonComponent::class) -object TaskModule { - - @Singleton - @Provides - fun provideTaskMapper() = TaskMapper() - - @Singleton - @Provides - fun provideNoteAndTaskMapper() = NoteAndTaskMapper() -} \ No newline at end of file diff --git a/ui/features/tasks/src/test/java/city/zouitel/tasks/ExampleUnitTest.kt b/ui/features/tasks/src/test/java/city/zouitel/tasks/ExampleUnitTest.kt new file mode 100644 index 00000000..f1460c84 --- /dev/null +++ b/ui/features/tasks/src/test/java/city/zouitel/tasks/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.tasks + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/features/widget/build.gradle.kts b/ui/features/widget/build.gradle.kts index 4ec052ca..ebf9394a 100644 --- a/ui/features/widget/build.gradle.kts +++ b/ui/features/widget/build.gradle.kts @@ -1,19 +1,75 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) } android { - namespace = "com.example.glance" + namespace = "city.zouitel.widget" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } } dependencies { + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + implementation(libs.compose.constraintlayout) + implementation(libs.compose.navigation) + + implementation(projects.ui.common.systemDesign) + //Projects. implementation(projects.domain) - implementation(projects.common.ui) //AndroidX. - implementation(libs.androidx.constraintlayout) - implementation(libs.androidx.glance) + implementation(libs.constraintlayout) + implementation(libs.glance) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.android) + implementation(libs.koin.compose) } \ No newline at end of file diff --git a/ui/features/widget/consumer-rules.pro b/ui/features/widget/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/features/widget/proguard-rules.pro b/ui/features/widget/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/features/widget/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/features/widget/src/androidTest/java/city/zouitel/widget/ExampleInstrumentedTest.kt b/ui/features/widget/src/androidTest/java/city/zouitel/widget/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..0e248905 --- /dev/null +++ b/ui/features/widget/src/androidTest/java/city/zouitel/widget/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.widget + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.widget.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/widget/src/main/AndroidManifest.xml b/ui/features/widget/src/main/AndroidManifest.xml index 610e27a0..4a8b8e3f 100644 --- a/ui/features/widget/src/main/AndroidManifest.xml +++ b/ui/features/widget/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - - \ No newline at end of file diff --git a/ui/features/widget/src/main/java/city/zouitel/widget/EntryPoint.kt b/ui/features/widget/src/main/java/city/zouitel/widget/EntryPoint.kt new file mode 100644 index 00000000..51b710c7 --- /dev/null +++ b/ui/features/widget/src/main/java/city/zouitel/widget/EntryPoint.kt @@ -0,0 +1,10 @@ +package city.zouitel.widget + +import city.zouitel.widget.ui.WidgetViewModel + +//@EntryPoint +//@InstallIn(SingletonComponent::class) +interface EntryPoint { + + fun vm(): WidgetViewModel +} \ No newline at end of file diff --git a/ui/features/widget/src/main/java/com/example/glance/WidgetReceiver.kt b/ui/features/widget/src/main/java/city/zouitel/widget/WidgetReceiver.kt similarity index 91% rename from ui/features/widget/src/main/java/com/example/glance/WidgetReceiver.kt rename to ui/features/widget/src/main/java/city/zouitel/widget/WidgetReceiver.kt index b769c35e..2e050c86 100644 --- a/ui/features/widget/src/main/java/com/example/glance/WidgetReceiver.kt +++ b/ui/features/widget/src/main/java/city/zouitel/widget/WidgetReceiver.kt @@ -1,4 +1,4 @@ -package com.example.glance +package city.zouitel.widget import android.appwidget.AppWidgetManager import android.content.ComponentName @@ -6,10 +6,9 @@ import android.content.Context import android.content.Intent import androidx.glance.appwidget.GlanceAppWidget import androidx.glance.appwidget.GlanceAppWidgetReceiver -import com.example.glance.ui.AppWidget -import dagger.hilt.android.AndroidEntryPoint +import city.zouitel.widget.ui.AppWidget -@AndroidEntryPoint +//@AndroidEntryPoint class WidgetReceiver: GlanceAppWidgetReceiver() { override val glanceAppWidget: GlanceAppWidget get() = AppWidget() diff --git a/ui/features/widget/src/main/java/city/zouitel/widget/di/WidgetModule.kt b/ui/features/widget/src/main/java/city/zouitel/widget/di/WidgetModule.kt new file mode 100644 index 00000000..484e31f0 --- /dev/null +++ b/ui/features/widget/src/main/java/city/zouitel/widget/di/WidgetModule.kt @@ -0,0 +1,16 @@ +package city.zouitel.widget.di + +import city.zouitel.domain.usecase.WidgetUseCase +import city.zouitel.widget.ui.WidgetViewModel +import org.koin.androidx.viewmodel.dsl.viewModel +import org.koin.androidx.viewmodel.dsl.viewModelOf +import org.koin.core.module.Module +import org.koin.dsl.module + +val widgetKoinModule = module { + viewModel { param -> + WidgetViewModel( + param.get() + ) + } +} \ No newline at end of file diff --git a/ui/features/widget/src/main/java/com/example/glance/ui/AppWidget.kt b/ui/features/widget/src/main/java/city/zouitel/widget/ui/AppWidget.kt similarity index 90% rename from ui/features/widget/src/main/java/com/example/glance/ui/AppWidget.kt rename to ui/features/widget/src/main/java/city/zouitel/widget/ui/AppWidget.kt index 9de25d82..1df1508d 100644 --- a/ui/features/widget/src/main/java/com/example/glance/ui/AppWidget.kt +++ b/ui/features/widget/src/main/java/city/zouitel/widget/ui/AppWidget.kt @@ -1,4 +1,4 @@ -package com.example.glance.ui +package city.zouitel.widget.ui import android.content.Context import androidx.compose.runtime.* @@ -13,20 +13,19 @@ import androidx.glance.appwidget.lazy.items import androidx.glance.layout.* import androidx.glance.text.Text import androidx.glance.unit.ColorProvider -import com.example.glance.EntryPoint -import dagger.hilt.EntryPoints +import org.koin.androidx.compose.koinViewModel class AppWidget: GlanceAppWidget() { @Composable - fun Content() { - + override fun Content() { + val viewModel = koinViewModel() val ctx = LocalContext.current.applicationContext - val viewModel = EntryPoints.get( - ctx, - EntryPoint::class.java - ).vm() +// val viewModel = EntryPoints.get( +// ctx, +// EntryPoint::class.java +// ).vm() WidgetListNotes(ctx = ctx, widgetViewModel = viewModel) } @@ -97,8 +96,4 @@ class AppWidget: GlanceAppWidget() { } } } - - override suspend fun provideGlance(context: Context, id: GlanceId) { - TODO("Not yet implemented") - } } \ No newline at end of file diff --git a/ui/features/widget/src/main/java/com/example/glance/ui/WidgetViewModel.kt b/ui/features/widget/src/main/java/city/zouitel/widget/ui/WidgetViewModel.kt similarity index 74% rename from ui/features/widget/src/main/java/com/example/glance/ui/WidgetViewModel.kt rename to ui/features/widget/src/main/java/city/zouitel/widget/ui/WidgetViewModel.kt index 489c692f..a42f46ac 100644 --- a/ui/features/widget/src/main/java/com/example/glance/ui/WidgetViewModel.kt +++ b/ui/features/widget/src/main/java/city/zouitel/widget/ui/WidgetViewModel.kt @@ -1,17 +1,17 @@ -package com.example.glance.ui +package city.zouitel.widget.ui import android.content.Context import android.graphics.Bitmap import android.graphics.BitmapFactory import androidx.annotation.WorkerThread -import com.example.common_ui.Cons -import com.example.domain.usecase.WidgetUseCase +import androidx.lifecycle.ViewModel +import city.zouitel.domain.usecase.WidgetUseCase +import city.zouitel.systemDesign.Cons import java.io.File -import javax.inject.Inject -class WidgetViewModel @Inject constructor( +class WidgetViewModel /*@Inject*/ constructor( private val getAll: WidgetUseCase.GetAllWidgetMainEntityById -) { +): ViewModel() { @WorkerThread fun getAllEntities() = getAll diff --git a/ui/features/widget/src/main/java/com/example/glance/utils.kt b/ui/features/widget/src/main/java/city/zouitel/widget/utils.kt similarity index 76% rename from ui/features/widget/src/main/java/com/example/glance/utils.kt rename to ui/features/widget/src/main/java/city/zouitel/widget/utils.kt index 2a50f7f2..f77b5d0b 100644 --- a/ui/features/widget/src/main/java/com/example/glance/utils.kt +++ b/ui/features/widget/src/main/java/city/zouitel/widget/utils.kt @@ -1,4 +1,4 @@ -package com.example.glance +package city.zouitel.widget import androidx.core.net.toUri diff --git a/ui/features/widget/src/main/java/com/example/glance/EntryPoint.kt b/ui/features/widget/src/main/java/com/example/glance/EntryPoint.kt deleted file mode 100644 index 4732bb68..00000000 --- a/ui/features/widget/src/main/java/com/example/glance/EntryPoint.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.glance - -import com.example.glance.ui.WidgetViewModel -import dagger.hilt.InstallIn -import dagger.hilt.EntryPoint -import dagger.hilt.components.SingletonComponent - - -@EntryPoint -@InstallIn(SingletonComponent::class) -interface EntryPoint { - - fun vm(): WidgetViewModel -} \ No newline at end of file diff --git a/ui/features/widget/src/main/java/com/example/glance/di/WidgetModule.kt b/ui/features/widget/src/main/java/com/example/glance/di/WidgetModule.kt deleted file mode 100644 index 84845e47..00000000 --- a/ui/features/widget/src/main/java/com/example/glance/di/WidgetModule.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.example.glance.di - -import dagger.Module -import dagger.hilt.InstallIn -import dagger.hilt.components.SingletonComponent - -@Module -@InstallIn(SingletonComponent::class) -object WidgetModule { - -} \ No newline at end of file diff --git a/ui/features/widget/src/test/java/city/zouitel/widget/ExampleUnitTest.kt b/ui/features/widget/src/test/java/city/zouitel/widget/ExampleUnitTest.kt new file mode 100644 index 00000000..efd52c14 --- /dev/null +++ b/ui/features/widget/src/test/java/city/zouitel/widget/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.widget + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/ui/graph/.gitignore b/ui/graph/.gitignore deleted file mode 100644 index 42afabfd..00000000 --- a/ui/graph/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/ui/graph/build.gradle.kts b/ui/graph/build.gradle.kts deleted file mode 100644 index 152f05bf..00000000 --- a/ui/graph/build.gradle.kts +++ /dev/null @@ -1,65 +0,0 @@ -plugins { - id("city.android-lib") - id("city.compose-lib") - id("city.dagger-hilt") -} - -android { - namespace = "com.example.graph" -} - -dependencies { - //Projects. - implementation(projects.data.datastore) - implementation(projects.data.local) - implementation(projects.domain) - implementation(projects.service.notification) - implementation(projects.common.ui) - implementation(projects.ui.features.widget) - implementation(projects.ui.features.tags) - implementation(projects.ui.features.camera) - implementation(projects.ui.features.record) - implementation(projects.ui.features.tasks) - implementation(projects.ui.features.mediaPlayer) - implementation(projects.ui.features.reminder) - implementation(projects.ui.features.note) - implementation(projects.ui.features.quickNote) - implementation(projects.ui.features.links) - - //AndroidX. - implementation(libs.androidx.constraintlayout) - - //LiveData. - implementation(libs.livedatakts) - - //Accompanist. - implementation(libs.accompanist.permissions) - implementation(libs.accompanist.pager) - implementation(libs.accompanist.pager.indicators) - implementation(libs.accompanist.systemuicontroller) - implementation(libs.accompanist.navigation.animation) - implementation(libs.accompanist.swiperefresh) - implementation(libs.accompanist.flowlayout) - implementation(libs.accompanist.insets) - - //Sketchbook. - implementation (libs.sketchbook) - //Balloon. - implementation ("com.github.skydoves:balloon-compose:1.5.3") - - //Swipe. - implementation (libs.swipe) - - //Coil. - implementation(libs.coil.compose) - implementation(libs.coil.svg) - - //License. - implementation (libs.aboutlibraries.comp) - - //Baha-UrlPreview. - implementation(libs.url.preview) - - //Beetle. - implementation(libs.beetle) -} \ No newline at end of file diff --git a/ui/graph/src/main/AndroidManifest.xml b/ui/graph/src/main/AndroidManifest.xml deleted file mode 100644 index a5918e68..00000000 --- a/ui/graph/src/main/AndroidManifest.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/ui/graph/src/main/java/com/example/graph/CONS.kt b/ui/graph/src/main/java/com/example/graph/CONS.kt deleted file mode 100644 index 8032351d..00000000 --- a/ui/graph/src/main/java/com/example/graph/CONS.kt +++ /dev/null @@ -1,10 +0,0 @@ -package com.example.graph - -object CONS { - - const val ADD_ROUTE = "add_screen" - const val IMAGES = "images_folder" - const val AUDIOS = "records_folder" - const val NUL = "null" - -} diff --git a/ui/graph/src/main/java/com/example/graph/getMaterialColor.kt b/ui/graph/src/main/java/com/example/graph/getMaterialColor.kt deleted file mode 100644 index e94246aa..00000000 --- a/ui/graph/src/main/java/com/example/graph/getMaterialColor.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.example.graph - -import com.example.common_ui.MaterialColors - -internal val getMaterialColor = MaterialColors().getMaterialColor \ No newline at end of file diff --git a/ui/graph/src/main/java/com/example/graph/sound.kt b/ui/graph/src/main/java/com/example/graph/sound.kt deleted file mode 100644 index 87f3360a..00000000 --- a/ui/graph/src/main/java/com/example/graph/sound.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.example.graph - -import com.example.common_ui.SoundEffect - -val sound = SoundEffect() \ No newline at end of file diff --git a/ui/features/quick-note/.gitignore b/ui/navigation/.gitignore similarity index 100% rename from ui/features/quick-note/.gitignore rename to ui/navigation/.gitignore diff --git a/ui/navigation/build.gradle.kts b/ui/navigation/build.gradle.kts new file mode 100644 index 00000000..f81930d2 --- /dev/null +++ b/ui/navigation/build.gradle.kts @@ -0,0 +1,117 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + alias(libs.plugins.androidLibrary) + alias(libs.plugins.kotlinAndroid) +} + +android { + namespace = "city.zouitel.navigation" + compileSdk = 34 + + defaultConfig { + minSdk = 26 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = "1.8" + } + buildFeatures { + compose = true + } + composeOptions { + kotlinCompilerExtensionVersion = "1.5.4" + } +} + +dependencies { + + implementation(libs.core.ktx) + implementation(libs.lifecycle.runtime.ktx) + implementation(libs.activity.compose) + implementation(platform(libs.compose.bom)) + implementation(libs.ui) + implementation(libs.ui.graphics) + implementation(libs.ui.tooling.preview) + implementation(libs.material3) + + implementation(libs.core.ktx) + implementation(libs.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) + + //Projects. + implementation(projects.core.datastore) + implementation(projects.core.database) + implementation(projects.domain) + implementation(projects.services.notifications) + implementation(projects.ui.common.systemDesign) + api(projects.ui.features.tags) + api(projects.ui.features.camera) + api(projects.ui.features.recorder) + api(projects.ui.features.tasks) + api(projects.ui.features.audios) + api(projects.ui.features.reminder) + api(projects.ui.features.note) + api(projects.ui.features.quickNote) + api(projects.ui.features.links) + api(projects.ui.features.widget) + + //AndroidX. + implementation(libs.constraintlayout) + + //LiveData. + implementation(libs.lifecycle.livedata) + + //Accompanist. + implementation(libs.accompanist.permissions) + implementation(libs.accompanist.pager) + implementation(libs.accompanist.pager.indicators) + implementation(libs.accompanist.systemuicontroller) + implementation(libs.accompanist.navigation.animation) + implementation(libs.accompanist.swiperefresh) + implementation(libs.accompanist.flowlayout) + implementation(libs.accompanist.insets) + + //Sketchbook. + implementation (libs.sketchbook) + //Balloon. + implementation ("com.github.skydoves:balloon-compose:1.5.3") + + //Swipe. + implementation (libs.swipe) + + //Coil. + implementation(libs.coil.compose) + implementation(libs.coil.svg) + + //License. + implementation (libs.licenses) + + //Baha-UrlPreview. + implementation(libs.url.preview) + + //Beetle. + implementation(libs.beetle) + + //Koin. + implementation(libs.koin.core) + implementation(libs.koin.compose) +} \ No newline at end of file diff --git a/ui/navigation/consumer-rules.pro b/ui/navigation/consumer-rules.pro new file mode 100644 index 00000000..e69de29b diff --git a/ui/navigation/proguard-rules.pro b/ui/navigation/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/ui/navigation/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/ui/navigation/src/androidTest/java/city/zouitel/navigation/ExampleInstrumentedTest.kt b/ui/navigation/src/androidTest/java/city/zouitel/navigation/ExampleInstrumentedTest.kt new file mode 100644 index 00000000..27acf13f --- /dev/null +++ b/ui/navigation/src/androidTest/java/city/zouitel/navigation/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package city.zouitel.navigation + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("city.zouitel.navigation.test", appContext.packageName) + } +} \ No newline at end of file diff --git a/ui/features/quick-note/src/main/AndroidManifest.xml b/ui/navigation/src/main/AndroidManifest.xml similarity index 60% rename from ui/features/quick-note/src/main/AndroidManifest.xml rename to ui/navigation/src/main/AndroidManifest.xml index 74b7379f..972f3b97 100644 --- a/ui/features/quick-note/src/main/AndroidManifest.xml +++ b/ui/navigation/src/main/AndroidManifest.xml @@ -1,3 +1,4 @@ + \ No newline at end of file diff --git a/ui/graph/src/main/java/com/example/graph/Graph.kt b/ui/navigation/src/main/java/city/zouitel/navigation/Graph.kt similarity index 81% rename from ui/graph/src/main/java/com/example/graph/Graph.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/Graph.kt index fe6df0e6..8725bf59 100644 --- a/ui/graph/src/main/java/com/example/graph/Graph.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/Graph.kt @@ -1,4 +1,4 @@ -package com.example.graph +package city.zouitel.navigation import androidx.compose.runtime.Composable import androidx.navigation.NavHostController @@ -6,32 +6,32 @@ import androidx.navigation.NavType import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.navArgument -import com.example.common_ui.Cons.ADD_ROUTE -import com.example.common_ui.Cons.AUDIO_DURATION -import com.example.common_ui.Cons.CAMERA_ROUTE -import com.example.common_ui.Cons.COLOR -import com.example.common_ui.Cons.DESCRIPTION -import com.example.common_ui.Cons.DRAW_ROUTE -import com.example.common_ui.Cons.EDIT_ROUTE -import com.example.common_ui.Cons.HOME_ROUTE -import com.example.common_ui.Cons.NON -import com.example.common_ui.Cons.PRIORITY -import com.example.common_ui.Cons.REMINDING -import com.example.common_ui.Cons.SETTING_ROUTE -import com.example.common_ui.Cons.TEXT_COLOR -import com.example.common_ui.Cons.TITLE -import com.example.common_ui.Cons.TRASH_ROUTE -import com.example.common_ui.Cons.UID -import com.example.graph.about_screen.AppAbout -import com.example.graph.draw_screen.DrawingNote -import com.example.graph.home_screen.NoteHome -import com.example.graph.settings_screen.Licenses -import com.example.graph.settings_screen.Settings -import com.example.graph.trash_screen.TrashScreen -import com.example.note.ui.add_screen.NoteAdd -import com.example.note.ui.edit_screen.NoteEdit -import com.example.tags.ui.Tags -import com.example.tasks.TaskList +import city.zouitel.navigation.about_screen.AppAbout +import city.zouitel.navigation.draw_screen.DrawingNote +import city.zouitel.navigation.home_screen.NoteHome +import city.zouitel.navigation.settings_screen.Licenses +import city.zouitel.navigation.settings_screen.Settings +import city.zouitel.navigation.trash_screen.TrashScreen +import city.zouitel.note.ui.add_screen.NoteAdd +import city.zouitel.note.ui.edit_screen.NoteEdit +import city.zouitel.systemDesign.Cons.ADD_ROUTE +import city.zouitel.systemDesign.Cons.AUDIO_DURATION +import city.zouitel.systemDesign.Cons.CAMERA_ROUTE +import city.zouitel.systemDesign.Cons.COLOR +import city.zouitel.systemDesign.Cons.DESCRIPTION +import city.zouitel.systemDesign.Cons.DRAW_ROUTE +import city.zouitel.systemDesign.Cons.EDIT_ROUTE +import city.zouitel.systemDesign.Cons.HOME_ROUTE +import city.zouitel.systemDesign.Cons.NON +import city.zouitel.systemDesign.Cons.PRIORITY +import city.zouitel.systemDesign.Cons.REMINDING +import city.zouitel.systemDesign.Cons.SETTING_ROUTE +import city.zouitel.systemDesign.Cons.TEXT_COLOR +import city.zouitel.systemDesign.Cons.TITLE +import city.zouitel.systemDesign.Cons.TRASH_ROUTE +import city.zouitel.systemDesign.Cons.UID +import city.zouitel.tags.ui.Tags +import city.zouitel.tasks.TaskList @Composable fun Graph( diff --git a/common/ui/src/main/java/com/example/common_ui/ImageDisplay.kt b/ui/navigation/src/main/java/city/zouitel/navigation/ImageDisplay.kt similarity index 96% rename from common/ui/src/main/java/com/example/common_ui/ImageDisplay.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/ImageDisplay.kt index cdc91f7b..b307d362 100644 --- a/common/ui/src/main/java/com/example/common_ui/ImageDisplay.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/ImageDisplay.kt @@ -1,4 +1,4 @@ -package com.example.common_ui +package city.zouitel.navigation import androidx.compose.foundation.Image import androidx.compose.foundation.layout.* diff --git a/ui/graph/src/main/java/com/example/graph/NoteTextField.kt b/ui/navigation/src/main/java/city/zouitel/navigation/NoteTextField.kt similarity index 94% rename from ui/graph/src/main/java/com/example/graph/NoteTextField.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/NoteTextField.kt index f938a8f1..ff61760d 100644 --- a/ui/graph/src/main/java/com/example/graph/NoteTextField.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/NoteTextField.kt @@ -1,4 +1,4 @@ -package com.example.graph +package city.zouitel.navigation import android.net.Uri import android.view.OnReceiveContentListener @@ -12,12 +12,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.viewinterop.AndroidView import androidx.core.view.inputmethod.EditorInfoCompat import androidx.core.view.inputmethod.InputConnectionCompat -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.note.DataViewModel +import city.zouitel.note.DataViewModel +import org.koin.androidx.compose.koinViewModel @Composable fun NoteTextField( - dataViewModel: DataViewModel = hiltViewModel(), + dataViewModel: DataViewModel = koinViewModel(), uid: String, txtHint: String = "", txtSize: Float = 20f, diff --git a/ui/graph/src/main/java/com/example/graph/about_screen/AboutDescription.kt b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutDescription.kt similarity index 75% rename from ui/graph/src/main/java/com/example/graph/about_screen/AboutDescription.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutDescription.kt index 1c086452..241d208e 100644 --- a/ui/graph/src/main/java/com/example/graph/about_screen/AboutDescription.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutDescription.kt @@ -1,4 +1,4 @@ -package com.example.graph.about_screen +package city.zouitel.navigation.about_screen import androidx.compose.foundation.layout.padding import androidx.compose.material.Text @@ -6,10 +6,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.example.common_ui.Cons.APP_NAME -import com.example.common_ui.Cons.APP_VERSION -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.graph.getMaterialColor +import city.zouitel.systemDesign.Cons.APP_NAME +import city.zouitel.systemDesign.Cons.APP_VERSION +import city.zouitel.systemDesign.MaterialColors.Companion.ON_SURFACE +import city.zouitel.navigation.getMaterialColor @Composable fun AboutDescription() { diff --git a/ui/graph/src/main/java/com/example/graph/about_screen/AboutLabel.kt b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutLabel.kt similarity index 85% rename from ui/graph/src/main/java/com/example/graph/about_screen/AboutLabel.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutLabel.kt index db67dc0d..5d125335 100644 --- a/ui/graph/src/main/java/com/example/graph/about_screen/AboutLabel.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutLabel.kt @@ -1,4 +1,4 @@ -package com.example.graph.about_screen +package city.zouitel.navigation.about_screen import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth @@ -13,11 +13,9 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp +import city.zouitel.navigation.R +import city.zouitel.systemDesign.Cons.APP_NAME import coil.compose.AsyncImage -import com.example.common_ui.Cons.APP_NAME -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.common_ui.R -import com.example.graph.getMaterialColor @Composable diff --git a/ui/graph/src/main/java/com/example/graph/about_screen/AboutSources.kt b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutSources.kt similarity index 79% rename from ui/graph/src/main/java/com/example/graph/about_screen/AboutSources.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutSources.kt index 987f0665..72d5481c 100644 --- a/ui/graph/src/main/java/com/example/graph/about_screen/AboutSources.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AboutSources.kt @@ -1,4 +1,4 @@ -package com.example.graph.about_screen +package city.zouitel.navigation.about_screen import androidx.compose.foundation.layout.* import androidx.compose.material3.Button @@ -15,18 +15,18 @@ import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.GITHUB_ICON -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.graph.getMaterialColor -import com.example.graph.sound +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.GITHUB_ICON +import city.zouitel.systemDesign.MaterialColors.Companion.ON_SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.navigation.getMaterialColor +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel @Composable fun AboutSources( - dataStoreVM: DataStoreVM = hiltViewModel() + dataStoreVM: DataStoreVM = koinViewModel() ) { val uri = LocalUriHandler.current diff --git a/ui/graph/src/main/java/com/example/graph/about_screen/AppAbout.kt b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AppAbout.kt similarity index 87% rename from ui/graph/src/main/java/com/example/graph/about_screen/AppAbout.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AppAbout.kt index 3fd9ee1d..c4ed15a3 100644 --- a/ui/graph/src/main/java/com/example/graph/about_screen/AppAbout.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/about_screen/AppAbout.kt @@ -1,4 +1,4 @@ -package com.example.graph.about_screen +package city.zouitel.navigation.about_screen import android.annotation.SuppressLint import androidx.compose.foundation.layout.* @@ -10,10 +10,10 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.navigation.NavController -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.graph.getMaterialColor -import com.example.graph.navigation_drawer.NavigationDrawer -import com.example.graph.top_action_bar.CustomTopAppBar +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.navigation.getMaterialColor +import city.zouitel.navigation.navigation_drawer.NavigationDrawer +import city.zouitel.navigation.top_action_bar.CustomTopAppBar @SuppressLint("UnusedMaterialScaffoldPaddingParameter") diff --git a/ui/graph/src/main/java/com/example/graph/codeUrl.kt b/ui/navigation/src/main/java/city/zouitel/navigation/codeUrl.kt similarity index 88% rename from ui/graph/src/main/java/com/example/graph/codeUrl.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/codeUrl.kt index c2eeea76..4ac0ea8d 100644 --- a/ui/graph/src/main/java/com/example/graph/codeUrl.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/codeUrl.kt @@ -1,4 +1,4 @@ -package com.example.graph +package city.zouitel.navigation // val codeUrl: (String?) -> String? diff --git a/ui/graph/src/main/java/com/example/graph/copyNote.kt b/ui/navigation/src/main/java/city/zouitel/navigation/copyNote.kt similarity index 69% rename from ui/graph/src/main/java/com/example/graph/copyNote.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/copyNote.kt index 420fb687..c1965dca 100644 --- a/ui/graph/src/main/java/com/example/graph/copyNote.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/copyNote.kt @@ -1,12 +1,12 @@ -package com.example.graph +package city.zouitel.navigation import android.content.Context -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Cons.MP3 -import com.example.note.DataViewModel -import com.example.note.model.Data +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.systemDesign.Cons.MP3 import java.io.File import java.util.* diff --git a/ui/navigation/src/main/java/city/zouitel/navigation/di/modulesPackage.kt b/ui/navigation/src/main/java/city/zouitel/navigation/di/modulesPackage.kt new file mode 100644 index 00000000..16f4ca58 --- /dev/null +++ b/ui/navigation/src/main/java/city/zouitel/navigation/di/modulesPackage.kt @@ -0,0 +1,17 @@ +package city.zouitel.navigation.di + +import city.zouitel.audios.di.exoPlayerKoinModule +import city.zouitel.links.di.linksKoinModule +import city.zouitel.note.di.noteKoinModule +import city.zouitel.notifications.di.notificationKoinModule +import city.zouitel.quicknote.di.quickNoteKoinModule +import city.zouitel.recoder.di.recorderKoinModule +import city.zouitel.reminder.di.reminderKoinModule +import city.zouitel.tags.di.tagsKoinModule +import city.zouitel.tasks.di.tasksKoinModule +import city.zouitel.widget.di.widgetKoinModule +import org.koin.dsl.module + +val featuresKoinModule = module { + +} \ No newline at end of file diff --git a/ui/graph/src/main/java/com/example/graph/draw_screen/DrawingNote.kt b/ui/navigation/src/main/java/city/zouitel/navigation/draw_screen/DrawingNote.kt similarity index 90% rename from ui/graph/src/main/java/com/example/graph/draw_screen/DrawingNote.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/draw_screen/DrawingNote.kt index 4de68548..90382075 100644 --- a/ui/graph/src/main/java/com/example/graph/draw_screen/DrawingNote.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/draw_screen/DrawingNote.kt @@ -1,4 +1,4 @@ -package com.example.graph.draw_screen +package city.zouitel.navigation.draw_screen import android.annotation.SuppressLint import android.graphics.Bitmap @@ -22,34 +22,34 @@ import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.AdaptingRow -import com.example.common_ui.Cons.ADD_ROUTE -import com.example.common_ui.Cons.EDIT_ROUTE -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Icons.CIRCLE_ICON -import com.example.common_ui.Icons.DISK_ICON -import com.example.common_ui.Icons.ERASER_BLACK_ICON -import com.example.common_ui.Icons.REDO_ICON -import com.example.common_ui.Icons.UNDO_ICON -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.common_ui.MaterialColors.Companion.OUTLINE -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.graph.getMaterialColor -import com.example.note.DataViewModel +import city.zouitel.note.DataViewModel +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Cons.ADD_ROUTE +import city.zouitel.systemDesign.Cons.EDIT_ROUTE +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.systemDesign.Icons.CIRCLE_ICON +import city.zouitel.systemDesign.Icons.DISK_ICON +import city.zouitel.systemDesign.Icons.ERASER_BLACK_ICON +import city.zouitel.systemDesign.Icons.REDO_ICON +import city.zouitel.systemDesign.Icons.UNDO_ICON +import city.zouitel.systemDesign.MaterialColors.Companion.ON_SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.OUTLINE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.navigation.getMaterialColor import io.getstream.sketchbook.ColorPickerDialog import io.getstream.sketchbook.PaintColorPalette import io.getstream.sketchbook.Sketchbook import io.getstream.sketchbook.rememberSketchbookController +import org.koin.androidx.compose.koinViewModel import java.io.File @SuppressLint("RememberReturnType") @OptIn(ExperimentalMaterialApi::class) @Composable fun DrawingNote( - viewModule: DataViewModel = hiltViewModel(), + viewModule: DataViewModel = koinViewModel(), navController: NavController, title: String, description: String, @@ -91,7 +91,7 @@ fun DrawingNote( ) { // Icon( - painterResource(UNDO_ICON), + painter = painterResource(id = UNDO_ICON), null, modifier = Modifier .size(20.dp) diff --git a/ui/navigation/src/main/java/city/zouitel/navigation/getMaterialColor.kt b/ui/navigation/src/main/java/city/zouitel/navigation/getMaterialColor.kt new file mode 100644 index 00000000..15d671af --- /dev/null +++ b/ui/navigation/src/main/java/city/zouitel/navigation/getMaterialColor.kt @@ -0,0 +1,5 @@ +package city.zouitel.navigation + +import city.zouitel.systemDesign.MaterialColors + +internal val getMaterialColor = MaterialColors().getMaterialColor \ No newline at end of file diff --git a/ui/graph/src/main/java/com/example/graph/home_screen/NoteHome.kt b/ui/navigation/src/main/java/city/zouitel/navigation/home_screen/NoteHome.kt similarity index 86% rename from ui/graph/src/main/java/com/example/graph/home_screen/NoteHome.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/home_screen/NoteHome.kt index a0d62fe4..49cb3480 100644 --- a/ui/graph/src/main/java/com/example/graph/home_screen/NoteHome.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/home_screen/NoteHome.kt @@ -1,4 +1,4 @@ -package com.example.graph.home_screen +package city.zouitel.navigation.home_screen import android.annotation.SuppressLint import androidx.compose.foundation.layout.* @@ -18,35 +18,35 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.Cons.ADD_ROUTE -import com.example.common_ui.Cons.HOME_ROUTE -import com.example.common_ui.Cons.KEY_STANDARD -import com.example.common_ui.Cons.NUL -import com.example.common_ui.Cons.BY_NAME -import com.example.common_ui.Cons.ORDER_BY_NEWEST -import com.example.common_ui.Cons.ORDER_BY_OLDEST -import com.example.common_ui.Cons.ORDER_BY_PRIORITY -import com.example.common_ui.Cons.ORDER_BY_REMINDER -import com.example.common_ui.Cons.SEARCH_IN_LOCAL -import com.example.common_ui.Icons.PLUS_ICON -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE_VARIANT -import com.example.common_ui.VerticalGrid -import com.example.graph.sound -import com.example.common_ui.DataStoreVM -import com.example.graph.getMaterialColor -import com.example.graph.navigation_drawer.NavigationDrawer -import com.example.graph.navigation_drawer.Screens -import com.example.graph.note_card.NoteCard -import com.example.graph.top_action_bar.NoteTopAppBar -import com.example.graph.top_action_bar.selection_bars.HomeSelectionTopAppBar -import com.example.note.NoteViewModel -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.note.model.Note -import com.example.tags.model.Tag +import city.zouitel.note.DataViewModel +import city.zouitel.note.NoteViewModel +import city.zouitel.note.model.Data +import city.zouitel.note.model.Note +import city.zouitel.systemDesign.Cons.ADD_ROUTE +import city.zouitel.systemDesign.Cons.BY_NAME +import city.zouitel.systemDesign.Cons.HOME_ROUTE +import city.zouitel.systemDesign.Cons.KEY_STANDARD +import city.zouitel.systemDesign.Cons.NUL +import city.zouitel.systemDesign.Cons.ORDER_BY_NEWEST +import city.zouitel.systemDesign.Cons.ORDER_BY_OLDEST +import city.zouitel.systemDesign.Cons.ORDER_BY_PRIORITY +import city.zouitel.systemDesign.Cons.ORDER_BY_REMINDER +import city.zouitel.systemDesign.Cons.SEARCH_IN_LOCAL +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.PLUS_ICON +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE_VARIANT +import city.zouitel.systemDesign.VerticalGrid +import city.zouitel.tags.model.Tag +import city.zouitel.navigation.getMaterialColor +import city.zouitel.navigation.navigation_drawer.NavigationDrawer +import city.zouitel.navigation.navigation_drawer.Screens +import city.zouitel.navigation.note_card.NoteCard +import city.zouitel.navigation.sound +import city.zouitel.navigation.top_action_bar.NoteTopAppBar +import city.zouitel.navigation.top_action_bar.selection_bars.HomeSelectionTopAppBar +import org.koin.androidx.compose.koinViewModel import java.util.* @SuppressLint( @@ -60,9 +60,9 @@ import java.util.* ) @Composable fun NoteHome( - dataViewModel: DataViewModel = hiltViewModel(), - entityVM: NoteViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), + dataViewModel: DataViewModel = koinViewModel(), + entityVM: NoteViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), navController: NavController, ) { val ctx = LocalContext.current diff --git a/ui/graph/src/main/java/com/example/graph/home_screen/UndoSnackbar.kt b/ui/navigation/src/main/java/city/zouitel/navigation/home_screen/UndoSnackbar.kt similarity index 87% rename from ui/graph/src/main/java/com/example/graph/home_screen/UndoSnackbar.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/home_screen/UndoSnackbar.kt index 0b7dfde4..399adf8d 100644 --- a/ui/graph/src/main/java/com/example/graph/home_screen/UndoSnackbar.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/home_screen/UndoSnackbar.kt @@ -1,13 +1,13 @@ -package com.example.graph.home_screen +package city.zouitel.navigation.home_screen import androidx.compose.material.ScaffoldState import androidx.compose.material.SnackbarResult import androidx.compose.runtime.State -import com.example.common_ui.Cons.TRASH_MESSAGE -import com.example.common_ui.Cons.UNDO -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.note.model.Note +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.note.model.Note +import city.zouitel.systemDesign.Cons.TRASH_MESSAGE +import city.zouitel.systemDesign.Cons.UNDO import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/ui/graph/src/main/java/com/example/graph/intentHandler.kt b/ui/navigation/src/main/java/city/zouitel/navigation/intentHandler.kt similarity index 91% rename from ui/graph/src/main/java/com/example/graph/intentHandler.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/intentHandler.kt index a3d83ed3..cc6e068c 100644 --- a/ui/graph/src/main/java/com/example/graph/intentHandler.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/intentHandler.kt @@ -1,11 +1,11 @@ -package com.example.graph +package city.zouitel.navigation import android.content.Context import android.content.Intent import android.widget.Toast import androidx.navigation.NavHostController -import com.example.graph.CONS.ADD_ROUTE -import com.example.graph.CONS.NUL +import city.zouitel.systemDesign.Cons.ADD_ROUTE +import city.zouitel.systemDesign.Cons.NUL import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import java.util.* diff --git a/ui/graph/src/main/java/com/example/graph/navigation_drawer/NavigationDrawer.kt b/ui/navigation/src/main/java/city/zouitel/navigation/navigation_drawer/NavigationDrawer.kt similarity index 85% rename from ui/graph/src/main/java/com/example/graph/navigation_drawer/NavigationDrawer.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/navigation_drawer/NavigationDrawer.kt index 9816a0cb..0f32b3fb 100644 --- a/ui/graph/src/main/java/com/example/graph/navigation_drawer/NavigationDrawer.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/navigation_drawer/NavigationDrawer.kt @@ -1,4 +1,4 @@ -package com.example.graph.navigation_drawer +package city.zouitel.navigation.navigation_drawer import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -15,33 +15,33 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.Cons.APP_NAME -import com.example.common_ui.Cons.HOME_ROUTE -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Cons.SETTING_ROUTE -import com.example.common_ui.Cons.TRASH_ROUTE -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.COMMENT_EXCLAMATION -import com.example.common_ui.Icons.HOME_ICON -import com.example.common_ui.Icons.INTERROGATION_ICON -import com.example.common_ui.Icons.SETTINGS_ICON -import com.example.common_ui.Icons.SHARE_ICON -import com.example.common_ui.Icons.TRASH_ICON -import com.example.common_ui.sharApp -import com.example.graph.sound -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.model.Tag +import city.zouitel.systemDesign.Cons.APP_NAME +import city.zouitel.systemDesign.Cons.HOME_ROUTE +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.Cons.SETTING_ROUTE +import city.zouitel.systemDesign.Cons.TRASH_ROUTE +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.COMMENT_EXCLAMATION +import city.zouitel.systemDesign.Icons.HOME_ICON +import city.zouitel.systemDesign.Icons.INTERROGATION_ICON +import city.zouitel.systemDesign.Icons.SETTINGS_ICON +import city.zouitel.systemDesign.Icons.SHARE_ICON +import city.zouitel.systemDesign.Icons.TRASH_ICON +import city.zouitel.systemDesign.sharApp +import city.zouitel.tags.viewmodel.TagViewModel +import city.zouitel.tags.model.Tag +import city.zouitel.navigation.sound import com.karacca.beetle.Beetle import kotlinx.coroutines.launch +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable fun NavigationDrawer( - tagViewModel: TagViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), + tagViewModel: TagViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), drawerState: DrawerState, navController: NavController, searchTitle: MutableState?, @@ -76,7 +76,7 @@ fun NavigationDrawer( selected = false, onClick = { navController.navigate(HOME_ROUTE) - sound .makeSound(ctx, KEY_CLICK, thereIsSoundEffect.value) + sound.makeSound(ctx, KEY_CLICK, thereIsSoundEffect.value) } ) } @@ -104,7 +104,7 @@ fun NavigationDrawer( .padding(15.dp) .clickable { navController.navigate("tagEntities/${null}") - sound.makeSound(ctx, KEY_CLICK,thereIsSoundEffect.value) + sound.makeSound(ctx, KEY_CLICK, thereIsSoundEffect.value) } ) } diff --git a/ui/graph/src/main/java/com/example/graph/navigation_drawer/Screens.kt b/ui/navigation/src/main/java/city/zouitel/navigation/navigation_drawer/Screens.kt similarity index 70% rename from ui/graph/src/main/java/com/example/graph/navigation_drawer/Screens.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/navigation_drawer/Screens.kt index 46b5174d..3ba34c99 100644 --- a/ui/graph/src/main/java/com/example/graph/navigation_drawer/Screens.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/navigation_drawer/Screens.kt @@ -1,4 +1,4 @@ -package com.example.graph.navigation_drawer +package city.zouitel.navigation.navigation_drawer enum class Screens { HOME_SCREEN, diff --git a/ui/graph/src/main/java/com/example/graph/note_card/NoteCard.kt b/ui/navigation/src/main/java/city/zouitel/navigation/note_card/NoteCard.kt similarity index 89% rename from ui/graph/src/main/java/com/example/graph/note_card/NoteCard.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/note_card/NoteCard.kt index 345f293f..106f65f2 100644 --- a/ui/graph/src/main/java/com/example/graph/note_card/NoteCard.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/note_card/NoteCard.kt @@ -1,4 +1,4 @@ -package com.example.graph.note_card +package city.zouitel.navigation.note_card import android.net.Uri import android.text.format.DateFormat @@ -31,46 +31,46 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.net.toUri -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.EDIT_ROUTE -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Cons.MP3 -import com.example.common_ui.Cons.NON -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.ANGLE_DOWN_ICON -import com.example.common_ui.Icons.ANGLE_UP_ICON -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.CLOCK_ICON -import com.example.common_ui.Icons.RESET_ICON -import com.example.common_ui.codeUrl -import com.example.graph.ImageDisplayed -import com.example.graph.navigation_drawer.Screens -import com.example.graph.navigation_drawer.Screens.* -import com.example.graph.sound -import com.example.links.model.NoteAndLink -import com.example.links.ui.LinkPart -import com.example.links.ui.LinkVM -import com.example.links.ui.NoteAndLinkVM -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.note.model.Note -import com.example.tasks.NoteAndTaskViewModel -import com.example.tasks.TaskViewModel -import com.example.tasks.model.NoteAndTask -import com.example.tasks.model.Task +import city.zouitel.links.model.NoteAndLink +import city.zouitel.links.ui.LinkPart +import city.zouitel.links.ui.LinkVM +import city.zouitel.links.ui.NoteAndLinkVM +import city.zouitel.navigation.navigation_drawer.Screens +import city.zouitel.navigation.navigation_drawer.Screens.* +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.note.model.Note +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.EDIT_ROUTE +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.Cons.MP3 +import city.zouitel.systemDesign.Cons.NON +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.ANGLE_DOWN_ICON +import city.zouitel.systemDesign.Icons.ANGLE_UP_ICON +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.CLOCK_ICON +import city.zouitel.systemDesign.Icons.RESET_ICON +import city.zouitel.systemDesign.ImageDisplayed +import city.zouitel.tasks.viewmodel.NoteAndTaskViewModel +import city.zouitel.tasks.viewmodel.TaskViewModel +import city.zouitel.tasks.model.NoteAndTask +import city.zouitel.tasks.model.Task +import city.zouitel.navigation.codeUrl +import city.zouitel.navigation.sound import me.saket.swipe.SwipeAction import me.saket.swipe.SwipeableActionsBox import me.saket.swipe.rememberSwipeableActionsState +import org.koin.androidx.compose.koinViewModel import java.io.File import java.util.* @Composable fun NoteCard( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), screen: Screens, noteEntity: Note, navController: NavController, @@ -122,12 +122,12 @@ fun NoteCard( @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable private fun Card( - taskViewModel: TaskViewModel = hiltViewModel(), - noteAndTodoVM: NoteAndTaskViewModel = hiltViewModel(), - dataViewModel: DataViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), - linkVM: LinkVM = hiltViewModel(), - noteAndLinkVM: NoteAndLinkVM = hiltViewModel(), + taskViewModel: TaskViewModel = koinViewModel(), + noteAndTodoVM: NoteAndTaskViewModel = koinViewModel(), + dataViewModel: DataViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), + linkVM: LinkVM = koinViewModel(), + noteAndLinkVM: NoteAndLinkVM = koinViewModel(), noteEntity: Note, navController: NavController, screen: Screens, @@ -171,9 +171,11 @@ private fun Card( HOME_SCREEN -> { homeSelectionState?.value = true } + TRASH_SCREEN -> { trashSelectionState?.value = true } + else -> {} } selectedNotes?.add(note) @@ -258,7 +260,7 @@ private fun Card( if ( File(mediaPath).exists() ) { - com.example.media_player.NoteMediaPlayer(localMediaUid = note.uid) + city.zouitel.audios.NoteMediaPlayer(localMediaUid = note.uid) } // tagEntities. diff --git a/ui/graph/src/main/java/com/example/graph/note_card/utils.kt b/ui/navigation/src/main/java/city/zouitel/navigation/note_card/utils.kt similarity index 94% rename from ui/graph/src/main/java/com/example/graph/note_card/utils.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/note_card/utils.kt index 68fa3395..5ed7a7b3 100644 --- a/ui/graph/src/main/java/com/example/graph/note_card/utils.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/note_card/utils.kt @@ -1,4 +1,4 @@ -package com.example.graph.note_card +package city.zouitel.navigation.note_card import androidx.compose.ui.geometry.CornerRadius import androidx.compose.ui.geometry.Offset @@ -14,8 +14,8 @@ import androidx.compose.ui.text.withStyle import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.core.graphics.ColorUtils -import com.example.common_ui.getColorOfPriority -import com.example.note.model.Data +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.getColorOfPriority val DrawScope.clipNotePath: (Data) -> Unit get() = { clipPath( diff --git a/ui/graph/src/main/java/com/example/graph/settings_screen/Licenses.kt b/ui/navigation/src/main/java/city/zouitel/navigation/settings_screen/Licenses.kt similarity index 96% rename from ui/graph/src/main/java/com/example/graph/settings_screen/Licenses.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/settings_screen/Licenses.kt index fe07d0e7..f30eef30 100644 --- a/ui/graph/src/main/java/com/example/graph/settings_screen/Licenses.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/settings_screen/Licenses.kt @@ -1,4 +1,4 @@ -package com.example.graph.settings_screen +package city.zouitel.navigation.settings_screen import android.annotation.SuppressLint import androidx.compose.foundation.layout.fillMaxSize diff --git a/ui/graph/src/main/java/com/example/graph/settings_screen/Settings.kt b/ui/navigation/src/main/java/city/zouitel/navigation/settings_screen/Settings.kt similarity index 89% rename from ui/graph/src/main/java/com/example/graph/settings_screen/Settings.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/settings_screen/Settings.kt index 6b9f0f34..02be6591 100644 --- a/ui/graph/src/main/java/com/example/graph/settings_screen/Settings.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/settings_screen/Settings.kt @@ -1,4 +1,4 @@ -package com.example.graph.settings_screen +package city.zouitel.navigation.settings_screen import android.annotation.SuppressLint import androidx.compose.foundation.Canvas @@ -20,17 +20,17 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.AdaptingRowBetween -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.DataStoreVM -import com.example.common_ui.MaterialColors.Companion.ON_SURFACE -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.graph.getMaterialColor -import com.example.graph.navigation_drawer.NavigationDrawer -import com.example.graph.sound -import com.example.graph.top_action_bar.CustomTopAppBar +import city.zouitel.navigation.getMaterialColor +import city.zouitel.navigation.navigation_drawer.NavigationDrawer +import city.zouitel.systemDesign.AdaptingRowBetween +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.MaterialColors.Companion.ON_SURFACE +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.navigation.sound +import city.zouitel.navigation.top_action_bar.CustomTopAppBar +import org.koin.androidx.compose.koinViewModel @SuppressLint( "UnusedMaterial3ScaffoldPaddingParameter", @@ -39,7 +39,7 @@ import com.example.graph.top_action_bar.CustomTopAppBar @OptIn(ExperimentalMaterial3Api::class) @Composable fun Settings( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), navC: NavController ) { val ctx = LocalContext.current diff --git a/ui/graph/src/main/java/com/example/graph/shortcuts.kt b/ui/navigation/src/main/java/city/zouitel/navigation/shortcuts.kt similarity index 97% rename from ui/graph/src/main/java/com/example/graph/shortcuts.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/shortcuts.kt index 57782b24..12a795a6 100644 --- a/ui/graph/src/main/java/com/example/graph/shortcuts.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/shortcuts.kt @@ -1,4 +1,4 @@ -package com.example.graph +package city.zouitel.navigation import android.content.Context import android.content.Intent diff --git a/ui/navigation/src/main/java/city/zouitel/navigation/sound.kt b/ui/navigation/src/main/java/city/zouitel/navigation/sound.kt new file mode 100644 index 00000000..4692a2e1 --- /dev/null +++ b/ui/navigation/src/main/java/city/zouitel/navigation/sound.kt @@ -0,0 +1,5 @@ +package city.zouitel.navigation + +import city.zouitel.systemDesign.SoundEffect + +val sound = SoundEffect() \ No newline at end of file diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/BroomData.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/BroomData.kt similarity index 90% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/BroomData.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/BroomData.kt index a45dfecc..67665af3 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/BroomData.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/BroomData.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable @@ -9,8 +9,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource -import com.example.common_ui.Icons -import com.example.common_ui.PopupTip +import city.zouitel.systemDesign.Icons +import city.zouitel.systemDesign.PopupTip @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/CustomTopAppBar.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/CustomTopAppBar.kt similarity index 90% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/CustomTopAppBar.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/CustomTopAppBar.kt index 1108ee5c..1502ad0f 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/CustomTopAppBar.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/CustomTopAppBar.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding @@ -7,7 +7,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.example.common_ui.AdaptingRow +import city.zouitel.systemDesign.AdaptingRow @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/Layout.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/Layout.kt similarity index 79% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/Layout.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/Layout.kt index 0f7db2a0..cf9c384e 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/Layout.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/Layout.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable @@ -11,19 +11,18 @@ import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Icons.DASHBOARD_ICON -import com.example.common_ui.Icons.LIST_VIEW_ICON_1 -import com.example.graph.sound -import com.example.common_ui.DataStoreVM -import com.example.common_ui.PopupTip -import com.skydoves.balloon.Balloon +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.DASHBOARD_ICON +import city.zouitel.systemDesign.Icons.LIST_VIEW_ICON_1 +import city.zouitel.systemDesign.PopupTip +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalFoundationApi::class) @Composable internal fun Layout( - dataStoreVM: DataStoreVM = hiltViewModel() + dataStoreVM: DataStoreVM = koinViewModel() ) { val ctx = LocalContext.current val haptic = LocalHapticFeedback.current diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/SearchField.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/SearchField.kt similarity index 85% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/SearchField.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/SearchField.kt index 60e9d7e1..7bdecc27 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/SearchField.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/SearchField.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.fillMaxWidth @@ -20,20 +20,20 @@ import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.KEY_INVALID -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.CIRCLE_ICON_18 -import com.example.common_ui.Icons.CROSS_ICON -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.graph.getMaterialColor -import com.example.graph.sound -import com.example.tags.model.Tag +import city.zouitel.systemDesign.Cons.KEY_INVALID +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.CIRCLE_ICON_18 +import city.zouitel.systemDesign.Icons.CROSS_ICON +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.tags.model.Tag +import city.zouitel.navigation.getMaterialColor +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalComposeUiApi::class, ExperimentalMaterial3Api::class) @Composable internal fun SearchField( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), title: MutableState, placeholder: String, tagEntity: MutableState? diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/SortBy.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/SortBy.kt similarity index 77% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/SortBy.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/SortBy.kt index cf8579c4..bd7927f0 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/SortBy.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/SortBy.kt @@ -1,8 +1,7 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable -import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.size import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem @@ -10,7 +9,6 @@ import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalHapticFeedback @@ -18,34 +16,35 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.window.PopupProperties -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.DEFAULT_ORDER -import com.example.common_ui.Cons.FOCUS_NAVIGATION -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.Cons.NAME_ORDER -import com.example.common_ui.Cons.NEWEST_ORDER -import com.example.common_ui.Cons.OLDEST_ORDER -import com.example.common_ui.Cons.BY_NAME -import com.example.common_ui.Cons.ORDER_BY_NEWEST -import com.example.common_ui.Cons.ORDER_BY_OLDEST -import com.example.common_ui.Cons.ORDER_BY_PRIORITY -import com.example.common_ui.Cons.ORDER_BY_REMINDER -import com.example.common_ui.Cons.PRIORITY_ORDER -import com.example.common_ui.Cons.REMINDING_ORDER -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.INTERLINING_ICON -import com.example.common_ui.Icons.SORT_ALPHA_DOWN_ICON -import com.example.common_ui.Icons.SORT_AMOUNT_DOWN_ICON -import com.example.common_ui.Icons.SORT_AMOUNT_UP_ICON -import com.example.common_ui.Icons.SORT_ICON -import com.example.common_ui.Icons.SORT_NUMERIC_ICON -import com.example.graph.sound -import com.example.common_ui.PopupTip +import city.zouitel.systemDesign.Cons +import city.zouitel.systemDesign.Cons.BY_NAME +import city.zouitel.systemDesign.Cons.DEFAULT_ORDER +import city.zouitel.systemDesign.Cons.FOCUS_NAVIGATION +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.Cons.NAME_ORDER +import city.zouitel.systemDesign.Cons.NEWEST_ORDER +import city.zouitel.systemDesign.Cons.OLDEST_ORDER +import city.zouitel.systemDesign.Cons.ORDER_BY_NEWEST +import city.zouitel.systemDesign.Cons.ORDER_BY_OLDEST +import city.zouitel.systemDesign.Cons.ORDER_BY_PRIORITY +import city.zouitel.systemDesign.Cons.ORDER_BY_REMINDER +import city.zouitel.systemDesign.Cons.PRIORITY_ORDER +import city.zouitel.systemDesign.Cons.REMINDING_ORDER +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.INTERLINING_ICON +import city.zouitel.systemDesign.Icons.SORT_ALPHA_DOWN_ICON +import city.zouitel.systemDesign.Icons.SORT_AMOUNT_DOWN_ICON +import city.zouitel.systemDesign.Icons.SORT_AMOUNT_UP_ICON +import city.zouitel.systemDesign.Icons.SORT_ICON +import city.zouitel.systemDesign.Icons.SORT_NUMERIC_ICON +import city.zouitel.systemDesign.PopupTip +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalFoundationApi::class) @Composable internal fun SortBy( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), isShow: MutableState? ) { val ctx = LocalContext.current @@ -102,7 +101,7 @@ internal fun SortBy( onClick = { sound.makeSound.invoke(ctx, KEY_CLICK, thereIsSoundEffect.value) isShow.value = false - dataStoreVM.setOrdination(com.example.common_ui.Cons.BY_ID) + dataStoreVM.setOrdination(Cons.BY_ID) } ) DropdownMenuItem( @@ -111,7 +110,7 @@ internal fun SortBy( onClick = { sound.makeSound.invoke(ctx, KEY_CLICK, thereIsSoundEffect.value) isShow.value = false - dataStoreVM.setOrdination(com.example.common_ui.Cons.ORDER_BY_NEWEST) + dataStoreVM.setOrdination(Cons.ORDER_BY_NEWEST) } ) DropdownMenuItem( diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/TopAppBar.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/TopAppBar.kt similarity index 90% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/TopAppBar.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/TopAppBar.kt index 160533e8..99c1c825 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/TopAppBar.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/TopAppBar.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.ExperimentalFoundationApi @@ -10,10 +10,10 @@ import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import com.example.common_ui.AdaptingRow -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.graph.getMaterialColor -import com.example.tags.model.Tag +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.tags.model.Tag +import city.zouitel.navigation.getMaterialColor @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/dialogs/EraseDialog.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/dialogs/EraseDialog.kt similarity index 82% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/dialogs/EraseDialog.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/dialogs/EraseDialog.kt index 30a2ec28..e72af82e 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/dialogs/EraseDialog.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/dialogs/EraseDialog.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar.dialogs +package city.zouitel.navigation.top_action_bar.dialogs import androidx.compose.foundation.text.ClickableText import androidx.compose.material3.AlertDialog @@ -11,16 +11,16 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.TextStyle import androidx.compose.ui.unit.sp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.DataStoreVM -import com.example.common_ui.MaterialColors.Companion.SURFACE_TINT -import com.example.graph.getMaterialColor -import com.example.graph.sound +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE_TINT +import city.zouitel.navigation.getMaterialColor +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel @Composable fun EraseDialog( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), dialogState: MutableState, confirmation : () -> Unit, ) { diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt similarity index 84% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt index a3cc5767..de9f5967 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/HomeSelectionTopAppBar.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar.selection_bars +package city.zouitel.navigation.top_action_bar.selection_bars import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.ExperimentalFoundationApi @@ -14,38 +14,38 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.AdaptingRow -import com.example.common_ui.Cons.KEY_CLICK -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons.COPY_ICON -import com.example.common_ui.Icons.SHARE_ICON -import com.example.common_ui.Icons.TRASH_ICON -import com.example.common_ui.PopupTip -import com.example.common_ui.sharNote -import com.example.graph.copyNote -import com.example.graph.sound -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.tags.viewmodel.TagViewModel -import com.example.tags.viewmodel.NoteAndTagViewModel -import com.example.tags.model.NoteAndTag -import com.example.tasks.NoteAndTaskViewModel -import com.example.tasks.TaskViewModel -import com.example.tasks.model.NoteAndTask -import com.example.tasks.model.Task +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Cons.KEY_CLICK +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons.COPY_ICON +import city.zouitel.systemDesign.Icons.SHARE_ICON +import city.zouitel.systemDesign.Icons.TRASH_ICON +import city.zouitel.systemDesign.PopupTip +import city.zouitel.systemDesign.sharNote +import city.zouitel.tags.model.NoteAndTag +import city.zouitel.tags.viewmodel.NoteAndTagViewModel +import city.zouitel.tags.viewmodel.TagViewModel +import city.zouitel.tasks.viewmodel.NoteAndTaskViewModel +import city.zouitel.tasks.viewmodel.TaskViewModel +import city.zouitel.tasks.model.NoteAndTask +import city.zouitel.tasks.model.Task +import city.zouitel.navigation.copyNote +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel import java.util.* import kotlin.random.Random.Default.nextLong @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable fun HomeSelectionTopAppBar( - dataViewModel: DataViewModel = hiltViewModel(), - noteAndTagViewModel: NoteAndTagViewModel = hiltViewModel(), - tagViewModel: TagViewModel = hiltViewModel(), - taskViewModel: TaskViewModel = hiltViewModel(), - noteAndTodoVM: NoteAndTaskViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), + dataViewModel: DataViewModel = koinViewModel(), + noteAndTagViewModel: NoteAndTagViewModel = koinViewModel(), + tagViewModel: TagViewModel = koinViewModel(), + taskViewModel: TaskViewModel = koinViewModel(), + noteAndTodoVM: NoteAndTaskViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), homeSelectionState: MutableState?, selectedNotes: SnapshotStateList?, undo: (Data) -> Unit @@ -144,7 +144,12 @@ fun HomeSelectionTopAppBar( thereIsSoundEffect.value ) - copyNote(ctx, dataViewModel, selectedNotes?.single()!!, newUid) { + copyNote( + ctx, + dataViewModel, + selectedNotes?.single()!!, + newUid + ) { // copy each label. observeLabels.value .filter { diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt similarity index 81% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt index b3b52173..4ea4c3b3 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/TrashSelectionTopAppBar.kt @@ -1,4 +1,4 @@ -package com.example.graph.top_action_bar.selection_bars +package city.zouitel.navigation.top_action_bar.selection_bars import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.combinedClickable @@ -15,17 +15,21 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.* -import com.example.graph.sound -import com.example.note.DataViewModel -import com.example.note.model.Data +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.AdaptingRow +import city.zouitel.systemDesign.Cons +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons +import city.zouitel.systemDesign.PopupTip +import city.zouitel.navigation.sound +import org.koin.androidx.compose.koinViewModel @OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) @Composable fun TrashSelectionTopAppBar( - dataStoreVM: DataStoreVM = hiltViewModel(), - dataViewModel: DataViewModel = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), + dataViewModel: DataViewModel = koinViewModel(), trashSelectionState: MutableState?, selectedNotes: SnapshotStateList?, diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/utils.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/utils.kt similarity index 86% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/utils.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/utils.kt index 0fd078ff..bd5cbda0 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/selection_bars/utils.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/selection_bars/utils.kt @@ -1,7 +1,6 @@ -package com.example.graph.top_action_bar.selection_bars +package city.zouitel.navigation.top_action_bar.selection_bars import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.padding import androidx.compose.material3.Icon @@ -13,9 +12,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp -import com.example.common_ui.Icons -import com.example.common_ui.PopupTip -import com.example.note.model.Data +import city.zouitel.note.model.Data +import city.zouitel.systemDesign.Icons +import city.zouitel.systemDesign.PopupTip @OptIn(ExperimentalFoundationApi::class) @Composable diff --git a/ui/graph/src/main/java/com/example/graph/top_action_bar/utils.kt b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/utils.kt similarity index 75% rename from ui/graph/src/main/java/com/example/graph/top_action_bar/utils.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/utils.kt index e2a0356a..af48fe49 100644 --- a/ui/graph/src/main/java/com/example/graph/top_action_bar/utils.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/top_action_bar/utils.kt @@ -1,10 +1,8 @@ -package com.example.graph.top_action_bar +package city.zouitel.navigation.top_action_bar import androidx.compose.foundation.ExperimentalFoundationApi -import androidx.compose.foundation.clickable import androidx.compose.foundation.combinedClickable import androidx.compose.material3.DrawerState -import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState @@ -15,18 +13,18 @@ import androidx.compose.ui.hapticfeedback.HapticFeedbackType import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.painterResource -import androidx.hilt.navigation.compose.hiltViewModel -import com.example.common_ui.Cons -import com.example.common_ui.DataStoreVM -import com.example.common_ui.Icons -import com.example.common_ui.PopupTip -import com.example.graph.sound +import city.zouitel.systemDesign.Cons +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.Icons +import city.zouitel.systemDesign.PopupTip +import city.zouitel.navigation.sound import kotlinx.coroutines.launch +import org.koin.androidx.compose.koinViewModel -@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class) +@OptIn(ExperimentalFoundationApi::class) @Composable internal fun Open_Drawer( - dataStoreVM: DataStoreVM = hiltViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), drawerState: DrawerState, ) { val ctx = LocalContext.current diff --git a/ui/graph/src/main/java/com/example/graph/trash_screen/TrashScreen.kt b/ui/navigation/src/main/java/city/zouitel/navigation/trash_screen/TrashScreen.kt similarity index 78% rename from ui/graph/src/main/java/com/example/graph/trash_screen/TrashScreen.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/trash_screen/TrashScreen.kt index b68ecdec..9ce70924 100644 --- a/ui/graph/src/main/java/com/example/graph/trash_screen/TrashScreen.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/trash_screen/TrashScreen.kt @@ -1,4 +1,4 @@ -package com.example.graph.trash_screen +package city.zouitel.navigation.trash_screen import android.annotation.SuppressLint import androidx.compose.foundation.layout.fillMaxSize @@ -12,33 +12,33 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavController -import com.example.common_ui.Cons.AUDIOS -import com.example.common_ui.Cons.IMAGES -import com.example.common_ui.Cons.JPEG -import com.example.common_ui.Cons.MP3 -import com.example.common_ui.Cons.SEARCH_IN_TRASH -import com.example.common_ui.DataStoreVM -import com.example.common_ui.MaterialColors.Companion.SURFACE -import com.example.common_ui.VerticalGrid -import com.example.graph.getMaterialColor -import com.example.graph.navigation_drawer.NavigationDrawer -import com.example.graph.navigation_drawer.Screens.* -import com.example.graph.note_card.NoteCard -import com.example.graph.top_action_bar.NoteTopAppBar -import com.example.graph.top_action_bar.selection_bars.TrashSelectionTopAppBar -import com.example.graph.top_action_bar.dialogs.EraseDialog -import com.example.links.model.NoteAndLink -import com.example.links.ui.LinkVM -import com.example.links.ui.NoteAndLinkVM -import com.example.note.NoteViewModel -import com.example.note.DataViewModel -import com.example.note.model.Data -import com.example.note.model.Note -import com.example.tags.model.Tag -import com.example.tasks.NoteAndTaskViewModel -import com.example.tasks.TaskViewModel +import city.zouitel.navigation.navigation_drawer.NavigationDrawer +import city.zouitel.navigation.navigation_drawer.Screens.* +import city.zouitel.navigation.note_card.NoteCard +import city.zouitel.navigation.top_action_bar.NoteTopAppBar +import city.zouitel.navigation.top_action_bar.selection_bars.TrashSelectionTopAppBar +import city.zouitel.navigation.top_action_bar.dialogs.EraseDialog +import city.zouitel.links.model.NoteAndLink +import city.zouitel.links.ui.LinkVM +import city.zouitel.links.ui.NoteAndLinkVM +import city.zouitel.note.NoteViewModel +import city.zouitel.note.DataViewModel +import city.zouitel.note.model.Data +import city.zouitel.note.model.Note +import city.zouitel.systemDesign.Cons.AUDIOS +import city.zouitel.systemDesign.Cons.IMAGES +import city.zouitel.systemDesign.Cons.SEARCH_IN_TRASH +import city.zouitel.systemDesign.DataStoreVM +import city.zouitel.systemDesign.MaterialColors.Companion.SURFACE +import city.zouitel.systemDesign.VerticalGrid +import city.zouitel.tags.model.Tag +import city.zouitel.tasks.viewmodel.NoteAndTaskViewModel +import city.zouitel.tasks.viewmodel.TaskViewModel +import city.zouitel.navigation.getMaterialColor +import city.zouitel.systemDesign.Cons.JPEG +import city.zouitel.systemDesign.Cons.MP3 +import org.koin.androidx.compose.koinViewModel import java.io.File @SuppressLint( @@ -48,13 +48,13 @@ import java.io.File @OptIn(ExperimentalMaterial3Api::class) @Composable fun TrashScreen( - viewModule: DataViewModel = hiltViewModel(), - entityVM: NoteViewModel = hiltViewModel(), - dataStoreVM: DataStoreVM = hiltViewModel(), - linkVM: LinkVM = hiltViewModel(), - noteAndLinkVM: NoteAndLinkVM = hiltViewModel(), - taskViewModel: TaskViewModel = hiltViewModel(), - noteAndTodoVM: NoteAndTaskViewModel = hiltViewModel(), + viewModule: DataViewModel = koinViewModel(), + entityVM: NoteViewModel = koinViewModel(), + dataStoreVM: DataStoreVM = koinViewModel(), + linkVM: LinkVM = koinViewModel(), + noteAndLinkVM: NoteAndLinkVM = koinViewModel(), + taskViewModel: TaskViewModel = koinViewModel(), + noteAndTodoVM: NoteAndTaskViewModel = koinViewModel(), navController: NavController, ) { val ctx = LocalContext.current diff --git a/ui/graph/src/main/java/com/example/graph/urlPreview.kt b/ui/navigation/src/main/java/city/zouitel/navigation/urlPreview.kt similarity index 97% rename from ui/graph/src/main/java/com/example/graph/urlPreview.kt rename to ui/navigation/src/main/java/city/zouitel/navigation/urlPreview.kt index 69dcf2ed..1de8d1ae 100644 --- a/ui/graph/src/main/java/com/example/graph/urlPreview.kt +++ b/ui/navigation/src/main/java/city/zouitel/navigation/urlPreview.kt @@ -1,4 +1,4 @@ -package com.example.graph +package city.zouitel.navigation import android.content.Context import android.widget.Toast diff --git a/ui/graph/src/main/res/drawable/baseline_add_24.xml b/ui/navigation/src/main/res/drawable/baseline_add_24.xml similarity index 100% rename from ui/graph/src/main/res/drawable/baseline_add_24.xml rename to ui/navigation/src/main/res/drawable/baseline_add_24.xml diff --git a/ui/navigation/src/main/res/drawable/mat.jpg b/ui/navigation/src/main/res/drawable/mat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..921b3c2b1ecbd8ac4c47e0cfdb6193546d77191c GIT binary patch literal 178596 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�GUQ#=x~!$2rP?iRg@G~m$*nHD~0;AQ_ps(X3bHfw@~DzfD*?x z)K$Ym^~C-lDlf0a!I;?GumnzpqAUXMr3ay3+M$=yLWPai$69hgVv$B*_`>*Rig)+p zlt?vG>}_=}2(n5)V*eaKAy~Og_1J@s&(xeX&{|2$IYQ5^*s;`AkCHCc z=&l>-oAxoni}UgzlVTYC-TPm4)N`6C+$G8u+;C$Fp;iQK9fW#4Xy7^Xy5X@8VQ50* z3-a}&?({ylnyIS~0oH`&ToOU2sshuzqRce}5hGbo?d^~KolY5cdLP#_*Cn%tH#TD+}YcTP%j~Z@*I)!(+fFX^+gSD{bPk6%3-QbM28x(K8*p5?dRbSps z=#b~~(1do36XPDr^djkzi%D~VzQY77vUWoOaf?lLr^ZYnk4Qx=>kRqHqp#Tns0noI zI@_9@2Se9VrKDfd$`Y!&V>Jr9fF8J+Hh*UBUd$zp0gzhi9Lm4J3l{6!E_}t2Qm0!q zpA1C@XF1Zuz5xBH=5)qgP%)_AS2e5s4C0kPf75V*yP+omw; zZ2x?Dn&;W}MBNsgtg;SW+e|qqjl+J~EMSaZhVhNYmIpe>#onrkWF)3gJG)@?%*@myfWi)sib_QA|d%9Lhdcno6Rve+RO)o?G*^vk$P*saKU063VZIVOMRgZ7)6 zIGcCzp{XuEA4<)LudbT~b;7Br@#YpIC`8WL4zL!-hLCamuS=PgVeh{6bq|%zYq4Ft zLOOTCG@i$*#HahRz`ISc3hG6*tI8@_WyQxds)H96q}9Ib60qA(O6Lk&PLsfL#MU>Z zG0zOHs@9xVxf)(BvV?Umb=nlalo;A>kO!4Zv?kxchF*9V)iKwQB}kPZQwghoPj?zE z3?*Qy7|x7|wc;Ls!@P_RCp1zm=X-Yc9+BK@a_>QCiAu=OWDQ6E5kO@_Ayz<+zqJl?EhxST^_<)7XrZ*&Rkxi}C2at^? z@%q}_Hf*kDTcbE+9_pD7fq*uki{Oj_%Vr2#Vi?m1U;_-@HcwRnu#pW&GNZr8@WSR7 zbq8T@&PjJMPfujYv%uh7Rk2Lw22^Gcx2y9fWCxY0ICR%XE1#`~6FM-~^uoEnJw@ja z{@&b-+lc4p5H)%6JZ#>2Du|LJIM1A7DFN~kzwpsK)-eWpR4S6e?D*K(aNE$u!cRW0 zGk!QBDtS8lS=7V8Gnwzcn^cB9dgrLA2sM0VB9Uigs#PuiXP8ZCoQ#%hZ~!pA5rD9vTCu)OVHe zY7e=R1oCm{gXgg=z!bW@*!JJx&DlS=QW59FHj$4iatT$x#LA(Cqcs^Q%U2}0Rxu#Gm=1(>kA$338jkpwa^PMES!u%#-1dR9VBx7*U z3!h5>be_Qc<}{<~G;{z;1D12-+4givyYOu3G8ob#uA;5gWUx$qxMx^Wvr{_;fT8_3 zCXs~ksraL8=Q1>{QqOST*gVmBZ`#dru^Ck%Ouvf3p`PpIhtn)>*NW8h8CFaOu6fjAmBVMqvNd5yN*3G_eXjjF$E4JbGYqCsoza zxK@R5%P~KnuX8QBPpy5a6Rsm?tGNi}rM2ptn7$bW!O6goX~WVc^`@F&!;P1GlEV29 zp9;vBptt1@KMyS>$fCxtm$Mt+7^(s^($?rXPtBxIzMZ;ArFHOIy@+dbLlx= zJJ3;!HB?TrTRDvD9gjKgHzHv>WD^`x@Io-ps@bYUYFJKv>y?qUHDxHRiZJA0CuWz; zfH$LXz{O!wLu%tZd%amRgRhrg=6jC=HT`RCT7A#C#8wI`{?!SL2X894I}UEobx7ue zwg*2ZF(*Y>Yhty{R_d`J>7zxQ9dUos&w|<02Mt;`Ab^2u%F|Egg^C@orzuPMO+Y<* zK-$qb$MD`dm54^fSmWSz!u)R9~Z4$X;Cp$220V2bB?& z_e!%!*DRjDIH1&Ie*dj{$sgm7`k(*~Q8B1-#c}zZMGsv_GtZiwc!hwa4XJ}4aEow3 z_bAK*(4q{c;aVF@RqBhuk^2YlP8?J0+LzlDwquL2wRVC+KnhIwq0uzF>+R4xk(s47 zOSHhPlTVJnlwbQk$=4qM5Zsy$i&g`&(v;Zf88U(eMS6r}@Z(*JNQM%A59-(Zj<}Q% zd_oL4${#^kWsxAUg-F)_Yn!L{mj?1;%l@f7Ker7EW&(GJWV3n<$Frx2r zPiaC?IS%OaB&9%cKZ?o%ISPeH`I@nw@bt*A99uhnw^jIph5 z9J?poc0eczYcaWr3k&f(&yy*gK+oMx)r+(@fkJuajG@MDyZw46GXtfFqAy2Xs$Fkd zzllAmdw`8ePJ%qVNvQkC=!{h9j*aGmpsG29+G^eEp$YxN>ZcmkpvbAe`M`~1OxSk; zW4R2HjGaEYaNR-PB94blOYvM@WwSj*oBfIN!8u))FlS}H;r;Y8OX}x7sN^KgRa-Qq zR3Y9UZ4JR2V>*A|BYk;!Q|ed_ef8)Mha4Vxo#LAD|2@N#D>NaJx5z1l8f)>;AS29h zd?6L8qyW?B1vr3z^Zy(g-jV2@v{k=7<~>wX>BlCSIQhf+lin@I)4=t@Ui09eYQ=YQ zE7}Sr_AUAN8zG{p)Oi{d^ao}-Akp!p4SKQetgKmcNJB-_ckNOi(cb2I%x?M)z$*r( z(2cSJEUJxtes{hNd_$8|m`J!OTAq&_mL0em=Oj%A`J@;E>?xF>KWA=&0JIu>eWEm?aGPHfBT$`zn& zh9_~`CO8PUw&!EgdW4vsUtU3!Zepi2Hm>wBO4E_KSY2qU>HZz z>fm)rKFS7b;9g$VQdI5lW^6jLN1x=c{L_&80(opcaoW@`pGt=Z9fZ#xU?3v34x$eu z+Kx*ZltbF}+P6)wT^$Cr${-oZ=s{z9>ilgn|6MwZGp z&)T@7lNV-E4Ktx%$a&P!hCK-(RF}^nE@k*pX$Qs!U=p^}ZLP<#F4oCgb36%nx@@TT zwdHRn38<&0{$k963Og4kst^bdRF!T$GJ4Bi#55KdVm{uw|28FWfl5#sti&GU;c3FE zw0ytodB33f{#}dwgB(psR7V}zCsKhrEElT@fufU)DioM&ezO`}sPu*I*IizY8%j#p zZOaTBAphk*`7Lwk3t>l2UmmzvqpgidjDgOZce+}BntVoQemg|Qae=u}(r$(0hNW}v zm=mU2mWQum>ybvJE+~wrXR5+AUjL{U z0}K75d5xg!q*wq_Fc0-KK~4qADBk4jFZ#}3@9CKuIg+b+W*KtgolwDO2*|r#9I=u8Y8wzz%NDm#@vM0%X>Liulc@~&7 zA9MYh*EMbB{AbB5!!SUp1GR=8$TX+i9^FLRyxmQiyC)br<38p~ZYC84PmtC_=nm%th~D2rjYL059* z?NeUMy{O91U*q{MsPWswy0A6R?V3Rj!wrn>7lF1QEdL$hm2f6hglNkoD_A@mFcc${ z?_#^Q79$!DrsGnD?Z?3!Q(?3dqCgjWox%%+!Hg$9Er$cghmMmV z^=;KwJ86vlFBpvg_e=>9*GN4&cC}oSfGTMRy7`~J)GmUXi|%zdA&3W!|FlN5#r}r+ zbdst4&B9VS3U&Pv?kad{{Rw?k74uO+|Dw1m2hksjB0|>VYMpzA`vm+5GG(PxHJ0!Q zS(D(NS)RYIFF{mIjDeXsPo7ZD>k3iF(Y8%X0iRQ!_SjdkKheI!84S56#MFTf>GIpWL~9~x7iRa01-@1h@lT;_tbmfWdWWo z!XgmGf_45=UL=)Zf6D`xjQO1*wRem$NPX_ut_q*S+_>pnalEKvrsga;yEjnp5xhSo zCdG-F;>7TL_GSdSmKPZ(Tll_>OcoS9uiu*j4&0s$Z@77(U_PhLd6YWVNaAy?E!ixUykUf6}% zAaOcOIw#Tf?0UdQGEXGSq`zqT)*j5>IUCA~K>wth?xv-ytNT?Z?G>?gmST_j;)Y`| zHf1;3Us_1jkVe~qf0UGpD{KJwIdb}FZJ9;*bfhp07r4&qPe~AwzHH){k;h0#x@0D> zsXPOCTR}W?7nwb(>!KEGU*4u`Eqbs#sKw5&Fn=GL=dVJ-#RT^PPnW;nqY?Ts&DUJABi6V<0qvy`fX z7x1K%^e+RfC5!fKns(&Q;E*HfS5e!z`bk?#2i|d!I71OwVj2eCV_OBTPFC7?oYCSW zSkV1fGno3mg1UWUk<4EAgP-mf7ItR+!wWiclEn9$YA~%A zOqt;u)UKzA;ul|>DLUbfZQ1{}vhK2MQ^g1I=Z}Qa_1!}R`WAJVtNU1K*>&iHgPU1WY22{3!osImRgY5+b(2?@&yH%~ zTS>5G6EGMI1yW3q4eI8zvD?i8Gb|tYzhYj7;+Z?S9f4(XkJvlnZZKoGU$xAGK`u;* z`fo=!c$(;}b6(zYXocWw3>&dZUc8vyU-z9rEi!h{=N7)u{GhDEURAaRP%mp|KJT8@djHl!Rr<~8sH?y(nO~M< z`%y;vb>>kDNQD-fk;5omOVX~+{NLRc^A#u6Bm-2I(DG-j!=5|dO}l%}+F zy}7AF&l68-+opXN%V#yOJ!bh&tv7$?DKWrmblpP4m?zH*)VfqEIeq_^d+q3_PcPP? zvr{x>jCg@J6roR0Mwx9!*WI5uUN*wgy;>SK8ue!x0#*83+G^FGWLTywN^qF}lM#K% zg;@z`Jzc9h4c5SKgyoNvrS;1CRZPje&Fl)kV|!{O;aHe#OWj21%_|d8u4Lj`ir>8l zGgsUHd1Jh*6--!+wSOEHj}l?ur5|zy+10uJcc?5huM_5HsT1d{K8=1#I$`UVs@bUG zT7!IIdws#1?g<6l?SGvMs?tiA*D*YwzEqQe2$1^psiAk3tk2=uA!7!M$(Z&HOUt!H zm;Q!Q#zij=c30LtUIV$s=WP4QcHqZw!rCH#xD-U5Q{{C1cc{%&)M6t*+ihYFW;~Z9 zWfo%JImKsCAi$o*FVGeqH0>jvyMf#&{&u&LSrWX@Fq80QE4^hfcteI+-@j~~*uL7l z`rn~RX=mw*uAN(QmOhoJ1w8UR^%JZzq3x^XZs58gN{YyWA2L&p~78r<`Nyy$WE z9gDF>t!J6`;3wLOHDv^tX>cW+nXNW~Mm=eSUKLw9JALAO@wm&d{!A6;f?{?fS8>7U z_7#07sGT)WH@@r!kyI7DaJus@FUq^l^RJal@OXTd#~oqC3LoCjHdlLq7-5Ja2gyM= zfo_$FQny6PSUy?S=xY3@EC!BEwANJD+MWP50J>%^G9XBM9u9Yjyr}EO9TSi>7koQf zYLMNYZ~XAi1t801oTv%oa18T=Xg(XAlawB28Zzv0|Hym9@@E9|_|ECSZQ7pN)sJdT z3=kq;!vSj?H}#!B($3?I#q=KOtXsQnUj&wY@alGhKm`?A!JwV zoZj=K=H0a?pRi&heWnbSihWONW{kvpNJ7Mqw+yf-iL*Wo>WLfK64n(fWWkbtYDurL zhI`V{(&hW232CouUGhW+MgT!`kJySuPB*ghA5WD%xasjF!dYf?&)cZq4mN>rt{acI z5$6Ezn61j$$*=q&jdKi>w({d4n#RFdQ_Y6FJgJ|WwxC_T)xUeNY|DR%jbT2M zmEd)#79+vITXAL1D>!4$$$dJq<_QK^s+_#lxSJJKAbcaeIDr;^O)|2-Ixx_d@`Ubk z8|Jv6S^oi_R$h~rYpiAgo%P)Q?@&x*?3d{WYDHFm`*Z4Z_N0Sk;gg=-Zkr`?zEYHQ2bh=_4m8FWUdS&`bpowUb(*h`z2|@ z-5j&{JOkKSTiSR&u)4Nr?wqjwyDYeR`gP#ty4kYJ)0UT%ovY-dtU#ijp_ZQx{yK*F z_b-Lo$_q+AyG>VISe@&qCqVTc(AOo+{_*jyU@2Dy?)s+T5Wr}&LraGFtGqfZdt{=Y*TYNuna4k)xY>$TNwQbeTu&5y&^y<&F3wU)sL>^%HY(?4c-BeQn`=!npKJ7a?(|qczW@ zizISjnLm7)RV7+zNwJ;wT)%jKo0 z7$%hTMN|YDrXt`NhkE9ElDW(ZJvi_@>~qCNXj}Ak(|pIw#KkG`=8(l@&O;QZuOlT+ zKC@-WAJ4#N2aTpzYbhtU)TM60fk77d^smDfjuA6T7Cs_MYSYy-V{(jXw@e$(Fn4qn zBm+UFJ--$C$EuIHm3OxZ`w9((pO}A=VT<+DW$j7Z>9c(Tw|q zr8`Ia^k{_6iFT(-`Q+Zhc)xEa&2Z)pQ==Y#yojUn$EU3dsdf80PmpR- ztHv!ay9&j&<+wYdAY8q*jq)?<`5oe5oz`3H>^TeS@TrG&8i$l>zHtv4l}{pbzdH-! zY;NIteR?@j)e^UJ{Ie(YR9}3ss{^mgFiB+=a$}uD`?D%$6J14Ji$cG2cvDs!f}t_E zw{%a05!<{_`iQ_wa*Rhy9*>nz)TiyDbR!AN;G}*BR&7oqEPRC{4Ej^@Jd^x0vX2jG zO3WU)XK~564rAY5R5gDrhZ~q3AuDU;A!M+Z)7NWsy`@{V-*LUuSf7t>=_)x1y6XXp ziGO^y)oJ+e14YNN=F8|NoHA}p%{eZkFmwW*{;z^wx?kTnp-e)Z+>TTuTm;f$#oAV= zBmH1zO(Xt#v}&v7?)D81cr=Y0Jrf$2xk+pSH_YQEv!+&RFwRrTWWd}Scl=!W@jahN z_cww;fgnEX9-aQE|7$c}E)7H~Dz6?T<3t7ljvQV8*@99=&F|BXO)k6`Av513mCvk@ zX?SGKK?B@jQbq|+AA7m7%wD+AccNv8{^a6-Cx;$~xLQNUDt1tKPZdSn^6I(ShNr@6 z%|{Ei4crnPXI*g%#xNn>~7qH>njs)tso?P$ps9b zdhR*tc9B~!=zYOJ#FLRG(xOfY6VRp~-!#weyuOyk(5iT*DlJm z!M?Sa4{<-R`;7*numF%(5&Yh7b1CW6vz|&CLAeMQPbc8Bjy2Ym z(TBbG+{E2JU05iL$z!XQ6RT57*{v;Z-n8{OTR5X8 z*1}Y2a|UYZOkhyX|iUPedfe{5jPaDqDlTDwxP^ zVg;O3j`PcB?D+rsD752~a_3TiMZ->VVDp2@-c*pp5w{%HQp(K&vmG|vkS@g^Io|X` zRX&VJAK-erC<%1S4x3IQPdg?4e#-fkmkvHqK~|4^+(c92dmPRu=2s%QB5Is|R9DM) zvpc>S4LMt`R!*Ca#DSB7c?JU0&^;~jY+*7_j&$Y_8|$|)p0?tBVBD=`?rc9c@59~ zYLl@VPY~{FKK%t!$+|;u>sU3h1bO!J@+L)#LZO`@@Vag!9f}WKV|UbV+z&LfIOeVB zQhmjZ*v??nMa;%Q;B|_DW5}1-b_mBw=Lzf8Tk7!Q8Udsbe0|ZbT&@BVj?B%^Oha`b z*vWg3E@%Lur+n93pilEMt9!!FM`cX$(fs?bx{4){G#PqVF0@HQvUo_3n;{hz;+56^ zp2kz-WXh2HRB4&kTbfJ$x;VX+gsXon$Et21H*o;$qt3a8CNC}jE0$S>)DL>!jDtI* zT93W(0B%|pfAbah2Wj{Y9w?H>kn zH79VmB_}N!Th6v3KyJD4!|&D;cC^Sm-bmWzn&FF#Jo~2oY9OCDQ(B->?il9an$Z?a zzim-j#VZ7Gq$(lCw-%9yP)Hcuq4~7=0|o9ML3w6H^<4Avh|8m#{*?O=QQ?D``8iW@ zqr|G?MH%{ldr-19($@(47giP`$cXYfd6T!_aI`4uj7;&YmP?(wcB!uY^|wbYbaO!} zU1T;%8Bxb=)0^6fyTMwXJ_==tK`jriU2he)=RF6r|JiRT8>AEm^o7<^U%j)63VmFI z__P;xUs2#<*$uEy#ndJdx-Ie&_1CZSEciCMU@~7orEn@s9=sp#y`$rrMQjJjS#v~B zO!-kFv%R#^XK;gQCTuDf%7v~$x8o@Sf$4;5{C(J>irPH{PMxj!&4y8E(~TkLUK3cv zjLGMX5)8`?-C9}ScvDu9U6E-C6y*O#X^1E?^@98)rS+^)G`y%WOsTNZnHD}V=Uqq! zjI$=dm85}@Q@!vrir%~b`%{=WB1a#iP!yqUW##0iShxOXHZtSI{fl*C-UX*T_!jhN z!7pUv6Zt>3aiw!NTAsbDnLl&lzVPtwdON}MNElB3Xx25p;)xC@;-&l$1Po$ZVcbVC zjvFpE$QSGn#_SrkBO0T{DuCO!p?P59p%pIBTVFh1Nl@{Bt!6x47WM-$!h@B#V8ffvF7X(s8ExIV*G>PO1FM}k+9D^BqQ~=?6ha_4&m}s zwQp#+yVD--N1sezY{}_8FP>9N(Fb@;V6M88j=j-_CHEfdnuVL_U#adKgRm?$@Y$e^ zPF4LGoQz+6%mIX6N}Z2BtmpvkNz)*cy0PvT~gbXQA84=NqSt?=dfPzhUWmnWD}>1O0GP@ z>Qud<)fArT!<9_y)!Px&=+jChr4%~Eu|P_VpP_asEG}@lIR2(^J|-oFB@(ornI2n} zqAS?FbE@yRgD(TfImo%1Ouk)&jM~+$t|z6|yKx;qxt&wu4W1`up5E+r2|Jf(4W#Ar zsB6-W2S4Udcn?W>+)U~4fD2DaEB}GCtDpiC|29>6@VHqLBt6v}xkN~HJ_r1fPrFDv zSgokz>>|_n;*#@bHuVN2D~aJv#F(uh*d&#%x_Gef!oEkd$Lv?^)(5FEJ@;M?D)~pv zM6yBGAK0W;#}p3bW-OH_0RA(d(kj1K*WQw(rYdOtxzc}T%W1yRiEzq`u1>o>$WER# z*39f`Q@3w@*{LXD9|omgWKLVA;XqJ7YM$cqkV*RpJK+w71$TNdRyY`DShul8sT}U@ z_;%rF$leJE1A{X7R!;1gc(Ua*O)Prci5z z%2^NI53vg!jH*wOH)%(X$*W;Z zWF4+R?U$z`=IC;WTOA8KuGdg#T7F<7!_7QzE}5}zkfl&TcTqZ3_SbKp$$H0VWCMPQyr)#E_KO%Lpo>U2Hj9#EEA%5iBq$!Wio2WW&#jTQc>GLOD z0y_wo2swpDHi2UZ2d=7#Td$o`k=u0BuUqA>UevlqQ9qU5LE-FKHcq(C%%?;M@SE)0 zj08bQ%ZOizTFcPWr49A5Pw(mK%4I+nC+kDZnzKGSG#|m3~ zh&Zb+8Om|dv;$(ju0R)rshX$+=eDaQRlX>wnjkz~Oxn6K8eWEX5?g}orl0i8>yM9M z{ET@)FGS5zaqc+F3)dA-<XL2V3%Sl15!}u(zpvz-7>_5ki%`VVr=q{>;feVk&7hBI2m-YgBInO69V{5R zdsFVxA6}Dh{Ou~910RY@Ts$o}=x5bn2=aZpx<#xaV&P$hXD?RW%jHfx#?yWob~wRdTq`Pfj2S`XCiDccH8yH3@ii;#s%F~{UDN!WiEfN=;0q~ zf^q|ydGi60*?%mB7Tn7hMbzjHhAAOxqO@hTrBZa*%=f^xdX}#?WvW7YOu8n2*{6jj z+O79B9rb+g5`KBQQYr)iZB!cqPS!>sr_U5$q3>5#0JNW5kN6=YL>)xNLm{s2({Nl| zgldpc=2KejUj9>3){m6}6>71PzyhG7R#VTJZzh-bRtsP&&ni6TAIm{Gqy-tnr_hO5dCGB~hk>mVAZSs9*7io%LBq6|0BKS`vR^Qu%>h2~mN_0F z0?I~SJ4ocMHiTt$I2=<>;&x>d6GyoXie0N>;8xAa{M}SB&p);KM7ez&ro$b8hNOxE zO(7@o?|q-rguM|~`kPXzNlSZoT4k*21IKhqz?3<~Y5B&H_G`9$!Ot6IZp~kJ z5XD2Sk(ic3D^iE%7Mv%Hzr{@JOd4tFhQZKXeQk);_yjw`{8N$>R@+0-GX(gNfp%&AtyO|2oqpKX}RZR$|M1l!R1u zKzQ%}{gEPi)7c4DlNTl;H8<#v9`U-(kw-g5sraiW@uxgj-lHr)=;#!!Ma|r1>nx`* zbLup-GeTyX=UPf5#LjUIEaQ61Jojzj?;L4Bk;4d%HOMeoc6_QB1h?Q6Adj9H!cvrp ztK0_zl~ziNS1wbzlICqEyM^tifF~4RHj>Wlf{og|k?>kyC5K9i=Dszk25pMCNk3gV ztj*vH>_Onbb7ca(j$g8s?-u(%kz=J*!b~201FY8piSaQ}X5iDkV_k;LiNMN9p@EuU zJP@=;w^8J!X7g76P%wk_9L1+`Sa{sihr)Es=_f?ev{tvhAS*S~z8YC0J_jI?+7w(5el z&zq{6KU3SNmrJ))P$Vx{;*HDsjGnW{%m+?J-a_~foTJXHP*}r*SB<_rsu*llb^NBt zzfXa^2?owpJit+$4l&;ZCvw~tk<-#AaV}1SbYw6M(7O%r-vff&IH~nl-W9^H#QKYM zIKKy)-WKEy`EnKWg1=@*TIXPXyJfJm)YLv5CVV&JzXAVwlnCTnZh6$H6DT8dIepcd z(Cu-Jm`vW5~?Vo z^%M=-HP17gOITfa=ezi9n&2thVksa~FPi1X$!pXYpsA){+;zn`YiUz*D6mTpbBFYW0SYle56^|P`j;h*WFZ2 z#n~^<0&e+6oSQL zjnTXBU?i9o^`g%?M#r<{_8}RWx92<;&+<_~A#(72ul2sjJtffrhSe`mk&?$#tXV$( z{*SD7s(2~xNKYO8YUrGKJ4<4|_}^0xMLe}KXH!yHk#yK>C&s=7&z5X*R3G!dMQ?Td zCVH`%_(o14t?j44Ya?5pEKTLslh!&=XyfNKH z+p>`o19(P}k5Sn-WTgL_r+Yn(|;c; z+;h>$Qus!l92Y^=!w{XM)kMRKc6^&rtsxQSbQ9DHVwP8MrGywDC_)WzGXuEiiiqcr zntyQVbjOSZs9j~>^li8KzK6ZTaN(|R$TUn%3>lSd;VNX?+G;)&bVq(+3@IC z9H~q7^zT>1w%-Q)k(*gB$|hxw@HpOVNw%zr7%Jax18P2pnewo@OFB=`WnTzlz9j(8 zG;jTM^zDlQriI&I6ITCnCh|w+#)n=r^nf)iRMwv$4TaaRl%B|wzmNZ1P&Lo2|1O4Z z{4#WZ1)t7+_KFg@d1-3=Wa_@jE4_Ng6lNYbC2iv}|50CN(_F*6`h0Y`?9Jfkdu==H zu5)GHz~#H`Db_PxdbXkl!)Y2=mzG@s1gZP{W_18f$b%Q;T2(|^w5auzQLU zTnT#-virkRZ%=iox8LMKJ5PFxSG0_-vkPBK)T_=r>g2A*j$R3?@YT#8Xe{rU()ne# z@;`petMpFpny|uiJUz1z6QMF(THI=Qn~PsHBh8(jvjD1lg1=YOCk44HvHbvh@EtW? zOhv!J<@aF_-Usfv^Paph-U7hSVN<6yGUzj`?n&%R5!dRNYR{Fq>tnqnkXy7Pu)IBZ zH*jVsfxZ7m{F93{y3caFyWLuiv-o^R?pptaiqn1HMOCLlOwaP}%ry2=+)?927|kHP z0I&NPFt#rv?J4A9CPFo=b_JW5+QK5V@N{`X#~6hRl`s&rHpSfND?266RXceR;e=+AITcKmb4KB97$To0&L&gkG^6|LTY3w}Ep$fg-F~3=bQ3Xb#BD>-rAd%_ z;5pcnY8CRYa8hkd{|6(%D)f-0Tpn!6T1{F_go}K}PU6bY)R;5YpEOzmEDd}^*SOed z6JI(sV*?|3*E|2W*|JR8EYI1*t3$-|onHFZUk6qu!@u94hWYaHdBXoY6c~$h6Cp4h zTy#bgfDq~u^M;XjSiZvcDMpED#)^58>FvZD#ud;aG>Akyg-;Ao?DP9(s^zy>vwnK` z2Tx_8S3vBZ&-C`%MndZa2c=4VZa)KO;RyC`PO9aFw5<&J=!!dZ8$}W0OY4O~K&~4P z0!A-~iu9%f#BW&(sVvpOzzE=Mp|<{hB+)b6g|{6HCwCyCs7fWVhIjDOBQ|Z+xcrRD zF|9vyUcHybwv$L2j$!Z+t1qt=6s=@*tS6VQ*3_x1ZD#^tJ_Q*G?YjYHx;767_RaoW z3585wBuV%tP)fnocTJL~ikbdZg;#w#>&ZqGhbkqx0t$aPshwTk*@cGNdPnn7ufoSM z3;O<3HS-6ruiN_qZ8A71pUoqblUX6=c;)4}`Gbfi;k>b2%d3TiKm7=77t<^E_ILjj zd%{r{g6OcgQ=rA0t;sC=@w57>_lQGUl3mn!PrRuTsWvTc-tvQk2nV_fg|HvR9ff-b znJa!wkt8Mrx<-`|?o3X$d2_Z!wgE4(H0B%Dp+Y$?qteO1bp(COoOM#p-gj9!+Mg$b zj(|`3(U9IHIJL^GBQBnj$s-_XsI1_b8|?SA5C@s60_7^tRM$Y$$8-6+Pw*;oVuiWw zAp~!C_%QN>rOgm*co8AnC)yXV8o4E%`0Xz<;`&sDlHR|(8*vB@79HuzOdz+Kd@XFe zdCaNPR1@;?#2NSq^}j=>Q!1N-q!2*h!MzG#Q)uO|_V4K3P|j_a&ypV(CM-7HwggBB z=^K=wa^0;YnKf&dt#@VxS9*@r&0CeAubhu^6kCxU*yxlUdb-R*ed=RoZr!7J6j*6Z zsA@0%KH~G%Fi}O(NAI8Z2PcgD*5(uY;?8P3k?p;pm#V&bLQrA9z~3rP*3NQm_2v?q zZMAo&VSU!2yq!2(6uwS%+R=Vtu_R@W%N{Op7s^K`?soV%m}}6?IDS1s#vQdfh)N$w9WMX)6lG~@8D*skqO$>B$dD$Ohi%QSE_=)-L1vhIz z#OiaclVD)jukUPN%**XGKCn;Oi=>73{v586~%F`&2I?b)^q?hrlhoihc4RLqUM8CV#;+x;}ddi{r^WWbPCQs_bDYUqdL{h`my3SSe!q+_PdX}dI@2vW*e~DEOWlyO0T@yCuP$30>VU-&3@CF zrb>xvc$}a$GdOa38<%TXbIJBQ0?>XBc zv^fM9fkL*RAaHxW7dlp~eAuo`i1j`#Z*9MdvBn|VYF1UDae3qLdP-5{@B_vSQ0aa4 z4lOdNJ-}=S|ID0jl0&=6t&46iJEKsRDz*b=_<^MFYI04xM{xxf&Ye*fY2{oVoV0s? zp?@9@+nY~YZ=s%qv&2}lpB0x5KUB5Tnk%dJ5xzeX6?dy!`TlQ8-j1OEN&IK!Dp3!Z zrT1^&iQ8Wg{Z{r>J3hrHu#vDWac&pU8`p?ypJ zG(xpVvBG)2dCLizqNwW(lLttTY2_XN!fc&i7V1il`&>ZYHIg4&sBra9(O`zVN4Xo1D()O2Z5%Zui2DH zbH|QVVUf+1+9zPky-yIxkvZAQlQ0EWhd)@Dx>VHr$ua>J(7Bryb6uY3d40{4je?9LU}#Rb!l$n=kceky3P(ZEln| z44w~^C95MUe)Pxc9DyL}*mOaP?`BNMhhs^PGTKCyHZJH&>smuN>m|=xfaAme9t!P+ zn#YRl!<)Ps+VDtbm)9;+*KbXp#f47QY>V6e-bg*N6!$Q1B7cvJUggQOpD4X3)=5NT zM^zO8_nFZ8a+@%CR_3XtmN_Ohu`d*b!XiSqWFC4X-QemR7_dc+o1{h(Iy~8*^OgAi zJ9O<8X)MDed-c`(2y+k7j@jF8o#B1asyE35pwdl`IWwR7Yo>1x>N0Jo{nARIj!rq{ zoR0d^yE-L!yhA>M3t+R)uDu)yoQ<4N$j@k(Xui?k>FvE}+`pw9L724r?-1q;EB;l7 zAve0W5xicNXc*=|?ziw^Co^t&+2|vewD&FgbbPeM5e}k8g@Frh_+tGwj$`{2qZ8$& zXa=-lHF}>PSd@A!ozpHJyet}>O@}SwhAxN0E(K;uBlHE;b%e+SvZPR(a#RD}F>GS~ zQX~u&2o zWMD;@%&h^(ljyMil;mWL_-Z=Z=8ih+%NjHLsmL3@ug>ebSx!j{nSVV_lOiAx`>3IR zKiuH|{1?`E%frycF@WzVU><#%pIjBj2vB4+IfB?RosSALbLkr{ho>zdNBCx^{yX$o-$i!|E}~q&uJCCf z8PW5VcsWJI(e6oK;Nhs%i`ULueM1y$Y^6~=FSz8~!qKVAgiD{F_-N^84b>P1$T3#G zRU~#QQ~^;2M{+9Z_$m&Wvjd4Hw#@-j0X3$KLXOg`@1_2th`#5k zzE|nl?XXXs9muoVBhsqwAh+dbBs$xiQMXF%vSKJ0$S03fXl`$$J^58Qr8O5HW?5o! zk5Z@VlJbHev|!Rsw!Uz&408pjK&tGSZ7O8=TWi7kZ?&4xQ}AiD-Fmbw22Q^H)ZN(5 zLm{}_(SlyJy_;T@D_1l`BP@zsMj$mo=@KnZ^qShOcnL@?`=uJslcnOkq=p?^um0k* z9Ja45&Y_T;435v+T1%|(uw-Ugr)NqwnN24xUA0fDO=CXGZV$h0#jChJElstcxr>6% zqi~WatI9)0syX%&DyFl(zZ18no%8~Yu`LtqromS6KoQ$aGcQGJk-B4&X+!&-(BQZJ zKN)d8kpR|czOK#SVr@k?#sDCtIybhVX?kvX27sR%aKg5vo{@{kF=DOf@Tds!gTb>H zP>`D0b$GQWY-?SOxhgRf{9FW|bvy4&+7Q$Z-6|+@8tX5s>{&^wkUI6)7LC+J>VJ0c zhC*O#MCNxm2Uh~icX_L)B>;;vJkv~f`rg6?kF-H8xE z4$h}t{@ur{bm3Wm6BiaVc7x&)Nk?_OE)3M9*dM)f zq3!XG<*ng7j9m58!_Xl~+_sGUeMc4JfP{%@e=+)2%4tRgt2$E-YLNlFzGn1lRa`I8 z_+^J0Y~}$h-DE^88ucRFO*H5GsgsQ>TE-SPUu7W=>U6LzA_$WCq=rl(f)xkpchj6| z3a(r%ii}+c16ihFn;GAu2pgU(k-;e9T5`WBs}lDRs!qr|dZq#{;V+gcja)p;h@+_H z;!#$($djW#0{41sq=)UQmBhT?Qzx8Bl2PoGz3WM)u6)s_G_9k&(xFOpmQ02{R>>Nf zkU0ER7Ho`Sq%y*Fw5tOq7S`44Nu1flvjZ z5ndJYBlezQk&L6wIu<72NhO{g-dk+XXE`s$u4D#{3|Ioh?XCS}e)8wqEmh@!3;9A_ zAp5KNd%f4X)$${-t$q!dUPV4Xxn*=OF#d$L&DZUc2cmk1pZJgcqgbc}&CEKCnE+7! z`U)n{i!{(5J4fv%hbtiaNob1$h@GUx6YAp`YGTTDfc#W?U?UriT7CSWIwwW4N4r<) zxCho4tLytAK(F*~#`~7ai$$$5p7Gnyx+xyMS_VbdGf%H!LAu3i#wK*CFMm2A;p${! z{Z3b(^$y8j)pNb+53*AP_5IkAv30SHlzx$__zN~dniR`zeGHzXzFuc#xY6_f* zC(uO19mfrIT&P3WBu>nJ0uRly>%bN2Vr}8mv>bGLX*ZHw&zux#wC81op3@x5# zT7(i>dmo07XC$W_Otiielpd>i>w53sHPO^EeFy2#*LNRH%z3(k@-p^_D4@k$uf~3Dpfcc6FZQOXFxQ2! z*=*OG0c`=q&IC%Hzo5RlNW_Ozn&_Qd-FGn0(5`%O3a#EWw<5<6Kc>KI+iITa%1v&? z0OU2ev!aGLWaes1_+>eMg6%MAP>VFiBbu8Datxrfv&25pl$!kS z(G<$?vK%|K!|C~8+Fd_KZ0p>3<5GDQMI^DdqQltQgNxO`wxFVkqY5AWFboTEH&qtQ z>Zbq9b#l{HB*rFsQ9z;i^()0UybL9yZ@j^58QXT-tKgrDo;T^|wVK4R@S)-48U(X38+(h*Y9$(KNU;S$Gm3 zA&5T7J$)Bk73ZB1$57_;E)Z8dRl1xORRldlb$>h6sQM%$EFFqz9dJ~lhW>%ct|{Jh zQh4ce)*+=jHnDS{a2*K9%I1_9xH#n4k+Y$rP$;+af={c`DMnTkOn+2GxHzWp-bx$ne)*4II_jH<0)c^v4q&t@Tm+&beZ!cSdaT@{ zOPGoEt_0GuO#ZTBqtN`Yn;pY9v2DXG+bl-Mg(9XVJ8)~rJH^JAw;g54_^uRM*B|H`2^_L`LUDZ;uWUTT8v=&>F=?TiQUeJt{1W{gGXdgb1AP&w zR=m4=AF*Ol@Ql+*_*AEh7ju=27A9g6`&oe|LqO)r*;sJhOC>>QB&A3B^#QnRN-4)^)IDu{xo5u`VoAB#D#;s9QY%vh7ALP;DqQ8_^m9#zSY`98bMvJ4qn`_)=JH@@w1TkTNimD#TU;4$jFsyl)j**Ho8n^ z`a1vN@Eu+8zZ(zeGRzP5-c}S|U=lAu)0adL({IxTY#h?2ZkepBS_leA^P ztF>f)nvsoW3UreA2~#I}_4$FzG4et=;}$td%*PNad8^$1>8Vg&T$NzRk@`8=?>Dr) zeWKeaVlUR|N_hB4h+@bsGd{$9<)v>tjNK=^>N)nAoB|@PQ7m+KN)lC6dC5DaaFaAW z>SRJGapZa~cRA86*};!0sb2jEw}!t5IHMGemJKeoJt^W#_q$jjg?A@s^|Cj0MDZA-r1s$bsl;JlV3-L8Lr zrkYD=tX;$K#U(tC^(oLhyU+=m-hzBPF@1XKd+0_|{h=TMogTy8p($TQ>$jtlt99z` zCLs6;dxHDiwfykj)rM)cqjmLv=liO3g4FvQ`T05my{-2X z*h_MSPiH-}ncK3bFoyJlnon3&iMz$$T~-F7;K0PWVCn^v`{ ztj#gae~T=yD~N%(IhxRG1s_P216o9g{U!?N0IFri>(~*%mnsYVA)IU9AnngurIq`( zHbM?7s#3Irzw1Arg@8mTz0flJMY{T!=;lU$>8Tl_|oHUpfHlp zG;>mTPr|lDn?YUL#lQYcrS}1N^;|pJY+^*DKUPz8fJXvi0%|BTw#)rocC|fpz_{8fB>{O+1jlWk zbi+8dH@%!@E@(!>b5)SW%q&bH)EL#Ss-(IXo?g?Yn)JoNpdxNMj5DC?m^;GBms4K1 zSs~ib|Ic^5{b|^;o*qIC%VNIcfwYGAV|$pJUoL7|^LB0<;5i%A; z%O`l7cRd*y<^8~;2r-#+Sf5mOyy9qhItJ0c+>eSTk#9w!)e?J@oP6qXHBXr!99?UI zzk>Qb)AK}{S&A>Qxh%y7R0%J*@1{OZ6$y5*GN*15Q=E0U*Jb;7RnQp_>sQh$oH}7= zqRpag@B&7y@1e5X#&{v^SYz?EYV@*uc$)~$-en3RI+I(MPmlcoa0o92FG>=-O3YPj z{5#NJ?HV2f+#K0`A$IFlZZmdp=VgG5LtZ9fnRAVV-7f1ND**4;v&^BT3 zRIJAyk&JNDcb!Ba1qWMQGC+nb--9ddrRHZepXh0co8Y$2AZD(vLfLLcY>ONJ%)#=3 z&F>VzvHM-XEi%4F_xaY(3%Lzn_O;GbMRiJ&eq?N%#d#9KJW)h2+Z?qhxHYL?Q@s7g z$wm%58;X6QZRVXq3ClZL==~^Xur8w8#LaZn=z3zqBQYqeGgjo!D!!)8B|g*V9tTA$ zw9S!z7MP5UTwVO#yWVOr!b&5jKF>AXs&%?$2@Bx+5#Z*4r9KE=c{naNo*lK*BfbET z4tCQO(iKt>a=Q;z3gw*m5@gpCZxd2l2_=&*J7}Lzwa7J|RptfwS>1mouj0#txz0qj ziM4x%=+_k_5xe>!J0e7e^vOp%cdZ%eDM?PisfS|u`MytI!Y8%3HlB{qI$U9uG0 zKAO<{V&%7aC!GI1tTD4W!A5aC>!?ksbs@r#OwP!|gk8Ss6!?E=dJliL_xJz5r$<|q zk`T07nn={%qXTUtAtFeK9a^)fUAtR@Bx=M6V#kUYwMXc(YPJ>OsMS)@(sEj=t*-NZ zy+6O(&p*ITUU^;5>v}$}`yG4JH-%jB-c7XrR#kK@t-v=gN{)gSFIuSqd>=?;g=5Hg zLZI~Fkn|YuZw&`Vu`l*fMb=eBao9vA)LMWD3)@-dItIgc~|Wwi44u!H#2|Q_DceVU% z{40-(3IlE#aJ?#vR^2gT1600oLoPH_U|B=SRm&D(os+Jq@>Nq|GLv}!kW};VX`PaN zC697b-9oNBQOaN9fj40tv+Z%H>;yaU+BIRfb435bs?_`({59d!9SH#~%-$y9__5Af zkkb->+m7Q;K!>+CJjR~nsD3s0a97m<@1q%xD(k?7NDsFIj!n9J`*oK2VHHc4QrA{` zCrnzp+cMPQ_gDlE9ZLY@14^907qptSzgu{C0^uTfxyxetk6irL0W-#nrof;vv=X;^Ed}S!DJQvlmkTd0hBUvtIC$Bj zqSWeGQLfRt@ON^w|1}lTOPDI84+i%oRSbg7O`w`^g4ZpDD6t1p-`Xmf6Il>J){18+ z=b*7DIWayFZqi>6c-<=!A*gS=8c{q1ce#|Px0iNF=|c0t(13}FIqJvH;H(oilejLx zg|^a3p^zKfyfO@Gi?IG$`91O;#xR?U>)OA$WX3wS_YT*Mu!% zowDM^iD2ZJP<^SkoSttnY_}Ar{17jAUBb4_hPxObL4#l1bXN^CVbI99S2z$vk`IS> zxL$KZ!ARzEd5@I0>^cL7_5>PMwH+3XujLVu*F$B+aI{4aq_aq@MEKCJ3ZpPpw2>wX zE%P=jKSP+ZP7D0(SXO1Y^zmP{DuUgIoWh~TqumM`?K#p!JD#($)2`UDVY2%1^=`MT zkDilIbW423_oOL>X>%d__!W6d;#Kj1Qk7bs?$DCIrbDZjJKs2nd!A94S~&thbhydy zFAcG48@MrBQ66TJUJDpYIQSXS=+q$BRc{+(wwq zXyq479h3tEP{G@HgHB*2L}WoCL3bp`xl(GCvGLbkLTpT1In012mG+A8&M*NjHZpCX z{5tF3^9iHjuPn3=7`mSZ+g#K{BHb`Rz|qJ;ZWWdjxow}nmy(gA_xGTGzenZgs7VYa z2jB9HD^}{or`ES#P1gHzFad^D)dPWCpF%oClLpKy0oCZ`{e^7#_Q8a$LK{ssL|4bn z6NL`X<)|p-ZGyO40cVaS^G=|2C*oDMKl4OSfAG8%`CccwyH8ucY5O z{xaw?INJHy38tju55ozJI)iGyGja!Nx*C5q%?$#X!K-JRr-21G+RnkgRSz1|0Yz^7 zMl$+Y?)N?50)R9)0Vp$KZMnvbEEl<;dnU69MY6F(*oYV3ZD(ES5+6;sX0EAftj2FkxzL9 z%R<+T6kJa?x8eod6YaZNc16=qOU7G-w*L*Vq(_5Z~be-Y^<1s`iRGrMV z<{ZzD`&h?#?npR?{tL+ClPQhB!4i!Np!6hmJW7Aj`_?BlEc3IceL-ScP*wGi(f8CO zWN!N`5s zG+HS@Id*>&M18bRK-XQp#d7Y6E}pEC9+KB(Iz~D@b05#Ky{t{d-M~Ev*gzZbSHSX( z>cB?Bdl-{=)vAQ+{}Dqn#%H^P0B$?k%C3hmx917UbTU4Q6 zAhp_N8)Nyka=;2~|L@`)I-1)y@J5)@n2@Wx-Xcm&1h#V?{JPjY(crF=yF7ONcxO(- zu1L8@cxoap+eQ&zjY2OFN?VopKV2E7EEF%f%Hl9MwN8h;=cT4DMUSGIHI^eafvfij zX-n=cEh&&D3Q;YqcqemO4+i!ij{Oz>Q}^ku=jnCUWSXg3a$xEU$%PQ~5YR%WOZz7- zL_Vnpt;v0{4^U65;=DI(=Y;vrEuM-!!`N||I#pSi$i{Acc5v=Hzxaw8q|Qy<%!r5? zT6i9wUeb5=`p_g#IqM*`nx-wUi*o?{S0NB#OA0xP9w9jx@ZD+>%r%dFHhovAbz>Sn z>B}dj;5);D0&8Mb7O>Kur=&U_$g^oHYQ_#@F2v=wu5uxEMpk3=LAB<}N_~-m#W$^h z_ldpSS4mO@j-^I)g_ZlC`%Y{e^ms__2P?l%l`+(#>E3|36?QskIKZ@mdjVTCF(T|? z#_HEFz+inXdiJ+W)N=2npKwUH4IhfK%uo526l*|yP`@}pBH`J5`$`|bo>8Z-Ye&K} z7XevB&(!poP}jYl6Z&cSKBpOufH3)7p|urDAL0O!$qVVC!f=#Oc`Q#ouH8f0dU-yh zf--HRn9@2__mGJl?0>)p9kJ36E%ElQ(N#gz@RW{aI_hMmKN!W+gYH7Q9!xaCUP|59 zX*`uv|GQbgc+^A6*eXxFf84avD05fD@~2fZ8a@-XifTOGHo#4&xbR1(D@+X=ja)hY z(3CQvoVenwb5gNaRap&&UVvf67h$Hl#pj)%AkY+`pJy0h_J-a!f>_*O#$c|L#++6zobQN8TrDyC!=KN4L9yJD{9(ydoqJ&tH-~~F;pS0c zGw%$Dt%r<*%Y1Qzrm3nL7T#Y{sLn?Yok40fLKQI?xczYT)yk__zeZW*SG{za{l<;q z4%n+ELG>bl){=gfV@+^78&`fNt+2oSY3~^(QIrk;!3)z4iLP9p6me6UJ0IR-p;4l2 zViB9N3s#14sm-o^s&w}?Wq8^Ap3mXVlBMI#S)9CV1CM6Vr*?p();%cB*tQcc@+ zORnfS#IrQ2%fyq<6UUr5C4{gA;XiQvC4GF`ni&qeyg3erDJ-W7v}+j!kAfy18(Wl% zSFR8F1N6o^j6+YydtFCqY#%Ds`1Jx8@JULYJDY&N>n+w3`fAMiNy!Vz-xpu483TtG z_|PPHswv6reZS+eOuC4OXrj}cd7#IXV)cuGiczN_#0@K*Mu+5{7cYv3CvAZ5?R4*Z zCZew} z{P+F~SEya?I;g^${Bl{HjpeN*Y`dlWX(X&CQ2MK$m8CyQO;V5%uo(S1-{!yEa9@<`x7TpmyF2Ee9=wpz`DdGV9mnFC(oQn$?aN^xsi~#=bD;cp8QA zU|bi{YpSX~IIh46T+i~p4#}(UiM9rC`&4j{gq4VxK@|Ear}U}7v;VoQyJlQweauZl zb__@3SPn@2rqh$(N(QcXPopDYHdl#YEk~GlX^u3{sjw;p=HOH!mvzh+M-Gv1q?Cg} zwOUCZeG#V@p0-=kK1UEziA0wf5YA#ng)ox=IBt~Jkvw3fFry}K`6T87 z-YGH&g75>J%6rSp^?WipwUWk@!-@e?X-ast)8h1zS@k2M<;DFElXB;;QG->Q>kgEr z^}%5#i!TSVa1_CNDt$jC-8I&ILJ=28zdUV#!hWz=*--g$Q&U;YDWXp`-OGInRQbM} zGpYM>)dy3gt!2&g`=905HA2OlVYDl)tk!*Y0%Ef?xjh^?+^`Hy5qp@zcd34Zq8e&J zzdZZWmuu^z9nOD-?ceIjDKmKAfhj1ualbW2Q9ukhlhSqGHLoQ(=M6*WlsYR>4czlnr6j~)f4>wGY3`SnTL260R=L4i=Zb-H zGM4SHw51HFzVld|lJw@gCx)f|?3T@2xHP8FZ}K>wTPALuC2v$7b2mJH&V2Ad&UM1Y z)GCPjjSB+G*Iks^&?WoX~$2{$ z3<9OhZ#W)Jg)r-lmCG`JSm&_h53?2bRXl5qiC^(NVaoWlD{UhCti#cDJ*vL;=)rjq zzgtC=mt~qI(?fU_dH>)d_jVg#MnF!(g-1+Fe*m|AyV@}g{R3K?qNi?mTVVik2;QwW3qhe+?=NfrFwBM81Y~#P(pU?PQSn#Y_Xw` zo^VdH`*_T;j4gautc}KW4PRUjA`Kr=@PLu9?1KT1#ElrP?u-56Wa=|vD(S7aa?~HQ@ef-bQdBxoZ@M6p4&aL1t3P1hH+^>{ zRG6~zm7>%0t2JgYU5%hNYo57?$j#Fla-EiT!t{i)L}t;Sg9+D^x?a(YxR|&G1uuoG zajbUc9amw#g83j$?5HB3#@-OlNCo#a|v%_lFL=I&>?+r50vrsa*5<<^D|Y-Gr@ce{sxNWYaR%Wbpz5$;!E!} zY%Ab7;0u%-0azWC%Fz4eZ)>XvgT4*QNrf1st^slfbHt+gTkq9yPzCtiOa2`)fcu4T-+!)%k__tM1yiZ}IZQIEX z5kkgf6P_^K@&J*xYmlrHd-z?hLv40daZk9d=V=(BZxw|q2a!le+`f!$X^?RCKmoxkk@#0TKRGXZhoUI1#DZ6PSOV*}IOgKNk<=_Y%(Q5MU>q zsBY-6YCWIm6YrQ_POlcSSRSummWZ6a(k`?kB5OVthGn8sbJ{KD@d2Gx>qo5t`!>5U zitmDIgyEA{zLD_4WPDR*z4q&r7{hNKL(jIID8SCCbtz_{q^^)2gi6iN)--jRBfU(_ z88aF$Ri;8}HxP#_<0~S~;9Zy02OrLCqzqA{S90w>*nczHkjGq0;aM%#uq~@~zIy(0 zrAp36CJn~aC0t%{!f0xJk9~XYXtabu|BdmKtZ$+=a+TblVf&3BTFe*j#Z$;!p8xbiv zr^qaFwO>`Ac|ibW`^i#RcwX=^>FRpxhb0FAnGfncTIIXyeV_fyEKo1 zB>e-vx93yDjP$qc+L@R9i2mAmC-v2{7LCteYv<}>fj<@=e+GB>^I&4d6?nNYFu)7T z>kkx(hz6o_YXfx2e1S@VWR_nwZyEYqH}WxP5xA&#T%05VF~%hin#K*7?|F(8q~U~8 z5h5sQKDzTd>n+dK%B~B)q%Hyd8N^7_9S@)zv+1{C*kG%LXAiO09YIGtgTmhNHN3{9_D6Q`nqy1zhNAyPh z@e$Y>CdF&^u{5`8b@*`<>v{6p`u1X|SJboP8_r+;8HF8)gu7DnG@D<}ge*_m=m=Ia z@}{5(OT6j4{&}$9r*C&9qza(G~^)b)6@(%p++KmQjDjkyJkoZo}6FSQmvJExEyk zHPNzen%jFx3PE26WT%s5T(MR^#68-FHa8Ql~GpBFR7O670E?RWJ;~ zq(l0!kpfEX4BEF0PNAna+2DWcLq#uC zWP;gyR9dzoFu>?_IA0M<&)4+to9?PE-P)BtyFsN3 zs`F-1D)!3H=RPDx?ga+Ywjge#pa0Au#@jr? zNF*2`%T+XHpz;l{t_JncU61L%cV)E30$v?n|FZa`gE2-pWeb4`o^t7s9lbdPDo@ne1g{O(Npd(e+IFSsVrZIJ_E(j@6ZX zYEfxLfPyf+o&~C&#Ho#T55_|#PUgn4dZV@urQz#hu=W914`xy7lDj-6R2{42;Ap^r zq;78aRc66|EuNQjePgC!zw5K`;z)s1{9R?Yq@KHDu+C1a>pq@R4O5P~gag?g5FsK2 ztWHj$V5}=sh?m#xw87JRG;Q0r^H172iHyFz{uH(6IR#4Ej4W@g==d1HUslV7Dp8p% z>}X9DebmnQ7&Wxhc6+odxGuSGnx~fuhW}Ed31`s${|D-Gw1xc2mh=l92T;uy4^%pF z#`ZlOe!Az9)e9k=5kwa@2+4D=3bwmF) z4*l+{4LNK%0Au;G;GVfc$y>QlT_~I$T=!4E^EC$GGH^J?Y|7ibp3)+r=``3z_LmTj zst5<7t_)yko4;dGG+yPGBs{j>G4Oyl*Dme1(TGA}s*NagSpYVAwk#tSXPooKLfpQM z)UE^ap3sXbn~!`hEziJn8)1LsJ})6dw6Bo$*LNmiKfvdS2>TOO)$lXS_}(7c(p8^6 zDEyE;CS;AXz2WbE|bOfRn>QtJ-pj9xi9<^vnJchQUMUcZa7(pBeQp*km^SdCBC9H#^ z*<%l+0q!iIkokk}zu#Q>)hXI6va9ylEBJY3Xd%&=*Z_(u9x&s9@u3?ud+JS1-{C*Y z;{EICl^cfOF#^V1;rh^y^cI z0^faX5nL5``uJnar^O$v`5TTpUTL7-{n4m$>3Qpok$7A&yo4@m#c&%8i)DBWprv1b zfHCOY$th70k&{MYen)nh_m8VkDGLSe8(XOrpI!hSs!x#l4NhHNHV1sMEt7CS3v}aC zHZQ$|0PcEdm0>{im2YqW?Az)6Q7|Lwwf_@kmwPNW%{bhNJ7+z~d-<1)#?&e613e;F zgp4)Hqd@?(Juw$8iAt_ad8fD1_tFQ7$yg6@r)gLrHUIB9iWZ*Jsa#T00QKKcD#3|d zRLvgRuokQ@emkL3po{>f9k4I`Z{yCSg8D{!mxuc1?0p}VCs-{Y^EY?Q%qIk!u+9#> z$HzV(2S;;d)1>j0nhs-mYiXS#5vpOTz%Q2z1~!P=FMqc4EBWE=wvGLv5XZ6y-fPR& zId=Fw{J?hhDi6iLH`wToYi~ajjp~m4Y$;al)HZ4OfXg4#UId}N5icW(N6^0B{Du_< zNow$Z4r^QN*K~SFi=2l@WOnoe5XzopGdM( zzcS`DpS%TNM``b<8txn&`*HyH^acoteN}vTjOdb8wFVies_H|CKd7gsXMw@X>Z~qx z6FsRvEj?j`h>KCltpwG-TlKmvI^B2v+egV@suhjrJ;bkRw$RWIpy=Ip40Goo zn^xkZH_meo`fuNy4r!)BcGDs1KxB|GgSEU#dw*?5vrvrEXo{|53bQvJ1i=NI0aW_r z_z4nRNAYqGOlc)=Ai5}{z~t>PzMhUK4PgeOVQ;yUDdYP(7Ok^tuIwD~ua+8oMycsJI{er_ z_0BRr^b6q7)HK)AuIR!UvYP}MJAHyrzou+C^;hA|hlkk;DO#;D39c4*V8g;XAAY1^;TdXAg_HguE zm#NiUrK~}E2S`mZOj!}bg4}Dehc+S`&`77vuOS}B>|evuU5BTmU+TboF9vMFUX4km zE3d3Wq|RY5KDk^^@ry3cFu!}cStK%w)9g$-MJf6g>7akcrmaOpgw$fhHlK=>7ICe9 z53|1+o;#OPtu#^~mwi|96{Zn!Hah$%jm*)D75(ML}*=SSRsT-CyR zeh~~jex-9N8;SL7stMF6n^RKc|9Y95%VM%%Ek1z~JC;1XED!170orocO@ty^6;7rI zrPxeDzI>Q>qe?#@EH$=!*eWMZb5a%OPoRG__ghUP7mYES&~ezf;`S4WpMB`~*lC z_9k+m>_|LbW5#o#v2y@;)82jkz?F?@+`SN(h8-b2a2Y*S2+~6Md7X!dhyo2i}`TW&SnhWzQIMu09>Z0Se`n?0R{uX)}Y+^hq_8QD}RUwvX7t+0+g~| z(m>#pr8Ox}dD#5g2}g)l3NK&0MjY|o{NG_T^-F(6L;;Z%Yj?i!B}pNxPU_&*Wj zp99rm!P-(gW+y&{dyZpdkADls%Bp5vk;;H6II?N1^O6sT3b$593+ieeOL6Pp{?TWu z?1Xw#9;s7^K!&H5Gbw;>(Xi8rFN$G{Tz~E;TeX^L9svR*N~S2n539k1{iQ=i=ZXoA zV0YP^=f?nblBK;bNevjwx|y%vZ~Pvy)sbENp-zf3X|wHe`3>0t{;R$83OJxP3_}Z2 zQJM~pa>={{SP1FB>Y_S|yp=#m<q-r8D0;C#90yph6o1vNJI0>ydBwRFC8S z+m|@fERw)i>}*~;u}wVOlD2(|o_0fqX=WZQrO>S7J(TW7 zm3P&i`mfxd`-z^F)rMQEq?UvDOe))IV;$B3#JbP@GLOkpPsz7to*8w|j(8!Z^nfbS z9d(#I{xoFmD`*z4Na?9d$z!T}o^wGl&+scKAV}j%nF`Kg(f^Z$lb_g%x4YUJUv$x z##c%Gp!&a}k-2{7qfJcF20o`_MScc?U7DQwMc6f*i$usPcf8K*dbMpQ8232OImfS( zcC@Bg>vYo$4vsw4%q}92xTq@HO!jJ(-;H5b z=7y4QDce_|cEh|*qg_N67v3IVM^awU8i%E{J6`;4fqHl^s38XY#OYIJ+Mo#aI^C}` z(A~Q*YH>=mNsxrPqO;}gD-2K^SBg)&2zsg61pyl9ojJ9%MW;D@r~`dELUB%tInJ1>M@G^>Ppa!Djbb(q+7#*f}cE} zdUj>jR4I(;8a7m!mxV%F?Zum(6_Nds5g=Ye%xSk_J#{3y_HRwz@S1Xccn)KsaGU3 zFhh^F^i$LPe|8W12ArL^iOb6B6v+cj*ecWn4EA-Ph56X)RH4Wxy?rat?VP6~pNU?gYRfX~-` z^vz(v-FVNi!)~$OikE)oM4H8ppC`b<+=k(?AEIc?1_gVC_dLxRqMTxL<3 zEtMvbX)-Wu!L#SB@sT>u2Dw1t={;9MFqFFS3b)*CjBn_oJ5Y##1{rfxCz<6|X1#MM zH{R_mg*G`QbnTcgo(^jQNmc$D%oen9f$*ja&$j8cq?%gfl|U0Z?zr`gdPp~FIQhf% zhIG3|&^n+|5F`z?qs(j5%T@SxDHbb1suorejL_we9o2K6&m^6m#qvkG7U0(6+$1kp zXJv?1K-D?co7NjQmh>_zJg8#1{j6x6PAe&*!#EyTL+V^qETf*iFVI{2_^Q*ULV2C0 z!pfghrKGW7z(>?{vxyGYp;_npT0v^U|93$g2n1e2XxBcU9GuZlkSQ*+566xdn;o43 z!j@xbU8wC=VUG5wu6Ji!Ltv3S)3|hE&C2?yjeJ)`CXfb-bM2yn1OMAM4uyaDQ6YbI z+`hmY;b&B>eicV z7_2OFS2WRFNdKtBmqlo?{oyXxqrsE4#`#*wFX+k(6cpK-{lDt7BDi0>@H$?o>1*6} zE?fCzUm-IXF&W8aq#7g7Hfj;@7Q8J`8s$m2?>|T2JMbI`A8;(^kdk?LqI`B|$NX&r zX)^k-cyROiTMhpZ7h{hdA9)oL_3)Gd>XMbm8TB0a_y4bk{lH+=TP=J6WqZvxVX|c> z*SPgIP9!hvaL=#ZMwcXW7}{!}>iKghK^F%94Tm8;X7V(=)FBpbC<~){~8alNJV_I_V;iSdiv$%d)8MTEsNVVey2njKm28qTb)W1PEs8aG*RsON~nSkQFw zS+(ia%IwlMST_hbz#K3bT7*-D7f5qGUVVn$w<-8fZvLs{5q%JR7>Mk9-T%4tP0nw= z`y;2Ii3!(VorJ)*x7Blgvp%+Ku7TQZJerD8SuCg3x{QHKQu!RZR1h@MRc)tPL+O}8lJa3w7mS>pm`wZNNFu%jI_98z=!rE zU9_E+f^LAp_jN6TH7BL}7Mhnqe^gqp=ZA?Im?F36#gAm7KE9;(X*sK-EAE~^p+^gV zmyR4%xJrn^0nT-LkwaD{OSy_T@lFu^BIn3*;D?D=!_&? z?owm^3DyQg%oFw&Np|gDFzHtu_p7sYp$#dk(gSf7ua1$jpeKPQoeLvllERMQhB287 z)z1j1ORkdgz~dtSuqk)oSp^}x1{2hN5&DHP56%@>v{gMw;;U<*3LpzG6a3%1|CWB8 zGoJ$E=Vk_4mRdKAl_lS9vbW8D#)Qmw1_rMH`Vx0UW_>+%ChPcbq|x^Fvtp=~D&aXE zbtrVE5)}lzJjKrZw@>s)p~d707%=!7I~YB;q4qHG31-;HUMPA+t|-b21piJ3t&6gz%F~uUcpF{ENI!RJIS1aW4H?O^ zx|k2WLi~pVHRBx8a;6pD}bklGJ3_sa@iOcKpD_l&_qm6>eZuq2TB%WICv){Yf4B~ z7dqSGt+a7M=UlU%5@;5Vad6V{qB9AgR>}86On0_}88%Tiq>EoyGD;T4l~538IDjAwu^7 z*gS@kVr9+(DX580ouVz|Y=8ynRD!O24#5r-X4s^RXrr1I9u6B7wTLmAgP(*MQ8I85 zO<4^lg{;X;x>S-7DuuD7@`rv=(3e z0x4=7qN1lm|PfH!-R)m*=a+Gbq*>`+`QapnX3$iVqQQ)%BHG0dzEAv4_- zI5Re!Dw(<9S=g8|^MU{JO(^6PO6aA(&FrJ_<(_6cjU1b+0N;07OU`!r=hr`fS!Ice z?hRPc?gfgooEVKOf8_M8IX)p zaj6l{J$Qk}sB6+h+N6yxu=6)bv+mY1Y|j5zJk2_e{Ooh~;3@mhYj_7&8zsIgK$ZXN z+*;W2qUy9Om|^8RJ)?I)t}AKM;4yEK>VgTpT)gA6a7L7asJo;;@usC_3ARWo@czRm z+)%6Bj?C>J*5n@SSrs*NzvO&MuG7CY?z#Oz1D+*~`6I6>i@0<|n3T~?t?(lb^s)KT z;jH6NfjNkSvteab)2{)|f2+1X{(aTWs`RA82+s_XisJ7a<90spibtD4VJlNdH>xZw zShQmU95Sk0?NTpL=X%;f7xqcpgOD&riF?SD%vhAi(;&@_0A>dZd!+^0=SDZm;Z$5t zzWgOR#CD~FKM(?juIX-(4=UorbkBj-e^}TA^p@g4-c25qJCdmBtU5~#zjI1-$93OlS^;UN( zd<21M-Ki%2ntZB~Cj!2j$wq|Pyt=m`*BcW>yC#nhmaCwYqUXrumt{NsFMWWJD|2SXt zaS0WR$QWY#NH&4}j0nM)i-NJ{U=<~0=}^QmO75t?$6$m%dNbb=lOBRDsZ1o54f(3}`WpuUj8fcnRO8oq*~Z-GrW!Q)C6n9IKcrve z%vw?*j|nGD%nPzpwr!{~PnAc%XHCWG07SWv-GS*HA#%1R60cBo+EyANL7|yA&qe)= z+R3=gLLuShZfB$2e-WyBf;Py3Jl5zfhkFFISFzp(Pdx0m?;`!G(w}+d&WnYDJMF^zU%E=~vDt9=(n=e- zt6>V%`s2_BFIS#2SC$6UUE%)xA@dQ(1dc&t87R(@vOzZjN&ae7@48<8`kp(sbZ(ck zdM5QwZJ>mRg!aZ=F~f>KZJV)U`!;Rbdo;EDM2}icVc}(&RMA9dk0ZX_D{2pTaq9%n zhIalBE`^$0>d*2%kcdA#H`?514`CNW;N>4uBM!e@;Z9$uDwl8oMZQEK?R#lR+&pZk@cTl9oK?FWNbZ(8iOyQh)y_H|+iTQ6Fds zW;Bo5bXd`ArsCF_g#?I^SsW6^L_~zwGXaXWaJ zYIn~bYJxNFA52o2p7KlP0X!NWcnb{9SU;X$qunylfU^)tugkrBk^1OgoGPcF*2+8x|142$q#i2^o?D9B4kteqxp&k}g`Iv;G!fObz$61ri$-WCSNH-f@7VN} z*8|4aj%6SIdU{Zxc+*iWD|mTeovR|aU*#+cf*DJIea&1!*Mb$;tTUGirxmM7=9O@{ z3e zwiC;QU>&OdD|6H~L}x@EeGV(YM5Pz{M8w7per*pu@N(y1qZG{6X^}Z1v9$n$F{wbY zP^zh{013h@NDJ9uko^Y=mo*aVlaX}M`E}Ckv%_@0sHhLq&As;otOimMD{|eZ4+Oms z)LyW#?d51)4UWGkf>Shf<(%n-p#TF%Oxi!!eH3D67mr-w=0>agUORB5ZFQn!5U~@| zFesm+*jpgH4hE~IurWTqvDbno7fn_wXInz8c%z1B;xGnnFv@G|Zp2$V2S@&U_pbdz zfsR=`PGi4RrNgQ1SU{EIru~=R$!Q)5F^4BiOFpdISsEp+`LFlL)H1hR)Z=)bwp(yOUU6gUWH)&+9s?x(8V!dqI(;74- zb4uyBU+CkCU;*<*%Rv*hXcw#;<;E~+)Yt38x?5(zUo+jZG#keHtr zT%Sb5WU1pYL~vV5wT6X2zS+i@HQ12lG*;Atd0KmhX=4Oai;Eh@pitIUAQ?JX0M>G` z9N%}T-g>_;$^>bGj-jW$Tez~%?`QWLgA&r^b3s;psuQQIcchXIF5B_)=U`@yY*m(s zl%JRVcJynnFX;}rai{TURsU2yd=#xOpXObb5l+eNZ8A=E8F)_VKgNmr{e-6Jw~iWH9F2(Gnpn3|%;Pa1Mot@@MSIC2sTD8 z_gIJK?`xTDN>|}884@54$J-C`6xYc7nG$=;)2d7hCychAt};3xtDMuM-l1=z z#WU&o8biZD$OexS)0eb;%ex0+q^&)k|9!O<|510=hVepcNpbsWz{Hd@UNWCi{tX=) zO_chE)d(VCAp_^f4j4o`w-brpthub?1LNHIvIlL*;mmEj<`V(voVcQucZ$4>58WI! zhcUzPreeuzqc2nvfmA(C&EBP--vq`0q#FY@VOmuiHmj6?_M>wH+r_>>U1roeKeR z54pDx?$8ebnsLQCwJ=fDR$K$&VmESAkmMdff)^G!yiR+f5Z1!fkm_K4MYwqk9Go?7UesxIoY*oIrco6`Wo^vt_?ybQpnYf$e$3 zc-=_BQ=>0TkKW!*6x678q3Gv3%mXEY#k1XI;6DH+tArctsH@FzL4B2>KD6uB4W&5~ zyq>aC#Ki>ts5urBS_P7~Sn{ICjvR@QyxA^#XfOeQuw}Gk@v16P(K7Q9%FMG5Uw*Oq z&QZ;j$&zm*-)Pu~Tw_rJ@ic)c-V4KLy{A%Z*_OIy%j?OJF0uzl_jr4RERO zRB}UsM-{FYPD{G7=$N;Q(zOJZ=vri7#lE1;suq-$P2z+e#ouuyn^r|P3lDaEuiW|W zu#$*4rP76?>vikNV?t7PiBMQ*|CThO>FdW=+dV(MlE|aKO*gc1f8IJ7@~hJL7F$TU zLp5)dgb<=k3^G+&bT`%Xd_=IJZTX0b{lN>{;FjhC=dQ*SUXJOCDw?w`Bx)jBlk5VX zh*fh=y{9ao%H|3rKJ|;#(@}J=^S|z#ldoG%;i}zbu z!=x4Sr2Nj=gJ4N?5aT3Wcew3uHQB_yVeb!o}d`g z7f(i(Esi3cZv`;@*H<2ZY+8c2E)=wM)(Qd1gP9Jv-8QgwqE-L7^i~Vx%3eV8ON|A| z>F>Tr7GFGj%>{?Ds&BA6GA_ z_VD@o?yZjw1!}trLm9`2Dr|x5eW4bf3sxY{=v$LdY5RXXy@yv5Yx{<)ZVOdO3?R}> zNa$UPAfiA*ODGAUg`!jeNhs1(#4S>i&|By&gwT=Ru|VjcQl%>qP*6~$sG#mM-|w7t z{)Jhy-g)PF?)$o;n!csmrgp|`sT@L=7ed>eciWUS7}mr3z6Gy^5MjU~AT$hS@3Env z?^G&Y7@BH?6WSeeoNiYO>FY^Yy5wk5p3V0^n|KLh{^^T5TaI5)t_?fE@Q@i?{EHR< zsQSM))(&9o>Q);~kmoU^d93Sv3PBkFJW!1UjztbN}WQ-rk{#i+~Q z2~g?0g6{ZqrPoKyC|XS|F{La;py3`G>ocuTIxN9*LZSjd!61Dpfwf_5u!-cvG(i`W zuWtUewQ@q-IOS~ZryH3G#oeF%J?YB}+^KY#0p5%9d3{=`uWu3+Dqu3qQo6=w8%0mt ztnWesZgNsqpPps>k$2inEwc?<_5TBjL82IU5kDf)83f$$+D@sY~#Y;0@=Ji5N<1*k_5VY4x{8`%P1*T9oQX8lX34p z<@7A5ypZ)T5InRRKg;##e7NvTEfy_R!)-*zE9=x>P+EZE48puF>e znHIu7vA&wOH9;fID8)%{4jP3&j(tuq^9(3l8=myUC5h(aWk7RpcPv* z@0|6~igs{?k|Jh+`)#v#MC>w4-oiCF$4#sIfF_5rPOX$&?mU~42nW5J%#y&~#!MA6 znA5xUSSK?r^E9*XBYc_B6B1JZG;kkceUH_=dg!(3zJqz2m_CZ&uKJ^+JNqoC8oV!7 z#WK1%6?5ZiBy4t`fjGhr#3R)8xoO4e0is>ahGU+_l}r4`j1=_1VoN$IFYQJ_a~Mqj z8yFUhiEv~QZr$S};HIoB;}ot*h>@~uv>+oC(3Hf|sd_^B*R{p_LPnt3m@fSE$$hno z(;NUMc`^GwkdgJeB((*kPHUPB*`2iGb9Dq9HA*`L0Io2KNKMr`vTjNzpjb1spz&VM zhub0`ezE_KS^h4&2z#Gca&ri>;!`x8*T;WSNmJ>RS1@v`z++h0-1lk$+tovsMoW4wBV-VHVM|T zeBpU7fh?)(pS-}RWs8+-7gcEKieM)y15J}PXd@2HCCEUQ(QQzuAV@F>8W3InCRif! zRJ05_%Ji13lV2o8ExvPko% zB5esdG8F+1o0f*#pN3$kQnAR_{|hBeSndr}hXu#aCLe}XveKKyXV-|eM+(TMqd0P0 z$N9$U*0VY{yb)K52NNqro=vMqX9Zm8%VFDMO!`0iQ75o^a#)}d3drX`)1p_NM>jeO zKP{X*?^M*VMT9TX;lQP$nTxVCZ18*hZmVLiO%wlVYX=6a%xb4yRS{00c#C8C7M*85 zy%Xn2Va*Hf{DU0$JaKaH`QMd7(7E!k*d?Kt!MDP9-#q&Lb79-|_{Kn-@Mc%L?Uw!O zB{~Ck5m-)Mn0g)UflE+{XwVwp6gd3dKJwYkj~IrXLAD8yJcE+BsONHlM4TK+viG(PG)sl@m&eY61CSB z(LD%a%R$N`<-Ve7O-I95b_zjYj6m zbH2hGtkZ)u9Szu!QIO(i!>>VvYSPm)$Jf-6!zBH+uJoXUnV+THU&=NWbQek_EAx=q zHq9av4>kSGJsYJ?uDB`+$E80&1|@mDjPlJ;l)2mJ;yYK@(QI%#bnD$F&%OLnp<$6r zLqZS2*YZ2T08ZP~dt)6o3HXv?c@8?WxP1HnByyls#DK#bV3FQ?j2Ctk=nYYYAWaSn zo6Q6*C`KoBbW=oiXDjwK{OjtrU%e6(KeWnn#CnK5C4aY%zLxf^?Do0RyAZR+gFEMg zQxu_=Ku|kL#z4JrH01_ymy6vQv;3(gch|)Swl89kQF5yjO4PtS>Tfk&-Ue@9sA@n( zI%mt@3@}4%Q1UR}Mht|^egz(x7`=|M`-L0|`|nug+|ppxL0QN2iLs8MkEZh#3jWCv zTgVyQ=Wcy{=T8qbYmJ>?HzYUopv~|RT=cNSqN7Uk)x57@ySok%qFGm3^2;G+st9hh zZJtcUh9Y?X9LDGGKc?0>7*TWPKVBnK-##%N?OEF7ZrIIA1P9Ve^#@{RtIYsM8h}e3z^1nA(lC3RYalw6_<(P=Dr4kOfIQ)&)BaVyh~evl15^|MXWriYZDg z9P8bV-(P+rzI1E(Vw-)=96#huI&Ea@&zygCE5m3X0;U_&ZSY5r=Cf;nuRwryCeh4h zqYITSpUvqBmZrMf0-Zm<7CEuk*;@-$RPL!f=1K=Szb`wOMIhI*mBuQs*L^*=$mYE( z!<;A98zrjl#zm{JVM@kJXM*}3OTeZ=j6gDHxryHutR#3fgDa~R1*l%<|)75kX01&-le%9>_!4gr=xs`9uPAv2|KNOZwYt`|VBY6>UJ%so+Asa2^Yg^6Y1ORaa|KWq<)9nrANb$YG^#%*TnMZ%#GVF%>2-MU6#t#L=26`^_mE<{A1M>enXXZ5_V!!o&*erA|Yi}J2 z-^`b?2I;0TGr43zXYW4p=3AIA+UtKzGI&z`&EeeIcL+u zoj?h5hMscWx3C!9kfq*6wVMQkLK#If@(`WmKsa z%AV^u7=nxys14?R`PPU!?`8=vc*VcYvj!bFR2eowIHJzp*{Ez6@b_7rP z+Uc&U!u*5bH#TfGF8dp5qg0h9`L`L?eie?U0t{BnSB$o(=XF2Yb>BGa?m7iLcJ;un zn4V8<1zQr?(De)QJ}uV9!B@1BeIK~>$=yw_qyD{csXV8A#z7Xh^rR_m+RygyYQ9vnbVlM=MQTxT1#;)nST|g*T)ex*BZjwO2Zn8p8zEerlm=rsN!D?>g{( zY8?wmH6T@?n{L&4ax!KK|0WtII+aeIXj%PNkTeL-u&U%N-%EGudPALP7S-gPr}KK+ zn?o?Cw+lYOGdh6nuo_PBe_nO5nZ*=>;v6UR>Qrl-FM2{Y)hZnilW$^?Yc^VRq&PUV zvB;RIDdD)LqQA)u&g#}a`NF*SB+!Ofmfn040ufJLr3m$As9HVf;RQ6VY zy{lb35(%We6`fR0PeE=iPjt!ygp#C>H%bnEJy0BhO)v5NDPC<=$#X7rnXf<*uFO|| zR8e5al#>^Jx&EVWu>-BZk24Nz=;VZ2VTyF2|1OWlGtthvFUwNGxmtP9Y$GdszjeAn z=}V_Tg`-+%TPKok-B4G3T}kNEcaA(U2gJJit!sCquROScZ-ykf*VY1b%Z;yu@tPU)H3{^PEMwccRt9+JEtxovlZ?jK9NA{7k$RC!p~P zJqdH0dFW-)XJFaK=-U(w-doKw77ZU)nio*4LI&-F&f#TCc!t>ZO3biRPS2Ox|H?=} zErB&bU&ZrzgKXkVYNU?6YbhPo8`?3oB3mcgO8jB8VQ3Y#mtM%3(wpvKEN56Ie|U59 zt!R|w@`5qCJPr#A<{yuAc(wgYW$B%$6a>aFU*O6W%xG80$yc}XcCXkJ)pzQ#RKPnG zK*cAX_>Uv-*{LkJmn7Z&W{$iGhL9R%Kx7bZoh~RbEX<(Kj3ac}eN)(79V`pzM3=4t z8_i1S(DH{Ubtlfrt-+1itLGHrwygFyhn|(@w_-wMJF;D`=g9Y+(Htw@=t0&XJ+@dz zjA#|`9|L|@=a;wRC+!0i41!B}t3}IaXiS_S(*8cp2Q@OKTj0gmSF@EwiOufF$-J&m zHLCQ#<5KBoo-fZvDqM{6!+0fYj)zn|F1a7H9x($G-zvn9!5Gb@`$86rh2NrvjbdPoFLww|f!^ zdxEl76jxQs?3FnES;huB9Pn@|>-j12vkWO!nDFD5Fnxga??Jf-gdHH(-OJx}Z+D$m z8k9D%cUMw%IEd9)R9HwXr5%trHenb3aKCBdi9P3~0X@j{wXz^ZR-pL%_3RvQY{@X+^?pZiTEWoTMFVlkaE4&+s9X)I$RDriA37W z>x@@C7rgd%!agqCH(3)SfK1DrGAaENl`Y^9dTJ5jTAbm|K|FTe- zVEqpbCU;)Rnyt$W-AghdVF0PL~iO-dv0dK3mm%_UT@_8)@Te zFAdCA^}ShbVD_3!=mIM!%=}qM@&-+U8M}CnA@a@6yV_8r?A@I-c8t_V2E*6b$?vD0uLX&zUh1RD)22=3 zZHjzsn~QBqlwgc(My??Ddc@(xuIkSk;V9DMNb9zY7K($QiO1ZPv>G`;w3aDN(S)O; zqS|WzD&cXCsFa!;)=3Ozu`D^cd5KC`)#I35_vbFsYYu4Pj^a8(w_xq`@OtC_e~0ybN|LRz$P zjAIzzE76xIpT)YmKe!AB!co?hTde3*TuNY$#C--;@0y>L5D067Hi8 zE&r>ZbKZy-oAFEn1pT(jd9JC3+Nfo=a63j(gHNU@M1bD0vKG_lVY4PUIbntMv1{*E z{znJznZP1P{V#IAwGqv3L0;>@JGYH$rl%`3_C33qDmZ4TMHOwkc=cjyHg_G&G7Xc~ z_PmZH7bB=f(+rgU$epE`Jq8Sp`#4K0k%9-ke ziB(3Ji=@Ze9@6hzbDi{>1Ts2&0FTux&UPS)AN6w#Fo_8_o}t0kHZY}k`x}|&yiMa( zQA?VEDL!U;a#6)`XOn3oW}BgZ{mx9ZsL#*vx86)(H9Pt5@OG=<{z9|-oZSBKBK-8w zZ^PL7OMAm!CT&CQ6_Q!2Nk5~IaQlb#D$#Avn9{hw_QoJ$))n!yEA*S40U^bE06ume z8&qC-Pu8Z8G@5???hg@}P;lP6HA?Xhu8$N2NGNCPX@=acL{2d+mA#haso-QL5*Ji! ztq+b%+fi8xQkJ@KFb&q|Nr2j2OiVpFfHrcg=#iK}gxpFp;rrfaQ)Z?`fHPCEX1XcS zza(9ol+H=PYQ?SKG3gPsMI^Ebh=LpZiYj@=$cwx0>EF8H>F0d}hYrLzQ~GELQsO?YOKQ0kRg`Dty3D*&X2|Aoy_2d~(R8vM0;Li@kV*1QbU zRxpV4Xxs&bLzFz{q!!!ju_4Xu;q$4UeV+76mQ5=^q|FLEArTmfyf$9^!69LuOk9sw z>A`qst(>|iSDBTu3~5+WJ2A1+PJm}W2tMZ@@3rsUB~MG}nXW3fyJ>2YL%L8F`h#v6 zp8f~v=%kSj>Yrf4DsT5GhBJ1Er&}x1wcaBw4%jq^2}clbg%;RP!xFxCbVUPOeOpRw>8D&1)l#S_G@qhaKcOnl`{&Pk==(B@mhAE}8Ew z8CLW~^2@s-dK9pDEn2#WDcMgzsR!`CHS`@3ky3C~=vgA9L)WESv;Lv15pdB;LH3Q_ zx2Uq90C~#8=4&krLeB|qBFQ6xx%1EWnraiW7Dy0VErFgg&Gazyx{#o$Erh82lG^rv z$IdIGe6k2 zmv>otzP4}CCS!66XV~>CXa=AI`KFLy*^b3B!xCk?94~lQ=&qmA0ZD;laY+B`-%6U! z=u>s+ckX?_UhJqvsmHpORFsIpv0E^}u(gqp9#aK60fj=%^RAbRSj|2%8+Mj>{|>!Y zGvB7?44*Mm0gI0!s&aIz4!5dIxfnseqdYzhFUh`-1N3hlS5?^N7~wL@#=kG2s5eO= zDN1Wp?q`xpT@Mh3k7+6A5t2OwKeMS*@7D76S5Vd5N*kz$Cx?kMOL#9cta5vtvXSfi^2Pp z&(qxMwEz1ZyPwLztnFX4Zt0VLQGFHOt>i3bz*$?NS7Ztm`z61(3Pqd_jy;v{6yo=Q|kk*Wh{Q!Uxg`cf3bo!5!YZ-D1c5Jt}7C@c%{m;0vg^z zG&5hLH}_Rc;^eSaQ#yz(MX!_U!m#-sSl)lfz@gRi+X2?CVKS*nG}q}OxzT!UOw95M z2zHR}^3Rw4uOd?A|3liY#eLWjUuFc{;s5X0sUdN$^aQbbO&F$D(CYX^Lw?V7UqG3l zhV!Aom!)$VTcZlH4r5DaKr=(!cdTzk!}U~J7LZ7zNzm?hl+5Kd4Z>;Zlyg_twzte184e;5Hi};iOVYczEVK_sw^QJZe2E8?hZtboHjcU z*KbezQ+PXyY;00fS53g+p^lZUL_%b#&>bv>`;~)n!lK0V8G&j-s>M3bz>`J)Fsi)` z=NA_>$hb(;FuS!1i#$WM+*>+jeWGG4C-JG4sJ^Af*i)*1jz7OKhWk7; zrHnI^M@3Q}m>?tO^RHo#DW*3?AW>ymMMKo`y39Ci%LEv_-EnH^@}ON5dSq?y#nbkG z3{$1(z~gZ)CL+uBcrzubom(eD7;=A z-qu;NZj(B({!8N*;G|U%GP~pPNG2m=fIyF$HrxhH3qDwh{A+9B^3Y#?^0zkOEx>v5gpfPiOE;b_V878lSMMWwGM z6+hB`cj>0YMozpoVk-dcSCapXz7Kz2Su5@GYqlNR>PmmLe3;i`U2~iFc+0Sc-LB5= zIoeV2mjYE2TZUmJXXby$6w|I(gmpIkd_d})($UyAy!Am$<5}MqRJOGRM>0Rz%Jog$ zQB}Z^+pl230Lao1`FaS6SmK7{&k>`JULCey_+S-`PT# z+Czvl@mY^NX^7dk`ahq=(?6Oe5Nzk605LD~!HkT`rjg_(93!ftQS`rUs9D zm1g*PnFh0#QcfUT^q}@%O2alnDAbAO2zM-<6p#z%GN!0kQIeO+0Wm>r=cwJIC|3!& zYh6LA$?q4oet_-2jPo7p&Qh#FD`}J_W(-XwkG{q^p%wW{>ONjjC_3bJ==X(_AGBJ( zE~Jfx@^-!ZI(h!WzsVi&b)fPElW7C3iQyu<=jwV7(KXSZr$Qi!mimoxv8E#dl1cu% zf($pIm~l@}iiSE&X})On*`mljogE*EBZ|lNH{2Iwsx^-hU(PEb#ggMV++{%ViXq8& zK018l7rba$xx?i|?E6&`tSix3C-ALJ+JZ3_?bDwzTe1Nv%wEkG*O<>;b5W=_VpfiOxK z0R(m5*je+1haI)jH5t|g5vZ=Re#iSM(;E+o zZ?RByI^8I9@tvL5Y>k%!IKl{~JQ7Y=j%c$t`_XzP<|eB#?%Q@NNE7}{FPjuiIl!3Q^63xH zh|f%g=^A@9wud<;lK0I0d;je3{mIq%_Kql2;7Gvz`)($!SC_9;eYt9$pVfiz;R*(k zfE2=&J3Tp1Hd=r>?WAxrC@ zG+S$3Ev}UM&bfPP%_`f6wKQoY;X_W|;e6DMJ-qOeQ_D;^1Nn`JsWr>Wv`~2@k9!oy z{M@H@Yx1JZdaL}H+S)!J6K*RJT;6uDL_hIBL9Zmd&&;kJL49AS`2(cSWRYRg>#}Y~oGR?RwRo+!K`tM~Ka}-WSj@Ed zU)rKh8cAz_%Jea#wRLn`)|XjU@C|6E`fgOMlrF;Pfp2A#zO24SiF|qXne@lpU;UwDnb z>rMiBDh_Lk3u0Cox4BK1WI97t{hFeQrE3d)p}wK7FEZ0g1<@YnWP}YBl)txzy#a_#6wfqbyg&AAfcaZ$;kH2w%nOX^XSEm1C)LA7Jb^3NonQq_ z9HZUzEF>?Pi*^Sps=-prRsFcyag}k`@-J>N5CjuL=UCCg^0h6z#iPxHQ@{$E_d*>` zM~IgDG`aW;o$+0dJaQ3|2b=(Z5sQ`{7NyFSm7L*;IEqd#MnrPD%4Gss%um-Xs2!KS zF&f*4acxjxH+(D?hbeSdba(nT)QSX`FjHx}xZZ=yhL!j#=Jf_iTftbw)!LTN4@e1y z7rTt&Yvh{mw?D@Ryw~M6{pP^su}9Ze#E-zTfqr9L>B#LY)NhG-39iErcZL-i1e*#F z#6K#@?mHGKP67P&q}FH4%Jp~nVjL9wQD&2?W`vA+rz;)Pc@eorO%Lc*uP;)~ z)9qm*8Pv~4>BVmn@F0$#Ph~LkxB7jSdQYXBvF~t^%QN|sza$F z4uj=dltz~Wq#Fh-+63D536@=xep%-YxU zH9GBZz=v`U=F&f0=?&vb{4)35{HX3od!PHUQJqmm;6l6y(Ksqr>yB}=e-ef(?g@^a z;WgAyx2Ye)IUIuu?rVBZ-S(oDG8#>vF*63&cx-bp%(JJeY!dp{1T6no|1STYe+l*r zl`=u?3oaSPG7CAzW{kX^CRm?$paM!e*R}_a+Ty`Olt)wl5_XVs1XiO@bD5MHzpYA& z`RtW+v(im>E!QtZELaTpS8+vJOv;pC(08$BCuk{*StIPGt~0-uO$|IGTM5VcXcFQg z_x?0&!4KUOS8GtVk-*?b`d9P>Qu#D1Zq4I5c|YI8x{Fq0X(l>K^Xb#5nGUffWPKxV zJU$00-qrI!R^Ij0Ha2k&f2ml!5!pRkcfz|X=CX-2Q`qG6E6C1yDYrin{6(8s3+oP} za`G*Ka+Zzd<*ut0j9DjGO}??SdfCUb={__5l_B)^X&o!zgUrf_)~KTMeKJepbVt`E zS}Lo1aoI(c=S_ymggft=mfP+(IoS2aa@|x>Cw)^V7WUU+O?h_Bal5e!`vrYB?eum@ zQf}t<6u7C|U=%UwdmMIy+UJT>V;%a=#Fg98cktO)TD3q5vV1Q>sSbzKZ3TnVsc(7b zM*6Y|t}y%jw*fbDTOx$UCF*KHD|-V?0te!XCbmveCy`zFF|hRW+_h^W{UH>2!~|Ts zWbdj%m3^s#Yp&{X5>Q7+>4Gfei3bbf1s#tRZI;kA2pYRH{r~-%BkRwc8!z)TCs%S2 zRY%2vEXm$XpiAE8kohf*jSh zsLuGwkzbXaV%1`S(5mOPrFn4nRnxf^-ZO<3)Rm- zzt7=uL~5Yt4=$Me$H=Vzjyd0aeT)9SqhZ7(Bzdn_%3-FbNi1%3pzqaI7fk==mkPV) zJH1{n{)oSSOZs)AsV2aWanJSIUf)EG4eA8cGG+q0M(%hh1@=g=#s zlhC|Yd(D$@Q~tLg|8!#m@LgBDZrd0td9c^raPc{Wo1MN6Yt6+g%g7s7$$Yt1CDZQy z>w^%_XL(QD9=9he-=PQbw?O)gp<}~m=Hf{TifbIS9+S&u@Nxtg%W8Vd_q3ARi$`j0 z=ncM}*EVR916Wi2pkn?dLeWRgdalaej$)Hi1+9CRvd&xQrqNK|V0VpV;FRzZE*!)s zk52j2PVfQwiLhAO*@_%>L!MJ8WJ{Yr40#RED02=cB*(@l@6ml@li*F*;r3xidgkw8 zwn8iayQ7i`=gLG$-boM)_;7>QBe~|YWG=4+!JPT~SO`DPpaBKdtY&#9S2nJHNmdVRWSnJ+f{UouCN*ggMRP` zn%ZEi)W)wb{m(RO_)LS{9M5@R9Q|^ttzy6o`>l$9W*+!DZ$v3z)tu~``}J*@FpWc( zA>}Z74IX(VT^Kz%#@*48ddXEO6)c}G%iCozazgoSs@wFbO<_=?&b>>8VnyC9z~2M6 z0LI3c!{kM3^yWsQq`Zz*u@UiwrX$ix8LI>FR0TBJ{Gh2MKVQ@2U-E6HbbVuFVZ|i4 zXL<9XNeXA!V+VP33v`lXnoJG=Icz_{_f@L;F?UXNbfd;j)+BpH8CO3^ILrz9%_bC* z^5z6tD>{JQ=hkK`UcY=Q8LOuY{bT855gAB>OLl9nB&OeEKk1@y38?*gh#trKLNE(aLsUQTfy-SlfH2Z zJ`pvf2Mz456c~Bb$Z&nQy5`Bn<+ID%gBs&ocm0szbbNwgcjfvbZ%r$^w4S%)s@IR` zx~`Wa(0wNX>c0`WTwHlRi%5qu1(Jjx=RH@{A(_r#R#8T{R)NIGM-RS=u5x%3vY0QA@*~dt#YTQ{T^6l9yYjn-ZjE_6^h@;s z7-0k%tR*qR$Q_2#idzr*6rwM5Sq-H{+T7HI-O;wn9mRd+yEasAd;g(I7ssrPh8}K? z7+_sOqQd|v9g|JOygkosTC8!?HovWuS)&T|wTX+vH-qhhHX*EaM1(U(;M zClzgi^mAY--Y`XQXIaj6mJi$J>)yKD`!T&6=AaY${z*fCeyNom)}Gg*?Jc4;-GeJd~g zAMAM^``MhTx(=6wnO-@H{_mI)Q&2SJq-8cHUGe7h=?hjjry-)G9zPR`%vBJ4(pTa4 zjW)2TNosg6sp`Qkn_DmJJFv=f<4Ua;)4nAwS-fbvd2v(YLAb$VY`#Vg>0%fhX)sbAhY4m^_c-8O9=ge8&*FZl z-X3b>KfN*{xr%gNARVwGnxkq1AYL zBWEaK!IUkolurFL%*zUmy{H@h`P{o|8PkvGu!{S6u-p-($#wsv^$T5RKaK)rkCXqJ5jY{UhrE5!m%H)jh`je{bt&RrX zp{Riz+yteW?=ah6VkQ4x)T)s!8Hj)uD@{Twi&6WRwI9l4adOZ2cvN^hg_@l6=4Ggq z?k&6O%nZf!Gp>(pTU{xeqbl+gH&c84{F+a>N#r;EZgFf>uf{sEMs96RdTmC93{(>5 zkMI7isryn9?Y%qZw#I~KB~?)&8IY*eNwAUE)(Es+byLi1!j11Owg3JLE@V&o?DTW- zX4LtTkQ^-Oq>2<+U-NwsUhug%P=cg4VH<&rM3|MefB?KqLHMx;WyzzkCVU#1B zzG-Ups@9lD(w9j-UAVP7NwGnFxFzNJ_&r z&DXVB8ou*}Nb5FSf+KA?_E--E3FhTGnDm*{1yc{DAjMPaS8Rld@R2FF0S`e1Hs}4v z&Uf_592FS7v0E?sOl`AQCNxnpKl9k7Mn>c5Rl|B7r*G|RJ<()631_1U2=1odNA7S( z$5w-jxqUY3#Oq4=Xh)Dr_@a%GHS3zbQ?ECVU5?T@`zlP^;Uql2J*QD}JJpf&Ctq*s zaY)8|jO3Zc_OY3v)XLurVc$hHmi&Uk(@I4M`CTZc_|;F_uRe!}_~cl*=0uxcYu`&4 z&b*gk{A^B8MUsG?K#Xxwt=k$b3&j^#ELuARMbq$CKTMr~HW61^bSZ~X8e0wOec>}>1+>Q>khMc`nU<4?~)k{VyLp3}`3 zt03uwnK}Ae%E(9VSA}xQdhSE&(Pl8MNPW1jQ_Dd*VW(=6|KtRA4&EHJ+*pik`2E;nY***^?ZkmF`I9zQ@Jwbj z){LT4b|9&-sITkxpaUM<25fyWTohH5Y z>D21iy^5IJ?oIFZ(U;Vyp}5dt*cNicM_1V)qa>S1w@KlzZ(Kc(Mas-LO_99@-Gcs=Mn=oR z;8mJ^>&^)l=#|m&Ds{&(#An_4df3Tg$(gA^3L04hlJ7>9;XUfF<31DH?z!!yp;mUK z@WTsI@u^{KuhHBNlYq{H;4`>W^ZJAs<<^I0bIzo`gfyQ3D88cgt!_%Yg8l!!12_*x zH_Y)(`6e~Bp~X)s37grZXPYF@hC|h*QbFP58W0GkZJ+IE!=QPtqy>xU+sCJ+bTn6qgxGSY9w5hP$wrJ0m^yaAyHtCeP$n&#=?)qQr1($;@ zMtS3CaVq`=FIDx1-E*G!@9-s4e1y@lIhwoNrP0o#qLp9nu5O`UojPMm4NNM_qSuGp z|FD}Q;Jn!Tx}($psFB;f3Galt(R((n6<`IY(uHHeC`8H!Rou9+8%7tT+W-ALi}ORj zX-n8n709PEihNgiu~^z9e3PM^|HdcN`aM8<18IK0Snf+FA*B;3D=4a z#d?FbrI#yOgz9LPUl>zI5W7G8SRT)1WcSEa<>e5>=W>#C1 zIhtAEPm5;bqrh)^bAVBVj7#-rj-AsFjqt?ZYV+pba;h~ptV;C&h>Yfbl;Wm>#<`MmG^%KP$H`DVy{u24eb(_lu{0X5%Je_Di# z0e6=D>~al%eVi!14g#4vlotcim#D0i2)cq!{W!(S)B3EKHTZ3htXi;qNKQ`~Cnv1z zm#dPXN3>CG+=2I+=@N(&pwgR}D@|7|@k>024Y%%*^ZR`077i>pt_ z2V9AM#52}5`Dhf5m|3rzxPP$XKF9fhR`KSS&I5l_xgHI0!+Vx#gyY(hE}FNGt$MJzHp%1}wwbCGg=^}^lvf#g z9ZtoKAOk01>+7({4F!jNn%3L1w`hdk2`9@mx>*a{)QUf^uRA>zHoG;j?Q|hU(z6@( z4ak4s!5}d?^79e?6Nxttd$UI0lIf8j#<}A$pK#Cw9+c(#3rZCwISA zs9@r|RtFUHwl{wm?d^#yiw5qru zxPjR^q`0G^oB{w9=WT;t{Ly`%ts+p?Q^*;zH-MZd61uAnflU#R_o@6_AOQyTTSI4Q^rGo=%UHtyhW2A*D5?o3ALYJjU}$adX|$j?0nsF{qF~ z^&K2Wc?K^{C*|N+p2vTr%QpyzJt&Ft9QK($WhFUS1v4W%1j68mDNEsWC+*tSC9bLH zf1o>7zBioFPP(d4Z2j4kKWj@^(R~kv^+?K9HNxPOk1M<+u69e&4rE_(sew``!(fIh z%`){%H_y=wCa~fPWgNcnro@y8Id=dCBbb_+rHqo4S8`6;@)Z78R~ry_lg9eizV z8c&qHZ-{mc;6camNb+KB^mF-?8ej&CmWK?q z2B}%@fn~rWo8@J%%RRp&yu0<^vbJDmni6Z@Gml#S(Kx--8S-VJukM-654|PXrz`6l z<=2-lU*?{k*kffW$tRq+A@# zgUNBxDCc;`KkZnTC0Oy3;9)T^uIex7($zJWRalzJ!m4)3>F=If4sjbk8CqGBBPtyZlU`08|AQg>Sq!_iU}Z%8z$Vv%IM^j)SJL7^qSSxxnpe| zVFsfT3@R*8wS+~*!Fi*?9}XEc>z3yaKIG(i40Me=3j94@6oRD@ruH=6N(Qw5{-JZHy@< zbQ(DOI=s|jaG(f=_XkvJB^#jV>(hh%6Dun%>QC4S9gt@(F}P|2I)j+iUixNs#%qoW zD{wn&tpJ)b&OFHEXE>>(ZWNhT%K&l|oA{s+LJO?@&Fi)m@T7S3wzj!k<)C*(YmDR+ zBLOAcDM#szOE**Nvp966=airg%PlOIhMhn4I!y%x7aVtG(fn&lWc;bA?WvL4(H$&Z zm;0s@d;Jx>B&pyyF17(9O|DUKrL}VFdJd0%v~T%9|3#FdcibMrc*>yv6}(b%b3*(w z)D;BVZbp-~sC-taCniAypM2_!|Urk}~)`cJ`nxnoxDx?4w zf4Wazy}(5b`r2zg;dxB%(9-$a!dm#&sHpa+7=WSlgp-f)C6*ExPM0ayKY=2-2y$d} zlS_1c>&>=5GIkJP?Rlgt7-}F`P-|smQSw!qaAV4n3 z)HLgyi9bIA_L1Z8g!_|=xe zHnw%ArhZYKPZJgkBn^IWq>q5Wd+QJp_4Xsi0t1GYwxIxkn@tzgFgS&y!83U@1pyIs zmB_0XTpU$|ft!Ldc}p&EgWY-sg~NQ2>f){24pH@iV+X^X#2;Kw4u1&pCDc1;rs5r4 z6C|@zZOtyOw#fzG^WiW3MHKhd3BNIqL=n4e1NS5BDzlziXWYEWGhR-qrzN*~+H69> zZE=gXs8$AhCe+^uE1G&wi7DZ1BfhX&W>{djY~(WaGJvm31c&JxFd%-bYgO@4Bd{^6nB)0bWqao^Zo4~*yFLs z=kwnCx?b1ye2P9{qZYsd3*fyx;hY`OS;vbq`N0CsSVOnVvYE!;?8co6A+1!G6D}{^ zg$B`jx6DD_ZBkmH()f0jQ;Wd_+@foD;95m=JjU_~I=bv~Uah>yU|BcKJjs(X+@!f6 zu+n8oSm#yGp1Rjv6%LfjV#wXHGSN1~2i8_gx6v9e0gHG|u!_q-`w}MZg2UibI=mS& zeMR%iWsBLJOIq-~eQnAMYMiDHOmbvuRV|GdsTb*Iuvb^YD`u+gxdh{`Wt13NsOT*oHP zh9T}RJFNkN=q-Eq5ztiMk?x-?HKm7FHAy+E-L-m%Iz#hS%-AEC-ec_Q3sZP zsW#e@kn`RrB# z2WgvMGCTBRTr zfqwgPL*&gfrO^x4_mqV}Ut;MLh52Zkng@tn2F@+<;6TPEI?TA*zX8!!NAe7>3;V-E zwHE(51N|W(R)qgXc;i7hmsr9HPJQFAJQ3?c(KEo#F>mf`_jI%6kaF{d)71={g=NIw zUGtjF_|ojjjgXiABV*A*Y^z`=c&+1SP@`e5qK&D~gJQ=QVz(al%PHPuAG@C}J8ha; zby<{P;cJ|WRfpz5xC}hUS@7UYyH@)bldPVOt9OpD@lMUida?hsxSkEU8Lm_p#CZ|Y z>TRp1@Aijr5TP_bhUfq0FKV~W8Lz)hHmbk22#;^gOZPlMO`9m7UH^&0FY5nJPi&ud zMUl01e|wHy*K%??>pnHc)%?-lWT#zk04^)nvc5Cyg@aDXZ7$HeLbNpg?s^OU-sfEK zRFN3(IJ_!qQ{{QqFj5c1Yg32wOXBj1di@#Eu5qx3?fJDQI7^Mojf2!D?a3q#6lNO2 zVzC#MGACBkxD*?I2SN^l2(ljvoAIXlq%=|!hyoB`2SC{s|5?~$KKOFK?qkAY$TVI9 zKSL;hp>YBSwQzc|eNp?u0w|tSclx>U@W8T8EWd=N08TOfP3+j{cYIxtgbMp;j?WCa zS8q~RFcQQ4NQYJev&_Ju)Bb)F)sUsuSk$xteK3dn^v&-19Wjxfa%jy^2#$v~gv++t ze$qyvBG)qbPktXMp^`27k(c!uP$$pR0K@=*JHppApFQYZ|JJ>I3V$o^9?PJ1$WB7g z{R!#Xq;1zq{f2(Z^oSw2i;kd3xYoirPO(^ug&(?4OggX9=3Tu@@7?_T7ljWsN9Rf} zJ=DspS>)x>#1j@hvln0}^nwB}yk@OyabjVQQU7khdmL(9%i@g4pxhM5_pxrHDBE#p z2Pw0jE%VJ5PzKIk4|R1~2ys|i8=6S%E=)ot1KV+SyvjCx*)v>fA7Sf)(t5C*7L%Ca z1u6RD(^cokK)r<#^>7_XXBF)XU4_L~;_nJBGFS8mmw@ScJL*tQs(i`xvAqw=Oz-v( zL7OMHY)t5f+2#Wm7mmCf+Q}MI)LRLRV|cs}vB$IU?zxLAP7ZytVMofFMMl|%XqmVp zk#3MnZmthlQSHayv6mR0xl6g@`*Gb1rzkuhvs!Lvvi8FY$06=B3=&RQ2PYIG)Y11I z;BI=eGTeHO{qtX8%AY#pGR%UEM`n?8(Ln&)uIhf+KK&R9&S`QW=Eqy~8#^k(;H?P} zZtSIfj+=$oDRp4_xa=LejjpuyS>51;vbc#>JKYm}yUee4|3wx69oTA?{Y|=Z^D1cd z53*^l95^l}`C+rq*dSdh6QM` zT==)_Jlh0ni~^z8`i-t%{+@Sl6*(dAuaGaM5e+E4gClW-XBQhp(tRN+)#T z&*ya)z-*GkvwMZk+V)q{h+qow(JRr9ePRm_&Z%G2bSn^y_`z()BY(Z3380nPuc|&} zxR5&P2N%qs-<<1Zs@>~1c%u(mT^MW4>DK$EMDHIr**)9BHMO*gA0mtxV9v2aINRwucLRg#hBmTHAJ!GeN;K9 zTM46+ZWzC{R8#or?&R=5bG@zH?{f1ePt$P`vo>LuB@C8iQ~Na3>qXC-DEA+%WviIk z@aY&z_!$$l>g=tIiSxl?vmbNF7qkM0nrf#^5c8i38E~5S86J0V(C%r z_uo11v@qwz;6zR_13sr3*S-5!CdIu8ebgoqX}wmI!7R0$yL~KOI3we*jMk2G5ScHL ztWg`=;aot{mz&Ynpw2UL;tS&Pu>eTZGnZ}_nITILM(d-G{|1!pSFbRQ?P(F(o{s^l zc2vwdUfjX1k7Gj|B1`XhV?E*_rX_51V1N^FS#x+*_fIhLv7XYC%-eL!PZwQ1V&SC` zPC}wi%f_T$zRF>c4!q^URDe)^aeV`~-xLZyijJN;dPwPyu6onWCWXDxK>OLYExejl zfI5gzCoUNH;0&C?98+ju9B1z0R|$tnDrHm&ROfT(Pe`KxeKh!mv%lLZ)LlQJ&ZzL@be_B7P2Q3bR@{-u}P;#N4(_3kA$ zEt6;ap)zJ}Pw-MmZsDVPUT|bifr($daz^2}aG$m1{t{3qt+rz#hJXv)$tty>?}0K_4m$)b8QizsYv2{i z)v?BWBf#TdjNrMjLWm(y8IpcrI+P)2t?ZPNe!|=`gWvxAXZ4q-ZdkF@p84f>F!&g! zv0c|$Zf|nHA;iknYie)Mz3HP4nkPZYl+P1#h8MTFipkmbktkB+r&i{ZAS3LZ)tunT z;eYY#^7ZPzy%t)@_U9~DUuZx@I{1#ECZEr{FXjQAAFIyeT8LLfD+B3P5)OA}R0sw^ zRfU-qecxH3xHtJl8Bcrruk?)dp4~+?NI#*AMNwYWQx`-OvFTA zH6YSeSrlg8mAz9e`Ht$g`Srw7EG^oZ7E%)CWDNqhf2xoChElM1xD5_qCvK*kx1cQ-_NBl!^PV-{;Edop!3|LrY2YA4gTUJoN#*)ALWl9~c zCCrdv!Z1;418G(vqS`-PYwi{gX=bX1iz_xOp5+PzHd9BGzPui2`!Kvn>#OVD8`r=( z=_146-pl)W!VT(Vr~-xH$GdCJnHo|HBlWzmMRt>j(c-do$xj~VGpEop3^8B-qd=l` za2B4}E&)Z6jL!;xW*dGx6qI@U z6V>|VBlLv3XXJb3HXITs_d*-!uJY_}7`?Fhv&W4wu3t3v0TDTqn)SG_fRbj7b%*ck zIStrvI+3lNsH;^{@9p_U*r7{9@us>_+JO`zquI&0@r7gh34Sc!P5@OCC2k-^%cW9t zFKOsJWEQ5sb;IqO1i2RAux}i6fEUEx95Z7xs*N4X# z%lvz5O-I@HntsK#M5(C5zt1vReI>$ zrwFf1?@LjyBm1d!pQGf-sB$L@F6;xkgtBva?9#-zKfOQD6aH~8Lo(BSPnU6wHQ`*L zF3k9M_3?))Nz+gLuww>O)JIBoaS~ELt{=K2v_qUSvSFSrm z9YGE{{u^OU*wKuvzlcu+H#-IvXL}v9{Xo<;E?!NAvihNriCWC*(D2U@tATtsUOE{h zs^HPLFII`zd!Vf{qXY^N~2ntIrLy+hT6Dqr`SaV>P;6ID}gsBvlmPALsc#)%T11~8dk7Zb$aDwr-m&amBJ81Z?a0b2T)=s0UQfRsEIT? z)!NTSo-2(RUbR;HRXlaZwi=ml85wLwgQ^ICA+|qAUmT-AJJaLe@K02TB`21pm!=1& zV+)k7W=z|7oDe$3F6_$d&;`)Qt7=_bReu!4+4vo3(OmP%ojUfE2vPgNiLpPqohbj!pXy$ZWkn}U~ z)ou8Y>UBlC+7M)iHH+br_@JidE394fNvXCoO5B4_2>~+VddE5OiiVuV0Ip?prreEc zMJ+XvMYY2E)%3eu@X^AZHuqc{qS6Za58douUeZPX!xX(dMXJkt-^HL1~ zxX|YP%5-;lo)}s4gIaSve)FGIr>SsZPlMOuxjRsp(6Z=6HfwG{#?yD%+G+J3atgKd zw!hpAhhEUB(rIDwnQ4I4aXIIt8zh=R_C-}lD7|f$dTyXCcVQFtch`ln&BkkWl-}Y& zKPaIfx*|-HHP<(?*S)7)p`LTUsuQFX`>DgA3O574q`SEQEujnj*QPH+0};79VhdlH zjz4mg)wMON;(Z;iGtBtKgU$v!%&1m3Tu^aC%a!z6Bocn`n}qw(7ct)&<5M?$uIShp zv&WtBTTlou&27V7bt?pFDb!@Vic*~uvJX9%H+r;=xgQUYodgIFh2BKy8VC%9rjc9P z>-=X&br(A_1C&-@y5Pbax}5u)o_?IsspMFrf5<|Qo&<$$l6u=7oECCP4XMM&T0*qM zDn0Xn^3`S`o^{j%RVUx6ZKMQhb#n!5F%RZ(A`5k=qDzk%bE*giO?_PZw1)QM!tq>( zb7U8Gfnvhb353LhdM{^8kiN7q7{4T=f@?E>fWjqG*h)!_pSqC$L|gdLfju^hye>CL zw(ElYbr=Z+te*G+J|tG`?bY@ZN%bjJuH+zlH!u|L01S^p^`?PuDdN^zfm4zLBv*e? zG7FKgJMQ?GpAUqT_JtE)@_a>V`7l&@M;y(TnDy=^u+xW1vSaJ0|2SNtKQJH6(K?Wr zgp*y`m?~OSe-FenE6`E>5xLfU$fA-F!S5a?8;=fxhjo~}5}i^ti?TM0Xm}Rjik+(& zc-HE}^ErbBAY))~*Z8ukd!*TM_UL}&#x>xi#-fslN1@2Afxfr+I}Bt640`-P4lQZa zu?RJ2e*-Dm+?sSFCwAMlIyBy$b*XezW)wEq2JQGPqbJmUgoRmS2sAPE*U*O-P=Q&! zEzx|oYUV2=*F0>xk*JZZ>>%nvum5yk1HNBlx;Wq&*X{?bdWkZ5@P}qj;e^Wg;c+X{ z0n=t>^GlhPmH!yrH9^1SrvY7K2VpmlGI!PXxO`>Mn`JHOa5T|6U_^{m6hR?SD*EOf zON2{d8XT5+!q2DLVyPw3oRY8;BdwWO;?9ycWk5PQsa{>M*3!CsUt>>MysVt8(+PVw z5cH^pmu%p6_AM)hI?R&|kEQ%Nhk2;NTOCW+HtZ|%lz(=FhbQV{DdRXJ-T(gwc@Ghl zAMCp~6;|T%!tYdFgSCC#QeLq^vGm_vvcc`!)2qTY^oc&tMhw+dd8Ie1SWZtNt%Q(W zJq+Bl^)3p;`V`^3YuHgPru&v+3aiuXtS3vieR5(Is*SpaK0HDBT2#OCZWWkk_=dQ> zRAGX3_{{T?{+$#kk}t=}Klp1#k$^(M=Z+x0EDjib;FcCtUXaAhZWPX&IEOH2Q?x|q zOG7MxZZrTtiNI^OX7^9Xi^p#}+wG1qF0LyEdvwR*OmF5YWO~O=wkD^=Uk%)*5su7` zBp;{-qV}e#t?Cmy`X)pThIv)}(@K#sx&nUYmdL7~EZ^PvlMv9n*JQGFs|kM;vT;83 zRk2fN=wapd1@`+*Ae9s55e8Bs>23 zirOgJRY{?$ie$h1yNeDXrN#R>?Q0H|@QqGrdYzA7Oz95`zBv#i?;it7JlnTR%~ZE6 zi6VI^;}CmL^CzDiG6@$UF6n9d<-^Y0KmVlr{B%h+E|S^V&AASHw+LPIbrY8es|m*} zidXEKXZ!W^^&N_3yBR_!I8B;(*Mi-w1S2(VQY73Q#mi7SXD$Oe25jc@h(MsPHC9Bv zbn1|IOR5vk%GEKde{ZnSKI%|bxnJ3SaBS10EJStfsMYdq8ViR(qW0mPkU&LAyUBf4 ziMAVuR8gtvIq=jX{+2U2NEs^Zl|!Aqdz_9^34A((E%J!ZuA`IlNl@JpH$< z=bocBoMb?88;+nUm-ni1fTq#TMG82H8d_N(J$Hfky2Im-e$Y2WvRhX%(eoZ*qrfysE>blXA*^UuZ40{eV(kUs30;&b6R) zrdNKT;2TDI+K#Ob(?5T`s_=?)@Z=C@x%vl}t-ZwVGPNt+@lZ$yE|&j>CNdS6AFeOm zG0^Xr6d*=9zUMa#P>xw38RTmFS58wW1K|A^ng)U!>L|>Ri z%MM=7EVax?@XVE7+2pro`25{9@)=~sdvBjP*SE(Ue@t*L>`?yATb|V(#^YT@N@JYb zjWN(f%#GeP*AI03`{AYcZM&5K6ItV;9tY>zNIs}#3B8AkeflXlQ`-m7*;5_^w0Nm# zeq7aMyj;~LHG2MD=TJ&l5k>N)w_{plF5U3aktsP6FXR3CT_;gQc<(;b;X~d7nRK<*cY)EpX|uIUZ-63NS( zB_six3d+YZMc03Q=`2;yq1^c6n0Bq>OqB<7Z+x%8N&QAt_=Q8HOx?#zz-wj^)Kcf+ zxcn|~J{f6ZE_y?jxEa*72v~Zee1x+u+MQt$(}>ESX~inS#qAd{KUfd+_oe5N%pHwtek2Ksu%4oaaj)2sN9}W*LYI1<9p_PZ2zPTpVCJZ#Spkw%#0%Ri$0}UAVVG9R1nh`$w+rx3Xt&@)Px1SXkEu zos0hPpN;ne^K%b6d*>R|as|s!%G+<{X3Wpq=nna!$iKTF><!ul7P*%~{dh$g&QXc_+{XZ4U@9MG*u} zt@5kYK|5Y`Y&Y6c6o{xJsxPwDE|R{Gaz(PPC;y161NEl3R)0v`7hJ;*p|(itT4%qk ztKBJ4SjuKyB56K|q>TBA)9Xbzlofz~L$88-laOxYy4nsVUb|zTCnPFq03nH&A2&+O z|4peR-%H&=BYJbbyd!qu@IR!(EJJ>{AjZu}_QBgFvSXy6G^H;0Vh-ccYp{-A@uY0I z70~-RwfOu%^g3*KzL4+kgw$Jvi!`ofJx_Veu<+^h^$G2tw73`3=EVx~b7rTmn7b5b zyx%&9l&@P^)Wz-Cv#i`wO3!;%-epMvRr*S9S1R6c<(8O&jK_g@gPnHlgY)@rlR3w* z7b#3H%OXUPL2-kg%oa%U<+^A>-aPz>Rp#_pou{G>UlB@)*rhsfAk#U4;D0P*5wr$? z#+I{IpQOO=zRggd*z~X{ksS_y8w_QS&$YT@<29RayoW;3YuPydH37`L#jU|PYaI;@ z&{4VFCTgu8qgHGdanw&QsDM$eG3&N_5%9Th;*U(`?hiuQhWiW$-D z>?L$NW_F9mIc+?52Tn(S0)aChMtQuNZut4ZQ_Z*^5u8mTn~G3i+!R>V(c!Zz!tedX zHE*TI?yc9I-N9*i(2jfv1|oId-(BLb>&qsjryNw%SvP;^hiSC(#a=PNke$QYifdzm4eb0aZDRYTVJB=BKr}DS9@q3wiHi=lY$pH67Sms;?kQ)%2)i z2yE5Fy{(;R<$SgNi|eS?hgIv?xyJY!>yuLP&8l9{_3|tt;juXdFq9qT)kV!bnupeJ z@9_-$!R?}dH+%)6xaT2b6|*+YS4pU@$krPfrxwN$qlAWOKE_A}_A@E@+#<(-xONas1)CKWF07dbEG zTS-)eU6wVl5+h}u4(b^fjiO#^w(fL$J`;2K@)@$Tt)Ochw3r^C#k0obVo`j$QA_)r zk0=st=W%w$sFpE_L5uK+t;CM6sA&NqWA28IB<4T)e_hmB(bOlfZ*ke}00U9!Pe?Lw z8l>q!D}twQBU%vq@6o*0U7TiP{JK1JA?XDnuS_o^ua|`d_dJv>gyIafTW6u3zpC-$ z<;NC4PD=YhN^T$}6e=k=H?p`>Ak!&JmHV&EA6YN$b8>Sdksty!w|^KeWt`Bfrw4+x zt2%h1Qq#!u|ASb;&>Tm$`kpDd=cjB|Tr_|5sw!#Kuao*PzW+(BSlEXz94mKR-V2Z8 ztN?z5Qi?_*FbZ^IRW`K#$}>EaAtmJ=ropEwgtqP1a1jpa-d(Y~ZI*&4p251|PN2H% z0h2;>{tG#@oD{rwObN!*`@^ml(T{ZI?#XMy&~% ze{eHBIhHrDNom!~Azg95Ww(_ZU7h7>6TDExbGP6b`!$rnn61x=^ly!+fIW}!se zx)@8r-5< zSzD`&bw4wcR9%SwuW1xP4#S7!3t{a}2$=UDE29G|(sMQLR z1*a|3bu1?vhh6rlMvBp82J znZPXjJWsoFz3JknqR_7vkeT2^)!R$ZNNsx5^8YGSQIeE&G5b`r7{qh7J~6fXHNqy) zch&j5pGEmFsvxhPI7A8U)l$%8qfnOPl-}iPAHj%@FjSf6N=D1Nw`rm|r0%9JI4uA3 zj$hJUL9<=4G&z>^TPw{H|v1!{>#e6{WIUq>EO z4&iR`FjyQuPJroY%nxps0#l{uThb>{RkGJpIB8Q6ONm#-1k=V$fW^@3b)7MX)g3TS zD$b1iV-Gae^-F5+6ul08TuWz$&conal{K(z9OTHx26jPsz9Cbzb|SO@K3P!x4YKdy zQXRcMxu-=JS;Xk{r0Y)(jpe~@9i}WwlEcFwE+kTBA*s!_ycVt;On0iQb=11U`ii#= zWbO|ODPm&S|Fd&1%;QdXu%3Vx=A@r`=sN|m*djm4cp(RGd@p9 zE#4uKLDD4BLOosPaL#7=k0KtkR2Vtn&R_;AYn9k)O& za99V{_TA7Kq0XXGd^B0g-7*e6hB;?&{*(x*OwXDV<6=(&KAiwn09qX`h`gV%>TAz2 zO;wvTP&-j*MjKslyxUP$3|53>L|{qraT3G|aX7;`jPC+7=&m}AK;yuNbbfEOsdqvndO$;%txbjcms zC{k;o!rP~kWA`-V!?mdw18fN SO8GX~TZ$G-cQyk4&io(DihP{_ literal 0 HcmV?d00001 diff --git a/ui/graph/src/main/res/drawable/plus_24.xml b/ui/navigation/src/main/res/drawable/plus_24.xml similarity index 100% rename from ui/graph/src/main/res/drawable/plus_24.xml rename to ui/navigation/src/main/res/drawable/plus_24.xml diff --git a/ui/navigation/src/test/java/city/zouitel/navigation/ExampleUnitTest.kt b/ui/navigation/src/test/java/city/zouitel/navigation/ExampleUnitTest.kt new file mode 100644 index 00000000..7bb3df66 --- /dev/null +++ b/ui/navigation/src/test/java/city/zouitel/navigation/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package city.zouitel.navigation + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file

?A>yq@Ev~8 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%0Dx%uF^nT@>h(Y4&s)be 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