pull/1112/head
deniscerri 5 months ago
parent 637dd2cadf
commit a67223b8b0
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -1,6 +1,7 @@
package com.deniscerri.ytdl package com.deniscerri.ytdl
import android.app.ActionBar.LayoutParams import android.app.ActionBar.LayoutParams
import android.app.AlertDialog
import android.content.Context import android.content.Context
import android.content.DialogInterface import android.content.DialogInterface
import android.content.Intent import android.content.Intent
@ -12,6 +13,7 @@ import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
import android.util.Log import android.util.Log
import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.WindowInsets import android.view.WindowInsets
import android.widget.CheckBox import android.widget.CheckBox
@ -89,10 +91,9 @@ class MainActivity : BaseActivity() {
private var navigationBarView: NavigationBarView? = null private var navigationBarView: NavigationBarView? = null
private lateinit var navHostFragment : NavHostFragment private lateinit var navHostFragment : NavHostFragment
private lateinit var navController : NavController private lateinit var navController : NavController
private var loadingRuntimeDialog: androidx.appcompat.app.AlertDialog? = null
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
val splashScreen = installSplashScreen()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
CrashListener(this).registerExceptionHandler() CrashListener(this).registerExceptionHandler()
ThemeUtil.updateTheme(this) ThemeUtil.updateTheme(this)
@ -100,10 +101,6 @@ class MainActivity : BaseActivity() {
setContentView(R.layout.activity_main) setContentView(R.layout.activity_main)
context = baseContext context = baseContext
splashScreen.setKeepOnScreenCondition {
!RuntimeManager.initialized
}
resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java] resultViewModel = ViewModelProvider(this)[ResultViewModel::class.java]
cookieViewModel = ViewModelProvider(this)[CookieViewModel::class.java] cookieViewModel = ViewModelProvider(this)[CookieViewModel::class.java]
downloadViewModel = ViewModelProvider(this)[DownloadViewModel::class.java] downloadViewModel = ViewModelProvider(this)[DownloadViewModel::class.java]
@ -275,6 +272,7 @@ class MainActivity : BaseActivity() {
cookieViewModel.updateCookiesFile() cookieViewModel.updateCookiesFile()
val intent = intent val intent = intent
handleIntents(intent) handleIntents(intent)
checkRuntimeReadyState() checkRuntimeReadyState()
} }
override fun onSaveInstanceState(savedInstanceState: Bundle) { override fun onSaveInstanceState(savedInstanceState: Bundle) {
@ -491,7 +489,16 @@ class MainActivity : BaseActivity() {
} }
private fun checkRuntimeReadyState() { private fun checkRuntimeReadyState() {
if (loadingRuntimeDialog == null) {
val builder = MaterialAlertDialogBuilder(this)
val dialogView = layoutInflater.inflate(R.layout.dialog_loading, null)
builder.setView(dialogView)
loadingRuntimeDialog = builder.show()
}
if (RuntimeManager.initialized) { if (RuntimeManager.initialized) {
loadingRuntimeDialog?.dismiss()
if (preferences.getBoolean("auto_update_ytdlp", false)){ if (preferences.getBoolean("auto_update_ytdlp", false)){
CoroutineScope(SupervisorJob()).launch(Dispatchers.IO) { CoroutineScope(SupervisorJob()).launch(Dispatchers.IO) {
kotlin.runCatching { kotlin.runCatching {

@ -0,0 +1,45 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="24dp">
<com.google.android.material.progressindicator.CircularProgressIndicator
android:id="@+id/loader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true"
android:paddingHorizontal="20dp"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/linearLayout6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/loader"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading"
android:textSize="17sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/please_wait" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save