diff --git a/app/src/debug/res/drawable-v24/ic_banner_background.xml b/app/src/debug/res/drawable-v24/ic_banner_background.xml
new file mode 100644
index 00000000..7b05b711
--- /dev/null
+++ b/app/src/debug/res/drawable-v24/ic_banner_background.xml
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/debug/res/drawable-v24/ic_banner_foreground.xml b/app/src/debug/res/drawable/ic_banner_foreground.xml
similarity index 58%
rename from app/src/debug/res/drawable-v24/ic_banner_foreground.xml
rename to app/src/debug/res/drawable/ic_banner_foreground.xml
index e4fe4050..9c68c843 100644
--- a/app/src/debug/res/drawable-v24/ic_banner_foreground.xml
+++ b/app/src/debug/res/drawable/ic_banner_foreground.xml
@@ -1,94 +1,50 @@
+
+ android:viewportHeight="180">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+ android:fillColor="#FFFFFF"/>
+
+
+
+
+
diff --git a/app/src/debug/res/mipmap-anydpi-v26/ic_banner.xml b/app/src/debug/res/mipmap-anydpi-v26/ic_banner.xml
index a0a0dece..47b7fed5 100644
--- a/app/src/debug/res/mipmap-anydpi-v26/ic_banner.xml
+++ b/app/src/debug/res/mipmap-anydpi-v26/ic_banner.xml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_banner.png b/app/src/debug/res/mipmap-xhdpi/ic_banner.png
index a9eda581..16c4fdd1 100644
Binary files a/app/src/debug/res/mipmap-xhdpi/ic_banner.png and b/app/src/debug/res/mipmap-xhdpi/ic_banner.png differ
diff --git a/app/src/debug/res/values/ic_banner_background.xml b/app/src/debug/res/values/ic_banner_background.xml
deleted file mode 100644
index 1394fa6e..00000000
--- a/app/src/debug/res/values/ic_banner_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #000000
-
\ No newline at end of file
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ImageAdapter.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ImageAdapter.kt
index 0be6d644..35e372d6 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ImageAdapter.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ImageAdapter.kt
@@ -6,6 +6,7 @@ import android.view.ViewGroup
import android.widget.ImageView
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
+import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTrueTvSettings
/*
class ImageAdapter(context: Context, val resource: Int) : ArrayAdapter(context, resource) {
@@ -19,9 +20,14 @@ class ImageAdapter(context: Context, val resource: Int) : ArrayAdapter(cont
return newConvertView
}
}*/
+const val IMAGE_CLICK = 0
+const val IMAGE_LONG_CLICK = 1
class ImageAdapter(
val layout: Int,
+ val clickCallback: ((Int) -> Unit)? = null,
+ val nextFocusUp: Int? = null,
+ val nextFocusDown: Int? = null,
) :
RecyclerView.Adapter() {
private val images: MutableList = mutableListOf()
@@ -35,7 +41,7 @@ class ImageAdapter(
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
when (holder) {
is ImageViewHolder -> {
- holder.bind(images[position])
+ holder.bind(images[position], clickCallback, nextFocusUp, nextFocusDown)
}
}
}
@@ -62,8 +68,36 @@ class ImageAdapter(
class ImageViewHolder
constructor(itemView: View) :
RecyclerView.ViewHolder(itemView) {
- fun bind(img: Int) {
- (itemView as? ImageView?)?.setImageResource(img)
+ fun bind(
+ img: Int,
+ clickCallback: ((Int) -> Unit)?,
+ nextFocusUp: Int?,
+ nextFocusDown: Int?,
+ ) {
+ (itemView as? ImageView?)?.apply {
+ setImageResource(img)
+ if (nextFocusDown != null) {
+ this.nextFocusDownId = nextFocusDown
+ }
+ if (nextFocusUp != null) {
+ this.nextFocusUpId = nextFocusUp
+ }
+ if (clickCallback != null) {
+ if (context.isTrueTvSettings()) {
+ isClickable = true
+ isLongClickable = true
+ isFocusable = true
+ isFocusableInTouchMode = true
+ }
+ setOnClickListener {
+ clickCallback.invoke(IMAGE_CLICK)
+ }
+ setOnLongClickListener {
+ clickCallback.invoke(IMAGE_LONG_CLICK)
+ return@setOnLongClickListener true
+ }
+ }
+ }
}
}
}
diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt
index b10e7b91..18050f3f 100644
--- a/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt
+++ b/app/src/main/java/com/lagradost/cloudstream3/ui/result/ResultFragment.kt
@@ -799,7 +799,8 @@ class ResultFragment : Fragment(), PanelsChildGestureRegionObserver.GestureRegio
val builder = AlertDialog.Builder(requireContext(), R.style.AlertDialogCustom)
builder.setTitle(title)
- builder.setItems(links.map { "${it.name} ${Qualities.getStringByInt(it.quality)}" }.toTypedArray()) { dia, which ->
+ builder.setItems(links.map { "${it.name} ${Qualities.getStringByInt(it.quality)}" }
+ .toTypedArray()) { dia, which ->
callback.invoke(links[which])
dia?.dismiss()
}
@@ -1302,7 +1303,18 @@ class ResultFragment : Fragment(), PanelsChildGestureRegionObserver.GestureRegio
}
}
}
- val imgAdapter = ImageAdapter(R.layout.result_mini_image)
+ val imgAdapter = ImageAdapter(
+ R.layout.result_mini_image,
+ nextFocusDown = R.id.result_sync_set_score,
+ clickCallback = { action ->
+ if (action == IMAGE_CLICK || action == IMAGE_LONG_CLICK) {
+ if (result_overlapping_panels?.getSelectedPanel()?.ordinal == 1) {
+ result_overlapping_panels?.openStartPanel()
+ } else {
+ result_overlapping_panels?.closePanels()
+ }
+ }
+ })
result_mini_sync?.adapter = imgAdapter
observe(syncModel.synced) { list ->
diff --git a/app/src/main/res/drawable-v24/ic_banner_background.xml b/app/src/main/res/drawable-v24/ic_banner_background.xml
new file mode 100644
index 00000000..7b05b711
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_banner_background.xml
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_cloudstreamlogotv.xml b/app/src/main/res/drawable/ic_cloudstreamlogotv.xml
new file mode 100644
index 00000000..c1d94fbc
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cloudstreamlogotv.xml
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_cloudstreamlogotv_2.xml b/app/src/main/res/drawable/ic_cloudstreamlogotv_2.xml
new file mode 100644
index 00000000..88e685cc
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cloudstreamlogotv_2.xml
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_cloudstreamlogotv_pre.xml b/app/src/main/res/drawable/ic_cloudstreamlogotv_pre.xml
new file mode 100644
index 00000000..0e664dcf
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cloudstreamlogotv_pre.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_cloudstreamlogotv_pre_2.xml b/app/src/main/res/drawable/ic_cloudstreamlogotv_pre_2.xml
new file mode 100644
index 00000000..314477e1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_cloudstreamlogotv_pre_2.xml
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml b/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml
index a0a0dece..47b7fed5 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_banner.xml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-xhdpi/ic_banner.png b/app/src/main/res/mipmap-xhdpi/ic_banner.png
index 83571e28..7a3b1b33 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_banner.png and b/app/src/main/res/mipmap-xhdpi/ic_banner.png differ
diff --git a/app/src/main/res/values/ic_banner_background.xml b/app/src/main/res/values/ic_banner_background.xml
deleted file mode 100644
index 1394fa6e..00000000
--- a/app/src/main/res/values/ic_banner_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #000000
-
\ No newline at end of file
diff --git a/app/src/prerelease/res/drawable-v24/ic_banner_background.xml b/app/src/prerelease/res/drawable-v24/ic_banner_background.xml
new file mode 100644
index 00000000..25552491
--- /dev/null
+++ b/app/src/prerelease/res/drawable-v24/ic_banner_background.xml
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/prerelease/res/drawable-v24/ic_banner_foreground.xml b/app/src/prerelease/res/drawable-v24/ic_banner_foreground.xml
deleted file mode 100644
index e9fac70f..00000000
--- a/app/src/prerelease/res/drawable-v24/ic_banner_foreground.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/prerelease/res/drawable/ic_banner_foreground.xml b/app/src/prerelease/res/drawable/ic_banner_foreground.xml
new file mode 100644
index 00000000..d4537567
--- /dev/null
+++ b/app/src/prerelease/res/drawable/ic_banner_foreground.xml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/prerelease/res/mipmap-anydpi-v26/ic_banner.xml b/app/src/prerelease/res/mipmap-anydpi-v26/ic_banner.xml
index a0a0dece..47b7fed5 100644
--- a/app/src/prerelease/res/mipmap-anydpi-v26/ic_banner.xml
+++ b/app/src/prerelease/res/mipmap-anydpi-v26/ic_banner.xml
@@ -1,5 +1,4 @@
-
-
+
\ No newline at end of file
diff --git a/app/src/prerelease/res/mipmap-xhdpi/ic_banner.png b/app/src/prerelease/res/mipmap-xhdpi/ic_banner.png
index 8747c9d7..bbf98919 100644
Binary files a/app/src/prerelease/res/mipmap-xhdpi/ic_banner.png and b/app/src/prerelease/res/mipmap-xhdpi/ic_banner.png differ
diff --git a/app/src/prerelease/res/values/ic_banner_background.xml b/app/src/prerelease/res/values/ic_banner_background.xml
deleted file mode 100644
index 1394fa6e..00000000
--- a/app/src/prerelease/res/values/ic_banner_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #000000
-
\ No newline at end of file
diff --git a/app/src/release/res/drawable-v24/ic_banner_background.xml b/app/src/release/res/drawable-v24/ic_banner_background.xml
new file mode 100644
index 00000000..7b05b711
--- /dev/null
+++ b/app/src/release/res/drawable-v24/ic_banner_background.xml
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/release/res/mipmap-anydpi-v26/ic_banner.xml b/app/src/release/res/mipmap-anydpi-v26/ic_banner.xml
new file mode 100644
index 00000000..47b7fed5
--- /dev/null
+++ b/app/src/release/res/mipmap-anydpi-v26/ic_banner.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/release/res/mipmap-xhdpi/ic_banner.png b/app/src/release/res/mipmap-xhdpi/ic_banner.png
new file mode 100644
index 00000000..7a3b1b33
Binary files /dev/null and b/app/src/release/res/mipmap-xhdpi/ic_banner.png differ