From bfa847130e404c58d69ea7b1e4228c996688cf9d Mon Sep 17 00:00:00 2001 From: aayush262 Date: Sat, 18 May 2024 23:49:43 +0530 Subject: [PATCH] fix: idr --- .../connections/anilist/AnilistQueries.kt | 2 +- .../connections/github/Contributors.kt | 6 +- .../java/ani/dantotsu/home/status/Stories.kt | 81 +++++++++++-------- .../ani/dantotsu/settings/SubscriptionItem.kt | 4 +- app/src/main/res/layout/item_follower.xml | 5 +- .../main/res/layout/item_search_history.xml | 2 +- app/src/main/res/layout/item_subscription.xml | 25 +++++- 7 files changed, 81 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt index e98966e6..c77cf105 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistQueries.kt @@ -1505,7 +1505,7 @@ Page(page:$page,perPage:50) { return author } - suspend fun getReviews(mediaId: Int, page: Int = 1, sort: String = "UPDATED_AT_DESC"): Query.ReviewsResponse? { + suspend fun getReviews(mediaId: Int, page: Int = 1, sort: String = "CREATED_AT_DESC"): Query.ReviewsResponse? { return executeQuery( """{Page(page:$page,perPage:10){pageInfo{currentPage,hasNextPage,total}reviews(mediaId:$mediaId,sort:$sort){id,mediaId,mediaType,summary,body(asHtml:true)rating,ratingAmount,userRating,score,private,siteUrl,createdAt,updatedAt,user{id,name,bannerImage avatar{medium,large}}}}}""", force = true diff --git a/app/src/main/java/ani/dantotsu/connections/github/Contributors.kt b/app/src/main/java/ani/dantotsu/connections/github/Contributors.kt index b8863310..337e4c49 100644 --- a/app/src/main/java/ani/dantotsu/connections/github/Contributors.kt +++ b/app/src/main/java/ani/dantotsu/connections/github/Contributors.kt @@ -84,15 +84,15 @@ class Contributors { "https://anilist.co/user/6244220" ), Developer( - "Zaidsenior", + "Ziadsenior", "https://s4.anilist.co/file/anilistcdn/user/avatar/large/b6049773-8cjYeUOFUguv.jpg", - "Comment Moderator", + "Comment Moderator and Arabic Translator", "https://anilist.co/user/6049773" ), Developer( "hastsu", "https://cdn.discordapp.com/avatars/602422545077108749/20b4a6efa4314550e4ed51cdbe4fef3d.webp?size=160", - "Comment Moderator", + "Comment Moderator and Arabic Translator", "https://anilist.co/user/6183359" ), ) diff --git a/app/src/main/java/ani/dantotsu/home/status/Stories.kt b/app/src/main/java/ani/dantotsu/home/status/Stories.kt index f0d3cf2b..2779eff5 100644 --- a/app/src/main/java/ani/dantotsu/home/status/Stories.kt +++ b/app/src/main/java/ani/dantotsu/home/status/Stories.kt @@ -42,6 +42,7 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.util.Calendar import java.util.Locale +import kotlin.math.abs class Stories @JvmOverloads constructor( @@ -264,29 +265,44 @@ class Stories @JvmOverloads constructor( private var startClickTime = 0L + private var startX = 0f + private var startY = 0f + private var isLongPress = false + private val swipeThreshold = 100 override fun onTouch(view: View?, event: MotionEvent?): Boolean { val maxClickDuration = 200 when (event?.action) { MotionEvent.ACTION_DOWN -> { + startX = event.x + startY = event.y startClickTime = Calendar.getInstance().timeInMillis pause() + isLongPress = false + } + + MotionEvent.ACTION_MOVE -> { + val deltaX = event.x - startX + val deltaY = event.y - startY + if (!isLongPress && (abs(deltaX) > swipeThreshold || abs(deltaY) > swipeThreshold)) { + isLongPress = true + } } MotionEvent.ACTION_UP -> { val clickDuration = Calendar.getInstance().timeInMillis - startClickTime - if (clickDuration < maxClickDuration) { - //click occurred - view?.let { - if (it.id == R.id.leftTouchPanel) { - leftPanelTouch() - } else if (it.id == R.id.rightTouchPanel) { - rightPanelTouch() - } + if (clickDuration < maxClickDuration && !isLongPress) { + when (view?.id) { + R.id.leftTouchPanel -> leftPanelTouch() + R.id.rightTouchPanel -> rightPanelTouch() } } else { - //hold click occurred resume() } + val deltaX = event.x - startX + if (abs(deltaX) > swipeThreshold) { + if (deltaX > 0) onStoriesPrevious() + else onStoriesCompleted() + } } } return true @@ -359,16 +375,14 @@ class Stories @JvmOverloads constructor( ) } fun visible(isList: Boolean) { - val visible = if (isList) View.VISIBLE else View.GONE - val gone = if (isList) View.GONE else View.VISIBLE - binding.textActivity.visibility = gone - binding.textActivityContainer.visibility = gone - binding.infoText.visibility = visible - binding.coverImage.visibility = visible + binding.textActivity.isVisible = !isList + binding.textActivityContainer.isVisible = !isList + binding.infoText.isVisible = isList + binding.coverImage.isVisible = isList binding.infoText.visibility = if (isList) View.VISIBLE else View.INVISIBLE binding.infoText.text = "" - binding.contentImageViewKen.visibility = visible - binding.contentImageView.visibility = visible + binding.contentImageViewKen.isVisible = isList + binding.contentImageView.isVisible = isList } when (story.typename) { @@ -383,16 +397,15 @@ class Stories @JvmOverloads constructor( } } } ${story.progress ?: story.media?.title?.userPreferred} " + - if ( - story.status?.contains("completed") == false && - !story.status.contains("plans") && - !story.status.contains("repeating") - ) - { - "of ${story.media?.title?.userPreferred}" - } else { - "" - } + if ( + story.status?.contains("completed") == false && + !story.status.contains("plans") && + !story.status.contains("repeating") + ) { + "of ${story.media?.title?.userPreferred}" + } else { + "" + } binding.infoText.text = text val bannerAnimations: Boolean = PrefManager.getVal(PrefName.BannerAnimations) blurImage( @@ -404,18 +417,16 @@ class Stories @JvmOverloads constructor( ContextCompat.startActivity( context, Intent(context, MediaDetailsActivity::class.java).putExtra( - "mediaId", - story.media?.id - ), + "mediaId", + story.media?.id + ), ActivityOptionsCompat.makeSceneTransitionAnimation( activity, binding.coverImage, ViewCompat.getTransitionName(binding.coverImage)!! ).toBundle() ) - } - } "TextActivity" -> { @@ -445,11 +456,13 @@ class Stories @JvmOverloads constructor( val likeColor = ContextCompat.getColor(context, R.color.yt_red) val notLikeColor = ContextCompat.getColor(context, R.color.bg_opp) binding.activityRepliesContainer.setOnClickListener { - RepliesBottomDialog.newInstance(story.id).show(activity.supportFragmentManager, "replies") + RepliesBottomDialog.newInstance(story.id) + .show(activity.supportFragmentManager, "replies") } + binding.activityLike.setColorFilter(if (story.isLiked == true) likeColor else notLikeColor) binding.replyCount.text = story.replyCount.toString() binding.activityLikeCount.text = story.likeCount.toString() - binding.activityLike.setColorFilter(if (story.isLiked == true) likeColor else notLikeColor) + binding.activityLike.setColorFilter(ContextCompat.getColor(context, R.color.bg_opp)) binding.activityLikeContainer.setOnClickListener { like() } diff --git a/app/src/main/java/ani/dantotsu/settings/SubscriptionItem.kt b/app/src/main/java/ani/dantotsu/settings/SubscriptionItem.kt index 6c6cf941..bb8c0396 100644 --- a/app/src/main/java/ani/dantotsu/settings/SubscriptionItem.kt +++ b/app/src/main/java/ani/dantotsu/settings/SubscriptionItem.kt @@ -5,6 +5,7 @@ import android.view.View import androidx.core.content.ContextCompat import ani.dantotsu.R import ani.dantotsu.databinding.ItemSubscriptionBinding +import ani.dantotsu.loadImage import ani.dantotsu.media.MediaDetailsActivity import ani.dantotsu.notifications.subscription.SubscriptionHelper import com.xwray.groupie.GroupieAdapter @@ -25,7 +26,7 @@ class SubscriptionItem( else SubscriptionHelper.getMangaParser(media.id).name val mediaName = media.name - val showName = "$mediaName - $parserName" + val showName = "$mediaName ($parserName)" binding.subscriptionName.text = showName binding.root.setOnClickListener { ContextCompat.startActivity( @@ -36,6 +37,7 @@ class SubscriptionItem( null ) } + binding.subscriptionCover.loadImage(media.image) binding.deleteSubscription.setOnClickListener { SubscriptionHelper.deleteSubscription(id, true) adapter.remove(this) diff --git a/app/src/main/res/layout/item_follower.xml b/app/src/main/res/layout/item_follower.xml index 675e5451..6c236619 100644 --- a/app/src/main/res/layout/item_follower.xml +++ b/app/src/main/res/layout/item_follower.xml @@ -74,11 +74,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="start|center_vertical" - android:ellipsize="end" android:fontFamily="@font/poppins_semi_bold" + android:ellipsize="end" + android:alpha="0.75" android:maxLines="2" android:text="@string/lorem_ipsum" - android:textSize="14sp" + android:textSize="12sp" android:visibility="gone" /> diff --git a/app/src/main/res/layout/item_search_history.xml b/app/src/main/res/layout/item_search_history.xml index 82155f90..237ecbef 100644 --- a/app/src/main/res/layout/item_search_history.xml +++ b/app/src/main/res/layout/item_search_history.xml @@ -30,7 +30,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:src="@drawable/ic_circle_cancel" + android:src="@drawable/ic_round_close_24" android:textSize="14sp" app:tint="?attr/colorOnBackground" tools:ignore="ContentDescription" /> diff --git a/app/src/main/res/layout/item_subscription.xml b/app/src/main/res/layout/item_subscription.xml index be8dd588..d6609cd6 100644 --- a/app/src/main/res/layout/item_subscription.xml +++ b/app/src/main/res/layout/item_subscription.xml @@ -8,14 +8,35 @@ android:layout_marginHorizontal="8dp" android:orientation="horizontal" tools:ignore="UseCompoundDrawables"> + + + + @@ -26,7 +47,7 @@ android:layout_gravity="center_vertical" android:layout_marginEnd="8dp" android:contentDescription="@string/delete" - android:src="@drawable/ic_circle_cancel" + android:src="@drawable/ic_round_close_24" app:tint="?attr/colorOnBackground" /> \ No newline at end of file