More extreme method for enforcing WebView availability

This commit is contained in:
arkon
2020-05-02 19:03:48 -04:00
parent 264e04368b
commit 6cd34614f6
5 changed files with 53 additions and 8 deletions

View File

@@ -0,0 +1,28 @@
package eu.kanade.tachiyomi.ui.main
import android.content.Context
import android.content.Intent
import android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
/**
* Activity that in conjunction with its configuration in the manifest allows for a way to
* "force close" the application from the main [App] class.
*/
class ForceCloseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
finish()
}
companion object {
fun closeApp(context: Context) {
val intent = Intent(context, ForceCloseActivity::class.java).apply {
addCategory(Intent.CATEGORY_HOME)
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
}
context.startActivity(intent)
}
}
}

View File

@@ -36,7 +36,6 @@ import eu.kanade.tachiyomi.ui.more.MoreController
import eu.kanade.tachiyomi.ui.recent.history.HistoryController
import eu.kanade.tachiyomi.ui.recent.updates.UpdatesController
import eu.kanade.tachiyomi.util.lang.launchUI
import eu.kanade.tachiyomi.util.system.WebViewUtil
import eu.kanade.tachiyomi.util.system.toast
import java.util.Date
import java.util.concurrent.TimeUnit
@@ -71,12 +70,6 @@ class MainActivity : BaseActivity<MainActivityBinding>() {
binding = MainActivityBinding.inflate(layoutInflater)
// Enforce WebView availability
if (!WebViewUtil.supportsWebView(this)) {
toast(R.string.information_webview_required, Toast.LENGTH_LONG)
finishAndRemoveTask()
}
// Do not let the launcher create a new activity http://stackoverflow.com/questions/16283079
if (!isTaskRoot) {
finish()