From f316390cdae130fcb352c9f7b125a612b74b7faa Mon Sep 17 00:00:00 2001 From: t-regbs Date: Sun, 28 Dec 2025 01:58:35 +0000 Subject: [PATCH 1/6] refactor: initial working cmp build with iOS --- .idea/deploymentTargetSelector.xml | 2 +- app/build.gradle.kts | 194 +++-- .../{main => androidMain}/AndroidManifest.xml | 3 +- .../ic_launcher-playstore.png | Bin .../mathalarm/AlarmReceiver.kt | 0 .../framework/app/AlarmApplication.kt | 0 .../mathalarm/framework/app/di/AppModule.kt | 118 +-- .../app/permission/AlarmPermission.kt | 6 +- .../app/permission/AndroidVersion.kt | 0 .../app/permission/AndroidVersionImpl.kt | 0 .../interactors/AlarmInteractorImpl.kt | 0 .../mathalarm/interactors/AudioPlayer.kt | 44 +- .../interactors/NotificationInteractorImpl.kt | 0 .../AlarmNotificationScheduler.kt | 0 .../notification/MathAlarmNotification.kt | 10 +- .../MathAlarmNotificationChannel.kt | 0 .../platform/PlatformApis.android.kt | 250 +++++++ .../mathalarm/presentation/MainActivity.kt | 2 +- .../mathalarm/utils/ContextExtensions.kt | 41 - .../mathalarm/utils/DataStore.kt | 0 .../utils/FirebaseMessagingService.kt | 0 .../mathalarm/utils/Permissions.kt | 0 .../mathalarm/utils/PickRingtone.kt | 0 .../utils/SystemServiceExtensions.kt | 0 .../res/drawable-hdpi/Thumbs.db | Bin .../res/drawable-hdpi/ic_action_delete.png | Bin .../res/drawable-hdpi/ic_action_done.png | Bin .../res/drawable-hdpi/ic_action_settings.png | Bin .../res/drawable-hdpi/ic_message.png | Bin .../res/drawable-mdpi/Thumbs.db | Bin .../res/drawable-mdpi/ic_action_delete.png | Bin .../res/drawable-mdpi/ic_action_done.png | Bin .../res/drawable-mdpi/ic_action_settings.png | Bin .../res/drawable-mdpi/ic_message.png | Bin .../drawable-v24/ic_launcher_foreground.xml | 0 .../res/drawable-xhdpi/Thumbs.db | Bin .../res/drawable-xhdpi/ic_action_delete.png | Bin .../res/drawable-xhdpi/ic_action_done.png | Bin .../res/drawable-xhdpi/ic_action_settings.png | Bin .../res/drawable-xhdpi/ic_message.png | Bin .../res/drawable-xxhdpi/Thumbs.db | Bin .../res/drawable-xxhdpi/ic_action_delete.png | Bin .../res/drawable-xxhdpi/ic_action_done.png | Bin .../drawable-xxhdpi/ic_action_settings.png | Bin .../res/drawable-xxhdpi/ic_message.png | Bin .../res/drawable-xxxhdpi/Thumbs.db | Bin .../res/drawable-xxxhdpi/ic_action_delete.png | Bin .../res/drawable-xxxhdpi/ic_action_done.png | Bin .../drawable-xxxhdpi/ic_action_settings.png | Bin .../res/drawable-xxxhdpi/ic_message.png | Bin .../res/drawable/fab_icon.xml | 0 .../res/drawable/fabb.png | Bin .../res/drawable/ic_baseline_add_24.xml | 0 .../res/drawable/ic_launcher_background.xml | 0 .../res/drawable/icon.png | Bin .../res/drawable/search_icon.png | Bin .../res/mipmap-anydpi-v26/ic_launcher.xml | 0 .../mipmap-anydpi-v26/ic_launcher_round.xml | 0 .../res/mipmap-hdpi/ic_launcher.png | Bin .../mipmap-hdpi/ic_launcher_foreground.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin .../res/mipmap-hdpi/icon.png | Bin .../res/mipmap-mdpi/ic_launcher.png | Bin .../mipmap-mdpi/ic_launcher_foreground.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin .../res/mipmap-mdpi/icon.png | Bin .../res/mipmap-xhdpi/ic_launcher.png | Bin .../mipmap-xhdpi/ic_launcher_foreground.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../res/mipmap-xhdpi/icon.png | Bin .../res/mipmap-xxhdpi/ic_launcher.png | Bin .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../res/mipmap-xxhdpi/icon.png | Bin .../res/mipmap-xxxhdpi/ic_launcher.png | Bin .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../res/mipmap-xxxhdpi/icon.png | Bin .../res/raw/loading.json | 0 .../res/values-night/splash.xml | 0 .../res/values/colors.xml | 0 .../res/values/ic_launcher_background.xml | 0 .../res/values/splash.xml | 0 .../res/values/strings.xml | 0 .../res/values/styles.xml | 0 .../composeResources/drawable-hdpi/Thumbs.db | Bin 0 -> 2560 bytes .../drawable-hdpi/ic_action_delete.png | Bin 0 -> 294 bytes .../drawable-hdpi/ic_action_done.png | Bin 0 -> 910 bytes .../drawable-hdpi/ic_action_settings.png | Bin 0 -> 692 bytes .../drawable-hdpi/ic_message.png | Bin 0 -> 1321 bytes .../composeResources/drawable-mdpi/Thumbs.db | Bin 0 -> 2560 bytes .../drawable-mdpi/ic_action_delete.png | Bin 0 -> 267 bytes .../drawable-mdpi/ic_action_done.png | Bin 0 -> 691 bytes .../drawable-mdpi/ic_action_settings.png | Bin 0 -> 459 bytes .../drawable-mdpi/ic_message.png | Bin 0 -> 957 bytes .../composeResources/drawable-xhdpi/Thumbs.db | Bin 0 -> 2560 bytes .../drawable-xhdpi/ic_action_delete.png | Bin 0 -> 475 bytes .../drawable-xhdpi/ic_action_done.png | Bin 0 -> 708 bytes .../drawable-xhdpi/ic_action_settings.png | Bin 0 -> 947 bytes .../drawable-xhdpi/ic_message.png | Bin 0 -> 1973 bytes .../drawable-xxhdpi/Thumbs.db | Bin 0 -> 2560 bytes .../drawable-xxhdpi/ic_action_delete.png | Bin 0 -> 607 bytes .../drawable-xxhdpi/ic_action_done.png | Bin 0 -> 948 bytes .../drawable-xxhdpi/ic_action_settings.png | Bin 0 -> 1629 bytes .../drawable-xxhdpi/ic_message.png | Bin 0 -> 3966 bytes .../drawable-xxxhdpi/Thumbs.db | Bin 0 -> 2560 bytes .../drawable-xxxhdpi/ic_action_delete.png | Bin 0 -> 1031 bytes .../drawable-xxxhdpi/ic_action_done.png | Bin 0 -> 1423 bytes .../drawable-xxxhdpi/ic_action_settings.png | Bin 0 -> 2371 bytes .../drawable-xxxhdpi/ic_message.png | Bin 0 -> 5748 bytes .../composeResources/drawable/fab_icon.xml | 9 + .../composeResources/drawable/fabb.png | Bin 0 -> 928 bytes .../drawable/ic_baseline_add_24.xml | 5 + .../drawable/ic_launcher_background.xml | 170 +++++ .../composeResources/drawable/icon.png | Bin 0 -> 12581 bytes .../composeResources/drawable/search_icon.png | Bin 0 -> 3278 bytes .../composeResources/files/loading.json | 1 + .../mathalarm/di/CommonModule.kt | 88 +++ .../framework/RoomAlarmDataSource.kt | 0 .../mathalarm/framework/Usecases.kt | 31 + .../app/permission/AlarmPermission.kt | 13 + .../mathalarm/framework/database/AlarmDao.kt | 4 +- .../framework/database/AlarmDatabase.kt | 42 +- .../framework/database/AlarmEntity.kt | 5 +- .../framework/database/AlarmMapper.kt | 0 .../mathalarm/interactors/AudioPlayer.kt | 16 + .../navigation/BottomSheetSceneStrategy.kt | 45 +- .../mathalarm/navigation/NavGraph.kt | 43 +- .../mathalarm/platform/PlatformApis.kt | 79 ++ .../presentation/alarmlist/AlarmListEvent.kt | 0 .../alarmlist/AlarmListViewModel.kt | 0 .../alarmlist/components/AddAlarmFab.kt | 7 +- .../alarmlist/components/AlarmItem.kt | 17 +- .../alarmlist/components/AlarmListHeader.kt | 2 +- .../alarmlist/components/AlarmListScreen.kt | 33 +- .../alarmlist/components/ClearDialog.kt | 0 .../alarmlist/components/EmptyScreen.kt | 12 +- .../components/ListLoadingShimmer.kt | 0 .../alarmlist/components/ListTopAppBar.kt | 11 +- .../alarmlist/components/Loader.kt | 33 + .../alarmlist/components/MathAlarmDialogs.kt | 2 +- .../alarmlist/components/ShimmerCardItem.kt | 0 .../alarmmath/AlarmMathViewModel.kt | 15 + .../alarmmath/MathProblemGenerator.kt | 0 .../presentation/alarmmath/MathScreenEvent.kt | 0 .../presentation/alarmmath/ToneState.kt | 0 .../alarmmath/components/MathScreen.kt | 40 +- .../alarmsettings/AddEditAlarmEvent.kt | 0 .../alarmsettings/AlarmSettingsViewModel.kt | 6 +- .../presentation/alarmsettings/TimeState.kt | 0 .../components/AlarmBottomSheet.kt | 107 ++- .../components/DifficultyChooser.kt | 2 +- .../components/LabelTextField.kt | 7 +- .../alarmsettings/components/RingDayChip.kt | 12 +- .../components/TextWithCheckbox.kt | 2 +- .../alarmsettings/components/TextWithIcon.kt | 7 +- .../components/TimePickerDialog.kt | 11 +- .../appsettings/AlarmPreferences.kt | 7 +- .../appsettings/AlarmPreferencesExtensions.kt | 19 + .../appsettings/AlarmPreferencesImpl.kt | 31 + .../appsettings/AppThemeOptionsMapper.kt | 0 .../appsettings/DataStoreTheme.kt | 0 .../components/AppSettingsScreen.kt | 87 +-- .../mathalarm/presentation/ui/Color.kt | 0 .../mathalarm/presentation/ui/FabShape.kt | 43 ++ .../mathalarm/presentation/ui/Shape.kt | 0 .../mathalarm/presentation/ui/Spacing.kt | 0 .../mathalarm/presentation/ui/Theme.kt | 0 .../mathalarm/presentation/ui/Type.kt | 0 .../presentation/ui/icon/IconAnnouncement.kt | 58 ++ .../presentation/ui/icon/IconArrowBack.kt | 40 + .../presentation/ui/icon/IconDarkMode.kt | 47 ++ .../presentation/ui/icon/IconDelete.kt | 69 ++ .../presentation/ui/icon/IconDeleteSweep.kt | 75 ++ .../presentation/ui/icon/IconEdit.kt | 50 ++ .../presentation/ui/icon/IconEmojiSymbols.kt | 138 ++++ .../presentation/ui/icon/IconKeyboard.kt | 119 +++ .../ui/icon/IconKeyboardArrowDown.kt | 37 + .../ui/icon/IconKeyboardArrowUp.kt | 37 + .../presentation/ui/icon/IconLabel.kt | 53 ++ .../presentation/ui/icon/IconNotifications.kt | 66 ++ .../presentation/ui/icon/IconSchedule.kt | 67 ++ .../presentation/ui/icon/IconSettings.kt | 111 +++ .../presentation/ui/icon/IconShare.kt | 66 ++ .../presentation/ui/icon/IconSmartphone.kt | 69 ++ .../presentation/ui/icon/IconWbSunny.kt | 87 +++ .../mathalarm/utils/AlarmUtil.kt | 3 +- .../mathalarm/utils/NavExtensions.kt | 0 .../mathalarm/utils/TestTags.kt | 0 .../mathalarm/utils/UiEvent.kt | 0 .../utils/strings/BnMathAlarmStrings.kt | 0 .../utils/strings/DeMathAlarmStrings.kt | 0 .../utils/strings/EnMathAlarmStrings.kt | 0 .../utils/strings/EsMathAlarmStrings.kt | 0 .../utils/strings/HiMathAlarmStrings.kt | 0 .../utils/strings/PaMathAlarmStrings.kt | 0 .../utils/strings/PtMathAlarmStrings.kt | 0 .../utils/strings/RuMathAlarmStrings.kt | 0 .../mathalarm/utils/strings/Strings.kt | 0 .../utils/strings/ZhMathAlarmStrings.kt | 0 .../mathalarm/MainViewController.kt | 84 +++ .../mathalarm/alarm/AlarmSchedulerBridge.kt | 169 +++++ .../mathalarm/di/IosModule.kt | 94 +++ .../app/permission/AlarmPermissionImpl.kt | 16 + .../interactors/AlarmInteractorImpl.kt | 25 + .../mathalarm/interactors/AudioPlayer.kt | 104 +++ .../interactors/IosAlarmAudioManager.kt | 236 ++++++ .../interactors/NotificationInteractorImpl.kt | 30 + .../notification/IosAlarmScheduler.kt | 345 +++++++++ .../notification/IosNotificationHandler.kt | 177 +++++ .../notification/IosNotificationSetup.kt | 103 +++ .../mathalarm/platform/PlatformApis.ios.kt | 152 ++++ .../mathalarm/framework/Usecases.kt | 19 - .../alarmlist/components/Loader.kt | 25 - .../appsettings/AlarmPreferencesExtensions.kt | 15 - .../appsettings/AlarmPreferencesImpl.kt | 50 -- .../mathalarm/presentation/ui/FabShape.kt | 47 -- build.gradle.kts | 4 + core/build.gradle.kts | 109 ++- .../mathalarm/ExampleInstrumentedTest.kt | 24 + .../mathalarm/ExampleUnitTest.kt | 16 + core/src/androidMain/AndroidManifest.xml | 4 + .../mathalarm/data/AlarmDataSource.kt | 0 .../mathalarm/data/AlarmRepository.kt | 0 .../mathalarm/domain/model/Alarm.kt | 0 .../mathalarm/domain/util/DomainMapper.kt | 0 .../mathalarm/interactors/AlarmInteractor.kt | 0 .../interactors/NotificationInteractor.kt | 0 .../mathalarm/provider/CalendarProvider.kt | 0 .../provider/CalendarProviderImpl.kt | 0 .../mathalarm/usecases/AddAlarm.kt | 0 .../mathalarm/usecases/CancelAlarm.kt | 0 .../mathalarm/usecases/ClearAlarms.kt | 0 .../mathalarm/usecases/CompleteAlarm.kt | 0 .../mathalarm/usecases/DeleteAlarm.kt | 0 .../mathalarm/usecases/FindAlarm.kt | 0 .../mathalarm/usecases/GetSavedAlarms.kt | 0 .../usecases/RescheduleFutureAlarms.kt | 1 - .../mathalarm/usecases/ScheduleAlarm.kt | 0 .../mathalarm/usecases/ScheduleNextAlarm.kt | 0 .../mathalarm/usecases/ShowAlarm.kt | 0 .../mathalarm/usecases/SnoozeAlarm.kt | 0 .../mathalarm/usecases/UpdateAlarm.kt | 0 gradle/libs.versions.toml | 49 +- iosApp/iosApp.xcodeproj/project.pbxproj | 366 +++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 40663 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 24 + .../xcschemes/xcschememanagement.plist | 14 + iosApp/iosApp/AlarmKitWrapper.swift | 705 ++++++++++++++++++ .../AppIcon.appiconset/Contents.json | 14 + .../AppIcon.appiconset/app-icon.png | Bin 0 -> 31772 bytes iosApp/iosApp/Assets.xcassets/Contents.json | 6 + .../LaunchScreenIcon.imageset/launch-icon.png | Bin 0 -> 31772 bytes iosApp/iosApp/ContentView.swift | 19 + iosApp/iosApp/Info.plist | 66 ++ iosApp/iosApp/iOSApp.swift | 233 ++++++ settings.gradle.kts | 2 +- 258 files changed, 5614 insertions(+), 666 deletions(-) rename app/src/{main => androidMain}/AndroidManifest.xml (98%) rename app/src/{main => androidMain}/ic_launcher-playstore.png (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/AlarmReceiver.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/app/AlarmApplication.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/app/di/AppModule.kt (51%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/app/permission/AlarmPermission.kt (87%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/app/permission/AndroidVersion.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/app/permission/AndroidVersionImpl.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/interactors/AlarmInteractorImpl.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/interactors/AudioPlayer.kt (70%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/interactors/NotificationInteractorImpl.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/notification/AlarmNotificationScheduler.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/notification/MathAlarmNotification.kt (95%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/notification/MathAlarmNotificationChannel.kt (100%) create mode 100644 app/src/androidMain/kotlin/com/timilehinaregbesola/mathalarm/platform/PlatformApis.android.kt rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/MainActivity.kt (98%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/ContextExtensions.kt (76%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/DataStore.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/FirebaseMessagingService.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/Permissions.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/PickRingtone.kt (100%) rename app/src/{main/java => androidMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/SystemServiceExtensions.kt (100%) rename app/src/{main => androidMain}/res/drawable-hdpi/Thumbs.db (100%) rename app/src/{main => androidMain}/res/drawable-hdpi/ic_action_delete.png (100%) rename app/src/{main => androidMain}/res/drawable-hdpi/ic_action_done.png (100%) rename app/src/{main => androidMain}/res/drawable-hdpi/ic_action_settings.png (100%) rename app/src/{main => androidMain}/res/drawable-hdpi/ic_message.png (100%) rename app/src/{main => androidMain}/res/drawable-mdpi/Thumbs.db (100%) rename app/src/{main => androidMain}/res/drawable-mdpi/ic_action_delete.png (100%) rename app/src/{main => androidMain}/res/drawable-mdpi/ic_action_done.png (100%) rename app/src/{main => androidMain}/res/drawable-mdpi/ic_action_settings.png (100%) rename app/src/{main => androidMain}/res/drawable-mdpi/ic_message.png (100%) rename app/src/{main => androidMain}/res/drawable-v24/ic_launcher_foreground.xml (100%) rename app/src/{main => androidMain}/res/drawable-xhdpi/Thumbs.db (100%) rename app/src/{main => androidMain}/res/drawable-xhdpi/ic_action_delete.png (100%) rename app/src/{main => androidMain}/res/drawable-xhdpi/ic_action_done.png (100%) rename app/src/{main => androidMain}/res/drawable-xhdpi/ic_action_settings.png (100%) rename app/src/{main => androidMain}/res/drawable-xhdpi/ic_message.png (100%) rename app/src/{main => androidMain}/res/drawable-xxhdpi/Thumbs.db (100%) rename app/src/{main => androidMain}/res/drawable-xxhdpi/ic_action_delete.png (100%) rename app/src/{main => androidMain}/res/drawable-xxhdpi/ic_action_done.png (100%) rename app/src/{main => androidMain}/res/drawable-xxhdpi/ic_action_settings.png (100%) rename app/src/{main => androidMain}/res/drawable-xxhdpi/ic_message.png (100%) rename app/src/{main => androidMain}/res/drawable-xxxhdpi/Thumbs.db (100%) rename app/src/{main => androidMain}/res/drawable-xxxhdpi/ic_action_delete.png (100%) rename app/src/{main => androidMain}/res/drawable-xxxhdpi/ic_action_done.png (100%) rename app/src/{main => androidMain}/res/drawable-xxxhdpi/ic_action_settings.png (100%) rename app/src/{main => androidMain}/res/drawable-xxxhdpi/ic_message.png (100%) rename app/src/{main => androidMain}/res/drawable/fab_icon.xml (100%) rename app/src/{main => androidMain}/res/drawable/fabb.png (100%) rename app/src/{main => androidMain}/res/drawable/ic_baseline_add_24.xml (100%) rename app/src/{main => androidMain}/res/drawable/ic_launcher_background.xml (100%) rename app/src/{main => androidMain}/res/drawable/icon.png (100%) rename app/src/{main => androidMain}/res/drawable/search_icon.png (100%) rename app/src/{main => androidMain}/res/mipmap-anydpi-v26/ic_launcher.xml (100%) rename app/src/{main => androidMain}/res/mipmap-anydpi-v26/ic_launcher_round.xml (100%) rename app/src/{main => androidMain}/res/mipmap-hdpi/ic_launcher.png (100%) rename app/src/{main => androidMain}/res/mipmap-hdpi/ic_launcher_foreground.png (100%) rename app/src/{main => androidMain}/res/mipmap-hdpi/ic_launcher_round.png (100%) rename app/src/{main => androidMain}/res/mipmap-hdpi/icon.png (100%) rename app/src/{main => androidMain}/res/mipmap-mdpi/ic_launcher.png (100%) rename app/src/{main => androidMain}/res/mipmap-mdpi/ic_launcher_foreground.png (100%) rename app/src/{main => androidMain}/res/mipmap-mdpi/ic_launcher_round.png (100%) rename app/src/{main => androidMain}/res/mipmap-mdpi/icon.png (100%) rename app/src/{main => androidMain}/res/mipmap-xhdpi/ic_launcher.png (100%) rename app/src/{main => androidMain}/res/mipmap-xhdpi/ic_launcher_foreground.png (100%) rename app/src/{main => androidMain}/res/mipmap-xhdpi/ic_launcher_round.png (100%) rename app/src/{main => androidMain}/res/mipmap-xhdpi/icon.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxhdpi/ic_launcher.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxhdpi/ic_launcher_foreground.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxhdpi/ic_launcher_round.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxhdpi/icon.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxxhdpi/ic_launcher_foreground.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename app/src/{main => androidMain}/res/mipmap-xxxhdpi/icon.png (100%) rename app/src/{main => androidMain}/res/raw/loading.json (100%) rename app/src/{main => androidMain}/res/values-night/splash.xml (100%) rename app/src/{main => androidMain}/res/values/colors.xml (100%) rename app/src/{main => androidMain}/res/values/ic_launcher_background.xml (100%) rename app/src/{main => androidMain}/res/values/splash.xml (100%) rename app/src/{main => androidMain}/res/values/strings.xml (100%) rename app/src/{main => androidMain}/res/values/styles.xml (100%) create mode 100644 app/src/commonMain/composeResources/drawable-hdpi/Thumbs.db create mode 100644 app/src/commonMain/composeResources/drawable-hdpi/ic_action_delete.png create mode 100644 app/src/commonMain/composeResources/drawable-hdpi/ic_action_done.png create mode 100644 app/src/commonMain/composeResources/drawable-hdpi/ic_action_settings.png create mode 100644 app/src/commonMain/composeResources/drawable-hdpi/ic_message.png create mode 100644 app/src/commonMain/composeResources/drawable-mdpi/Thumbs.db create mode 100644 app/src/commonMain/composeResources/drawable-mdpi/ic_action_delete.png create mode 100644 app/src/commonMain/composeResources/drawable-mdpi/ic_action_done.png create mode 100644 app/src/commonMain/composeResources/drawable-mdpi/ic_action_settings.png create mode 100644 app/src/commonMain/composeResources/drawable-mdpi/ic_message.png create mode 100644 app/src/commonMain/composeResources/drawable-xhdpi/Thumbs.db create mode 100644 app/src/commonMain/composeResources/drawable-xhdpi/ic_action_delete.png create mode 100644 app/src/commonMain/composeResources/drawable-xhdpi/ic_action_done.png create mode 100644 app/src/commonMain/composeResources/drawable-xhdpi/ic_action_settings.png create mode 100644 app/src/commonMain/composeResources/drawable-xhdpi/ic_message.png create mode 100644 app/src/commonMain/composeResources/drawable-xxhdpi/Thumbs.db create mode 100644 app/src/commonMain/composeResources/drawable-xxhdpi/ic_action_delete.png create mode 100644 app/src/commonMain/composeResources/drawable-xxhdpi/ic_action_done.png create mode 100644 app/src/commonMain/composeResources/drawable-xxhdpi/ic_action_settings.png create mode 100644 app/src/commonMain/composeResources/drawable-xxhdpi/ic_message.png create mode 100644 app/src/commonMain/composeResources/drawable-xxxhdpi/Thumbs.db create mode 100644 app/src/commonMain/composeResources/drawable-xxxhdpi/ic_action_delete.png create mode 100644 app/src/commonMain/composeResources/drawable-xxxhdpi/ic_action_done.png create mode 100644 app/src/commonMain/composeResources/drawable-xxxhdpi/ic_action_settings.png create mode 100644 app/src/commonMain/composeResources/drawable-xxxhdpi/ic_message.png create mode 100644 app/src/commonMain/composeResources/drawable/fab_icon.xml create mode 100644 app/src/commonMain/composeResources/drawable/fabb.png create mode 100644 app/src/commonMain/composeResources/drawable/ic_baseline_add_24.xml create mode 100644 app/src/commonMain/composeResources/drawable/ic_launcher_background.xml create mode 100644 app/src/commonMain/composeResources/drawable/icon.png create mode 100644 app/src/commonMain/composeResources/drawable/search_icon.png create mode 100644 app/src/commonMain/composeResources/files/loading.json create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/di/CommonModule.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/RoomAlarmDataSource.kt (100%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/framework/Usecases.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/framework/app/permission/AlarmPermission.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/database/AlarmDao.kt (90%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/database/AlarmDatabase.kt (69%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/database/AlarmEntity.kt (91%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/framework/database/AlarmMapper.kt (100%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/interactors/AudioPlayer.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/navigation/BottomSheetSceneStrategy.kt (65%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/navigation/NavGraph.kt (78%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/platform/PlatformApis.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/AlarmListEvent.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/AlarmListViewModel.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/AddAlarmFab.kt (85%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/AlarmItem.kt (96%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/AlarmListHeader.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/AlarmListScreen.kt (93%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/ClearDialog.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/EmptyScreen.kt (93%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/ListLoadingShimmer.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/ListTopAppBar.kt (84%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/Loader.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/MathAlarmDialogs.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/ShimmerCardItem.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmmath/AlarmMathViewModel.kt (89%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmmath/MathProblemGenerator.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmmath/MathScreenEvent.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmmath/ToneState.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmmath/components/MathScreen.kt (93%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/AddEditAlarmEvent.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/AlarmSettingsViewModel.kt (97%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/TimeState.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/AlarmBottomSheet.kt (87%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/DifficultyChooser.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/LabelTextField.kt (89%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/RingDayChip.kt (91%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/TextWithCheckbox.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/TextWithIcon.kt (92%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/alarmsettings/components/TimePickerDialog.kt (96%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/appsettings/AlarmPreferences.kt (71%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/appsettings/AlarmPreferencesExtensions.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/appsettings/AlarmPreferencesImpl.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/appsettings/AppThemeOptionsMapper.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/appsettings/DataStoreTheme.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/appsettings/components/AppSettingsScreen.kt (79%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/ui/Color.kt (100%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/FabShape.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/ui/Shape.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/ui/Spacing.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/ui/Theme.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/presentation/ui/Type.kt (100%) create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconAnnouncement.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconArrowBack.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconDarkMode.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconDelete.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconDeleteSweep.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconEdit.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconEmojiSymbols.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconKeyboard.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconKeyboardArrowDown.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconKeyboardArrowUp.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconLabel.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconNotifications.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconSchedule.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconSettings.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconShare.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconSmartphone.kt create mode 100644 app/src/commonMain/kotlin/com/timilehinaregbesola/mathalarm/presentation/ui/icon/IconWbSunny.kt rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/AlarmUtil.kt (98%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/NavExtensions.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/TestTags.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/UiEvent.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/BnMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/DeMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/EnMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/EsMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/HiMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/PaMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/PtMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/RuMathAlarmStrings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/Strings.kt (100%) rename app/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/utils/strings/ZhMathAlarmStrings.kt (100%) create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/MainViewController.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/alarm/AlarmSchedulerBridge.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/di/IosModule.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/framework/app/permission/AlarmPermissionImpl.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/interactors/AlarmInteractorImpl.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/interactors/AudioPlayer.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/interactors/IosAlarmAudioManager.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/interactors/NotificationInteractorImpl.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/notification/IosAlarmScheduler.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/notification/IosNotificationHandler.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/notification/IosNotificationSetup.kt create mode 100644 app/src/iosMain/kotlin/com/timilehinaregbesola/mathalarm/platform/PlatformApis.ios.kt delete mode 100644 app/src/main/java/com/timilehinaregbesola/mathalarm/framework/Usecases.kt delete mode 100644 app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/alarmlist/components/Loader.kt delete mode 100644 app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/appsettings/AlarmPreferencesExtensions.kt delete mode 100644 app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/appsettings/AlarmPreferencesImpl.kt delete mode 100644 app/src/main/java/com/timilehinaregbesola/mathalarm/presentation/ui/FabShape.kt create mode 100644 core/src/androidDeviceTest/kotlin/com/timilehinaregbesola/mathalarm/ExampleInstrumentedTest.kt create mode 100644 core/src/androidHostTest/kotlin/com/timilehinaregbesola/mathalarm/ExampleUnitTest.kt create mode 100644 core/src/androidMain/AndroidManifest.xml rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/data/AlarmDataSource.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/data/AlarmRepository.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/domain/model/Alarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/domain/util/DomainMapper.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/interactors/AlarmInteractor.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/interactors/NotificationInteractor.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/provider/CalendarProvider.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/provider/CalendarProviderImpl.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/AddAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/CancelAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/ClearAlarms.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/CompleteAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/DeleteAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/FindAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/GetSavedAlarms.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/RescheduleFutureAlarms.kt (96%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/ScheduleAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/ScheduleNextAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/ShowAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/SnoozeAlarm.kt (100%) rename core/src/{main/java => commonMain/kotlin}/com/timilehinaregbesola/mathalarm/usecases/UpdateAlarm.kt (100%) create mode 100644 iosApp/iosApp.xcodeproj/project.pbxproj create mode 100644 iosApp/iosApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/timilehin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 iosApp/iosApp.xcodeproj/xcuserdata/timilehin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 iosApp/iosApp.xcodeproj/xcuserdata/timilehin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 iosApp/iosApp/AlarmKitWrapper.swift create mode 100644 iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 iosApp/iosApp/Assets.xcassets/AppIcon.appiconset/app-icon.png create mode 100644 iosApp/iosApp/Assets.xcassets/Contents.json create mode 100644 iosApp/iosApp/Assets.xcassets/LaunchScreenIcon.imageset/launch-icon.png create mode 100644 iosApp/iosApp/ContentView.swift create mode 100644 iosApp/iosApp/Info.plist create mode 100644 iosApp/iosApp/iOSApp.swift diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 91161d9..7ed31ab 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,7 +4,7 @@