diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 13f7fe83a..fc9488729 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -181,7 +181,7 @@ android:exported="true" /> diff --git a/app/src/main/java/exh/ui/intercept/InterceptActivity.kt b/app/src/main/java/exh/ui/intercept/InterceptActivity.kt index 7c786423e..c4dd37adc 100755 --- a/app/src/main/java/exh/ui/intercept/InterceptActivity.kt +++ b/app/src/main/java/exh/ui/intercept/InterceptActivity.kt @@ -8,17 +8,19 @@ import com.afollestad.materialdialogs.callbacks.onCancel import com.afollestad.materialdialogs.callbacks.onDismiss import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.databinding.EhActivityInterceptBinding -import eu.kanade.tachiyomi.ui.base.activity.BaseRxActivity +import eu.kanade.tachiyomi.ui.base.activity.BaseActivity import eu.kanade.tachiyomi.ui.main.MainActivity import eu.kanade.tachiyomi.ui.manga.MangaController import eu.kanade.tachiyomi.util.view.gone import eu.kanade.tachiyomi.util.view.visible -import nucleus.factory.RequiresPresenter +import exh.GalleryAddEvent +import exh.GalleryAdder +import kotlin.concurrent.thread import rx.Subscription import rx.android.schedulers.AndroidSchedulers +import rx.subjects.BehaviorSubject -@RequiresPresenter(InterceptActivityPresenter::class) -class InterceptActivity : BaseRxActivity() { +class InterceptActivity : BaseActivity() { private var statusSubscription: Subscription? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -38,7 +40,7 @@ class InterceptActivity : BaseRxActivity(InterceptResult.Idle()) + + @Synchronized + fun loadGallery(gallery: String) { + // Do not load gallery if already loading + if (status.value is InterceptResult.Idle) { + status.onNext(InterceptResult.Loading()) + + // Load gallery async + thread { + val result = galleryAdder.addGallery(gallery) + + status.onNext( + when (result) { + is GalleryAddEvent.Success -> result.manga.id?.let { + InterceptResult.Success(it) + } ?: InterceptResult.Failure("Manga ID is null!") + is GalleryAddEvent.Fail -> InterceptResult.Failure(result.logMessage) + } + ) + } + } + } +} + +sealed class InterceptResult { + class Idle : InterceptResult() + class Loading : InterceptResult() + data class Success(val mangaId: Long) : InterceptResult() + data class Failure(val reason: String) : InterceptResult() } diff --git a/app/src/main/java/exh/ui/intercept/InterceptActivityPresenter.kt b/app/src/main/java/exh/ui/intercept/InterceptActivityPresenter.kt deleted file mode 100644 index 07bc79d0e..000000000 --- a/app/src/main/java/exh/ui/intercept/InterceptActivityPresenter.kt +++ /dev/null @@ -1,42 +0,0 @@ -package exh.ui.intercept - -import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter -import exh.GalleryAddEvent -import exh.GalleryAdder -import kotlin.concurrent.thread -import rx.subjects.BehaviorSubject - -class InterceptActivityPresenter : BasePresenter() { - private val galleryAdder = GalleryAdder() - - val status = BehaviorSubject.create(InterceptResult.Idle()) - - @Synchronized - fun loadGallery(gallery: String) { - // Do not load gallery if already loading - if (status.value is InterceptResult.Idle) { - status.onNext(InterceptResult.Loading()) - - // Load gallery async - thread { - val result = galleryAdder.addGallery(gallery) - - status.onNext( - when (result) { - is GalleryAddEvent.Success -> result.manga.id?.let { - InterceptResult.Success(it) - } ?: InterceptResult.Failure("Manga ID is null!") - is GalleryAddEvent.Fail -> InterceptResult.Failure(result.logMessage) - } - ) - } - } - } -} - -sealed class InterceptResult { - class Idle : InterceptResult() - class Loading : InterceptResult() - data class Success(val mangaId: Long) : InterceptResult() - data class Failure(val reason: String) : InterceptResult() -} diff --git a/app/src/main/res/layout/eh_activity_intercept.xml b/app/src/main/res/layout/eh_activity_intercept.xml index acb315583..57de5f36d 100755 --- a/app/src/main/res/layout/eh_activity_intercept.xml +++ b/app/src/main/res/layout/eh_activity_intercept.xml @@ -10,26 +10,25 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - + @@ -39,16 +38,14 @@ android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:text="Loading gallery..." - android:textAppearance="@style/TextAppearance.Medium.Title" - android:textColor="@color/white" /> + android:textAppearance="@style/TextAppearance.Medium.Title" /> + android:layout_gravity="center" />