2017-05-05 05:38:17 +02:00
|
|
|
package exh.ui.intercept
|
|
|
|
|
|
|
|
|
|
import android.content.Intent
|
|
|
|
|
import android.os.Bundle
|
|
|
|
|
import android.view.MenuItem
|
|
|
|
|
import com.afollestad.materialdialogs.MaterialDialog
|
|
|
|
|
import eu.kanade.tachiyomi.R
|
2017-08-24 23:33:03 +02:00
|
|
|
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
|
2017-05-05 05:38:17 +02:00
|
|
|
import eu.kanade.tachiyomi.ui.base.activity.BaseActivity
|
2017-08-24 23:33:03 +02:00
|
|
|
import eu.kanade.tachiyomi.ui.main.MainActivity
|
|
|
|
|
import eu.kanade.tachiyomi.ui.manga.MangaController
|
|
|
|
|
import exh.GalleryAddEvent
|
2017-05-05 05:38:17 +02:00
|
|
|
import exh.GalleryAdder
|
2017-08-24 23:33:03 +02:00
|
|
|
import kotlinx.android.synthetic.main.eh_activity_intercept.*
|
|
|
|
|
import uy.kohesive.injekt.injectLazy
|
2017-05-05 05:38:17 +02:00
|
|
|
import kotlin.concurrent.thread
|
|
|
|
|
|
|
|
|
|
class InterceptActivity : BaseActivity() {
|
|
|
|
|
|
2017-08-24 23:33:03 +02:00
|
|
|
private val preferences: PreferencesHelper by injectLazy()
|
|
|
|
|
|
2017-05-05 05:38:17 +02:00
|
|
|
private val galleryAdder = GalleryAdder()
|
|
|
|
|
|
|
|
|
|
var finished = false
|
|
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
2017-08-24 23:33:03 +02:00
|
|
|
//Set theme
|
|
|
|
|
setTheme(when (preferences.theme()) {
|
|
|
|
|
2 -> R.style.Theme_Tachiyomi_Dark
|
|
|
|
|
3 -> R.style.Theme_Tachiyomi_Amoled
|
|
|
|
|
else -> R.style.Theme_Tachiyomi
|
|
|
|
|
})
|
|
|
|
|
|
2017-05-05 05:38:17 +02:00
|
|
|
super.onCreate(savedInstanceState)
|
|
|
|
|
setContentView(R.layout.eh_activity_intercept)
|
|
|
|
|
|
2017-08-24 23:33:03 +02:00
|
|
|
//Show back button
|
|
|
|
|
setSupportActionBar(toolbar)
|
|
|
|
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
2017-05-05 05:38:17 +02:00
|
|
|
|
2017-08-24 23:33:03 +02:00
|
|
|
if(savedInstanceState == null)
|
|
|
|
|
thread { processLink() }
|
2017-05-05 05:38:17 +02:00
|
|
|
}
|
|
|
|
|
|
2017-08-24 23:33:03 +02:00
|
|
|
private fun processLink() {
|
2017-05-05 05:38:17 +02:00
|
|
|
if(Intent.ACTION_VIEW == intent.action) {
|
2017-08-24 23:33:03 +02:00
|
|
|
val result = galleryAdder.addGallery(intent.dataString)
|
2017-05-05 05:38:17 +02:00
|
|
|
|
2017-08-24 23:33:03 +02:00
|
|
|
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()
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-05-05 05:38:17 +02:00
|
|
|
onBackPressed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
|
|
|
|
when (item.itemId) {
|
|
|
|
|
android.R.id.home -> onBackPressed()
|
|
|
|
|
else -> return super.onOptionsItemSelected(item)
|
|
|
|
|
}
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onBackPressed() {
|
|
|
|
|
if(!finished)
|
|
|
|
|
runOnUiThread {
|
|
|
|
|
super.onBackPressed()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun onStop() {
|
|
|
|
|
super.onStop()
|
|
|
|
|
finished = true
|
|
|
|
|
}
|
|
|
|
|
}
|