diff --git a/app/src/main/java/io/github/wulkanowy/di/BuilderModule.kt b/app/src/main/java/io/github/wulkanowy/di/BuilderModule.kt index 2616acc3..7f477630 100644 --- a/app/src/main/java/io/github/wulkanowy/di/BuilderModule.kt +++ b/app/src/main/java/io/github/wulkanowy/di/BuilderModule.kt @@ -3,7 +3,6 @@ package io.github.wulkanowy.di import dagger.Module import dagger.android.ContributesAndroidInjector import io.github.wulkanowy.di.scopes.PerActivity -import io.github.wulkanowy.services.widgets.TimetableWidgetService import io.github.wulkanowy.ui.modules.login.LoginActivity import io.github.wulkanowy.ui.modules.login.LoginModule import io.github.wulkanowy.ui.modules.main.MainActivity @@ -30,9 +29,6 @@ internal abstract class BuilderModule { @ContributesAndroidInjector abstract fun bindMessageSendActivity(): SendMessageActivity - @ContributesAndroidInjector - abstract fun bindTimetableWidgetService(): TimetableWidgetService - @ContributesAndroidInjector abstract fun bindTimetableWidgetProvider(): TimetableWidgetProvider } diff --git a/app/src/main/java/io/github/wulkanowy/services/ServicesModule.kt b/app/src/main/java/io/github/wulkanowy/services/ServicesModule.kt index 70cbf84c..84409a84 100644 --- a/app/src/main/java/io/github/wulkanowy/services/ServicesModule.kt +++ b/app/src/main/java/io/github/wulkanowy/services/ServicesModule.kt @@ -9,6 +9,7 @@ import com.squareup.inject.assisted.dagger2.AssistedModule import dagger.Binds import dagger.Module import dagger.Provides +import dagger.android.ContributesAndroidInjector import dagger.multibindings.IntoSet import io.github.wulkanowy.services.sync.works.AttendanceSummaryWork import io.github.wulkanowy.services.sync.works.AttendanceWork @@ -24,6 +25,7 @@ import io.github.wulkanowy.services.sync.works.NoteWork import io.github.wulkanowy.services.sync.works.RecipientWork import io.github.wulkanowy.services.sync.works.TimetableWork import io.github.wulkanowy.services.sync.works.Work +import io.github.wulkanowy.services.widgets.TimetableWidgetService import javax.inject.Singleton @AssistedModule @@ -48,6 +50,9 @@ abstract class ServicesModule { fun provideNotificationManager(context: Context) = context.getSystemService(NOTIFICATION_SERVICE) as NotificationManager } + @ContributesAndroidInjector + abstract fun bindTimetableWidgetService(): TimetableWidgetService + @Binds @IntoSet abstract fun provideGradeWork(work: GradeWork): Work diff --git a/app/src/main/java/io/github/wulkanowy/services/sync/SyncWorker.kt b/app/src/main/java/io/github/wulkanowy/services/sync/SyncWorker.kt index 5d0162f1..36593966 100644 --- a/app/src/main/java/io/github/wulkanowy/services/sync/SyncWorker.kt +++ b/app/src/main/java/io/github/wulkanowy/services/sync/SyncWorker.kt @@ -35,17 +35,20 @@ class SyncWorker @AssistedInject constructor( ) : RxWorker(appContext, workerParameters) { override fun createWork(): Single { + Timber.i("SyncWorker is starting") return studentRepository.isStudentSaved() - .flatMapCompletable { isSaved -> - if (isSaved) { - studentRepository.getCurrentStudent() - .flatMapCompletable { student -> - semesterRepository.getCurrentSemester(student) - .flatMapCompletable { semester -> - Completable.mergeDelayError(Flowable.fromIterable(works.map { it.create(student, semester) }), 3) - } - } - } else Completable.complete() + .filter { true } + .flatMap { studentRepository.getCurrentStudent().toMaybe() } + .flatMapCompletable { student -> + semesterRepository.getCurrentSemester(student, true) + .flatMapCompletable { semester -> + Completable.mergeDelayError(Flowable.fromIterable(works.map { work -> + work.create(student, semester) + .doOnSubscribe { Timber.i("${work::class.java.simpleName} is starting") } + .doOnError { Timber.i("${work::class.java.simpleName} result: An exception occurred") } + .doOnComplete { Timber.i("${work::class.java.simpleName} result: Success") } + }), 3) + } } .toSingleDefault(Result.success()) .onErrorReturn { @@ -53,7 +56,10 @@ class SyncWorker @AssistedInject constructor( if (it is FeatureDisabledException) Result.success() else Result.retry() } - .doOnSuccess { if (preferencesRepository.isDebugNotificationEnable) notify(it) } + .doOnSuccess { + if (preferencesRepository.isDebugNotificationEnable) notify(it) + Timber.i("SyncWorker result: $it") + } } private fun notify(result: Result) { diff --git a/app/src/main/java/io/github/wulkanowy/services/sync/works/RecipientWork.kt b/app/src/main/java/io/github/wulkanowy/services/sync/works/RecipientWork.kt index af8de434..fa610dee 100644 --- a/app/src/main/java/io/github/wulkanowy/services/sync/works/RecipientWork.kt +++ b/app/src/main/java/io/github/wulkanowy/services/sync/works/RecipientWork.kt @@ -13,10 +13,10 @@ class RecipientWork @Inject constructor( ) : Work { override fun create(student: Student, semester: Semester): Completable { - return reportingUnitRepository.getReportingUnits(student) + return reportingUnitRepository.getReportingUnits(student, true) .flatMapCompletable { units -> Completable.mergeDelayError(units.map { - recipientRepository.getRecipients(student, 2, it).ignoreElement() + recipientRepository.getRecipients(student, 2, it, true).ignoreElement() }) } } diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt index 1002f914..52caf731 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/about/AboutFragment.kt @@ -43,7 +43,8 @@ class AboutFragment : BaseFragment(), AboutView, MainView.TitledView { .withAboutSpecial3(getString(R.string.about_feedback)) .withFields(R.string::class.java.fields) .withCheckCachedDetection(false) - .withExcludedLibraries("fastadapter", "AndroidIconics", "gson", "Jsoup", "Retrofit", "okio", "OkHttp") + .withExcludedLibraries("fastadapter", "AndroidIconics", "Jsoup", "Retrofit", "okio", + "OkHttp", "Butterknife", "CircleImageView") .withOnExtraListener { presenter.onExtraSelect(it) }) }.let { fragmentCompat.onCreateView(inflater.context, inflater, container, savedInstanceState, it) @@ -68,7 +69,7 @@ class AboutFragment : BaseFragment(), AboutView, MainView.TitledView { data = Uri.parse("mailto:") putExtra(Intent.EXTRA_EMAIL, Array(1) { "wulkanowyinc@gmail.com" }) putExtra(Intent.EXTRA_SUBJECT, "Zgłoszenie błędu") - putExtra(Intent.EXTRA_TEXT,"Tu umieść treść zgłoszenia\n\n" + "-".repeat(40) + "\n" + """ + putExtra(Intent.EXTRA_TEXT, "Tu umieść treść zgłoszenia\n\n" + "-".repeat(40) + "\n" + """ Build: ${BuildConfig.VERSION_CODE} SDK: ${android.os.Build.VERSION.SDK_INT} Device: ${android.os.Build.MANUFACTURER} ${android.os.Build.MODEL} diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt index 5111420d..5dd485cd 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/grade/statistics/GradeStatisticsPresenter.kt @@ -63,7 +63,7 @@ class GradeStatisticsPresenter @Inject constructor( } fun onSubjectSelected(name: String) { - Timber.i("Select attendance stats subject $name") + Timber.i("Select grade stats subject $name") view?.run { showContent(false) showProgress(true) @@ -77,7 +77,7 @@ class GradeStatisticsPresenter @Inject constructor( } fun onTypeChange(isSemester: Boolean) { - Timber.i("Select attendance stats semester: $isSemester") + Timber.i("Select grade stats semester: $isSemester") disposable.clear() view?.run { showContent(false) diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt index a2a973c6..30f3b920 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/main/MainPresenter.kt @@ -24,9 +24,9 @@ class MainPresenter @Inject constructor( fun onAttachView(view: MainView, initMenuIndex: Int) { super.onAttachView(view) - Timber.i("Main view is attached with $initMenuIndex menu index") view.run { startMenuIndex = if (initMenuIndex != -1) initMenuIndex else prefRepository.startMenuIndex + Timber.i("Main view is attached with $startMenuIndex menu index") initView() }