mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-12 04:47:44 +00:00
Improve new convo error messages
This commit is contained in:
@@ -46,7 +46,7 @@ class NewConversationFragment : BottomSheetDialogFragment(), NewConversationDele
|
||||
val bottomSheetDialog = it as BottomSheetDialog
|
||||
val parentLayout =
|
||||
bottomSheetDialog.findViewById<View>(com.google.android.material.R.id.design_bottom_sheet)
|
||||
parentLayout?.let { it ->
|
||||
parentLayout?.let {
|
||||
val behaviour = BottomSheetBehavior.from(it)
|
||||
val layoutParams = it.layoutParams
|
||||
layoutParams.height = defaultPeekHeight
|
||||
|
@@ -60,8 +60,12 @@ class NewMessageFragment : Fragment() {
|
||||
}
|
||||
|
||||
private fun createPrivateChatIfPossible(onsNameOrPublicKey: String) {
|
||||
if (PublicKeyValidation.isValid(onsNameOrPublicKey)) {
|
||||
createPrivateChat(onsNameOrPublicKey)
|
||||
if (PublicKeyValidation.isValid(onsNameOrPublicKey, isPrefixRequired = false)) {
|
||||
if (PublicKeyValidation.hasValidPrefix(onsNameOrPublicKey)) {
|
||||
createPrivateChat(onsNameOrPublicKey)
|
||||
} else {
|
||||
Toast.makeText(requireContext(), R.string.accountIdErrorInvalid, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
} else {
|
||||
// This could be an ONS name
|
||||
showLoader()
|
||||
@@ -70,9 +74,9 @@ class NewMessageFragment : Fragment() {
|
||||
createPrivateChat(hexEncodedPublicKey)
|
||||
}.failUi { exception ->
|
||||
hideLoader()
|
||||
var message = getString(R.string.fragment_enter_public_key_error_message)
|
||||
exception.localizedMessage?.let {
|
||||
message = it
|
||||
val message = when (exception) {
|
||||
is SnodeAPI.Error.Generic -> "We couldn’t recognize this ONS. Please check and try again."
|
||||
else -> exception.localizedMessage ?: getString(R.string.fragment_enter_public_key_error_message)
|
||||
}
|
||||
Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
@@ -81,12 +85,11 @@ class NewMessageFragment : Fragment() {
|
||||
|
||||
private fun createPrivateChat(hexEncodedPublicKey: String) {
|
||||
val recipient = Recipient.from(requireContext(), Address.fromSerialized(hexEncodedPublicKey), false)
|
||||
val intent = Intent(requireContext(), ConversationActivityV2::class.java)
|
||||
intent.putExtra(ConversationActivityV2.ADDRESS, recipient.address)
|
||||
intent.setDataAndType(requireActivity().intent.data, requireActivity().intent.type)
|
||||
val existingThread = DatabaseComponent.get(requireContext()).threadDatabase().getThreadIdIfExistsFor(recipient)
|
||||
intent.putExtra(ConversationActivityV2.THREAD_ID, existingThread)
|
||||
requireContext().startActivity(intent)
|
||||
Intent(requireContext(), ConversationActivityV2::class.java).apply {
|
||||
putExtra(ConversationActivityV2.ADDRESS, recipient.address)
|
||||
setDataAndType(requireActivity().intent.data, requireActivity().intent.type)
|
||||
putExtra(ConversationActivityV2.THREAD_ID, DatabaseComponent.get(requireContext()).threadDatabase().getThreadIdIfExistsFor(recipient))
|
||||
}.let(requireContext()::startActivity)
|
||||
delegate.onDialogClosePressed()
|
||||
}
|
||||
|
||||
|
@@ -1081,4 +1081,5 @@
|
||||
<string name="activity_link_load_account">Load Account</string>
|
||||
<string name="activity_link_camera_permission_permanently_denied_configure_in_settings">Camera Permission permanently denied. Configure in settings.</string>
|
||||
<string name="activity_link_enter_your_recovery_password_to_load_your_account_if_you_haven_t_saved_it_you_can_find_it_in_your_app_settings">Enter your recovery password to load your account. If you haven\'t saved it, you can find it in your app settings.</string>
|
||||
<string name="accountIdErrorInvalid">This Account ID is invalid. Please check and try again.</string>
|
||||
</resources>
|
||||
|
Reference in New Issue
Block a user