From cb9180fb600b9a1e5b1255b81ab505ce871cf9f1 Mon Sep 17 00:00:00 2001 From: Marie Jaillot Date: Sat, 29 Oct 2022 17:07:59 +0000 Subject: [PATCH] Search/Discover tab --- app/build.gradle | 12 +- app/src/main/AndroidManifest.xml | 1 + .../searchDiscover/SearchDiscoverFragment.kt | 102 +-------- .../app/searchDiscover/TrendingActivity.kt | 215 ++++++++++++++++++ .../pixeldroid/app/utils/api/PixelfedAPI.kt | 13 +- .../res/drawable/baseline_auto_graph_24.xml | 5 + .../res/drawable/baseline_collections_24.xml | 5 + .../main/res/drawable/baseline_person_add.xml | 5 + app/src/main/res/drawable/baseline_tag.xml | 5 + app/src/main/res/drawable/explore_24dp.xml | 2 +- app/src/main/res/drawable/star.xml | 5 + app/src/main/res/layout/activity_trending.xml | 59 +++++ app/src/main/res/layout/fragment_search.xml | 197 +++++++++++----- app/src/main/res/values-ca/strings.xml | 1 - app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-eu/strings.xml | 1 - app/src/main/res/values-fa/strings.xml | 1 - app/src/main/res/values-gl/strings.xml | 1 - app/src/main/res/values-hu/strings.xml | 1 - app/src/main/res/values-id/strings.xml | 1 - app/src/main/res/values-pl/strings.xml | 1 - app/src/main/res/values-pt-rBR/strings.xml | 1 - app/src/main/res/values-pt/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-uk/strings.xml | 1 - app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values/strings.xml | 10 +- gradle/verification-metadata.xml | 96 ++++++++ 30 files changed, 576 insertions(+), 171 deletions(-) create mode 100644 app/src/main/java/org/pixeldroid/app/searchDiscover/TrendingActivity.kt create mode 100644 app/src/main/res/drawable/baseline_auto_graph_24.xml create mode 100644 app/src/main/res/drawable/baseline_collections_24.xml create mode 100644 app/src/main/res/drawable/baseline_person_add.xml create mode 100644 app/src/main/res/drawable/baseline_tag.xml create mode 100644 app/src/main/res/drawable/star.xml create mode 100644 app/src/main/res/layout/activity_trending.xml diff --git a/app/build.gradle b/app/build.gradle index 4df740b9..7b9f597c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -133,13 +133,13 @@ dependencies { implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.preference:preference-ktx:1.2.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2' - implementation 'androidx.navigation:navigation-ui-ktx:2.5.2' + implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3' + implementation 'androidx.navigation:navigation-ui-ktx:2.5.3' implementation "androidx.browser:browser:1.4.0" implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" - implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2' - implementation 'androidx.navigation:navigation-ui-ktx:2.5.2' + implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3' + implementation 'androidx.navigation:navigation-ui-ktx:2.5.3' implementation 'androidx.paging:paging-runtime-ktx:3.1.1' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' @@ -148,8 +148,8 @@ dependencies { implementation "androidx.lifecycle:lifecycle-common-java8:2.5.1" implementation "androidx.annotation:annotation:1.5.0" implementation 'androidx.gridlayout:gridlayout:1.0.0' - implementation "androidx.activity:activity-ktx:1.6.0" - implementation 'androidx.fragment:fragment-ktx:1.5.3' + implementation "androidx.activity:activity-ktx:1.6.1" + implementation 'androidx.fragment:fragment-ktx:1.5.4' implementation 'androidx.work:work-runtime-ktx:2.7.1' implementation 'androidx.media2:media2-widget:1.2.1' implementation 'androidx.media2:media2-player:1.2.1' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index aa21b0cf..f73429e1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -149,6 +149,7 @@ android:name="android.app.searchable" android:resource="@xml/searchable" /> + () { - private val posts: ArrayList = ArrayList() - - fun addPosts(newPosts : List) { - posts.clear() - posts.addAll(newPosts) - notifyDataSetChanged() - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProfilePostViewHolder { - val view = LayoutInflater.from(parent.context) - .inflate(R.layout.fragment_profile_posts, parent, false) - return ProfilePostViewHolder(view) - } - - override fun onBindViewHolder(holder: ProfilePostViewHolder, position: Int) { - val post = posts[position] - if((post?.media_attachments?.size ?: 0) > 1) { - holder.albumIcon.visibility = View.VISIBLE - } else { - holder.albumIcon.visibility = View.GONE - if(post?.media_attachments?.getOrNull(0)?.type == Attachment.AttachmentType.video) { - holder.videoIcon.visibility = View.VISIBLE - } else holder.videoIcon.visibility = View.GONE - - } - setSquareImageFromURL(holder.postView, post?.getPostPreviewURL(), holder.postPreview, post?.media_attachments?.firstOrNull()?.blurhash) - holder.postPreview.setOnClickListener { - val intent = Intent(holder.postView.context, PostActivity::class.java) - intent.putExtra(Status.POST_TAG, post) - holder.postView.context.startActivity(intent) - } - } - - override fun getItemCount(): Int = posts.size + private fun onClickCardView(type: TrendingType) { + val intent = Intent(requireContext(), TrendingActivity::class.java) + intent.putExtra(TRENDING_TAG, type) + ContextCompat.startActivity(binding.root.context, intent, null) } } diff --git a/app/src/main/java/org/pixeldroid/app/searchDiscover/TrendingActivity.kt b/app/src/main/java/org/pixeldroid/app/searchDiscover/TrendingActivity.kt new file mode 100644 index 00000000..e05d9eeb --- /dev/null +++ b/app/src/main/java/org/pixeldroid/app/searchDiscover/TrendingActivity.kt @@ -0,0 +1,215 @@ +package org.pixeldroid.app.searchDiscover + +import android.content.Intent +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.annotation.StringRes +import androidx.lifecycle.lifecycleScope +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import org.pixeldroid.app.R +import org.pixeldroid.app.databinding.ActivityTrendingBinding +import org.pixeldroid.app.posts.PostActivity +import org.pixeldroid.app.posts.feeds.uncachedFeeds.accountLists.AccountViewHolder +import org.pixeldroid.app.posts.feeds.uncachedFeeds.search.HashTagViewHolder +import org.pixeldroid.app.profile.ProfilePostViewHolder +import org.pixeldroid.app.utils.BaseThemedWithBarActivity +import org.pixeldroid.app.utils.api.PixelfedAPI +import org.pixeldroid.app.utils.api.objects.Account +import org.pixeldroid.app.utils.api.objects.Attachment +import org.pixeldroid.app.utils.api.objects.Status +import org.pixeldroid.app.utils.api.objects.Tag +import org.pixeldroid.app.utils.setSquareImageFromURL +import retrofit2.HttpException +import java.io.IOException + +class TrendingActivity : BaseThemedWithBarActivity() { + + private lateinit var api: PixelfedAPI + private lateinit var binding: ActivityTrendingBinding + private lateinit var recycler : RecyclerView + private lateinit var discoverAdapter : DiscoverRecyclerViewAdapter + private lateinit var hashtagsAdapter : HashtagsRecyclerViewAdapter + private lateinit var accountsAdapter : AccountsRecyclerViewAdapter + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = ActivityTrendingBinding.inflate(layoutInflater) + setContentView(binding.root) + + api = apiHolder.api ?: apiHolder.setToCurrentUser() + recycler = binding.list + supportActionBar?.setDisplayHomeAsUpEnabled(true) + val type = intent.getSerializableExtra(TRENDING_TAG) as TrendingType? ?: TrendingType.POSTS + + if(type == TrendingType.POSTS || type == TrendingType.DISCOVER) { + // Set posts RecyclerView as a grid with 3 columns + recycler.layoutManager = GridLayoutManager(this, 3) + discoverAdapter = DiscoverRecyclerViewAdapter() + recycler.adapter = discoverAdapter + if(type == TrendingType.POSTS) { + supportActionBar?.setTitle(R.string.trending_posts) + } else { + supportActionBar?.setTitle(R.string.discover) + } + } + if(type == TrendingType.HASHTAGS) { + supportActionBar?.setTitle(R.string.trending_hashtags) + hashtagsAdapter = HashtagsRecyclerViewAdapter() + recycler.adapter = hashtagsAdapter + } + if(type == TrendingType.ACCOUNTS) { + supportActionBar?.setTitle(R.string.popular_accounts) + accountsAdapter = AccountsRecyclerViewAdapter() + recycler.adapter = accountsAdapter + } + + getTrending(type) + binding.refreshLayout.setOnRefreshListener { + getTrending(type) + } + } + + private fun showError(@StringRes errorText: Int = R.string.loading_toast, show: Boolean = true){ + binding.motionLayout.apply { + if(show){ + transitionToEnd() + } else { + transitionToStart() + } + } + binding.refreshLayout.isRefreshing = false + binding.progressBar.visibility = View.GONE + } + + private fun getTrending(type: TrendingType) { + lifecycleScope.launchWhenCreated { + try { + when(type) { + TrendingType.POSTS -> { + val trendingPosts = api.trendingPosts("daily") + discoverAdapter.addPosts(trendingPosts) + } + TrendingType.HASHTAGS -> { + val trendingTags = api.trendingHashtags() + .map { it.copy(name = it.name.removePrefix("#")) } + hashtagsAdapter.addHashtags(trendingTags) + } + TrendingType.ACCOUNTS -> { + val trendingAccounts = api.popularAccounts() + accountsAdapter.addAccounts(trendingAccounts) + } + TrendingType.DISCOVER -> { + val posts = api.discover().posts + discoverAdapter.addPosts(posts) + } + } + showError(show = false) + } catch (exception: IOException) { + showError() + } catch (exception: HttpException) { + showError() + } + } + } + + /** + * [RecyclerView.Adapter] that can display a list of [Status]s' thumbnails for the discover view + */ + class DiscoverRecyclerViewAdapter: RecyclerView.Adapter() { + private val posts: ArrayList = ArrayList() + + fun addPosts(newPosts : List) { + posts.clear() + posts.addAll(newPosts) + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ProfilePostViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.fragment_profile_posts, parent, false) + return ProfilePostViewHolder(view) + } + + override fun onBindViewHolder(holder: ProfilePostViewHolder, position: Int) { + val post = posts[position] + if((post?.media_attachments?.size ?: 0) > 1) { + holder.albumIcon.visibility = View.VISIBLE + } else { + holder.albumIcon.visibility = View.GONE + if(post?.media_attachments?.getOrNull(0)?.type == Attachment.AttachmentType.video) { + holder.videoIcon.visibility = View.VISIBLE + } else holder.videoIcon.visibility = View.GONE + + } + setSquareImageFromURL(holder.postView, post?.getPostPreviewURL(), holder.postPreview, post?.media_attachments?.firstOrNull()?.blurhash) + holder.postPreview.setOnClickListener { + val intent = Intent(holder.postView.context, PostActivity::class.java) + intent.putExtra(Status.POST_TAG, post) + holder.postView.context.startActivity(intent) + } + } + + override fun getItemCount(): Int = posts.size + } + + companion object { + const val TRENDING_TAG = "TrendingTag" + + enum class TrendingType { + POSTS, HASHTAGS, ACCOUNTS, DISCOVER + } + } + + + /** + * [RecyclerView.Adapter] that can display a list of [Tag]s for the trending view + */ + class HashtagsRecyclerViewAdapter: RecyclerView.Adapter() { + private val tags: ArrayList = ArrayList() + + fun addHashtags(newTags : List) { + tags.clear() + tags.addAll(newTags) + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HashTagViewHolder { + return HashTagViewHolder.create(parent) + } + + override fun onBindViewHolder(holder: HashTagViewHolder, position: Int) { + val tag = tags[position] + holder.bind(tag) + } + + override fun getItemCount(): Int = tags.size + } + + + /** + * [RecyclerView.Adapter] that can display a list of [Account]s for the popular view + */ + class AccountsRecyclerViewAdapter: RecyclerView.Adapter() { + private val accounts: ArrayList = ArrayList() + + fun addAccounts(newAccounts : List) { + accounts.clear() + accounts.addAll(newAccounts) + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): AccountViewHolder { + return AccountViewHolder.create(parent) + } + + override fun onBindViewHolder(holder: AccountViewHolder, position: Int) { + val account = accounts[position] + holder.bind(account) + } + + override fun getItemCount(): Int = accounts.size + } +} \ No newline at end of file diff --git a/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt b/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt index c9692f26..19e383e2 100644 --- a/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt +++ b/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt @@ -7,6 +7,7 @@ import okhttp3.Interceptor import org.pixeldroid.app.utils.api.objects.* import okhttp3.MultipartBody import okhttp3.OkHttpClient +import org.pixeldroid.app.utils.api.objects.Tag import org.pixeldroid.app.utils.db.AppDatabase import org.pixeldroid.app.utils.db.entities.UserDatabaseEntity import org.pixeldroid.app.utils.di.PixelfedAPIHolder @@ -20,7 +21,6 @@ import retrofit2.converter.gson.GsonConverterFactory import retrofit2.http.* import retrofit2.http.Field import java.time.Instant -import java.time.format.DateTimeFormatter /* @@ -320,6 +320,17 @@ interface PixelfedAPI { @GET("/api/v1/discover/posts") suspend fun discover() : DiscoverPosts + @GET("/api/v1.1/discover/accounts/popular") + suspend fun popularAccounts() : List + + @GET("/api/v1.1/discover/posts/trending") + suspend fun trendingPosts( + @Query("range") range: String + ) : List + + @GET("/api/v1.1/discover/posts/hashtags") + suspend fun trendingHashtags() : List + @FormUrlEncoded @POST("/api/v1/reports") @JvmSuppressWildcards diff --git a/app/src/main/res/drawable/baseline_auto_graph_24.xml b/app/src/main/res/drawable/baseline_auto_graph_24.xml new file mode 100644 index 00000000..877a48e2 --- /dev/null +++ b/app/src/main/res/drawable/baseline_auto_graph_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/baseline_collections_24.xml b/app/src/main/res/drawable/baseline_collections_24.xml new file mode 100644 index 00000000..82ae3659 --- /dev/null +++ b/app/src/main/res/drawable/baseline_collections_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/baseline_person_add.xml b/app/src/main/res/drawable/baseline_person_add.xml new file mode 100644 index 00000000..4b3174aa --- /dev/null +++ b/app/src/main/res/drawable/baseline_person_add.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/baseline_tag.xml b/app/src/main/res/drawable/baseline_tag.xml new file mode 100644 index 00000000..8e574406 --- /dev/null +++ b/app/src/main/res/drawable/baseline_tag.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/explore_24dp.xml b/app/src/main/res/drawable/explore_24dp.xml index 80b53973..623a57d1 100644 --- a/app/src/main/res/drawable/explore_24dp.xml +++ b/app/src/main/res/drawable/explore_24dp.xml @@ -5,5 +5,5 @@ android:viewportHeight="24"> + android:fillColor="?attr/colorOnSecondaryContainer"/> diff --git a/app/src/main/res/drawable/star.xml b/app/src/main/res/drawable/star.xml new file mode 100644 index 00000000..dece57f5 --- /dev/null +++ b/app/src/main/res/drawable/star.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/activity_trending.xml b/app/src/main/res/layout/activity_trending.xml new file mode 100644 index 00000000..b38b6bd4 --- /dev/null +++ b/app/src/main/res/layout/activity_trending.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index e703640f..8fbf0e84 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -5,7 +5,6 @@ android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + android:layout_height="wrap_content" + android:text="@string/explore_posts" + android:textColor="?attr/colorOnSecondaryContainer" + android:textAppearance="?attr/textAppearanceTitleSmall" + android:layout_marginTop="8dp" /> + + - + \ No newline at end of file diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 54fd5595..ec3d3fcc 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -149,7 +149,6 @@ No, cancel·lar l\'edició Afegir un comentari Enviar el comentari - El Discover no es carrega infinitament. Tireu per actualitzar altres imatges. Voleu desar les vostres edicions\? Canvia a carrusel Desar la descripció de la imatge diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 3eafd8b5..0b202ee7 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -200,7 +200,6 @@ Nahrávání selhalo, zkuste znovu nebo zkontrolujte stav sítě Obrázek se zveřejňuje Zobrazit v karuselu - Načítá se pouze omezené množství obsahu. Pro zobrazení dalších obrázku zatáhněte dolů. Panda je smutná. Zatáhněte dolů a pro obnovení. Nahlaste problémy nebo přispějte do aplikace: Obrázek zobrazuje červenou pandu, maskota aplikace Pixelfed používající telefon diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 4a08bd42..0e672f25 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -189,7 +189,6 @@ Followeranfrage Beitrag konnte nicht gelöscht werden. Internetverbindung unterbrochen\? Das Öffnen der Bearbeitungsseite ist gescheitert - \"Entdecke\" lädt nicht endlos. Nach unten ziehen, um weitere Bilder zu laden. #%1$s Die Einwilligung die Kamera zu nutzen wurde nicht erteilt. Erlaube die Kameranutzung in den Einstellungen, wenn du die Kamera in PixelDroid verwenden willst Die Erlaubnis, auf die Dateien zuzugreifen wurde nicht erteilt. Erlaube den Zugriff auf Daten wenn du PixelDroid das Thumbnail anzeigen lassen willst diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 7c230d3d..af6941d9 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -112,7 +112,6 @@ Borrar Este panda está triste. Desliza hacia abajo para intentarlo de nuevo. Algo fue mal… - \'Descubre\' no carga infinitamente. Desliza hacia abajo para cargar más imágenes. DESCUBRE Abrir el menú lateral Imagen de perfil diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index eb3891e7..52e5ec99 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -187,7 +187,6 @@ Albumean %1$d zenbakia duen irudiaren tamainak instantziak onartutako gehienezko tamaina gainditzen du (%2$d kB ditu, eta muga %3$d kB da). Baliteke ezin igo ahal izatea. Zerbitzariak onartutako kopurua (%1$s) baino irudi gehiago aukeratu dituzu. Mugatik gorako irudiei ez ikusia egin zaie. APIa ez dago aktibo instantzia honetan. Jarri zure administratzailearekin kontaktuan aktibatzeko. - Aurkikuntza ez da infinituki kargatzen. Tira irudi gehiago kargatzeko. #%1$s %1$s fitxategia ez da aurkitu Huts egin du edizio orria irekitzean diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 4652e715..8690d3ea 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -191,7 +191,6 @@ درخواست پیگیری فرستاده شد اینجا چیزی برای دیدن نیست :( ناتوانی در باز کردن صفحه ویرایش - بخش کشف به صورت بی‌انتها بار نمی‌شود. برای تازه‌سازی و دریافت تصاویر دیگر، صفحه را به پایین بکشید. پروندهٔ %1$s یافت نشد #%1$s %1$s نظر درباره فرستهٔ شما diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 39851a99..38c5cc7a 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -191,7 +191,6 @@ Seguimento solicitado Nada por aquí :( Non se puido abrir a páxina de edición - Descubrimento non carga indefinidamente. Arrastra hacia abaixo para ter máis imaxes. Non se atopou o ficheiro %1$s #%1$s %1$s comentou a túa publicación diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 14b3530d..8b5e4cce 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -31,7 +31,6 @@ Törlés Ez a panda nem boldog. Húzza le a frissítéshez. Valami hiba történt… - A felfedezés nem tölt be a végtelenségig. Húzza le a frissítéshez, hogy több képet lásson. FELFEDEZÉS Fiókmenü megnyitása Profilkép diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index c263d16b..dfc7a19e 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -110,7 +110,6 @@ Sunting Gambar profil TEMUKAN - Temukan tidak memuat selamanya. Tarik untuk memuat ulang gambar lain. Suatu kesalahan terjadi… Hapus Hapus postingan ini\? diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f1365134..d02d63bb 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -88,7 +88,6 @@ Usuń Czy usunąć ten post\? Nie, odrzuć edycję - Sekcja Odkryj nie wczytuje się bez końca. Pociągnij, aby odświeżyć dla innych obrazów. Przełącz na karuzelę %d odpowiedź diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 9e285136..9a79c5a5 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -189,7 +189,6 @@ Imagem mostrando um panda vermelho, mascote do Pixelfed, usando um telefone Relate problemas ou contribua com o aplicativo: O panda não está feliz. Puxe para atualizar e tentar novamente. - As descobertas não carregam infinitamente. Puxe para atualizar para outras imagens. Abrir o menu lateral %1$s está seguindo Envio de mídia falhou. Tente novamente ou verifique as condições de conectividade diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 8db46e18..01c5549f 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -231,7 +231,6 @@ Envio de media terminado Denunciar a publicação de @%1$s - Descobrir não carrega infinitamente. Puxe para atualizar para outras imagens. Não foi possível eliminar a publicação, erro %1$d O servidor que está a usar não permite o envio de vídeos Falhou o envio da media, tente novamente ou verifique a sua conectividade diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 5b15cb40..d4ae9506 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -201,7 +201,6 @@ \nДополнительную информации о Pixelfed вы можете посмотреть здесь: https://pixelfed.org Кнопка для обрезки или поворота изображения Переключить в вид сетки - Обзор не может загружаться бесконечно. Потяните, чтобы обновить другие изображения. Отменить запрос на подписку\? Подписаться на запрос Вы выбрали большее изображений, чем разрешено вашим сервером (%1$s). Изображения сверх установленного лимита игнорируются. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index ef56b98a..febb97f2 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -42,7 +42,6 @@ Режим сітки Режим каруселі Не вдалось отримати користувацькі дані - Потягніть для оновлення, щоб отримати нові цікаві зображення. Не вдалось отримати дані про сервер Зберегти опис зображення Опишіть медіафайл… diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 0474ca0d..2a5f97b8 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -122,7 +122,6 @@ 删除这则帖子? 这只熊猫不高兴。下拉刷新以再次尝试。 出错了… - Discover 不会无限加载。下拉来刷新获取其他图像。 发现 打开抽屉按钮 个人资料图片 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3ee102ed..4d9f42ee 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -227,8 +227,7 @@ For more info about Pixelfed, you can check here: https://pixelfed.org" Could not send report Profile picture Open drawer menu - DISCOVER - Discover doesn\'t load infinitely. Pull to refresh for other images. + Discover Something went wrong… This panda is not happy. Pull to refresh to try again. Redraft @@ -283,6 +282,13 @@ For more info about Pixelfed, you can check here: https://pixelfed.org" Preview of a post "Prefill new posts' description with this" Description template + Explore popular accounts on this instance + Popular Accounts + Explore trending hashtags on this instance + Trending Hashtags + View daily trending posts + Trending Posts + Explore random posts of the day %d reply %d replies diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index a7cbef88..7da4b397 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -40,6 +40,14 @@ + + + + + + + + @@ -67,6 +75,14 @@ + + + + + + + + @@ -1106,6 +1122,14 @@ + + + + + + + + @@ -1125,6 +1149,14 @@ + + + + + + + + @@ -1722,6 +1754,14 @@ + + + + + + + + @@ -1741,6 +1781,14 @@ + + + + + + + + @@ -1760,6 +1808,14 @@ + + + + + + + + @@ -1779,6 +1835,14 @@ + + + + + + + + @@ -1798,6 +1862,14 @@ + + + + + + + + @@ -1817,6 +1889,14 @@ + + + + + + + + @@ -1836,6 +1916,14 @@ + + + + + + + + @@ -1855,6 +1943,14 @@ + + + + + + + +