diff --git a/app/src/main/java/exh/GalleryAdder.kt b/app/src/main/java/exh/GalleryAdder.kt index 4ed75f612..5aa5c7b98 100755 --- a/app/src/main/java/exh/GalleryAdder.kt +++ b/app/src/main/java/exh/GalleryAdder.kt @@ -149,19 +149,17 @@ sealed class GalleryAddEvent { class Success(override val galleryUrl: String, val manga: Manga): GalleryAddEvent() { - override val logMessage = "[OK] Added gallery: $galleryTitle" + override val logMessage = "Added gallery: $galleryTitle" override val galleryTitle: String get() = manga.title } sealed class Fail: GalleryAddEvent() { class UnknownType(override val galleryUrl: String): Fail() { - override val logMessage = "[ERROR] Unknown gallery type for gallery: $galleryUrl" + override val logMessage = "Unknown gallery type for gallery: $galleryUrl" } class Error(override val galleryUrl: String, - val message: String): Fail() { - override val logMessage = "[ERROR] $message" - } + override val logMessage: String): Fail() } } \ No newline at end of file diff --git a/app/src/main/java/exh/ui/batchadd/BatchAddPresenter.kt b/app/src/main/java/exh/ui/batchadd/BatchAddPresenter.kt index 5e0a05076..6f94717be 100644 --- a/app/src/main/java/exh/ui/batchadd/BatchAddPresenter.kt +++ b/app/src/main/java/exh/ui/batchadd/BatchAddPresenter.kt @@ -40,7 +40,11 @@ class BatchAddPresenter: BasePresenter() { failed.add(s) } progressRelay.call(i + 1) - eventRelay?.call(result.logMessage) + eventRelay?.call((when (result) { + is GalleryAddEvent.Success -> "[OK]" + is GalleryAddEvent.Fail -> "[ERROR]" + else -> "[???]" + }) + " " + result.logMessage) } //Show report diff --git a/app/src/main/java/exh/ui/intercept/InterceptActivity.kt b/app/src/main/java/exh/ui/intercept/InterceptActivity.kt index f3adbb2b2..a3023e2f9 100755 --- a/app/src/main/java/exh/ui/intercept/InterceptActivity.kt +++ b/app/src/main/java/exh/ui/intercept/InterceptActivity.kt @@ -5,54 +5,68 @@ import android.os.Bundle import android.view.MenuItem import com.afollestad.materialdialogs.MaterialDialog import eu.kanade.tachiyomi.R +import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.ui.base.activity.BaseActivity +import eu.kanade.tachiyomi.ui.main.MainActivity +import eu.kanade.tachiyomi.ui.manga.MangaController +import exh.GalleryAddEvent import exh.GalleryAdder -import timber.log.Timber +import kotlinx.android.synthetic.main.eh_activity_intercept.* +import uy.kohesive.injekt.injectLazy import kotlin.concurrent.thread -//TODO :( class InterceptActivity : BaseActivity() { + private val preferences: PreferencesHelper by injectLazy() + private val galleryAdder = GalleryAdder() var finished = false override fun onCreate(savedInstanceState: Bundle?) { + //Set theme + setTheme(when (preferences.theme()) { + 2 -> R.style.Theme_Tachiyomi_Dark + 3 -> R.style.Theme_Tachiyomi_Amoled + else -> R.style.Theme_Tachiyomi + }) + super.onCreate(savedInstanceState) setContentView(R.layout.eh_activity_intercept) + //Show back button + setSupportActionBar(toolbar) + supportActionBar?.setDisplayHomeAsUpEnabled(true) + if(savedInstanceState == null) - thread { setup() } + thread { processLink() } } - fun setup() { - try { - processLink() - } catch(t: Throwable) { - Timber.e(t, "Could not intercept link!") - if(!finished) - runOnUiThread { - MaterialDialog.Builder(this) - .title("Error") - .content("Could not load this gallery!") - .cancelable(true) - .canceledOnTouchOutside(true) - .cancelListener { onBackPressed() } - .positiveText("Ok") - .onPositive { _, _ -> onBackPressed() } - .dismissListener { onBackPressed() } - .show() - } - } - } - - fun processLink() { + private fun processLink() { if(Intent.ACTION_VIEW == intent.action) { - val manga = galleryAdder.addGallery(intent.dataString) + val result = galleryAdder.addGallery(intent.dataString) - //TODO -// if(!finished) -// startActivity(MangaActivity.newIntent(this, manga, true)) + when(result) { + is GalleryAddEvent.Success -> + if(!finished) + startActivity(Intent(this, MainActivity::class.java) + .setAction(MainActivity.SHORTCUT_MANGA) + .putExtra(MangaController.MANGA_EXTRA, result.manga.id)) + is GalleryAddEvent.Fail -> + if(!finished) + runOnUiThread { + MaterialDialog.Builder(this) + .title("Error") + .content("Could not open this gallery:\n\n${result.logMessage}") + .cancelable(true) + .canceledOnTouchOutside(true) + .cancelListener { onBackPressed() } + .positiveText("Ok") + .onPositive { _, _ -> onBackPressed() } + .dismissListener { onBackPressed() } + .show() + } + } onBackPressed() } } diff --git a/app/src/main/res/layout/eh_activity_intercept.xml b/app/src/main/res/layout/eh_activity_intercept.xml index 3c5209a39..cc11ab373 100755 --- a/app/src/main/res/layout/eh_activity_intercept.xml +++ b/app/src/main/res/layout/eh_activity_intercept.xml @@ -17,6 +17,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> + +