From fc5f80c1121ba34f1db374aa7e4d508c867875f5 Mon Sep 17 00:00:00 2001 From: reduplicated <110570621+reduplicated@users.noreply.github.com> Date: Fri, 19 Aug 2022 00:03:20 +0200 Subject: [PATCH] fixed icon size --- .../ui/settings/extensions/PluginAdapter.kt | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginAdapter.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginAdapter.kt index db406e36..670270ba 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginAdapter.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/settings/extensions/PluginAdapter.kt @@ -1,6 +1,8 @@ package com.lagradost.cloudstream3.ui.settings.extensions +import android.content.res.Resources import android.util.Log +import android.util.TypedValue import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -15,7 +17,10 @@ import com.lagradost.cloudstream3.utils.AppUtils.html import com.lagradost.cloudstream3.utils.GlideApp import com.lagradost.cloudstream3.utils.SubtitleHelper.getFlagFromIso import com.lagradost.cloudstream3.utils.UIHelper.setImage +import com.lagradost.cloudstream3.utils.UIHelper.toPx import kotlinx.android.synthetic.main.repository_item.view.* +import org.junit.Assert +import org.junit.Test data class PluginViewData( @@ -73,6 +78,27 @@ class PluginAdapter( super.onViewRecycled(holder) } + companion object { + private tailrec fun findClosestBase2(target: Int, current: Int = 16, max: Int = 512): Int { + if (current >= max) return max + if (current >= target) return current + return findClosestBase2(target, current * 2, max) + } + + @Test + fun testFindClosestBase2() { + Assert.assertEquals(16, findClosestBase2(0)) + Assert.assertEquals(256, findClosestBase2(170)) + Assert.assertEquals(256, findClosestBase2(256)) + Assert.assertEquals(512, findClosestBase2(257)) + Assert.assertEquals(512, findClosestBase2(700)) + } + + val iconSize by lazy { + findClosestBase2(24.toPx, 16, 512) + } + } + inner class PluginViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { @@ -94,7 +120,7 @@ class PluginAdapter( itemView.action_button?.setOnClickListener { iconClickCallback.invoke(data.plugin) } - + testFindClosestBase2() //if (itemView.context?.isTrueTvSettings() == false) { // val siteUrl = metadata.repositoryUrl // if (siteUrl != null && siteUrl.isNotBlank() && siteUrl != "NONE") { @@ -128,8 +154,11 @@ class PluginAdapter( itemView.action_settings?.isVisible = false } - if (itemView.entry_icon?.setImage( - metadata.iconUrl?.replace("&sz=24", "&sz=128"), // lazy fix for better resolution + if (itemView.entry_icon?.setImage(//itemView.entry_icon?.height ?: + metadata.iconUrl?.replace( + "&sz=24", + "&sz=$iconSize" + ), // lazy fix for better resolution null, errorImageDrawable = R.drawable.ic_baseline_extension_24 ) != true