[skip ci] feat: copy username and better profile dropdown menu (#429)

This commit is contained in:
ibo 2024-07-08 14:56:34 +02:00 committed by GitHub
parent 09c5d9ce91
commit 7366aa1bf2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 28 additions and 3 deletions

View file

@ -22,6 +22,7 @@ import ani.dantotsu.R
import ani.dantotsu.blurImage import ani.dantotsu.blurImage
import ani.dantotsu.connections.anilist.Anilist import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.connections.anilist.api.Query import ani.dantotsu.connections.anilist.api.Query
import ani.dantotsu.copyToClipboard
import ani.dantotsu.databinding.ActivityProfileBinding import ani.dantotsu.databinding.ActivityProfileBinding
import ani.dantotsu.databinding.ItemProfileAppBarBinding import ani.dantotsu.databinding.ItemProfileAppBarBinding
import ani.dantotsu.initActivity import ani.dantotsu.initActivity
@ -152,11 +153,20 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene
popup.setOnMenuItemClickListener { item -> popup.setOnMenuItemClickListener { item ->
when (item.itemId) { when (item.itemId) {
R.id.action_view_on_anilist -> { R.id.action_view_on_anilist -> {
openLinkInBrowser("https://anilist.co/user/${user.name}") openLinkInBrowser(getString(R.string.anilist_link, user.name))
true
}
R.id.action_share_profile -> {
val shareIntent = Intent(Intent.ACTION_SEND)
shareIntent.type = "text/plain"
shareIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.anilist_link, user.name))
startActivity(Intent.createChooser(shareIntent, "Share Profile"))
true
}
R.id.action_copy_user_id -> {
copyToClipboard(user.id.toString(), true)
true true
} }
else -> false else -> false
} }
} }
@ -169,6 +179,9 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene
user.avatar?.medium ?: "" user.avatar?.medium ?: ""
) )
profileUserName.text = user.name profileUserName.text = user.name
profileUserName.setOnClickListener {
copyToClipboard(profileUserName.text.toString(), true)
}
val bannerAnimations: ImageView = val bannerAnimations: ImageView =
if (PrefManager.getVal(PrefName.BannerAnimations)) profileBannerImage else profileBannerImageNoKen if (PrefManager.getVal(PrefName.BannerAnimations)) profileBannerImage else profileBannerImageNoKen

View file

@ -7,4 +7,14 @@
android:title="@string/view_on_anilist" android:title="@string/view_on_anilist"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/action_share_profile"
android:title="@string/share_profile"
app:showAsAction="never" />
<item
android:id="@+id/action_copy_user_id"
android:title="@string/copy_user_id"
app:showAsAction="never" />
</menu> </menu>

View file

@ -802,6 +802,8 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc
<string name="blur">Blur</string> <string name="blur">Blur</string>
<string name="hide_scroll_bar">Hide Scroll Bar</string> <string name="hide_scroll_bar">Hide Scroll Bar</string>
<string name="view_on_anilist" translatable="false">View on AniList</string> <string name="view_on_anilist" translatable="false">View on AniList</string>
<string name="share_profile">Share Profile</string>
<string name="copy_user_id" >Copy user ID</string>
<string name="anilist_notification_filters">Filter Notifications</string> <string name="anilist_notification_filters">Filter Notifications</string>
<string name="anilist_notifications_checking_time">Anilist notifications update frequency : %1$s</string> <string name="anilist_notifications_checking_time">Anilist notifications update frequency : %1$s</string>
<string name="comment_notification_checking_time">Comment notifications update frequency : %1$s</string> <string name="comment_notification_checking_time">Comment notifications update frequency : %1$s</string>