From b0dbd7a348d1cf96e151b684787ffbd081778a9c Mon Sep 17 00:00:00 2001
From: rebelonion <87634197+rebelonion@users.noreply.github.com>
Date: Wed, 20 Mar 2024 04:10:12 -0500
Subject: [PATCH 1/6] fix: add a check for minimum poll time
---
app/build.gradle | 2 +-
.../java/ani/dantotsu/notifications/AlarmManagerScheduler.kt | 4 ++++
.../java/ani/dantotsu/notifications/WorkManagerScheduler.kt | 4 ++++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/app/build.gradle b/app/build.gradle
index 8886aa90..f7a04f77 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -15,7 +15,7 @@ android {
targetSdk 34
versionCode((System.currentTimeMillis() / 60000).toInteger())
versionName "3.0.0"
- versionCode 220000000
+ versionCode 300000000
signingConfig signingConfigs.debug
}
diff --git a/app/src/main/java/ani/dantotsu/notifications/AlarmManagerScheduler.kt b/app/src/main/java/ani/dantotsu/notifications/AlarmManagerScheduler.kt
index 9c89a582..2c729d0b 100644
--- a/app/src/main/java/ani/dantotsu/notifications/AlarmManagerScheduler.kt
+++ b/app/src/main/java/ani/dantotsu/notifications/AlarmManagerScheduler.kt
@@ -15,6 +15,10 @@ import java.util.concurrent.TimeUnit
class AlarmManagerScheduler(private val context: Context) : TaskScheduler {
override fun scheduleRepeatingTask(taskType: TaskType, interval: Long) {
+ if (interval < TimeUnit.MINUTES.toMillis(15)) {
+ cancelTask(taskType)
+ return
+ }
val alarmManager = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
val intent = when (taskType) {
TaskType.COMMENT_NOTIFICATION -> Intent(
diff --git a/app/src/main/java/ani/dantotsu/notifications/WorkManagerScheduler.kt b/app/src/main/java/ani/dantotsu/notifications/WorkManagerScheduler.kt
index 0a26213e..422f5586 100644
--- a/app/src/main/java/ani/dantotsu/notifications/WorkManagerScheduler.kt
+++ b/app/src/main/java/ani/dantotsu/notifications/WorkManagerScheduler.kt
@@ -10,6 +10,10 @@ import ani.dantotsu.notifications.subscription.SubscriptionNotificationWorker
class WorkManagerScheduler(private val context: Context) : TaskScheduler {
override fun scheduleRepeatingTask(taskType: TaskType, interval: Long) {
+ if (interval < PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS) {
+ cancelTask(taskType)
+ return
+ }
val constraints = Constraints.Builder()
.setRequiredNetworkType(androidx.work.NetworkType.CONNECTED)
.build()
From 23e6323f92d52dd1023936695d05727488975f04 Mon Sep 17 00:00:00 2001
From: rebelonion <87634197+rebelonion@users.noreply.github.com>
Date: Wed, 20 Mar 2024 04:29:14 -0500
Subject: [PATCH 2/6] fix: comment reply dead scrolling space
---
app/src/main/res/layout/item_activity.xml | 1 +
app/src/main/res/layout/item_comments.xml | 1 +
2 files changed, 2 insertions(+)
diff --git a/app/src/main/res/layout/item_activity.xml b/app/src/main/res/layout/item_activity.xml
index 5823bdaa..be5c31b8 100644
--- a/app/src/main/res/layout/item_activity.xml
+++ b/app/src/main/res/layout/item_activity.xml
@@ -225,6 +225,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone"
+ android:nestedScrollingEnabled="false"
android:layout_marginStart="16dp"/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_comments.xml b/app/src/main/res/layout/item_comments.xml
index 2bc15c09..21111c9b 100644
--- a/app/src/main/res/layout/item_comments.xml
+++ b/app/src/main/res/layout/item_comments.xml
@@ -318,6 +318,7 @@
android:paddingStart="16dp"
android:visibility="visible"
tools:ignore="RtlSymmetry"
+ android:nestedScrollingEnabled="false"
tools:visibility="visible" />
\ No newline at end of file
From b454a2e3d9fa1fce092d5715740ccf493591cdc5 Mon Sep 17 00:00:00 2001
From: rebelonion <87634197+rebelonion@users.noreply.github.com>
Date: Wed, 20 Mar 2024 13:08:46 -0500
Subject: [PATCH 3/6] fix: comment notification at bottom
---
.../java/ani/dantotsu/profile/activity/NotificationActivity.kt | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/src/main/java/ani/dantotsu/profile/activity/NotificationActivity.kt b/app/src/main/java/ani/dantotsu/profile/activity/NotificationActivity.kt
index fe01db58..9b68f377 100644
--- a/app/src/main/java/ani/dantotsu/profile/activity/NotificationActivity.kt
+++ b/app/src/main/java/ani/dantotsu/profile/activity/NotificationActivity.kt
@@ -129,6 +129,7 @@ class NotificationActivity : AppCompatActivity() {
)
newNotifications += notification
}
+ newNotifications.sortByDescending { it.createdAt }
}
notificationList += newNotifications
From 3bbf9efe635167bb06564d7e820fc28a1bbd3c05 Mon Sep 17 00:00:00 2001
From: rebelonion <87634197+rebelonion@users.noreply.github.com>
Date: Wed, 20 Mar 2024 13:54:25 -0500
Subject: [PATCH 4/6] dix: comment scroll deadspace
---
.../java/ani/dantotsu/media/comments/CommentsFragment.kt | 1 +
app/src/main/res/layout/fragment_comments.xml | 7 ++++---
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt b/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt
index e0fe6203..5e699799 100644
--- a/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt
+++ b/app/src/main/java/ani/dantotsu/media/comments/CommentsFragment.kt
@@ -66,6 +66,7 @@ class CommentsFragment : Fragment() {
savedInstanceState: Bundle?
): View {
binding = FragmentCommentsBinding.inflate(inflater, container, false)
+ binding.commentsLayout.isNestedScrollingEnabled = true
return binding.root
}
diff --git a/app/src/main/res/layout/fragment_comments.xml b/app/src/main/res/layout/fragment_comments.xml
index 580e7ed3..4004a427 100644
--- a/app/src/main/res/layout/fragment_comments.xml
+++ b/app/src/main/res/layout/fragment_comments.xml
@@ -1,11 +1,12 @@
-
+ android:background="?android:colorBackground"
+ android:fillViewport="true">
-
+
From adb304f1381b9189c46a7f595a3301f6c84dc14f Mon Sep 17 00:00:00 2001
From: rebelonion <87634197+rebelonion@users.noreply.github.com>
Date: Wed, 20 Mar 2024 14:29:52 -0500
Subject: [PATCH 5/6] fix: manga/anime page noti icon updating
---
app/src/main/java/ani/dantotsu/home/AnimeFragment.kt | 3 +++
app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt | 8 ++++++++
app/src/main/java/ani/dantotsu/home/MangaFragment.kt | 3 +++
app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt | 8 ++++++++
4 files changed, 22 insertions(+)
diff --git a/app/src/main/java/ani/dantotsu/home/AnimeFragment.kt b/app/src/main/java/ani/dantotsu/home/AnimeFragment.kt
index 2e110541..c7434c96 100644
--- a/app/src/main/java/ani/dantotsu/home/AnimeFragment.kt
+++ b/app/src/main/java/ani/dantotsu/home/AnimeFragment.kt
@@ -283,6 +283,9 @@ class AnimeFragment : Fragment() {
binding.root.requestApplyInsets()
binding.root.requestLayout()
}
+ if (this::animePageAdapter.isInitialized && _binding != null) {
+ animePageAdapter.updateNotificationCount()
+ }
super.onResume()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt b/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt
index 7665ace2..2c60b3ac 100644
--- a/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/home/AnimePageAdapter.kt
@@ -215,6 +215,14 @@ class AnimePageAdapter : RecyclerView.Adapter 0) View.VISIBLE else View.GONE
+ binding.animeNotificationCount.text = Anilist.unreadNotificationCount.toString()
+ }
+ }
+
inner class AnimePageViewHolder(val binding: ItemAnimePageBinding) :
RecyclerView.ViewHolder(binding.root)
}
diff --git a/app/src/main/java/ani/dantotsu/home/MangaFragment.kt b/app/src/main/java/ani/dantotsu/home/MangaFragment.kt
index efe39ed6..24eedc27 100644
--- a/app/src/main/java/ani/dantotsu/home/MangaFragment.kt
+++ b/app/src/main/java/ani/dantotsu/home/MangaFragment.kt
@@ -258,6 +258,9 @@ class MangaFragment : Fragment() {
binding.root.requestApplyInsets()
binding.root.requestLayout()
}
+ if (this::mangaPageAdapter.isInitialized && _binding != null) {
+ mangaPageAdapter.updateNotificationCount()
+ }
super.onResume()
}
diff --git a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt
index f4b34f7d..2aef3b6b 100644
--- a/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt
+++ b/app/src/main/java/ani/dantotsu/home/MangaPageAdapter.kt
@@ -200,6 +200,14 @@ class MangaPageAdapter : RecyclerView.Adapter 0) View.VISIBLE else View.GONE
+ binding.mangaNotificationCount.text = Anilist.unreadNotificationCount.toString()
+ }
+ }
+
inner class MangaPageViewHolder(val binding: ItemMangaPageBinding) :
RecyclerView.ViewHolder(binding.root)
}
From 42f23e4345450601a69e9450b2d6bdb8989126f6 Mon Sep 17 00:00:00 2001
From: aayush262
Date: Thu, 21 Mar 2024 01:18:36 +0530
Subject: [PATCH 6/6] dix: many small changes
---
.../profile/activity/NotificationItem.kt | 16 +++++++-
app/src/main/res/layout/item_activity.xml | 41 +++++++++++--------
app/src/main/res/layout/item_follower.xml | 2 +-
app/src/main/res/layout/item_notification.xml | 27 +++++++-----
app/src/main/res/values-night/colors.xml | 4 +-
app/src/main/res/values/colors.xml | 6 +--
6 files changed, 60 insertions(+), 36 deletions(-)
diff --git a/app/src/main/java/ani/dantotsu/profile/activity/NotificationItem.kt b/app/src/main/java/ani/dantotsu/profile/activity/NotificationItem.kt
index 961d4c1a..bf56db20 100644
--- a/app/src/main/java/ani/dantotsu/profile/activity/NotificationItem.kt
+++ b/app/src/main/java/ani/dantotsu/profile/activity/NotificationItem.kt
@@ -2,6 +2,8 @@ package ani.dantotsu.profile.activity
import android.util.TypedValue
import android.view.View
+import android.view.ViewGroup
+import androidx.core.view.updateLayoutParams
import ani.dantotsu.R
import ani.dantotsu.blurImage
import ani.dantotsu.connections.anilist.api.Notification
@@ -37,17 +39,25 @@ class NotificationItem(
?: notification.user?.avatar?.medium else notification.media?.bannerImage
?: notification.media?.coverImage?.large
blurImage(binding.notificationBannerImage, cover)
+
val defaultHeight = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
- 170f,
+ 153f,
binding.root.context.resources.displayMetrics
).toInt()
+
val userHeight = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
90f,
binding.root.context.resources.displayMetrics
).toInt()
+ val textMarginStart = TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP,
+ 125f,
+ binding.root.context.resources.displayMetrics
+ ).toInt()
+
if (user) {
binding.notificationCover.visibility = View.GONE
binding.notificationCoverUser.visibility = View.VISIBLE
@@ -60,12 +70,16 @@ class NotificationItem(
binding.notificationCoverUser.loadImage(notification.user?.avatar?.large)
}
binding.notificationBannerImage.layoutParams.height = userHeight
+ binding.notificationGradiant.layoutParams.height = userHeight
+ (binding.notificationTextContainer.layoutParams as ViewGroup.MarginLayoutParams).marginStart = userHeight
} else {
binding.notificationCover.visibility = View.VISIBLE
binding.notificationCoverUser.visibility = View.VISIBLE
binding.notificationCoverUserContainer.visibility = View.GONE
binding.notificationCover.loadImage(notification.media?.coverImage?.large)
binding.notificationBannerImage.layoutParams.height = defaultHeight
+ binding.notificationGradiant.layoutParams.height = defaultHeight
+ (binding.notificationTextContainer.layoutParams as ViewGroup.MarginLayoutParams).marginStart = textMarginStart
}
}
diff --git a/app/src/main/res/layout/item_activity.xml b/app/src/main/res/layout/item_activity.xml
index be5c31b8..03b96d30 100644
--- a/app/src/main/res/layout/item_activity.xml
+++ b/app/src/main/res/layout/item_activity.xml
@@ -94,14 +94,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="18dp"
- android:layout_marginEnd="18dp"
android:layout_marginTop="3dp"
+ android:layout_marginEnd="18dp"
+ android:background="?android:colorBackground"
android:fontFamily="@font/poppins_semi_bold"
android:text="@string/lorem_ipsum"
android:textAlignment="center"
- tools:visibility="gone"
- android:background="?android:colorBackground"
- android:textSize="12sp" />
+ android:textSize="12sp"
+ tools:visibility="gone" />
+ app:cardCornerRadius="24dp"
+ app:strokeColor="@color/transparent">
@@ -128,8 +128,8 @@
@@ -138,14 +138,16 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
+ android:layout_margin="16dp"
android:layout_marginStart="16dp"
android:backgroundTint="@color/bg_white"
- app:cardCornerRadius="16dp">
+ app:cardCornerRadius="16dp"
+ app:strokeColor="@color/transparent">
+ android:orientation="vertical"
+ android:padding="8dp">
@@ -224,8 +229,8 @@
android:id="@+id/activityReplies"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:visibility="gone"
+ android:layout_marginStart="16dp"
android:nestedScrollingEnabled="false"
- android:layout_marginStart="16dp"/>
+ android:visibility="gone" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_follower.xml b/app/src/main/res/layout/item_follower.xml
index 949d39ed..2908ff31 100644
--- a/app/src/main/res/layout/item_follower.xml
+++ b/app/src/main/res/layout/item_follower.xml
@@ -18,7 +18,7 @@
diff --git a/app/src/main/res/layout/item_notification.xml b/app/src/main/res/layout/item_notification.xml
index de373fe1..77868138 100644
--- a/app/src/main/res/layout/item_notification.xml
+++ b/app/src/main/res/layout/item_notification.xml
@@ -19,14 +19,15 @@
@@ -35,18 +36,19 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
- android:layout_marginStart="16dp"
+ android:layout_margin="16dp"
android:backgroundTint="@color/transparent"
app:cardCornerRadius="16dp"
app:strokeColor="@color/transparent">
@@ -74,11 +76,14 @@
+ tools:ignore="HardcodedText,SmallSp" />
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 981a2b94..8c8f32b9 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -6,8 +6,8 @@
#1C1C1C
#001C1C1C
#40ffffff
- #AA1C1C1C
- #20000000
+ #AA1C1C1C
+ #434343
#40ffffff
#00000000
#80000000
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 51a30a31..5a4dcc12 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -11,10 +11,10 @@
#80000000
#fff
#00BFAEAE
- #40000000
- #88989898
- #00FFFFFF
+ #ACACAC
+ #00BFAEAE
#19000000
+ #40000000
#00000000
#A9FFFFFF
#80FFFFFF