Fix empty library clear, comment ui change

This commit is contained in:
Kelvin K
2025-11-24 23:36:12 +01:00
parent a070d78dd9
commit 40a058e369
5 changed files with 41 additions and 16 deletions
@@ -12,6 +12,7 @@ import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.collection.emptyLongSet
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
@@ -273,6 +274,8 @@ class LibraryFragment : MainFragment() {
"No artists were found on your device",
-1
);
else
sectionArtists.clearEmpty();
}
else if(Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
sectionAlbums.isVisible = false;
@@ -290,6 +293,8 @@ class LibraryFragment : MainFragment() {
adapterAlbums.setData(albums);
if (albums.size == 0)
sectionAlbums.setEmpty("No albums", "No albums were found on your device", -1);
else
sectionAlbums.clearEmpty();
}
else if(Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
sectionArtists.isVisible = false;
@@ -307,6 +312,8 @@ class LibraryFragment : MainFragment() {
adapterVideos.setData(videos);
if (videos.size == 0)
sectionVideos.setEmpty("No videos", "No videos were found on your device", -1);
else
sectionVideos.clearEmpty();
}
else if(Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
sectionVideos.isVisible = false;
@@ -53,4 +53,8 @@ class LibrarySection: ConstraintLayout {
recycler.isVisible = false;
noContent.setText(title, txt, iconId);
}
fun clearEmpty() {
noContent.isVisible = false;
recycler.isVisible = true;
}
}
@@ -3,9 +3,7 @@ package com.futo.platformplayer.views.adapters
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.view.GestureDetector
import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
@@ -46,7 +44,7 @@ class CommentViewHolder : ViewHolder {
private val _imageLikeIcon: ImageView;
private val _textLikes: TextView;
private val _imageDislikeIcon: ImageView;
private val _imageCopy: ImageView;
private val _buttonCopy: PillButton;
private val _textDislikes: TextView;
private val _buttonReplies: PillButton;
private val _layoutRating: LinearLayout;
@@ -70,7 +68,7 @@ class CommentViewHolder : ViewHolder {
_textMetadata = itemView.findViewById(R.id.text_metadata);
_textBody = itemView.findViewById(R.id.text_body);
_imageLikeIcon = itemView.findViewById(R.id.image_like_icon);
_imageCopy = itemView.findViewById(R.id.image_copy);
_buttonCopy = itemView.findViewById(R.id.image_copy);
_textLikes = itemView.findViewById(R.id.text_likes);
_imageDislikeIcon = itemView.findViewById(R.id.image_dislike_icon);
_textDislikes = itemView.findViewById(R.id.text_dislikes);
@@ -105,7 +103,8 @@ class CommentViewHolder : ViewHolder {
StatePolycentric.instance.updateLikeMap(c.reference, args.hasLiked, args.hasDisliked)
};
_imageCopy.setOnLongClickListener {
_buttonCopy.setTransparant()
_buttonCopy.onClick.subscribe {
val clipboard = viewGroup.context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
val text = comment?.message.orEmpty()
val clip = ClipData.newPlainText("Comment", text)
@@ -7,11 +7,15 @@ import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.compose.ui.graphics.Color
import androidx.core.view.isVisible
import com.futo.platformplayer.R
import com.futo.platformplayer.constructs.Event0
import com.futo.platformplayer.dp
import com.futo.platformplayer.views.LoaderView
class PillButton : LinearLayout {
val root: LinearLayout;
val icon: ImageView;
val text: TextView;
val loaderView: LoaderView;
@@ -23,6 +27,7 @@ class PillButton : LinearLayout {
icon = findViewById(R.id.pill_icon);
text = findViewById(R.id.pill_text);
loaderView = findViewById(R.id.loader)
root = findViewById<LinearLayout>(R.id.root);
val attrArr = context.obtainStyledAttributes(attrs, R.styleable.PillButton, 0, 0);
val attrIconRef = attrArr.getResourceId(R.styleable.PillButton_pillIcon, -1);
@@ -34,6 +39,13 @@ class PillButton : LinearLayout {
val attrText = attrArr.getText(R.styleable.PillButton_pillText) ?: "";
text.text = attrText;
if(text.text.isNullOrBlank()) {
val dp6 = 6.dp(resources);
val dp7 = 7.dp(resources);
val dp12 = 12.dp(resources);
root.setPadding(dp7, dp6, dp7, dp7)
}
findViewById<LinearLayout>(R.id.root).setOnClickListener {
if (_isLoading) {
return@setOnClickListener
@@ -43,6 +55,10 @@ class PillButton : LinearLayout {
};
}
fun setTransparant() {
root.setBackgroundColor(0);
}
fun setLoading(loading: Boolean) {
if (loading == _isLoading) {
return
+10 -11
View File
@@ -96,16 +96,6 @@
android:layout_marginTop="8dp"
android:gravity="center_vertical">
<ImageView
android:id="@+id/image_copy"
android:layout_width="18dp"
android:layout_height="18dp"
android:contentDescription="@string/copy"
app:srcCompat="@drawable/ic_copy"
app:tint="@color/white"
android:background="@drawable/background_pill"
android:layout_marginStart="9dp" />
<com.futo.platformplayer.views.pills.PillRatingLikesDislikes
android:id="@+id/rating"
android:layout_width="wrap_content"
@@ -160,6 +150,15 @@
android:textColor="@color/white"
android:textSize="13dp" />
</LinearLayout>
<com.futo.platformplayer.views.pills.PillButton
android:id="@+id/image_copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:pillIcon="@drawable/ic_copy"
app:pillText=""
android:layout_marginStart="15dp"
android:layout_marginEnd="0dp"/>
<com.futo.platformplayer.views.pills.PillButton
android:id="@+id/button_replies"
android:layout_width="wrap_content"
@@ -167,7 +166,7 @@
android:contentDescription="@string/cd_button_replies"
app:pillIcon="@drawable/ic_forum"
app:pillText="55 Replies"
android:layout_marginStart="15dp" />
android:layout_marginStart="2dp" />
<Space android:layout_width="0dp"
android:layout_height="match_parent"