2020-09-07 02:57:25 +02:00
|
|
|
package org.thoughtcrime.securesms.loki.dialogs
|
|
|
|
|
2020-09-07 07:20:32 +02:00
|
|
|
import android.content.ClipData
|
|
|
|
import android.content.ClipboardManager
|
|
|
|
import android.content.Context
|
2021-05-11 09:05:04 +02:00
|
|
|
import android.opengl.Visibility
|
2020-09-07 02:57:25 +02:00
|
|
|
import android.os.Bundle
|
|
|
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
|
|
|
import android.view.LayoutInflater
|
|
|
|
import android.view.View
|
|
|
|
import android.view.ViewGroup
|
2020-09-07 07:20:32 +02:00
|
|
|
import android.widget.Toast
|
|
|
|
import kotlinx.android.synthetic.main.fragment_user_details_bottom_sheet.*
|
|
|
|
import kotlinx.android.synthetic.main.view_conversation.view.*
|
2020-09-07 02:57:25 +02:00
|
|
|
import network.loki.messenger.R
|
2021-05-11 09:05:04 +02:00
|
|
|
import org.session.libsession.messaging.threads.Address
|
|
|
|
import org.session.libsession.messaging.threads.recipients.Recipient
|
|
|
|
import org.session.libsession.utilities.SSKEnvironment
|
2020-09-07 07:20:32 +02:00
|
|
|
import org.thoughtcrime.securesms.database.DatabaseFactory
|
|
|
|
import org.thoughtcrime.securesms.mms.GlideApp
|
2020-09-07 02:57:25 +02:00
|
|
|
|
|
|
|
public class UserDetailsBottomSheet : BottomSheetDialogFragment() {
|
|
|
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
|
|
|
return inflater.inflate(R.layout.fragment_user_details_bottom_sheet, container, false)
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
|
|
super.onViewCreated(view, savedInstanceState)
|
2020-09-07 07:20:32 +02:00
|
|
|
val publicKey = arguments?.getString("publicKey") ?: return dismiss()
|
2021-05-11 09:05:04 +02:00
|
|
|
val recipient = Recipient.from(requireContext(), Address.fromSerialized(publicKey), false)
|
2020-09-07 07:20:32 +02:00
|
|
|
profilePictureView.publicKey = publicKey
|
|
|
|
profilePictureView.glide = GlideApp.with(this)
|
|
|
|
profilePictureView.isLarge = true
|
|
|
|
profilePictureView.update()
|
2021-05-11 09:05:04 +02:00
|
|
|
nameTextViewContainer.visibility = View.VISIBLE
|
|
|
|
nameTextViewContainer.setOnClickListener {
|
|
|
|
nameTextViewContainer.visibility = View.INVISIBLE
|
|
|
|
nameEditContainer.visibility = View.VISIBLE
|
|
|
|
nameEditText.requestFocus()
|
|
|
|
}
|
|
|
|
btnCancelNickNameEdit.setOnClickListener {
|
|
|
|
nameEditText.clearFocus()
|
|
|
|
nameTextViewContainer.visibility = View.VISIBLE
|
|
|
|
nameEditContainer.visibility = View.INVISIBLE
|
|
|
|
nameEditText.text = null
|
|
|
|
}
|
|
|
|
btnSaveNickNameEdit.setOnClickListener {
|
|
|
|
nameEditText.clearFocus()
|
|
|
|
nameTextViewContainer.visibility = View.VISIBLE
|
|
|
|
nameEditContainer.visibility = View.INVISIBLE
|
|
|
|
var newNickName = null
|
|
|
|
SSKEnvironment.shared.profileManager.setDisplayName(requireContext(), recipient, newNickName)
|
|
|
|
nameTextView.text = SSKEnvironment.shared.profileManager.getDisplayName(requireContext(), recipient) ?: "Anonymous"
|
|
|
|
}
|
|
|
|
nameTextView.text = SSKEnvironment.shared.profileManager.getDisplayName(requireContext(), recipient) ?: "Anonymous"
|
2020-09-07 07:20:32 +02:00
|
|
|
publicKeyTextView.text = publicKey
|
|
|
|
copyButton.setOnClickListener {
|
|
|
|
val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
|
|
|
val clip = ClipData.newPlainText("Session ID", publicKey)
|
|
|
|
clipboard.setPrimaryClip(clip)
|
|
|
|
Toast.makeText(requireContext(), R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show()
|
|
|
|
}
|
2020-09-07 02:57:25 +02:00
|
|
|
}
|
|
|
|
}
|