Fix intercept activity theme
This commit is contained in:
parent
69121d3958
commit
a03e668c8f
@ -181,7 +181,7 @@
|
|||||||
android:exported="true" />
|
android:exported="true" />
|
||||||
<activity
|
<activity
|
||||||
android:name="exh.ui.intercept.InterceptActivity"
|
android:name="exh.ui.intercept.InterceptActivity"
|
||||||
android:label="TachiyomiEH"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/Theme.EHActivity">
|
android:theme="@style/Theme.EHActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
@ -8,17 +8,19 @@ import com.afollestad.materialdialogs.callbacks.onCancel
|
|||||||
import com.afollestad.materialdialogs.callbacks.onDismiss
|
import com.afollestad.materialdialogs.callbacks.onDismiss
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.databinding.EhActivityInterceptBinding
|
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.main.MainActivity
|
||||||
import eu.kanade.tachiyomi.ui.manga.MangaController
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
||||||
import eu.kanade.tachiyomi.util.view.gone
|
import eu.kanade.tachiyomi.util.view.gone
|
||||||
import eu.kanade.tachiyomi.util.view.visible
|
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.Subscription
|
||||||
import rx.android.schedulers.AndroidSchedulers
|
import rx.android.schedulers.AndroidSchedulers
|
||||||
|
import rx.subjects.BehaviorSubject
|
||||||
|
|
||||||
@RequiresPresenter(InterceptActivityPresenter::class)
|
class InterceptActivity : BaseActivity<EhActivityInterceptBinding>() {
|
||||||
class InterceptActivity : BaseRxActivity<EhActivityInterceptBinding, InterceptActivityPresenter>() {
|
|
||||||
private var statusSubscription: Subscription? = null
|
private var statusSubscription: Subscription? = null
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
@ -38,7 +40,7 @@ class InterceptActivity : BaseRxActivity<EhActivityInterceptBinding, InterceptAc
|
|||||||
if (Intent.ACTION_VIEW == intent.action) {
|
if (Intent.ACTION_VIEW == intent.action) {
|
||||||
binding.interceptProgress.visible()
|
binding.interceptProgress.visible()
|
||||||
binding.interceptStatus.text = "Loading gallery..."
|
binding.interceptStatus.text = "Loading gallery..."
|
||||||
presenter.loadGallery(intent.dataString!!)
|
loadGallery(intent.dataString!!)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +55,7 @@ class InterceptActivity : BaseRxActivity<EhActivityInterceptBinding, InterceptAc
|
|||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
statusSubscription?.unsubscribe()
|
statusSubscription?.unsubscribe()
|
||||||
statusSubscription = presenter.status
|
statusSubscription = status
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe {
|
.subscribe {
|
||||||
when (it) {
|
when (it) {
|
||||||
@ -89,4 +91,37 @@ class InterceptActivity : BaseRxActivity<EhActivityInterceptBinding, InterceptAc
|
|||||||
super.onStop()
|
super.onStop()
|
||||||
statusSubscription?.unsubscribe()
|
statusSubscription?.unsubscribe()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private val galleryAdder = GalleryAdder()
|
||||||
|
|
||||||
|
val status = BehaviorSubject.create<InterceptResult>(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()
|
||||||
}
|
}
|
||||||
|
@ -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<InterceptActivity>() {
|
|
||||||
private val galleryAdder = GalleryAdder()
|
|
||||||
|
|
||||||
val status = BehaviorSubject.create<InterceptResult>(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()
|
|
||||||
}
|
|
@ -10,26 +10,25 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<com.google.android.material.appbar.AppBarLayout
|
<eu.kanade.tachiyomi.widget.ElevationAppBarLayout
|
||||||
android:id="@+id/appbar"
|
android:id="@+id/appbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:elevation="0dp">
|
app:elevation="0dp">
|
||||||
|
|
||||||
<androidx.appcompat.widget.Toolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/toolbar"
|
android:id="@+id/toolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:background="?attr/colorPrimary"
|
android:background="?attr/colorPrimary"
|
||||||
android:theme="?attr/actionBarTheme"/>
|
android:theme="?attr/actionBarTheme"/>
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</eu.kanade.tachiyomi.widget.ElevationAppBarLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:background="?attr/colorPrimary"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
@ -39,16 +38,14 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="8dp"
|
android:layout_marginBottom="8dp"
|
||||||
android:text="Loading gallery..."
|
android:text="Loading gallery..."
|
||||||
android:textAppearance="@style/TextAppearance.Medium.Title"
|
android:textAppearance="@style/TextAppearance.Medium.Title" />
|
||||||
android:textColor="@color/white" />
|
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/intercept_progress"
|
android:id="@+id/intercept_progress"
|
||||||
style="?android:attr/progressBarStyleLarge"
|
style="?android:attr/progressBarStyleLarge"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center" />
|
||||||
android:indeterminateTint="@color/white" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user