diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8408d9ff..8590ff4d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -115,7 +115,7 @@
android:windowSoftInputMode="adjustResize|stateHidden"
android:parentActivityName=".MainActivity" />
diff --git a/app/src/main/java/ani/dantotsu/home/HomeFragment.kt b/app/src/main/java/ani/dantotsu/home/HomeFragment.kt
index e0a2dc14..9652c43b 100644
--- a/app/src/main/java/ani/dantotsu/home/HomeFragment.kt
+++ b/app/src/main/java/ani/dantotsu/home/HomeFragment.kt
@@ -32,6 +32,7 @@ import ani.dantotsu.media.Media
import ani.dantotsu.media.MediaAdaptor
import ani.dantotsu.media.user.ListActivity
import ani.dantotsu.navBarHeight
+import ani.dantotsu.profile.ProfileActivity
import ani.dantotsu.setSafeOnClickListener
import ani.dantotsu.setSlideIn
import ani.dantotsu.setSlideUp
@@ -120,6 +121,13 @@ class HomeFragment : Fragment() {
"dialog"
)
}
+ binding.homeUserAvatarContainer.setOnLongClickListener {
+ ContextCompat.startActivity(
+ requireContext(), Intent(requireContext(), ProfileActivity::class.java)
+ .putExtra("userId", Anilist.userid), null
+ )
+ false
+ }
binding.homeContainer.updateLayoutParams {
bottomMargin = navBarHeight
diff --git a/app/src/main/java/ani/dantotsu/profile/FollowActivity.kt b/app/src/main/java/ani/dantotsu/profile/FollowActivity.kt
index 9cb1b612..fa30f6a3 100644
--- a/app/src/main/java/ani/dantotsu/profile/FollowActivity.kt
+++ b/app/src/main/java/ani/dantotsu/profile/FollowActivity.kt
@@ -2,6 +2,7 @@ package ani.dantotsu.profile
import android.content.Intent
import android.os.Bundle
+import android.view.View
import android.view.ViewGroup.MarginLayoutParams
import android.widget.ImageButton
import androidx.appcompat.app.AppCompatActivity
@@ -47,7 +48,7 @@ class FollowActivity : AppCompatActivity(){
false
)
binding.listRecyclerView.adapter = adapter
-
+ binding.listProgressBar.visibility = View.VISIBLE
binding.listBack.setOnClickListener { finish() }
val title = intent.getStringExtra("title")
@@ -63,6 +64,7 @@ class FollowActivity : AppCompatActivity(){
users = respond
withContext(Dispatchers.Main) {
fillList()
+ binding.listProgressBar.visibility = View.GONE
}
}
binding.followerList.setOnClickListener {
@@ -86,7 +88,7 @@ class FollowActivity : AppCompatActivity(){
}
users?.forEach { user ->
if (getLayoutType(selected) == 0) {
- adapter.add(FollowerItem(user.id, user.name ?: "Unknown", user.avatar?.medium, user.bannerImage) { onUserClick(it) })
+ adapter.add(FollowerItem(user.id, user.name ?: "Unknown", user.avatar?.medium, user.bannerImage ?: user.avatar?.medium ) { onUserClick(it) })
} else {
adapter.add(GridFollowerItem(user.id, user.name ?: "Unknown", user.avatar?.medium) { onUserClick(it) })
}
diff --git a/app/src/main/java/ani/dantotsu/profile/FollowerItem.kt b/app/src/main/java/ani/dantotsu/profile/FollowerItem.kt
index 378a1b82..f09c2435 100644
--- a/app/src/main/java/ani/dantotsu/profile/FollowerItem.kt
+++ b/app/src/main/java/ani/dantotsu/profile/FollowerItem.kt
@@ -33,7 +33,7 @@ class FollowerItem(
Glide.with(context as Context)
.load(GlideUrl(banner))
.diskCacheStrategy(DiskCacheStrategy.ALL).override(400)
- .apply(RequestOptions.bitmapTransform(BlurTransformation(2, 6)))
+ .apply(RequestOptions.bitmapTransform(BlurTransformation(2, 2)))
.into(binding.profileBannerImage)
} else {
binding.profileBannerImage.setImageResource(R.drawable.linear_gradient_bg)
diff --git a/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt b/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt
index a7afa0f5..b180a833 100644
--- a/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt
+++ b/app/src/main/java/ani/dantotsu/profile/ProfileActivity.kt
@@ -22,6 +22,7 @@ import ani.dantotsu.initActivity
import ani.dantotsu.loadImage
import ani.dantotsu.navBarHeight
import ani.dantotsu.others.ImageViewDialog
+import ani.dantotsu.profile.activity.ActivityActivity
import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName
import ani.dantotsu.snackString
diff --git a/app/src/main/java/ani/dantotsu/profile/ActivityActivity.kt b/app/src/main/java/ani/dantotsu/profile/activity/ActivityActivity.kt
similarity index 77%
rename from app/src/main/java/ani/dantotsu/profile/ActivityActivity.kt
rename to app/src/main/java/ani/dantotsu/profile/activity/ActivityActivity.kt
index 341bde71..a9482820 100644
--- a/app/src/main/java/ani/dantotsu/profile/ActivityActivity.kt
+++ b/app/src/main/java/ani/dantotsu/profile/activity/ActivityActivity.kt
@@ -1,4 +1,4 @@
-package ani.dantotsu.profile
+package ani.dantotsu.profile.activity
import android.annotation.SuppressLint
import android.os.Bundle
@@ -11,11 +11,12 @@ import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.connections.anilist.api.Activity
import ani.dantotsu.databinding.ActivityFollowBinding
import ani.dantotsu.initActivity
-import ani.dantotsu.profile.activity.ActivityItem
import ani.dantotsu.statusBarHeight
import ani.dantotsu.themes.ThemeManager
import com.xwray.groupie.GroupieAdapter
+import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
class ActivityActivity : AppCompatActivity() {
private lateinit var binding: ActivityFollowBinding
@@ -39,16 +40,20 @@ class ActivityActivity : AppCompatActivity() {
binding.listBack.setOnClickListener {
onBackPressed()
}
-
+ binding.listProgressBar.visibility = ViewGroup.VISIBLE
var userId: Int? = intent.getIntExtra("userId", -1)
if (userId == -1) userId = null
val global = intent.getBooleanExtra("global", false)
- lifecycleScope.launch {
+ lifecycleScope.launch(Dispatchers.IO) {
val res = Anilist.query.getFeed(userId, global)
- res?.data?.page?.activities?.let { activities ->
- activityList = activities
- adapter.update(activityList.map { ActivityItem(it){} })
+
+ withContext(Dispatchers.Main){
+ res?.data?.page?.activities?.let { activities ->
+ activityList = activities
+ adapter.update(activityList.map { ActivityItem(it){} })
+ }
+ binding.listProgressBar.visibility = ViewGroup.GONE
}
}
}
diff --git a/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt b/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt
index ee7481c6..5744c6c6 100644
--- a/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt
+++ b/app/src/main/java/ani/dantotsu/profile/activity/ActivityItem.kt
@@ -1,5 +1,6 @@
package ani.dantotsu.profile.activity
+import android.annotation.SuppressLint
import android.content.Context
import android.view.View
import androidx.core.content.ContextCompat
@@ -20,6 +21,7 @@ class ActivityItem(
val clickCallback: (Int) -> Unit
): BindableItem() {
private lateinit var binding: ItemActivityBinding
+ @SuppressLint("SetTextI18n")
override fun bind(viewBinding: ItemActivityBinding, position: Int) {
binding = viewBinding
@@ -45,12 +47,13 @@ class ActivityItem(
binding.activityCover.loadImage(activity.media.coverImage?.medium)
val banner = activity.media.bannerImage
if (banner != null) {
- if (!(context as android.app.Activity).isDestroyed)
- Glide.with(context as Context)
- .load(GlideUrl(banner))
- .diskCacheStrategy(DiskCacheStrategy.ALL).override(400)
- .apply(RequestOptions.bitmapTransform(BlurTransformation(2, 2)))
- .into(binding.activityBannerImage)
+ if (!(context as android.app.Activity).isDestroyed) {
+ Glide.with(context as Context)
+ .load(GlideUrl(banner))
+ .diskCacheStrategy(DiskCacheStrategy.ALL).override(400)
+ .apply(RequestOptions.bitmapTransform(BlurTransformation(2, 2)))
+ .into(binding.activityBannerImage)
+ }
} else {
binding.activityBannerImage.setImageResource(R.drawable.linear_gradient_bg)
}
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 a7ff26dc..f699b274 100644
--- a/app/src/main/java/ani/dantotsu/profile/activity/NotificationActivity.kt
+++ b/app/src/main/java/ani/dantotsu/profile/activity/NotificationActivity.kt
@@ -18,7 +18,9 @@ import ani.dantotsu.profile.ProfileActivity
import ani.dantotsu.statusBarHeight
import ani.dantotsu.themes.ThemeManager
import com.xwray.groupie.GroupieAdapter
+import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
class NotificationActivity : AppCompatActivity() {
private lateinit var binding: ActivityFollowBinding
@@ -41,13 +43,16 @@ class NotificationActivity : AppCompatActivity() {
binding.listBack.setOnClickListener {
onBackPressed()
}
-
+ binding.listProgressBar.visibility = ViewGroup.VISIBLE
lifecycleScope.launch {
val res = Anilist.query.getNotifications(Anilist.userid?:0)
res?.data?.page?.notifications?.let { notifications ->
notificationList = notifications
adapter.update(notificationList.map { NotificationItem(it, ::onNotificationClick) })
}
+ withContext(Dispatchers.Main){
+ binding.listProgressBar.visibility = ViewGroup.GONE
+ }
}
}
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 31e84a76..b6a2163a 100644
--- a/app/src/main/java/ani/dantotsu/profile/activity/NotificationItem.kt
+++ b/app/src/main/java/ani/dantotsu/profile/activity/NotificationItem.kt
@@ -38,7 +38,7 @@ class NotificationItem(
private fun image(user: Boolean = false) {
val context = binding.notificationBannerImage.context
- val cover = if (user) notification.user?.bannerImage else notification.media?.bannerImage
+ val cover = if (user) notification.user?.bannerImage ?: notification.user?.avatar?.medium else notification.media?.bannerImage ?: notification.media?.coverImage?.large
if (cover != null) {
if (!(context as Activity).isDestroyed)
Glide.with(context as Context)
@@ -50,7 +50,7 @@ class NotificationItem(
binding.notificationBannerImage.setImageResource(R.drawable.linear_gradient_bg)
}
val defaultHeight = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 170f, context.resources.displayMetrics).toInt()
- val userHeight = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 80f, context.resources.displayMetrics).toInt()
+ val userHeight = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 90f, context.resources.displayMetrics).toInt()
if (user) {
binding.notificationCover.visibility = View.GONE
@@ -58,14 +58,12 @@ class NotificationItem(
binding.notificationCoverUserContainer.visibility = View.VISIBLE
binding.notificationCoverUser.loadImage(notification.user?.avatar?.large)
binding.notificationBannerImage.layoutParams.height = userHeight
- binding.notificationBannerGradient.layoutParams.height = 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.notificationBannerGradient.layoutParams.height = defaultHeight
}
}
diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt b/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
index 8a1c9be4..6638b151 100644
--- a/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
+++ b/app/src/main/java/ani/dantotsu/settings/SettingsDialogFragment.kt
@@ -59,6 +59,12 @@ class SettingsDialogFragment : BottomSheetDialogFragment() {
val theme = requireContext().theme
theme.resolveAttribute(com.google.android.material.R.attr.colorSurface, typedValue, true)
window?.navigationBarColor = typedValue.data
+ val notificationIcon = if (Anilist.unreadNotificationCount > 0) {
+ R.drawable.ic_round_notifications_active_24
+ } else {
+ R.drawable.ic_round_notifications_none_24
+ }
+ binding.settingsNotification.setImageResource(notificationIcon)
if (Anilist.token != null) {
binding.settingsLogin.setText(R.string.logout)
diff --git a/app/src/main/res/layout/activity_follow.xml b/app/src/main/res/layout/activity_follow.xml
index ce25a262..59358670 100644
--- a/app/src/main/res/layout/activity_follow.xml
+++ b/app/src/main/res/layout/activity_follow.xml
@@ -6,13 +6,18 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ tools:visibility="gone">
+
+
+
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ android:layout_marginEnd="16dp">
diff --git a/app/src/main/res/layout/item_activity.xml b/app/src/main/res/layout/item_activity.xml
index 2220d60e..361df9d2 100644
--- a/app/src/main/res/layout/item_activity.xml
+++ b/app/src/main/res/layout/item_activity.xml
@@ -19,8 +19,9 @@
android:layout_height="64dp"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="16dp"
- android:backgroundTint="@color/bg_white"
- app:cardCornerRadius="64dp">
+ android:backgroundTint="@color/transparent"
+ app:cardCornerRadius="64dp"
+ app:strokeColor="@color/transparent">
-
+ android:orientation="vertical">
+
+
+
+
+
@@ -100,7 +116,7 @@
@@ -108,7 +124,7 @@
@@ -127,6 +143,7 @@
android:layout_width="102dp"
android:layout_height="154dp"
android:layout_gravity="center"
+ android:scaleType="centerCrop"
app:srcCompat="@drawable/ic_round_add_circle_24"
tools:ignore="ContentDescription,ImageContrastCheck"
tools:tint="@color/transparent" />
diff --git a/app/src/main/res/layout/item_follower.xml b/app/src/main/res/layout/item_follower.xml
index e26ac3a5..d5605368 100644
--- a/app/src/main/res/layout/item_follower.xml
+++ b/app/src/main/res/layout/item_follower.xml
@@ -9,7 +9,7 @@
diff --git a/app/src/main/res/layout/item_notification.xml b/app/src/main/res/layout/item_notification.xml
index eedb9b5b..00903f44 100644
--- a/app/src/main/res/layout/item_notification.xml
+++ b/app/src/main/res/layout/item_notification.xml
@@ -1,8 +1,8 @@
+ tools:ignore="ContentDescription"
+ tools:srcCompat="@tools:sample/backgrounds/scenic" />
@@ -37,30 +36,30 @@
android:layout_gravity="start|center_vertical"
android:layout_marginStart="16dp"
android:backgroundTint="@color/transparent"
- app:strokeColor="@color/transparent"
- app:cardCornerRadius="16dp">
+ app:cardCornerRadius="16dp"
+ app:strokeColor="@color/transparent">
+
+ android:visibility="gone"
+ app:cardCornerRadius="64dp"
+ app:strokeColor="@color/transparent">
-
-
-
+ android:layout_gravity="start|center"
+ android:layout_marginStart="125dp"
+ android:orientation="vertical">
+
+
+
+
+
\ No newline at end of file