├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── xml │ │ │ │ └── filepaths.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ ├── ic_launcher_round.png │ │ │ │ └── ic_launcher_foreground.png │ │ │ ├── values-night │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_notification.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_notification.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_notification.png │ │ │ ├── values-land │ │ │ │ └── dimens.xml │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_notification.png │ │ │ ├── values │ │ │ │ ├── config.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── log_colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── constants.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values-notnight │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── debug_logs.xml │ │ │ │ ├── view_settings_card_reminder.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── view_settings_card_sound.xml │ │ │ │ ├── fragment_sound.xml │ │ │ │ ├── view_settings_card_scheduler.xml │ │ │ │ ├── view_settings_card_vibration.xml │ │ │ │ ├── fragment_vibration.xml │ │ │ │ ├── debug_logs_list_item.xml │ │ │ │ └── item_contribute.xml │ │ │ └── menu │ │ │ │ └── menu_settings_fragment.xml │ │ └── java │ │ │ └── com │ │ │ ├── app │ │ │ └── missednotificationsreminder │ │ │ │ ├── payment │ │ │ │ ├── PurchaseInteractor.kt │ │ │ │ ├── billing │ │ │ │ │ └── domain │ │ │ │ │ │ ├── entities │ │ │ │ │ │ ├── SkuType.kt │ │ │ │ │ │ ├── PurchaseState.kt │ │ │ │ │ │ ├── SkuDetails.kt │ │ │ │ │ │ ├── Purchase.kt │ │ │ │ │ │ ├── ConsumeResult.kt │ │ │ │ │ │ └── BillingErrorCodes.kt │ │ │ │ │ │ └── repository │ │ │ │ │ │ └── PurchaseRepository.kt │ │ │ │ ├── model │ │ │ │ │ └── Purchase.kt │ │ │ │ ├── di │ │ │ │ │ ├── qualifiers │ │ │ │ │ │ └── AvailableSkus.kt │ │ │ │ │ └── PurchaseDataModule.kt │ │ │ │ ├── PurchaseItem.kt │ │ │ │ ├── PurchaseItemViewState.kt │ │ │ │ ├── PurchaseViewEffect.kt │ │ │ │ ├── PurchaseItemViewModel.kt │ │ │ │ ├── PurchaseViewState.kt │ │ │ │ └── PurchaseViewStatePartialChanges.kt │ │ │ │ ├── util │ │ │ │ ├── event │ │ │ │ │ ├── Event.java │ │ │ │ │ └── FlowEventBus.kt │ │ │ │ ├── loadingstate │ │ │ │ │ ├── LoadingState.kt │ │ │ │ │ ├── BasicLoadingStateManager.kt │ │ │ │ │ ├── ManagesLoadingState.kt │ │ │ │ │ └── HasLoadingStateManager.kt │ │ │ │ ├── resources │ │ │ │ │ └── ResourcesUtils.kt │ │ │ │ ├── livedata │ │ │ │ │ └── NonNullMutableLiveData.kt │ │ │ │ ├── flow │ │ │ │ │ ├── FlowExtensions.kt │ │ │ │ │ ├── FlowAmb.kt │ │ │ │ │ └── FlowBufferTimeout.kt │ │ │ │ ├── coroutines │ │ │ │ │ └── CoroutinesExtensions.kt │ │ │ │ ├── ViewUtils.kt │ │ │ │ └── BatteryUtils.java │ │ │ │ ├── settings │ │ │ │ ├── sound │ │ │ │ │ ├── SoundViewState.kt │ │ │ │ │ └── SoundViewStatePartialChanges.kt │ │ │ │ ├── di │ │ │ │ │ └── qualifiers │ │ │ │ │ │ ├── Vibrate.kt │ │ │ │ │ │ ├── ForceWakeLock.kt │ │ │ │ │ │ ├── SchedulerMode.kt │ │ │ │ │ │ ├── RateAppClicked.kt │ │ │ │ │ │ ├── ReminderEnabled.kt │ │ │ │ │ │ ├── ReminderInterval.kt │ │ │ │ │ │ ├── ReminderRepeats.kt │ │ │ │ │ │ ├── ReminderRingtone.kt │ │ │ │ │ │ ├── SchedulerEnabled.kt │ │ │ │ │ │ ├── VibrationPattern.kt │ │ │ │ │ │ ├── ReminderRepeatsMax.kt │ │ │ │ │ │ ├── ReminderRepeatsMin.kt │ │ │ │ │ │ ├── RespectPhoneCalls.kt │ │ │ │ │ │ ├── RespectRingerMode.kt │ │ │ │ │ │ ├── SchedulerRangeEnd.kt │ │ │ │ │ │ ├── SchedulerRangeMax.kt │ │ │ │ │ │ ├── SchedulerRangeMin.kt │ │ │ │ │ │ ├── LimitReminderRepeats.kt │ │ │ │ │ │ ├── RemindWhenScreenIsOn.kt │ │ │ │ │ │ ├── ReminderIntervalMax.kt │ │ │ │ │ │ ├── ReminderIntervalMin.kt │ │ │ │ │ │ ├── ReminderSessionsCount.kt │ │ │ │ │ │ ├── SchedulerRangeBegin.kt │ │ │ │ │ │ ├── SelectedApplications.kt │ │ │ │ │ │ ├── ReminderIntervalDefault.kt │ │ │ │ │ │ ├── ReminderRepeatsDefault.kt │ │ │ │ │ │ ├── VibrationPatternDefault.kt │ │ │ │ │ │ ├── CreateDismissNotification.kt │ │ │ │ │ │ ├── SchedulerRangeDefaultBegin.kt │ │ │ │ │ │ ├── SchedulerRangeDefaultEnd.kt │ │ │ │ │ │ ├── IgnorePersistentNotifications.kt │ │ │ │ │ │ └── CreateDismissNotificationImmediately.kt │ │ │ │ ├── applicationssettings │ │ │ │ │ ├── ApplicationsSettingsViewState.kt │ │ │ │ │ └── ApplicationsSettingsViewStatePartialChanges.kt │ │ │ │ ├── vibration │ │ │ │ │ ├── VibrationViewState.kt │ │ │ │ │ ├── VibrationViewStatePartialChanges.kt │ │ │ │ │ └── VibrationFragment.kt │ │ │ │ ├── applicationselection │ │ │ │ │ ├── ApplicationItemViewStatePartialChanges.kt │ │ │ │ │ ├── ApplicationItemViewState.kt │ │ │ │ │ ├── data │ │ │ │ │ │ └── model │ │ │ │ │ │ │ └── util │ │ │ │ │ │ │ └── ApplicationIconHandler.kt │ │ │ │ │ └── ApplicationItemViewModel.kt │ │ │ │ ├── SettingsViewState.kt │ │ │ │ ├── scheduler │ │ │ │ │ ├── SchedulerViewStatePartialChanges.kt │ │ │ │ │ └── SchedulerViewState.kt │ │ │ │ └── reminder │ │ │ │ │ └── ReminderFragment.kt │ │ │ │ ├── data │ │ │ │ ├── source │ │ │ │ │ ├── ResourceDataSource.kt │ │ │ │ │ └── DefaultResourceDataSource.kt │ │ │ │ └── model │ │ │ │ │ └── NightMode.kt │ │ │ │ ├── binding │ │ │ │ ├── model │ │ │ │ │ ├── ViewStatePartialChanges.kt │ │ │ │ │ ├── BaseViewModel.java │ │ │ │ │ ├── BaseViewStateViewEffectModel.kt │ │ │ │ │ ├── Event.kt │ │ │ │ │ └── BaseViewStateModel.kt │ │ │ │ └── util │ │ │ │ │ └── BindingConversionUtils.java │ │ │ │ ├── di │ │ │ │ ├── qualifiers │ │ │ │ │ ├── ActivityScope.kt │ │ │ │ │ ├── FragmentScope.kt │ │ │ │ │ ├── IsInstrumentationTest.kt │ │ │ │ │ ├── MainThreadScheduler.java │ │ │ │ │ ├── ForActivity.java │ │ │ │ │ └── ForApplication.java │ │ │ │ ├── Injector.kt │ │ │ │ └── ViewModelFactory.kt │ │ │ │ ├── ui │ │ │ │ ├── UiModule.kt │ │ │ │ ├── fragment │ │ │ │ │ ├── common │ │ │ │ │ │ ├── ActivityStateAccessor.java │ │ │ │ │ │ └── CommonFragmentWithViewBinding.kt │ │ │ │ │ └── dialog │ │ │ │ │ │ └── AlertDialogFragment.kt │ │ │ │ ├── AppContainer.kt │ │ │ │ ├── widget │ │ │ │ │ ├── recyclerview │ │ │ │ │ │ ├── LifecycleAdapterWithViewEffect.kt │ │ │ │ │ │ ├── LifecycleAdapter.kt │ │ │ │ │ │ └── LifecycleViewHolder.kt │ │ │ │ │ ├── misc │ │ │ │ │ │ └── BetterViewAnimator.java │ │ │ │ │ └── dialog │ │ │ │ │ │ └── LifecycleAlertDialog.kt │ │ │ │ ├── ActivityHierarchyServer.java │ │ │ │ └── activity │ │ │ │ │ └── common │ │ │ │ │ └── CommonActivityLifecycleCallback.kt │ │ │ │ ├── service │ │ │ │ ├── event │ │ │ │ │ ├── NotificationsUpdatedEvent.kt │ │ │ │ │ └── RemindEvents.java │ │ │ │ ├── util │ │ │ │ │ └── PhoneStateUtils.java │ │ │ │ ├── ReminderNotificationListenerServiceInterface.kt │ │ │ │ ├── data │ │ │ │ │ └── model │ │ │ │ │ │ └── NotificationData.kt │ │ │ │ └── RemindJob.kt │ │ │ │ ├── CustomApplication.kt │ │ │ │ ├── ApplicationComponent.kt │ │ │ │ ├── ApplicationModule.kt │ │ │ │ └── CustomApplicationBase.kt │ │ │ └── jakewharton │ │ │ └── u2020 │ │ │ └── ui │ │ │ └── misc │ │ │ └── BindableAdapter.java │ ├── debug │ │ ├── res │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ ├── debug_attrs.xml │ │ │ │ ├── titles.xml │ │ │ │ └── debug_strings.xml │ │ │ └── layout │ │ │ │ ├── debug_drawer_contextual_action.xml │ │ │ │ ├── debug_drawer_network_endpoint.xml │ │ │ │ ├── debug_drawer_network_proxy.xml │ │ │ │ ├── bugreport_view.xml │ │ │ │ └── debug_activity_frame.xml │ │ ├── java │ │ │ └── com │ │ │ │ ├── app │ │ │ │ └── missednotificationsreminder │ │ │ │ │ ├── data │ │ │ │ │ └── DebugDataModule.kt │ │ │ │ │ ├── ui │ │ │ │ │ ├── DebugUiModule.kt │ │ │ │ │ └── UiModuleExt.kt │ │ │ │ │ ├── payment │ │ │ │ │ └── di │ │ │ │ │ │ └── PurchaseDataModuleExt.kt │ │ │ │ │ └── ApplicationModuleExt.kt │ │ │ │ └── jakewharton │ │ │ │ └── u2020 │ │ │ │ ├── data │ │ │ │ ├── AnimationSpeed.java │ │ │ │ ├── ScalpelEnabled.java │ │ │ │ ├── PicassoDebugging.java │ │ │ │ ├── PixelGridEnabled.java │ │ │ │ ├── SeenDebugDrawer.java │ │ │ │ ├── PixelRatioEnabled.java │ │ │ │ └── ScalpelWireframeEnabled.java │ │ │ │ ├── ui │ │ │ │ ├── debug │ │ │ │ │ ├── DebugViewModule.kt │ │ │ │ │ ├── DrawerLayoutImpl.java │ │ │ │ │ ├── AnimationSpeedAdapter.java │ │ │ │ │ └── HierarchyTreeChangeListener.java │ │ │ │ ├── misc │ │ │ │ │ └── EmptyTextWatcher.java │ │ │ │ └── bugreport │ │ │ │ │ ├── BugReportDialog.java │ │ │ │ │ └── BugReportView.java │ │ │ │ └── util │ │ │ │ ├── Strings.java │ │ │ │ ├── EmptyActivityLifecycleCallbacks.java │ │ │ │ └── Intents.java │ │ └── AndroidManifest.xml │ ├── release │ │ ├── java │ │ │ └── com │ │ │ │ └── app │ │ │ │ └── missednotificationsreminder │ │ │ │ ├── ApplicationModuleExt.kt │ │ │ │ ├── ui │ │ │ │ └── UiModuleExt.kt │ │ │ │ └── payment │ │ │ │ └── di │ │ │ │ └── PurchaseDataModuleExt.kt │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── notificationListener │ │ ├── res │ │ │ ├── values-ru │ │ │ │ └── strings.xml │ │ │ ├── values-bg │ │ │ │ └── strings.xml │ │ │ ├── values-uk │ │ │ │ └── strings.xml │ │ │ ├── values-nl │ │ │ │ └── strings.xml │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ └── values-de │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── app │ │ │ └── missednotificationsreminder │ │ │ └── service │ │ │ └── util │ │ │ └── ReminderNotificationListenerServiceUtils.java │ ├── accessibilityV14NoProprietaryDebug │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── accessibilityV14ProprietaryDebug │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── accessibilityV27NoProprietaryDebug │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── accessibilityV27ProprietaryDebug │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── notificationListenerV18NoProprietaryDebug │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── notificationListenerV18ProprietaryDebug │ │ └── res │ │ │ └── values │ │ │ └── titles.xml │ ├── notificationListenerV27 │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── app │ │ │ └── missednotificationsreminder │ │ │ └── ExampleUnitTest.java │ ├── proprietary │ │ └── java │ │ │ └── com │ │ │ └── app │ │ │ └── missednotificationsreminder │ │ │ └── payment │ │ │ ├── billing │ │ │ └── data │ │ │ │ ├── mappers │ │ │ │ ├── SkuTypeMappers.kt │ │ │ │ ├── PurchaseMappers.kt │ │ │ │ └── SkuDetailsMappers.kt │ │ │ │ ├── utls │ │ │ │ ├── BillingErrorUtils.kt │ │ │ │ └── ResultWrapperUtils.kt │ │ │ │ └── source │ │ │ │ └── remote │ │ │ │ └── BillingOperationException.kt │ │ │ └── di │ │ │ └── PurchaseRepositoryModule.kt │ ├── accessibility │ │ ├── res │ │ │ ├── xml │ │ │ │ └── notifications_service_config.xml │ │ │ ├── values-bg │ │ │ │ └── strings.xml │ │ │ ├── values-ru │ │ │ │ └── strings.xml │ │ │ ├── values-uk │ │ │ │ └── strings.xml │ │ │ ├── values-nl │ │ │ │ └── strings.xml │ │ │ ├── values │ │ │ │ └── strings.xml │ │ │ ├── values-ja │ │ │ │ └── strings.xml │ │ │ └── values-de │ │ │ │ └── strings.xml │ │ └── AndroidManifest.xml │ ├── noProprietary │ │ └── java │ │ │ └── com │ │ │ └── app │ │ │ └── missednotificationsreminder │ │ │ └── payment │ │ │ ├── di │ │ │ └── PurchaseRepositoryModule.kt │ │ │ └── billing │ │ │ └── data │ │ │ └── PurchaseRepositoryImpl.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── app │ │ └── missednotificationsreminder │ │ └── ApplicationTestRunner.java ├── lint.xml └── proguard-rules.pro ├── settings.gradle.kts ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties └── README.md /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | includeBuild("buildSrcIncluded") 2 | include(":app") -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/xml/filepaths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/debug/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #FF5722 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | local.properties 3 | .idea 4 | *.iml 5 | .DS_Store 6 | build 7 | /shots 8 | /captures 9 | keystore.properties 10 | release.keystore.jks 11 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #33ffffff 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/drawable-hdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/drawable-mdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/drawable-xhdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 3 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/drawable-xxhdpi/ic_notification.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/httpdispatch/MissedNotificationsReminder/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/debug/java/com/app/missednotificationsreminder/data/DebugDataModule.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.data 2 | 3 | import dagger.Module 4 | 5 | @Module 6 | class DebugDataModule -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/PurchaseInteractor.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment 2 | 3 | interface PurchaseInteractor { 4 | fun purchase() 5 | } -------------------------------------------------------------------------------- /app/src/main/res/values/config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/release/java/com/app/missednotificationsreminder/ApplicationModuleExt.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder 2 | 3 | import dagger.Module 4 | 5 | @Module 6 | class ApplicationModuleExt -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/util/event/Event.java: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.util.event; 2 | 3 | /** 4 | * General event interface 5 | */ 6 | public interface Event { 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/sound/SoundViewState.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.sound 2 | 3 | data class SoundViewState(val ringtone: String, val ringtoneName: String) -------------------------------------------------------------------------------- /app/src/debug/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | There are no applications available to handle this action. 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values/debug_attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder Leaks 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/billing/domain/entities/SkuType.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.billing.domain.entities 2 | 3 | enum class SkuType { 4 | INAPP, 5 | SUBS, 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/data/source/ResourceDataSource.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.data.source 2 | 3 | interface ResourceDataSource { 4 | fun getString(id: Int, vararg args: Any): String 5 | } -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/util/loadingstate/LoadingState.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.util.loadingstate 2 | 3 | data class LoadingState(val loading: Boolean = false, 4 | val status: String = "") -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/binding/model/ViewStatePartialChanges.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.binding.model 2 | 3 | interface ViewStatePartialChanges { 4 | fun reduce(previousState: VIEW_STATE): VIEW_STATE 5 | } -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/di/qualifiers/ActivityScope.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.di.qualifiers 2 | 3 | import javax.inject.Scope 4 | 5 | @Scope 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ActivityScope -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/di/qualifiers/FragmentScope.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.di.qualifiers 2 | 3 | import javax.inject.Scope 4 | 5 | @Scope 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class FragmentScope -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ffffff 4 | #08332f 5 | #33000000 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/billing/domain/entities/PurchaseState.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.billing.domain.entities 2 | 3 | enum class PurchaseState { 4 | UNSPECIFIED_STATE, 5 | PURCHASED, 6 | PENDING, 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/Vibrate.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class Vibrate -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/model/Purchase.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.model 2 | 3 | import com.squareup.moshi.JsonClass 4 | 5 | @JsonClass(generateAdapter = true) 6 | data class Purchase(val sku: String, val price: String) 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/di/qualifiers/IsInstrumentationTest.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class IsInstrumentationTest -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/di/qualifiers/AvailableSkus.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class AvailableSkus -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ForceWakeLock.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ForceWakeLock -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerMode.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerMode -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Apr 15 10:22:03 EEST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/RateAppClicked.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class RateAppClicked -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderEnabled.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderEnabled -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderInterval.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderInterval -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderRepeats.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderRepeats -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderRingtone.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderRingtone -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerEnabled.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerEnabled -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/VibrationPattern.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class VibrationPattern -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderRepeatsMax.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderRepeatsMax -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderRepeatsMin.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderRepeatsMin -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/RespectPhoneCalls.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class RespectPhoneCalls -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/RespectRingerMode.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class RespectRingerMode -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerRangeEnd.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerRangeEnd -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerRangeMax.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerRangeMax -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerRangeMin.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerRangeMin -------------------------------------------------------------------------------- /app/src/release/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder 5 | Missed Notifications Reminder 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/LimitReminderRepeats.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class LimitReminderRepeats -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/RemindWhenScreenIsOn.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class RemindWhenScreenIsOn -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderIntervalMax.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderIntervalMax -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderIntervalMin.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderIntervalMin -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderSessionsCount.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderSessionsCount -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerRangeBegin.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerRangeBegin -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SelectedApplications.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SelectedApplications -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderIntervalDefault.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderIntervalDefault -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/ReminderRepeatsDefault.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class ReminderRepeatsDefault -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/VibrationPatternDefault.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class VibrationPatternDefault -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/util/loadingstate/BasicLoadingStateManager.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.util.loadingstate 2 | 3 | class BasicLoadingStateManager() : LoadingStateManager() { 4 | @Volatile 5 | override var loadingState: LoadingState = LoadingState() 6 | } -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/CreateDismissNotification.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class CreateDismissNotification -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerRangeDefaultBegin.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerRangeDefaultBegin -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/SchedulerRangeDefaultEnd.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class SchedulerRangeDefaultEnd -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/IgnorePersistentNotifications.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class IgnorePersistentNotifications -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/settings/di/qualifiers/CreateDismissNotificationImmediately.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.settings.di.qualifiers 2 | 3 | import javax.inject.Qualifier 4 | 5 | @Qualifier 6 | @Retention(AnnotationRetention.RUNTIME) 7 | annotation class CreateDismissNotificationImmediately -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/notificationListener/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Служба уведомлений отключена. Нажмите кнопку \"Управление доступом\" и отметьте приложение \"Missed Notification Reminder\". Иначе напоминания не будут работать. 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/notificationListener/res/values-bg/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Услугата за известия е изключена. Натиснете на \"Управление на достъпа\" и отметнете приложението \"Missed Notification Reminder\". Иначе известията няма да работят. 4 | -------------------------------------------------------------------------------- /app/src/notificationListener/res/values-uk/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Служба повідомлень відключена. Натисніть кнопку \"Керування доступом\" и позначте додаток \"Missed Notification Reminder\". Інакше нагадування не будуть працювати. 4 | -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/AnimationSpeed.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface AnimationSpeed { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/ScalpelEnabled.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface ScalpelEnabled { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/billing/domain/entities/SkuDetails.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.billing.domain.entities 2 | 3 | data class SkuDetails( 4 | val sku: String, 5 | val price: String, 6 | val priceAmountMicros: Long, 7 | val skuType: SkuType, 8 | ) 9 | -------------------------------------------------------------------------------- /app/src/debug/java/com/app/missednotificationsreminder/ui/DebugUiModule.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.ui 2 | 3 | import com.jakewharton.u2020.ui.debug.DebugViewModule 4 | import dagger.Module 5 | 6 | @Module( 7 | includes = [ 8 | DebugViewModule::class 9 | ] 10 | ) 11 | class DebugUiModule { 12 | } -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/PicassoDebugging.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface PicassoDebugging { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/PixelGridEnabled.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface PixelGridEnabled { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/SeenDebugDrawer.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface SeenDebugDrawer { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/PurchaseItem.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment 2 | 3 | import com.app.missednotificationsreminder.payment.billing.domain.entities.SkuDetails 4 | 5 | /** 6 | * The class to store purchase item information 7 | */ 8 | data class PurchaseItem(val skuDetails: SkuDetails) 9 | -------------------------------------------------------------------------------- /app/src/accessibilityV14NoProprietaryDebug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder Av14NP Debug 5 | Missed Notifications Reminder Av14NP (D) 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/accessibilityV14ProprietaryDebug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder Av14P Debug 5 | Missed Notifications Reminder Av14P (D) 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/accessibilityV27NoProprietaryDebug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder Av27NP Debug 5 | Missed Notifications Reminder Av27NP (D) 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/accessibilityV27ProprietaryDebug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder Av27P Debug 5 | Missed Notifications Reminder Av27P (D) 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/PixelRatioEnabled.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface PixelRatioEnabled { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/billing/domain/entities/Purchase.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.billing.domain.entities 2 | 3 | data class Purchase( 4 | val sku: String, 5 | val purchaseToken: String, 6 | val isAcknowledged: Boolean, 7 | val purchaseState: PurchaseState, 8 | ) 9 | -------------------------------------------------------------------------------- /app/src/notificationListener/res/values-nl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | De meldingsdienst is momenteel uitgeschakeld. 4 | Druk op de knop \"Toegang beheren\" button en schakel \"Missed Notification Reminder\" in. 5 | Zonder dit werkt de app niet. 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/notificationListener/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | The notification service is currently disabled. 4 | Press \"Manage Access\" button and check \"Missed Notification Reminder\" application. 5 | Otherwise the reminder will not work. 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/notificationListenerV18NoProprietaryDebug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder v18NP Debug 5 | Missed Notifications Reminder v18NP (D) 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/notificationListenerV18ProprietaryDebug/res/values/titles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Missed Notifications Reminder v18P Debug 5 | Missed Notifications Reminder v18P (D) 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/debug/java/com/jakewharton/u2020/data/ScalpelWireframeEnabled.java: -------------------------------------------------------------------------------- 1 | package com.jakewharton.u2020.data; 2 | 3 | import java.lang.annotation.Retention; 4 | import javax.inject.Qualifier; 5 | 6 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 7 | 8 | @Qualifier @Retention(RUNTIME) 9 | public @interface ScalpelWireframeEnabled { 10 | } 11 | -------------------------------------------------------------------------------- /app/src/notificationListenerV27/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/app/missednotificationsreminder/payment/billing/domain/entities/ConsumeResult.kt: -------------------------------------------------------------------------------- 1 | package com.app.missednotificationsreminder.payment.billing.domain.entities 2 | 3 | import com.app.missednotificationsreminder.common.domain.entities.ResultWrapper 4 | 5 | data class ConsumeResult(val skuDetails: List, val operationStatus: ResultWrapper) 6 | -------------------------------------------------------------------------------- /app/src/notificationListener/res/values-de/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Benachrichtigungszugriff deakiviert. 4 | Klicke auf \"Zugriff verwalten\" und aktiviere die App \"Missed Notification Reminder\". 5 | Andernfalls kann die Benachrichtigung nicht ausgeführt werden. 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/layout/debug_drawer_contextual_action.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |