mirror of
https://github.com/wulkanowy/wulkanowy.git
synced 2025-02-20 21:34:45 +01:00
Refactor packages hierarchy (#170)
This commit is contained in:
parent
837bce7286
commit
0211a7f0a0
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="io.github.wulkanowy"
|
||||
android:installLocation="internalOnly">
|
||||
|
||||
@ -15,9 +16,10 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="false"
|
||||
android:theme="@style/WulkanowyTheme"
|
||||
android:usesCleartextTraffic="true">
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:ignore="GoogleAppIndexingWarning">
|
||||
<activity
|
||||
android:name=".ui.splash.SplashActivity"
|
||||
android:name=".ui.modules.splash.SplashActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/WulkanowyTheme.SplashScreen">
|
||||
<intent-filter>
|
||||
@ -27,12 +29,12 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".ui.login.LoginActivity"
|
||||
android:name="ui.modules.login.LoginActivity"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:label="@string/login_title"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
<activity
|
||||
android:name=".ui.main.MainActivity"
|
||||
android:name="ui.modules.main.MainActivity"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:label="@string/main_title"
|
||||
android:launchMode="singleTop"
|
||||
|
@ -6,8 +6,7 @@ import dagger.Provides
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.WulkanowyApp
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersProvider
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Module
|
||||
@ -19,7 +18,7 @@ internal class AppModule {
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
fun provideSchedulers(): SchedulersManager = SchedulersProvider()
|
||||
fun provideSchedulersProvider() = SchedulersProvider()
|
||||
|
||||
@Provides
|
||||
fun provideFlexibleAdapter() = FlexibleAdapter<AbstractFlexibleItem<*>>(null, null, true)
|
||||
|
@ -3,11 +3,11 @@ package io.github.wulkanowy.di
|
||||
import dagger.Module
|
||||
import dagger.android.ContributesAndroidInjector
|
||||
import io.github.wulkanowy.di.scopes.PerActivity
|
||||
import io.github.wulkanowy.ui.login.LoginActivity
|
||||
import io.github.wulkanowy.ui.login.LoginModule
|
||||
import io.github.wulkanowy.ui.main.MainActivity
|
||||
import io.github.wulkanowy.ui.main.MainModule
|
||||
import io.github.wulkanowy.ui.splash.SplashActivity
|
||||
import io.github.wulkanowy.ui.modules.login.LoginActivity
|
||||
import io.github.wulkanowy.ui.modules.login.LoginModule
|
||||
import io.github.wulkanowy.ui.modules.main.MainActivity
|
||||
import io.github.wulkanowy.ui.modules.main.MainModule
|
||||
import io.github.wulkanowy.ui.modules.splash.SplashActivity
|
||||
|
||||
@Module
|
||||
internal abstract class BuilderModule {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.about
|
||||
package io.github.wulkanowy.ui.modules.about
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
@ -9,7 +9,7 @@ import com.mikepenz.aboutlibraries.LibsBuilder
|
||||
import com.mikepenz.aboutlibraries.LibsFragmentCompat
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
import io.github.wulkanowy.utils.withOnExtraListener
|
||||
import javax.inject.Inject
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.about
|
||||
package io.github.wulkanowy.ui.modules.about
|
||||
|
||||
import com.mikepenz.aboutlibraries.LibsFragmentCompat
|
||||
import dagger.Module
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.about
|
||||
package io.github.wulkanowy.ui.modules.about
|
||||
|
||||
import com.mikepenz.aboutlibraries.Libs
|
||||
import com.mikepenz.aboutlibraries.Libs.SpecialButton.SPECIAL1
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.about
|
||||
package io.github.wulkanowy.ui.modules.about
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.attendance
|
||||
package io.github.wulkanowy.ui.modules.attendance
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.attendance
|
||||
package io.github.wulkanowy.ui.modules.attendance
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -10,7 +10,7 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.data.db.entities.Attendance
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
import io.github.wulkanowy.utils.setOnItemClickListener
|
||||
import kotlinx.android.synthetic.main.fragment_attendance.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.attendance
|
||||
package io.github.wulkanowy.ui.modules.attendance
|
||||
|
||||
import android.view.View
|
||||
import android.view.View.INVISIBLE
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.attendance
|
||||
package io.github.wulkanowy.ui.modules.attendance
|
||||
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
@ -7,7 +7,6 @@ import io.github.wulkanowy.data.repositories.PreferencesRepository
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.*
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import org.threeten.bp.LocalDate
|
||||
import org.threeten.bp.LocalDate.now
|
||||
import org.threeten.bp.LocalDate.ofEpochDay
|
||||
@ -16,7 +15,7 @@ import javax.inject.Inject
|
||||
|
||||
class AttendancePresenter @Inject constructor(
|
||||
private val errorHandler: ErrorHandler,
|
||||
private val schedulers: SchedulersManager,
|
||||
private val schedulers: SchedulersProvider,
|
||||
private val attendanceRepository: AttendanceRepository,
|
||||
private val sessionRepository: SessionRepository,
|
||||
private val prefRepository: PreferencesRepository
|
||||
@ -68,8 +67,8 @@ class AttendancePresenter @Inject constructor(
|
||||
else list.filter { !it.presence }
|
||||
}
|
||||
.map { items -> items.map { AttendanceItem(it) } }
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.doFinally {
|
||||
view?.run {
|
||||
hideRefresh()
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.attendance
|
||||
package io.github.wulkanowy.ui.modules.attendance
|
||||
|
||||
import io.github.wulkanowy.data.db.entities.Attendance
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.exam
|
||||
package io.github.wulkanowy.ui.modules.exam
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.exam
|
||||
package io.github.wulkanowy.ui.modules.exam
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -11,7 +11,7 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.data.db.entities.Exam
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
import io.github.wulkanowy.utils.setOnItemClickListener
|
||||
import kotlinx.android.synthetic.main.fragment_exam.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.exam
|
||||
package io.github.wulkanowy.ui.modules.exam
|
||||
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.exam
|
||||
package io.github.wulkanowy.ui.modules.exam
|
||||
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.exam
|
||||
package io.github.wulkanowy.ui.modules.exam
|
||||
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
@ -7,7 +7,6 @@ import io.github.wulkanowy.data.repositories.ExamRepository
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.*
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import org.threeten.bp.LocalDate
|
||||
import org.threeten.bp.LocalDate.now
|
||||
import org.threeten.bp.LocalDate.ofEpochDay
|
||||
@ -16,7 +15,7 @@ import javax.inject.Inject
|
||||
|
||||
class ExamPresenter @Inject constructor(
|
||||
private val errorHandler: ErrorHandler,
|
||||
private val schedulers: SchedulersManager,
|
||||
private val schedulers: SchedulersProvider,
|
||||
private val examRepository: ExamRepository,
|
||||
private val sessionRepository: SessionRepository
|
||||
) : BasePresenter<ExamView>(errorHandler) {
|
||||
@ -65,8 +64,8 @@ class ExamPresenter @Inject constructor(
|
||||
examRepository.getExams(it, currentDate.monday, currentDate.friday, forceRefresh)
|
||||
}.map { it.groupBy { exam -> exam.date }.toSortedMap() }
|
||||
.map { createExamItems(it) }
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.doFinally {
|
||||
view?.run {
|
||||
hideRefresh()
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.exam
|
||||
package io.github.wulkanowy.ui.modules.exam
|
||||
|
||||
import io.github.wulkanowy.data.db.entities.Exam
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade
|
||||
package io.github.wulkanowy.ui.modules.grade
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
@ -8,9 +8,9 @@ import androidx.appcompat.app.AlertDialog
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.base.BasePagerAdapter
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.main.grade.details.GradeDetailsFragment
|
||||
import io.github.wulkanowy.ui.main.grade.summary.GradeSummaryFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.details.GradeDetailsFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.summary.GradeSummaryFragment
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
import io.github.wulkanowy.utils.setOnSelectPageListener
|
||||
import kotlinx.android.synthetic.main.fragment_grade.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade
|
||||
package io.github.wulkanowy.ui.modules.grade
|
||||
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
@ -6,8 +6,8 @@ import dagger.android.ContributesAndroidInjector
|
||||
import io.github.wulkanowy.di.scopes.PerChildFragment
|
||||
import io.github.wulkanowy.di.scopes.PerFragment
|
||||
import io.github.wulkanowy.ui.base.BasePagerAdapter
|
||||
import io.github.wulkanowy.ui.main.grade.details.GradeDetailsFragment
|
||||
import io.github.wulkanowy.ui.main.grade.summary.GradeSummaryFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.details.GradeDetailsFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.summary.GradeSummaryFragment
|
||||
|
||||
@Module
|
||||
abstract class GradeModule {
|
@ -1,17 +1,17 @@
|
||||
package io.github.wulkanowy.ui.main.grade
|
||||
package io.github.wulkanowy.ui.modules.grade
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.db.entities.Semester
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import io.reactivex.Completable
|
||||
import java.util.concurrent.TimeUnit.MILLISECONDS
|
||||
import javax.inject.Inject
|
||||
|
||||
class GradePresenter @Inject constructor(
|
||||
private val errorHandler: ErrorHandler,
|
||||
private val schedulers: SchedulersManager,
|
||||
private val schedulers: SchedulersProvider,
|
||||
private val sessionRepository: SessionRepository) : BasePresenter<GradeView>(errorHandler) {
|
||||
|
||||
var selectedIndex = 0
|
||||
@ -23,7 +23,7 @@ class GradePresenter @Inject constructor(
|
||||
|
||||
fun onAttachView(view: GradeView, savedIndex: Int?) {
|
||||
super.onAttachView(view)
|
||||
disposable.add(Completable.timer(150, MILLISECONDS, schedulers.mainThread())
|
||||
disposable.add(Completable.timer(150, MILLISECONDS, schedulers.mainThread)
|
||||
.subscribe {
|
||||
selectedIndex = savedIndex ?: 0
|
||||
view.initView()
|
||||
@ -52,7 +52,7 @@ class GradePresenter @Inject constructor(
|
||||
}
|
||||
|
||||
fun onChildViewRefresh() {
|
||||
view?.let { loadChild(it.currentPageIndex, forceRefresh = true) }
|
||||
view?.let { loadChild(it.currentPageIndex, true) }
|
||||
}
|
||||
|
||||
fun onChildViewLoaded(semesterId: Int) {
|
||||
@ -75,8 +75,8 @@ class GradePresenter @Inject constructor(
|
||||
semesters = it.filter { semester -> semester.diaryId == current.diaryId }
|
||||
}
|
||||
}
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.subscribe({ _ ->
|
||||
view?.let { loadChild(it.currentPageIndex) }
|
||||
}) { errorHandler.proceed(it) })
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade
|
||||
package io.github.wulkanowy.ui.modules.grade
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.details
|
||||
package io.github.wulkanowy.ui.modules.grade.details
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.details
|
||||
package io.github.wulkanowy.ui.modules.grade.details
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -13,8 +13,8 @@ import eu.davidea.flexibleadapter.items.IFlexible
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.data.db.entities.Grade
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeView
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeView
|
||||
import io.github.wulkanowy.utils.setOnItemClickListener
|
||||
import kotlinx.android.synthetic.main.fragment_grade_details.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.details
|
||||
package io.github.wulkanowy.ui.modules.grade.details
|
||||
|
||||
import android.view.View
|
||||
import android.view.View.GONE
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.details
|
||||
package io.github.wulkanowy.ui.modules.grade.details
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.View
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.details
|
||||
package io.github.wulkanowy.ui.modules.grade.details
|
||||
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
@ -6,14 +6,14 @@ import io.github.wulkanowy.data.db.entities.Grade
|
||||
import io.github.wulkanowy.data.repositories.GradeRepository
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import io.github.wulkanowy.utils.calcAverage
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import io.github.wulkanowy.utils.valueColor
|
||||
import javax.inject.Inject
|
||||
|
||||
class GradeDetailsPresenter @Inject constructor(
|
||||
private val errorHandler: ErrorHandler,
|
||||
private val schedulers: SchedulersManager,
|
||||
private val schedulers: SchedulersProvider,
|
||||
private val gradeRepository: GradeRepository,
|
||||
private val sessionRepository: SessionRepository) : BasePresenter<GradeDetailsView>(errorHandler) {
|
||||
|
||||
@ -26,8 +26,8 @@ class GradeDetailsPresenter @Inject constructor(
|
||||
disposable.add(sessionRepository.getSemesters()
|
||||
.flatMap { gradeRepository.getGrades(it.first { item -> item.semesterId == semesterId }, forceRefresh) }
|
||||
.map { createGradeItems(it.groupBy { grade -> grade.subject }.toSortedMap()) }
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.doFinally {
|
||||
view?.run {
|
||||
showRefresh(false)
|
||||
@ -117,8 +117,8 @@ class GradeDetailsPresenter @Inject constructor(
|
||||
|
||||
private fun updateGrade(grade: Grade) {
|
||||
disposable.add(gradeRepository.updateGrade(grade)
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.subscribe({}) { error -> errorHandler.proceed(error) })
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.details
|
||||
package io.github.wulkanowy.ui.modules.grade.details
|
||||
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import eu.davidea.flexibleadapter.items.IExpandable
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.summary
|
||||
package io.github.wulkanowy.ui.modules.grade.summary
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -10,8 +10,8 @@ import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeView
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeView
|
||||
import kotlinx.android.synthetic.main.fragment_grade_summary.*
|
||||
import javax.inject.Inject
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.summary
|
||||
package io.github.wulkanowy.ui.modules.grade.summary
|
||||
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.summary
|
||||
package io.github.wulkanowy.ui.modules.grade.summary
|
||||
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.summary
|
||||
package io.github.wulkanowy.ui.modules.grade.summary
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.db.entities.GradeSummary
|
||||
@ -6,8 +6,8 @@ import io.github.wulkanowy.data.repositories.GradeRepository
|
||||
import io.github.wulkanowy.data.repositories.GradeSummaryRepository
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import io.github.wulkanowy.utils.calcAverage
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import java.lang.String.format
|
||||
import java.util.Locale.FRANCE
|
||||
import javax.inject.Inject
|
||||
@ -17,7 +17,7 @@ class GradeSummaryPresenter @Inject constructor(
|
||||
private val gradeSummaryRepository: GradeSummaryRepository,
|
||||
private val gradeRepository: GradeRepository,
|
||||
private val sessionRepository: SessionRepository,
|
||||
private val schedulers: SchedulersManager)
|
||||
private val schedulers: SchedulersProvider)
|
||||
: BasePresenter<GradeSummaryView>(errorHandler) {
|
||||
|
||||
override fun onAttachView(view: GradeSummaryView) {
|
||||
@ -46,8 +46,8 @@ class GradeSummaryPresenter @Inject constructor(
|
||||
}
|
||||
}
|
||||
}
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.doFinally {
|
||||
view?.run {
|
||||
showRefresh(false)
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.summary
|
||||
package io.github.wulkanowy.ui.modules.grade.summary
|
||||
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.grade.summary
|
||||
package io.github.wulkanowy.ui.modules.grade.summary
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -6,8 +6,8 @@ import android.os.Bundle
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseActivity
|
||||
import io.github.wulkanowy.ui.base.BasePagerAdapter
|
||||
import io.github.wulkanowy.ui.login.form.LoginFormFragment
|
||||
import io.github.wulkanowy.ui.login.options.LoginOptionsFragment
|
||||
import io.github.wulkanowy.ui.modules.login.form.LoginFormFragment
|
||||
import io.github.wulkanowy.ui.modules.login.options.LoginOptionsFragment
|
||||
import io.github.wulkanowy.utils.setOnSelectPageListener
|
||||
import kotlinx.android.synthetic.main.activity_login.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
import android.content.res.Resources
|
||||
import io.github.wulkanowy.api.login.BadCredentialsException
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
import android.content.Context
|
||||
import dagger.Module
|
||||
@ -7,8 +7,8 @@ import dagger.android.ContributesAndroidInjector
|
||||
import io.github.wulkanowy.di.scopes.PerActivity
|
||||
import io.github.wulkanowy.di.scopes.PerFragment
|
||||
import io.github.wulkanowy.ui.base.BasePagerAdapter
|
||||
import io.github.wulkanowy.ui.login.form.LoginFormFragment
|
||||
import io.github.wulkanowy.ui.login.options.LoginOptionsFragment
|
||||
import io.github.wulkanowy.ui.modules.login.form.LoginFormFragment
|
||||
import io.github.wulkanowy.ui.modules.login.options.LoginOptionsFragment
|
||||
|
||||
@Module
|
||||
internal abstract class LoginModule {
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
interface LoginSwitchListener {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login.form
|
||||
package io.github.wulkanowy.ui.modules.login.form
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -10,7 +10,7 @@ import android.view.inputmethod.EditorInfo
|
||||
import android.widget.ArrayAdapter
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.login.LoginSwitchListener
|
||||
import io.github.wulkanowy.ui.modules.login.LoginSwitchListener
|
||||
import io.github.wulkanowy.utils.hideSoftInput
|
||||
import io.github.wulkanowy.utils.showSoftInput
|
||||
import kotlinx.android.synthetic.main.fragment_login_form.*
|
@ -1,13 +1,13 @@
|
||||
package io.github.wulkanowy.ui.login.form
|
||||
package io.github.wulkanowy.ui.modules.login.form
|
||||
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.ui.login.LoginErrorHandler
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import io.github.wulkanowy.ui.modules.login.LoginErrorHandler
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import javax.inject.Inject
|
||||
|
||||
class LoginFormPresenter @Inject constructor(
|
||||
private val schedulers: SchedulersManager,
|
||||
private val schedulers: SchedulersProvider,
|
||||
private val errorHandler: LoginErrorHandler,
|
||||
private val sessionRepository: SessionRepository)
|
||||
: BasePresenter<LoginFormView>(errorHandler) {
|
||||
@ -22,8 +22,8 @@ class LoginFormPresenter @Inject constructor(
|
||||
fun attemptLogin(email: String, password: String, symbol: String, endpoint: String) {
|
||||
if (!validateCredentials(email, password, symbol)) return
|
||||
disposable.add(sessionRepository.getConnectedStudents(email, password, symbol, endpoint)
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread)
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.doOnSubscribe {
|
||||
view?.run {
|
||||
hideSoftKeyboard()
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login.form
|
||||
package io.github.wulkanowy.ui.modules.login.form
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login.options
|
||||
package io.github.wulkanowy.ui.modules.login.options
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -12,7 +12,7 @@ import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.MainActivity
|
||||
import io.github.wulkanowy.ui.modules.main.MainActivity
|
||||
import io.github.wulkanowy.utils.setOnItemClickListener
|
||||
import kotlinx.android.synthetic.main.fragment_login_options.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login.options
|
||||
package io.github.wulkanowy.ui.modules.login.options
|
||||
|
||||
import android.view.View
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
@ -1,16 +1,16 @@
|
||||
package io.github.wulkanowy.ui.login.options
|
||||
package io.github.wulkanowy.ui.modules.login.options
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.db.entities.Student
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import javax.inject.Inject
|
||||
|
||||
class LoginOptionsPresenter @Inject constructor(
|
||||
private val errorHandler: ErrorHandler,
|
||||
private val repository: SessionRepository,
|
||||
private val schedulers: SchedulersManager)
|
||||
private val schedulers: SchedulersProvider)
|
||||
: BasePresenter<LoginOptionsView>(errorHandler) {
|
||||
|
||||
override fun onAttachView(view: LoginOptionsView) {
|
||||
@ -20,8 +20,8 @@ class LoginOptionsPresenter @Inject constructor(
|
||||
|
||||
fun refreshData() {
|
||||
disposable.add(repository.cachedStudents
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread)
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.doOnSubscribe { view?.showActionBar(true) }
|
||||
.doFinally { repository.clearCache() }
|
||||
.subscribe({
|
||||
@ -33,8 +33,8 @@ class LoginOptionsPresenter @Inject constructor(
|
||||
|
||||
fun onSelectStudent(student: Student) {
|
||||
disposable.add(repository.saveStudent(student)
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.doOnSubscribe { _ ->
|
||||
view?.showLoginProgress(true)
|
||||
view?.showActionBar(false)
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login.options
|
||||
package io.github.wulkanowy.ui.modules.login.options
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main
|
||||
package io.github.wulkanowy.ui.modules.main
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -11,11 +11,11 @@ import com.ncapdevi.fragnav.FragNavController
|
||||
import com.ncapdevi.fragnav.FragNavController.Companion.HIDE
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseActivity
|
||||
import io.github.wulkanowy.ui.main.attendance.AttendanceFragment
|
||||
import io.github.wulkanowy.ui.main.exam.ExamFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.main.more.MoreFragment
|
||||
import io.github.wulkanowy.ui.main.timetable.TimetableFragment
|
||||
import io.github.wulkanowy.ui.modules.attendance.AttendanceFragment
|
||||
import io.github.wulkanowy.ui.modules.exam.ExamFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.modules.more.MoreFragment
|
||||
import io.github.wulkanowy.ui.modules.timetable.TimetableFragment
|
||||
import io.github.wulkanowy.utils.safelyPopFragment
|
||||
import io.github.wulkanowy.utils.setOnViewChangeListener
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main
|
||||
package io.github.wulkanowy.ui.modules.main
|
||||
|
||||
import com.ncapdevi.fragnav.FragNavController
|
||||
import dagger.Module
|
||||
@ -7,14 +7,14 @@ import dagger.android.ContributesAndroidInjector
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.di.scopes.PerActivity
|
||||
import io.github.wulkanowy.di.scopes.PerFragment
|
||||
import io.github.wulkanowy.ui.main.about.AboutFragment
|
||||
import io.github.wulkanowy.ui.main.about.AboutModule
|
||||
import io.github.wulkanowy.ui.main.attendance.AttendanceFragment
|
||||
import io.github.wulkanowy.ui.main.exam.ExamFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.main.grade.GradeModule
|
||||
import io.github.wulkanowy.ui.main.more.MoreFragment
|
||||
import io.github.wulkanowy.ui.main.timetable.TimetableFragment
|
||||
import io.github.wulkanowy.ui.modules.about.AboutFragment
|
||||
import io.github.wulkanowy.ui.modules.about.AboutModule
|
||||
import io.github.wulkanowy.ui.modules.attendance.AttendanceFragment
|
||||
import io.github.wulkanowy.ui.modules.exam.ExamFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeFragment
|
||||
import io.github.wulkanowy.ui.modules.grade.GradeModule
|
||||
import io.github.wulkanowy.ui.modules.more.MoreFragment
|
||||
import io.github.wulkanowy.ui.modules.timetable.TimetableFragment
|
||||
|
||||
@Module
|
||||
abstract class MainModule {
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main
|
||||
package io.github.wulkanowy.ui.modules.main
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.repositories.PreferencesRepository
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main
|
||||
package io.github.wulkanowy.ui.modules.main
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.more
|
||||
package io.github.wulkanowy.ui.modules.more
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Bundle
|
||||
@ -11,10 +11,10 @@ import eu.davidea.flexibleadapter.common.SmoothScrollLinearLayoutManager
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.MainActivity
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.main.about.AboutFragment
|
||||
import io.github.wulkanowy.ui.main.settings.SettingsFragment
|
||||
import io.github.wulkanowy.ui.modules.about.AboutFragment
|
||||
import io.github.wulkanowy.ui.modules.main.MainActivity
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
import io.github.wulkanowy.ui.modules.settings.SettingsFragment
|
||||
import io.github.wulkanowy.utils.setOnItemClickListener
|
||||
import kotlinx.android.synthetic.main.fragment_more.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.more
|
||||
package io.github.wulkanowy.ui.modules.more
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.view.View
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.more
|
||||
package io.github.wulkanowy.ui.modules.more
|
||||
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.more
|
||||
package io.github.wulkanowy.ui.modules.more
|
||||
|
||||
import android.graphics.drawable.Drawable
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
@ -1,9 +1,9 @@
|
||||
package io.github.wulkanowy.ui.main.settings
|
||||
package io.github.wulkanowy.ui.modules.settings
|
||||
|
||||
import android.os.Bundle
|
||||
import com.takisoft.preferencex.PreferenceFragmentCompat
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
|
||||
class SettingsFragment : PreferenceFragmentCompat(), MainView.TitledView {
|
||||
|
@ -1,9 +1,9 @@
|
||||
package io.github.wulkanowy.ui.splash
|
||||
package io.github.wulkanowy.ui.modules.splash
|
||||
|
||||
import android.os.Bundle
|
||||
import io.github.wulkanowy.ui.base.BaseActivity
|
||||
import io.github.wulkanowy.ui.login.LoginActivity
|
||||
import io.github.wulkanowy.ui.main.MainActivity
|
||||
import io.github.wulkanowy.ui.modules.login.LoginActivity
|
||||
import io.github.wulkanowy.ui.modules.main.MainActivity
|
||||
import javax.inject.Inject
|
||||
|
||||
class SplashActivity : BaseActivity(), SplashView {
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.splash
|
||||
package io.github.wulkanowy.ui.modules.splash
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.splash
|
||||
package io.github.wulkanowy.ui.modules.splash
|
||||
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.timetable
|
||||
package io.github.wulkanowy.ui.modules.timetable
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.timetable
|
||||
package io.github.wulkanowy.ui.modules.timetable
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
@ -10,7 +10,7 @@ import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.R
|
||||
import io.github.wulkanowy.data.db.entities.Timetable
|
||||
import io.github.wulkanowy.ui.base.BaseFragment
|
||||
import io.github.wulkanowy.ui.main.MainView
|
||||
import io.github.wulkanowy.ui.modules.main.MainView
|
||||
import io.github.wulkanowy.utils.setOnItemClickListener
|
||||
import kotlinx.android.synthetic.main.fragment_timetable.*
|
||||
import javax.inject.Inject
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.timetable
|
||||
package io.github.wulkanowy.ui.modules.timetable
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Paint
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.timetable
|
||||
package io.github.wulkanowy.ui.modules.timetable
|
||||
|
||||
import eu.davidea.flexibleadapter.items.AbstractFlexibleItem
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
@ -6,7 +6,6 @@ import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.data.repositories.TimetableRepository
|
||||
import io.github.wulkanowy.ui.base.BasePresenter
|
||||
import io.github.wulkanowy.utils.*
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import org.threeten.bp.LocalDate
|
||||
import org.threeten.bp.LocalDate.now
|
||||
import org.threeten.bp.LocalDate.ofEpochDay
|
||||
@ -15,7 +14,7 @@ import javax.inject.Inject
|
||||
|
||||
class TimetablePresenter @Inject constructor(
|
||||
private val errorHandler: ErrorHandler,
|
||||
private val schedulers: SchedulersManager,
|
||||
private val schedulers: SchedulersProvider,
|
||||
private val timetableRepository: TimetableRepository,
|
||||
private val sessionRepository: SessionRepository
|
||||
) : BasePresenter<TimetableView>(errorHandler) {
|
||||
@ -62,8 +61,8 @@ class TimetablePresenter @Inject constructor(
|
||||
.map { it.single { semester -> semester.current } }
|
||||
.flatMap { timetableRepository.getTimetable(it, currentDate, currentDate, forceRefresh) }
|
||||
.map { items -> items.map { TimetableItem(it, view?.roomString.orEmpty()) } }
|
||||
.subscribeOn(schedulers.backgroundThread())
|
||||
.observeOn(schedulers.mainThread())
|
||||
.subscribeOn(schedulers.backgroundThread)
|
||||
.observeOn(schedulers.mainThread)
|
||||
.doFinally {
|
||||
view?.run {
|
||||
hideRefresh()
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main.timetable
|
||||
package io.github.wulkanowy.ui.modules.timetable
|
||||
|
||||
import io.github.wulkanowy.data.db.entities.Timetable
|
||||
import io.github.wulkanowy.ui.base.BaseView
|
@ -0,0 +1,14 @@
|
||||
package io.github.wulkanowy.utils
|
||||
|
||||
import io.reactivex.Scheduler
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
||||
open class SchedulersProvider {
|
||||
|
||||
open val mainThread: Scheduler
|
||||
get() = AndroidSchedulers.mainThread()
|
||||
|
||||
open val backgroundThread: Scheduler
|
||||
get() = Schedulers.io()
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
package io.github.wulkanowy.utils.schedulers
|
||||
|
||||
import io.reactivex.Scheduler
|
||||
|
||||
interface SchedulersManager {
|
||||
|
||||
fun mainThread(): Scheduler
|
||||
|
||||
fun backgroundThread(): Scheduler
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
package io.github.wulkanowy.utils.schedulers
|
||||
|
||||
import io.reactivex.Scheduler
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
||||
class SchedulersProvider : SchedulersManager {
|
||||
|
||||
override fun mainThread(): Scheduler = AndroidSchedulers.mainThread()
|
||||
|
||||
override fun backgroundThread(): Scheduler = Schedulers.io()
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
package io.github.wulkanowy
|
||||
|
||||
import io.github.wulkanowy.utils.schedulers.SchedulersManager
|
||||
import io.reactivex.Scheduler
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
||||
class TestSchedulers : SchedulersManager {
|
||||
|
||||
override fun backgroundThread(): Scheduler = Schedulers.trampoline()
|
||||
|
||||
override fun mainThread(): Scheduler = Schedulers.trampoline()
|
||||
}
|
||||
|
@ -0,0 +1,15 @@
|
||||
package io.github.wulkanowy
|
||||
|
||||
import io.github.wulkanowy.utils.SchedulersProvider
|
||||
import io.reactivex.Scheduler
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
|
||||
class TestSchedulersProvider : SchedulersProvider() {
|
||||
|
||||
override val backgroundThread: Scheduler
|
||||
get() = Schedulers.trampoline()
|
||||
|
||||
override val mainThread: Scheduler
|
||||
get() = Schedulers.trampoline()
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.login
|
||||
package io.github.wulkanowy.ui.modules.login
|
||||
|
||||
import org.junit.Assert.assertNotEquals
|
||||
import org.junit.Before
|
@ -1,9 +1,9 @@
|
||||
package io.github.wulkanowy.ui.login.form
|
||||
package io.github.wulkanowy.ui.modules.login.form
|
||||
|
||||
import io.github.wulkanowy.TestSchedulers
|
||||
import io.github.wulkanowy.TestSchedulersProvider
|
||||
import io.github.wulkanowy.data.db.entities.Student
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
import io.github.wulkanowy.ui.login.LoginErrorHandler
|
||||
import io.github.wulkanowy.ui.modules.login.LoginErrorHandler
|
||||
import io.reactivex.Single
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
@ -29,7 +29,7 @@ class LoginFormPresenterTest {
|
||||
fun initPresenter() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
clearInvocations(repository, loginFormView)
|
||||
presenter = LoginFormPresenter(TestSchedulers(), errorHandler, repository)
|
||||
presenter = LoginFormPresenter(TestSchedulersProvider(), errorHandler, repository)
|
||||
presenter.onAttachView(loginFormView)
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package io.github.wulkanowy.ui.login.options
|
||||
package io.github.wulkanowy.ui.modules.login.options
|
||||
|
||||
import io.github.wulkanowy.TestSchedulers
|
||||
import io.github.wulkanowy.TestSchedulersProvider
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.db.entities.Student
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
||||
@ -33,7 +33,7 @@ class LoginOptionsPresenterTest {
|
||||
fun initPresenter() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
clearInvocations(repository, loginOptionsView)
|
||||
presenter = LoginOptionsPresenter(errorHandler, repository, TestSchedulers())
|
||||
presenter = LoginOptionsPresenter(errorHandler, repository, TestSchedulersProvider())
|
||||
presenter.onAttachView(loginOptionsView)
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.main
|
||||
package io.github.wulkanowy.ui.modules.main
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.repositories.PreferencesRepository
|
@ -1,4 +1,4 @@
|
||||
package io.github.wulkanowy.ui.splash
|
||||
package io.github.wulkanowy.ui.modules.splash
|
||||
|
||||
import io.github.wulkanowy.data.ErrorHandler
|
||||
import io.github.wulkanowy.data.repositories.SessionRepository
|
Loading…
x
Reference in New Issue
Block a user