From 6f9bbf51009cedaab69b3a5fb6279c0bd8c9d521 Mon Sep 17 00:00:00 2001 From: Matthieu <24-artectrex@users.noreply.shinice.net> Date: Tue, 9 Feb 2021 20:47:04 +0100 Subject: [PATCH] Fix discover --- .../com/h/pixeldroid/posts/PostActivity.kt | 28 +------------------ .../searchDiscover/SearchDiscoverFragment.kt | 23 ++++----------- .../utils/api/objects/DiscoverPost.kt | 13 --------- .../utils/api/objects/DiscoverPosts.kt | 2 +- app/src/main/res/layout/activity_post.xml | 11 -------- 5 files changed, 8 insertions(+), 69 deletions(-) delete mode 100644 app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPost.kt diff --git a/app/src/main/java/com/h/pixeldroid/posts/PostActivity.kt b/app/src/main/java/com/h/pixeldroid/posts/PostActivity.kt index 0cb7bcaa..95f67060 100644 --- a/app/src/main/java/com/h/pixeldroid/posts/PostActivity.kt +++ b/app/src/main/java/com/h/pixeldroid/posts/PostActivity.kt @@ -6,7 +6,6 @@ import android.view.View import androidx.lifecycle.lifecycleScope import com.h.pixeldroid.R import com.h.pixeldroid.databinding.ActivityPostBinding -import com.h.pixeldroid.utils.api.objects.DiscoverPost import com.h.pixeldroid.utils.api.objects.Status import com.h.pixeldroid.utils.api.objects.Status.Companion.DISCOVER_TAG import com.h.pixeldroid.utils.api.objects.Status.Companion.DOMAIN_TAG @@ -30,7 +29,6 @@ class PostActivity : BaseActivity() { supportActionBar?.setDisplayHomeAsUpEnabled(true) val status = intent.getSerializableExtra(POST_TAG) as Status? - val discoverPost: DiscoverPost? = intent.getSerializableExtra(DISCOVER_TAG) as DiscoverPost? val user = db.userDao().getActiveUser() @@ -41,12 +39,7 @@ class PostActivity : BaseActivity() { val arguments = Bundle() arguments.putString(DOMAIN_TAG, domain) - if (discoverPost != null) { - binding.postProgressBar.visibility = View.VISIBLE - getDiscoverPost(arguments, discoverPost) - } else { - initializeFragment(arguments, status) - } + initializeFragment(arguments, status) } override fun onSupportNavigateUp(): Boolean { @@ -54,25 +47,6 @@ class PostActivity : BaseActivity() { return true } - private fun getDiscoverPost( - arguments: Bundle, - discoverPost: DiscoverPost - ) { - val api = apiHolder.api ?: apiHolder.setDomainToCurrentUser(db) - val id = discoverPost.url?.substringAfterLast('/') ?: "" - lifecycleScope.launchWhenCreated { - try { - val status = api.getStatus("Bearer $accessToken", id) - binding.postProgressBar.visibility = View.GONE - initializeFragment(arguments, status) - } catch (exception: IOException) { - //TODO show error message - Log.e("PostActivity:", exception.toString()) - } catch (exception: HttpException) { - } - } - } - private fun initializeFragment(arguments: Bundle, status: Status?){ supportActionBar?.title = getString(R.string.post_title).format(status!!.account?.getDisplayName()) arguments.putSerializable(POST_TAG, status) diff --git a/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt b/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt index 855fa03d..25f098df 100644 --- a/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt +++ b/app/src/main/java/com/h/pixeldroid/searchDiscover/SearchDiscoverFragment.kt @@ -4,25 +4,17 @@ import android.app.SearchManager import android.content.Context import android.content.Intent import android.os.Bundle -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.* import androidx.annotation.StringRes -import androidx.appcompat.widget.SearchView -import androidx.constraintlayout.motion.widget.MotionLayout import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.h.pixeldroid.R import com.h.pixeldroid.databinding.FragmentSearchBinding -import com.h.pixeldroid.databinding.PostFragmentBinding import com.h.pixeldroid.profile.ProfilePostViewHolder import com.h.pixeldroid.utils.api.PixelfedAPI -import com.h.pixeldroid.utils.api.objects.DiscoverPost -import com.h.pixeldroid.utils.api.objects.DiscoverPosts import com.h.pixeldroid.utils.api.objects.Status import com.h.pixeldroid.posts.PostActivity import com.h.pixeldroid.utils.BaseFragment @@ -34,10 +26,7 @@ import com.mikepenz.iconics.typeface.library.googlematerial.GoogleMaterial import com.mikepenz.iconics.utils.color import com.mikepenz.iconics.utils.paddingDp import com.mikepenz.iconics.utils.sizeDp -import retrofit2.Call -import retrofit2.Callback import retrofit2.HttpException -import retrofit2.Response import java.io.IOException /** @@ -122,12 +111,12 @@ class SearchDiscoverFragment : BaseFragment() { } /** - * [RecyclerView.Adapter] that can display a list of [DiscoverPost]s + * [RecyclerView.Adapter] that can display a list of [Status]s' thumbnails for the discover view */ class DiscoverRecyclerViewAdapter: RecyclerView.Adapter() { - private val posts: ArrayList = ArrayList() + private val posts: ArrayList = ArrayList() - fun addPosts(newPosts : List) { + fun addPosts(newPosts : List) { posts.clear() posts.addAll(newPosts) notifyDataSetChanged() @@ -141,15 +130,15 @@ class SearchDiscoverFragment : BaseFragment() { override fun onBindViewHolder(holder: ProfilePostViewHolder, position: Int) { val post = posts[position] - if(post.type?.contains("album") == true) { + if(post.media_attachments?.size ?: 0 > 1) { holder.albumIcon.visibility = View.VISIBLE } else { holder.albumIcon.visibility = View.GONE } - ImageConverter.setSquareImageFromURL(holder.postView, post.thumb, holder.postPreview) + ImageConverter.setSquareImageFromURL(holder.postView, post.media_attachments?.firstOrNull()?.preview_url, holder.postPreview) holder.postPreview.setOnClickListener { val intent = Intent(holder.postView.context, PostActivity::class.java) - intent.putExtra(Status.DISCOVER_TAG, post) + intent.putExtra(Status.POST_TAG, post) holder.postView.context.startActivity(intent) } } diff --git a/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPost.kt b/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPost.kt deleted file mode 100644 index ff1f3b86..00000000 --- a/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPost.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.h.pixeldroid.utils.api.objects - -import java.io.Serializable - -/* -NOT DOCUMENTED, USE WITH CAUTION - */ - -data class DiscoverPost( - val type: String?, //This is probably an enum, with these values: https://github.com/pixelfed/pixelfed/blob/700c7805cecc364b68b9cfe20df00608e0f6c465/app/Status.php#L31 - val url: String?, //URL to post - val thumb: String? //URL to thumbnail -) : Serializable \ No newline at end of file diff --git a/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPosts.kt b/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPosts.kt index 1fdfb94f..cf3c27f6 100644 --- a/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPosts.kt +++ b/app/src/main/java/com/h/pixeldroid/utils/api/objects/DiscoverPosts.kt @@ -4,5 +4,5 @@ import java.io.Serializable data class DiscoverPosts( //Required attributes - val posts: List + val posts: List ) : Serializable diff --git a/app/src/main/res/layout/activity_post.xml b/app/src/main/res/layout/activity_post.xml index befd542c..8f9084e5 100644 --- a/app/src/main/res/layout/activity_post.xml +++ b/app/src/main/res/layout/activity_post.xml @@ -6,17 +6,6 @@ android:layout_height="match_parent" tools:context=".posts.PostActivity"> - -