mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-08-26 12:18:02 +00:00
Implemented incoming and outgoing raids.
This commit is contained in:
parent
fae77c1a63
commit
5b954727a1
4 changed files with 18 additions and 14 deletions
|
@ -707,11 +707,12 @@ class LiveEventViewCount extends LiveEvent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class LiveEventRaid extends LiveEvent {
|
class LiveEventRaid extends LiveEvent {
|
||||||
constructor(targetUrl, targetName, targetThumbnail) {
|
constructor(targetUrl, targetName, targetThumbnail, isOutgoing) {
|
||||||
super(100);
|
super(100);
|
||||||
this.targetUrl = targetUrl;
|
this.targetUrl = targetUrl;
|
||||||
this.targetName = targetName;
|
this.targetName = targetName;
|
||||||
this.targetThumbnail = targetThumbnail;
|
this.targetThumbnail = targetThumbnail;
|
||||||
|
this.isOutgoing = isOutgoing;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.futo.platformplayer.api.media.models.live
|
||||||
import com.caoccao.javet.values.reference.V8ValueObject
|
import com.caoccao.javet.values.reference.V8ValueObject
|
||||||
import com.futo.platformplayer.engine.IV8PluginConfig
|
import com.futo.platformplayer.engine.IV8PluginConfig
|
||||||
import com.futo.platformplayer.ensureIsBusy
|
import com.futo.platformplayer.ensureIsBusy
|
||||||
|
import com.futo.platformplayer.getOrDefault
|
||||||
import com.futo.platformplayer.getOrThrow
|
import com.futo.platformplayer.getOrThrow
|
||||||
|
|
||||||
class LiveEventRaid: IPlatformLiveEvent {
|
class LiveEventRaid: IPlatformLiveEvent {
|
||||||
|
@ -11,11 +12,13 @@ class LiveEventRaid: IPlatformLiveEvent {
|
||||||
val targetName: String;
|
val targetName: String;
|
||||||
val targetThumbnail: String;
|
val targetThumbnail: String;
|
||||||
val targetUrl: String;
|
val targetUrl: String;
|
||||||
|
val isOutgoing: Boolean;
|
||||||
|
|
||||||
constructor(name: String, url: String, thumbnail: String) {
|
constructor(name: String, url: String, thumbnail: String, isOutgoing: Boolean) {
|
||||||
this.targetName = name;
|
this.targetName = name;
|
||||||
this.targetUrl = url;
|
this.targetUrl = url;
|
||||||
this.targetThumbnail = thumbnail;
|
this.targetThumbnail = thumbnail;
|
||||||
|
this.isOutgoing = isOutgoing;
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -25,7 +28,8 @@ class LiveEventRaid: IPlatformLiveEvent {
|
||||||
return LiveEventRaid(
|
return LiveEventRaid(
|
||||||
obj.getOrThrow(config, "targetName", contextName),
|
obj.getOrThrow(config, "targetName", contextName),
|
||||||
obj.getOrThrow(config, "targetUrl", contextName),
|
obj.getOrThrow(config, "targetUrl", contextName),
|
||||||
obj.getOrThrow(config, "targetThumbnail", contextName));
|
obj.getOrThrow(config, "targetThumbnail", contextName),
|
||||||
|
obj.getOrDefault<Boolean>(config, "isOutgoing", contextName, true) ?: true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -14,9 +14,6 @@ import android.widget.ImageView
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.core.graphics.blue
|
|
||||||
import androidx.core.graphics.green
|
|
||||||
import androidx.core.graphics.red
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import androidx.recyclerview.widget.LinearSmoothScroller
|
import androidx.recyclerview.widget.LinearSmoothScroller
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
@ -70,7 +67,7 @@ class LiveChatOverlay : LinearLayout {
|
||||||
private val _overlayRaid_Thumbnail: ImageView;
|
private val _overlayRaid_Thumbnail: ImageView;
|
||||||
|
|
||||||
private val _overlayRaid_ButtonGo: Button;
|
private val _overlayRaid_ButtonGo: Button;
|
||||||
private val _overlayRaid_ButtonPrevent: Button;
|
private val _overlayRaid_ButtonDismiss: Button;
|
||||||
|
|
||||||
private val _textViewers: TextView;
|
private val _textViewers: TextView;
|
||||||
|
|
||||||
|
@ -151,7 +148,7 @@ class LiveChatOverlay : LinearLayout {
|
||||||
_overlayRaid_Name = findViewById(R.id.raid_name);
|
_overlayRaid_Name = findViewById(R.id.raid_name);
|
||||||
_overlayRaid_Thumbnail = findViewById(R.id.raid_thumbnail);
|
_overlayRaid_Thumbnail = findViewById(R.id.raid_thumbnail);
|
||||||
_overlayRaid_ButtonGo = findViewById(R.id.raid_button_go);
|
_overlayRaid_ButtonGo = findViewById(R.id.raid_button_go);
|
||||||
_overlayRaid_ButtonPrevent = findViewById(R.id.raid_button_prevent);
|
_overlayRaid_ButtonDismiss = findViewById(R.id.raid_button_prevent);
|
||||||
|
|
||||||
_overlayRaid.visibility = View.GONE;
|
_overlayRaid.visibility = View.GONE;
|
||||||
|
|
||||||
|
@ -160,7 +157,7 @@ class LiveChatOverlay : LinearLayout {
|
||||||
onRaidNow.emit(it);
|
onRaidNow.emit(it);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_overlayRaid_ButtonPrevent.setOnClickListener {
|
_overlayRaid_ButtonDismiss.setOnClickListener {
|
||||||
_currentRaid?.let {
|
_currentRaid?.let {
|
||||||
_currentRaid = null;
|
_currentRaid = null;
|
||||||
_overlayRaid.visibility = View.GONE;
|
_overlayRaid.visibility = View.GONE;
|
||||||
|
@ -373,6 +370,8 @@ class LiveChatOverlay : LinearLayout {
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_overlayRaid.visibility = View.GONE;
|
_overlayRaid.visibility = View.GONE;
|
||||||
|
|
||||||
|
_overlayRaid_ButtonGo.visibility = if (raid?.isOutgoing == true) View.VISIBLE else View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fun setViewCount(viewCount: Int) {
|
fun setViewCount(viewCount: Int) {
|
||||||
|
|
|
@ -263,8 +263,8 @@
|
||||||
android:textSize="13dp"
|
android:textSize="13dp"
|
||||||
android:letterSpacing="0"
|
android:letterSpacing="0"
|
||||||
android:fontFamily="@font/inter_regular"
|
android:fontFamily="@font/inter_regular"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_marginStart="5dp"
|
||||||
android:backgroundTint="#2F2F2F"
|
android:backgroundTint="@color/colorPrimary"
|
||||||
android:layout_marginEnd="5dp"
|
android:layout_marginEnd="5dp"
|
||||||
android:text="@string/go_now"/>
|
android:text="@string/go_now"/>
|
||||||
<Button
|
<Button
|
||||||
|
@ -277,9 +277,9 @@
|
||||||
android:textSize="13dp"
|
android:textSize="13dp"
|
||||||
android:letterSpacing="0"
|
android:letterSpacing="0"
|
||||||
android:layout_marginStart="5dp"
|
android:layout_marginStart="5dp"
|
||||||
android:layout_marginEnd="20dp"
|
android:layout_marginEnd="5dp"
|
||||||
android:backgroundTint="#481414"
|
android:backgroundTint="#2F2F2F"
|
||||||
android:text="@string/prevent"/>
|
android:text="@string/dismiss"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue