Merge branch 'master' of gitlab.futo.org:videostreaming/grayjay

This commit is contained in:
Koen 2023-11-07 17:16:19 +01:00
commit c47ca369e4
4 changed files with 52 additions and 5 deletions

View file

@ -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;

View file

@ -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);

View file

@ -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);

View file

@ -1,11 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/black">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/header"
android:background="#000000"
app:layout_constraintTop_toTopOf="parent"
android:layout_width="match_parent"
android:layout_height="50dp">
<ImageButton
android:id="@+id/button_close"
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="fitCenter"
android:padding="10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:src="@drawable/ic_close" />
<TextView
android:id="@+id/text_url"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="10dp"
android:layout_marginLeft="10dp"
app:layout_constraintLeft_toRightOf="@id/button_close"
android:maxLines="3"
android:ellipsize="end"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
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"/>
</androidx.constraintlayout.widget.ConstraintLayout>