diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1c21b30e9..ba6fafa58 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ android:theme="@style/Theme.LibreTube" android:name=".myApp" android:networkSecurityConfig="@xml/network_security_config" + android:largeHeap="true" > diff --git a/app/src/main/java/com/github/libretube/ChannelFragment.kt b/app/src/main/java/com/github/libretube/ChannelFragment.kt index 62d042322..450c5c6a7 100644 --- a/app/src/main/java/com/github/libretube/ChannelFragment.kt +++ b/app/src/main/java/com/github/libretube/ChannelFragment.kt @@ -14,6 +14,7 @@ import android.widget.TextView import androidx.annotation.RequiresApi import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.github.libretube.adapters.ChannelAdapter import com.github.libretube.adapters.TrendingAdapter @@ -35,7 +36,7 @@ class ChannelFragment : Fragment() { // TODO: Rename and change types of parameters private var channel_id: String? = null private val TAG = "ChannelFragment" - lateinit var recyclerView: RecyclerView + //lateinit var recyclerView: RecyclerView lateinit var nextPage: String lateinit var channelAdapter: ChannelAdapter @@ -58,8 +59,8 @@ class ChannelFragment : Fragment() { super.onViewCreated(view, savedInstanceState) channel_id = channel_id!!.replace("/channel/","") view.findViewById(R.id.channel_name).text=channel_id - recyclerView = view.findViewById(R.id.channel_recView) - recyclerView.layoutManager = GridLayoutManager(view.context, 1) + val recyclerView = view.findViewById(R.id.channel_recView) + recyclerView.layoutManager = LinearLayoutManager(context) fetchChannel(view) @@ -88,7 +89,7 @@ class ChannelFragment : Fragment() { Picasso.get().load(response.bannerUrl).into(bannerImage) Picasso.get().load(response.avatarUrl).into(channelImage) channelAdapter = ChannelAdapter(response.relatedStreams!!.toMutableList()) - recyclerView.adapter = channelAdapter + view.findViewById(R.id.channel_recView).adapter = channelAdapter val scrollView = view.findViewById(R.id.channel_scrollView) scrollView.viewTreeObserver @@ -96,8 +97,8 @@ class ChannelFragment : Fragment() { if (scrollView.getChildAt(0).bottom == (scrollView.height + scrollView.scrollY)) { //scroll view is at bottom - println("suck a dick: "+channel_id+"?nextpage="+nextPage) - fetchNextPage() + //todo find a better solution to load more videos in channel + //fetchNextPage() } else { //scroll view is not at bottom @@ -122,10 +123,8 @@ class ChannelFragment : Fragment() { return@launchWhenCreated } nextPage = response.nextpage!! - runOnUiThread { - channelAdapter.updateItems(response.relatedStreams!!) + channelAdapter.updateItems(response.relatedStreams!!) - } } } run() diff --git a/app/src/main/java/com/github/libretube/Home.kt b/app/src/main/java/com/github/libretube/Home.kt index f4ee09582..dd18f78b6 100644 --- a/app/src/main/java/com/github/libretube/Home.kt +++ b/app/src/main/java/com/github/libretube/Home.kt @@ -107,4 +107,9 @@ class Home : Fragment() { if (!isAdded) return // Fragment not attached to an Activity activity?.runOnUiThread(action) } + + override fun onDestroyView() { + view?.findViewById(R.id.recview)?.adapter=null + super.onDestroyView() + } } diff --git a/app/src/main/java/com/github/libretube/adapters/ChannelAdapter.kt b/app/src/main/java/com/github/libretube/adapters/ChannelAdapter.kt index 79f4bda15..dd6a35b2a 100644 --- a/app/src/main/java/com/github/libretube/adapters/ChannelAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/ChannelAdapter.kt @@ -22,7 +22,7 @@ class ChannelAdapter(private val videoFeed: MutableList): RecyclerVi } fun updateItems(newItems: List){ videoFeed.addAll(newItems) - println("suck another dick: "+newItems[0].title) + //println("suck another dick: "+newItems[0].title) notifyDataSetChanged() }