mirror of
https://github.com/rebelonion/Dantotsu.git
synced 2026-01-26 10:21:03 +00:00
feat: copy username and better profile dropdown menu
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package ani.dantotsu.profile
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.os.Bundle
|
||||
@@ -8,6 +11,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ImageView
|
||||
import android.widget.PopupMenu
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.isGone
|
||||
@@ -152,11 +156,24 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene
|
||||
popup.setOnMenuItemClickListener { item ->
|
||||
when (item.itemId) {
|
||||
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 -> {
|
||||
val userId = user.id.toString()
|
||||
val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
val clipData = ClipData.newPlainText("User ID", userId)
|
||||
clipboardManager.setPrimaryClip(clipData)
|
||||
toast(getString(R.string.copied_text, userId))
|
||||
true
|
||||
}
|
||||
|
||||
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
@@ -169,6 +186,13 @@ class ProfileActivity : AppCompatActivity(), AppBarLayout.OnOffsetChangedListene
|
||||
user.avatar?.medium ?: ""
|
||||
)
|
||||
profileUserName.text = user.name
|
||||
val profileUserName = findViewById<TextView>(R.id.profileUserName)
|
||||
profileUserName.setOnClickListener {
|
||||
val clipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
val clipData = ClipData.newPlainText("Username", profileUserName.text)
|
||||
clipboardManager.setPrimaryClip(clipData)
|
||||
toast(getString(R.string.copied_to_clipboard))
|
||||
}
|
||||
val bannerAnimations: ImageView =
|
||||
if (PrefManager.getVal(PrefName.BannerAnimations)) profileBannerImage else profileBannerImageNoKen
|
||||
|
||||
|
||||
@@ -7,4 +7,14 @@
|
||||
android:title="@string/view_on_anilist"
|
||||
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>
|
||||
@@ -797,6 +797,8 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc
|
||||
<string name="blur">Blur</string>
|
||||
<string name="hide_scroll_bar">Hide Scroll Bar</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_notifications_checking_time">Anilist notifications update frequency : %1$s</string>
|
||||
<string name="comment_notification_checking_time">Comment notifications update frequency : %1$s</string>
|
||||
|
||||
Reference in New Issue
Block a user