diff --git a/app/src/main/java/com/futo/platformplayer/activities/LoginActivity.kt b/app/src/main/java/com/futo/platformplayer/activities/LoginActivity.kt index 23040dad..d2bddb7a 100644 --- a/app/src/main/java/com/futo/platformplayer/activities/LoginActivity.kt +++ b/app/src/main/java/com/futo/platformplayer/activities/LoginActivity.kt @@ -7,6 +7,8 @@ import android.webkit.ConsoleMessage import android.webkit.CookieManager import android.webkit.WebChromeClient import android.webkit.WebView +import android.widget.ImageButton +import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.lifecycleScope import com.futo.platformplayer.* @@ -23,6 +25,8 @@ import kotlinx.serialization.json.Json class LoginActivity : AppCompatActivity() { private lateinit var _webView: WebView; + private lateinit var _textUrl: TextView; + private lateinit var _buttonClose: ImageButton; override fun onCreate(savedInstanceState: Bundle?) { @@ -30,6 +34,13 @@ class LoginActivity : AppCompatActivity() { setContentView(R.layout.activity_login); setNavigationBarColorAndIcons(); + _textUrl = findViewById(R.id.text_url); + _buttonClose = findViewById(R.id.button_close); + _buttonClose.setOnClickListener { + finish(); + } + + _webView = findViewById(R.id.web_view); _webView.settings.javaScriptEnabled = true; CookieManager.getInstance().setAcceptCookie(true); @@ -60,6 +71,8 @@ class LoginActivity : AppCompatActivity() { }; var isFirstLoad = true; webViewClient.onPageLoaded.subscribe { view, url -> + _textUrl.setText(url ?: ""); + if(!isFirstLoad) return@subscribe; isFirstLoad = false; diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index 4fbceb39..b89d24ee 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -1051,6 +1051,7 @@ class VideoDetailView : ConstraintLayout { } catch(ex: Throwable) { Logger.e(TAG, "Failed to get chapters", ex); + _player.setChapters(null); /*withContext(Dispatchers.Main) { UIDialogs.toast(context, "Failed to get chapters\n" + ex.message); diff --git a/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt b/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt index 88b6e454..98d251d1 100644 --- a/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt +++ b/app/src/main/java/com/futo/platformplayer/subscription/SubscriptionsTaskFetchAlgorithm.kt @@ -79,7 +79,7 @@ abstract class SubscriptionsTaskFetchAlgorithm( if(result != null) { if(result.pager != null) taskResults.add(result); - else if(result.exception != null) { + if(result.exception != null) { val ex = result.exception; if(ex != null) { val nonRuntimeEx = findNonRuntimeException(ex); @@ -198,6 +198,7 @@ abstract class SubscriptionsTaskFetchAlgorithm( Logger.i(StateSubscriptions.TAG, "Channel ${task.sub.channel.name} failed, substituting with cache"); pager = ChannelContentCache.instance.getChannelCachePager(task.sub.channel.url); taskEx = ex; + return@submit SubscriptionTaskResult(task, pager, taskEx); } } return@submit SubscriptionTaskResult(task, null, taskEx); diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 8bffe366..fd35ed06 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -1,11 +1,43 @@ - - + + + + - \ No newline at end of file + android:layout_height="0dp" + app:layout_constraintTop_toBottomOf="@id/header" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintBottom_toBottomOf="parent"/> + \ No newline at end of file