From c947dbdb7076adc00bbd7667dbc2e0b1a8cd0083 Mon Sep 17 00:00:00 2001 From: aayush262 Date: Sun, 28 Apr 2024 03:30:14 +0530 Subject: [PATCH] feat(social): only save last 100 activity ids --- .../main/java/ani/dantotsu/home/status/StatusActivity.kt | 6 +++--- app/src/main/java/ani/dantotsu/home/status/Stories.kt | 2 +- .../main/java/ani/dantotsu/home/status/UserStatusAdapter.kt | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/home/status/StatusActivity.kt b/app/src/main/java/ani/dantotsu/home/status/StatusActivity.kt index 0fe55cb175..213b5add82 100644 --- a/app/src/main/java/ani/dantotsu/home/status/StatusActivity.kt +++ b/app/src/main/java/ani/dantotsu/home/status/StatusActivity.kt @@ -42,7 +42,7 @@ class StatusActivity : AppCompatActivity(), StoriesCallback { slideOutLeft = AnimationUtils.loadAnimation(this, R.anim.slide_out_left) slideInRight = AnimationUtils.loadAnimation(this, R.anim.slide_in_right) - val watchedActivity = PrefManager.getCustomVal>("${activity[position].id}_activities", setOf()) + val watchedActivity = PrefManager.getCustomVal>("activities", setOf()) val startFrom = findFirstNonMatch(watchedActivity, activity[position].activity ) val startIndex = if ( startFrom > 0) startFrom else 0 binding.stories.setStoriesList(activity[position].activity, this, startIndex + 1) @@ -77,7 +77,7 @@ class StatusActivity : AppCompatActivity(), StoriesCallback { override fun onStoriesEnd() { position += 1 if (position < activity.size - 1) { - val watchedActivity = PrefManager.getCustomVal>("${activity[position].id}_activities", setOf()) + val watchedActivity = PrefManager.getCustomVal>("activities", setOf()) val startFrom = findFirstNonMatch(watchedActivity, activity[position].activity ) val startIndex= if ( startFrom > 0) startFrom else 0 binding.stories.startAnimation(slideOutLeft) @@ -91,7 +91,7 @@ class StatusActivity : AppCompatActivity(), StoriesCallback { override fun onStoriesStart() { position -= 1 if (position >= 0) { - val watchedActivity = PrefManager.getCustomVal>("${activity[position].id}_activities", setOf()) + val watchedActivity = PrefManager.getCustomVal>("activities", setOf()) val startFrom = findFirstNonMatch(watchedActivity, activity[position].activity ) val startIndex = if ( startFrom > 0) startFrom else 0 binding.stories.startAnimation(slideOutRight) 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 6cbc2584e0..521d5835d7 100644 --- a/app/src/main/java/ani/dantotsu/home/status/Stories.kt +++ b/app/src/main/java/ani/dantotsu/home/status/Stories.kt @@ -384,7 +384,7 @@ constructor( loadingView.visibility = View.GONE animation.start() - val key = "${story.user?.id}_activities" + val key = "activities" val set = PrefManager.getCustomVal>(key, setOf()).plus((story.id)) PrefManager.setCustomVal(key, set) diff --git a/app/src/main/java/ani/dantotsu/home/status/UserStatusAdapter.kt b/app/src/main/java/ani/dantotsu/home/status/UserStatusAdapter.kt index f2ba73d828..e6279a75cf 100644 --- a/app/src/main/java/ani/dantotsu/home/status/UserStatusAdapter.kt +++ b/app/src/main/java/ani/dantotsu/home/status/UserStatusAdapter.kt @@ -63,11 +63,11 @@ class UserStatusAdapter(private val user: ArrayList) : b.profileUserAvatar.loadImage(user.pfp) b.profileUserName.text = if (Anilist.userid == user.id) getAppString(R.string.your_story) else user.name - val watchedActivity = - PrefManager.getCustomVal>("${user.id}_activities", setOf()) + val watchedActivity = PrefManager.getCustomVal>("activities", setOf()) val booleanList = user.activity.map { watchedActivity.contains(it.id) } b.profileUserStatusIndicator.setParts(user.activity.size, booleanList, user.id == Anilist.userid) - + val newList = watchedActivity.sorted().takeLast(100) + PrefManager.setCustomVal("activities",newList.toSet()) } override fun getItemCount(): Int = user.size