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