mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Fix intercept activity
This commit is contained in:
		| @@ -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() | ||||
|     } | ||||
| } | ||||
| @@ -40,7 +40,11 @@ class BatchAddPresenter: BasePresenter<BatchAddController>() { | ||||
|                     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 | ||||
|   | ||||
| @@ -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() | ||||
|         } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user