change alert to snackbar

This commit is contained in:
Phillip Thelen 2021-02-02 18:22:24 +01:00
parent 0d4a641923
commit 81334951a2
3 changed files with 36 additions and 34 deletions

View file

@ -1,22 +0,0 @@
package com.habitrpg.android.habitica.events;
import android.graphics.drawable.Drawable;
import android.view.View;
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar;
/**
* Created by phillip on 26.06.17.
*/
public class ShowSnackbarEvent {
public Drawable leftImage;
public String title;
public String text;
public HabiticaSnackbar.SnackbarDisplayType type;
public View specialView;
public Drawable rightIcon;
public int rightTextColor;
public String rightText;
}

View file

@ -0,0 +1,26 @@
package com.habitrpg.android.habitica.events
import android.graphics.drawable.Drawable
import android.view.View
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar.SnackbarDisplayType
/**
* Created by phillip on 26.06.17.
*/
class ShowSnackbarEvent {
constructor(title: String, type: SnackbarDisplayType) {
this.title = title
this.type = type
}
constructor()
var leftImage: Drawable? = null
var title: String? = null
var text: String? = null
var type: SnackbarDisplayType = SnackbarDisplayType.NORMAL
var specialView: View? = null
var rightIcon: Drawable? = null
var rightTextColor = 0
var rightText: String? = null
}

View file

@ -13,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView
import com.habitrpg.android.habitica.R
import com.habitrpg.android.habitica.databinding.ChatItemBinding
import com.habitrpg.android.habitica.databinding.TavernChatIntroItemBinding
import com.habitrpg.android.habitica.events.ShowSnackbarEvent
import com.habitrpg.android.habitica.extensions.dpToPx
import com.habitrpg.android.habitica.extensions.getAgoString
import com.habitrpg.android.habitica.extensions.setScaledPadding
@ -25,7 +26,9 @@ import io.reactivex.rxjava3.core.Maybe
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import com.habitrpg.android.habitica.models.members.Member
import com.habitrpg.android.habitica.ui.views.HabiticaSnackbar
import com.habitrpg.android.habitica.ui.views.dialogs.HabiticaAlertDialog
import org.greenrobot.eventbus.EventBus
open class ChatRecyclerViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
@ -69,20 +72,15 @@ class ChatRecyclerMessageViewHolder(itemView: View, private var userId: String,
itemView.setOnClickListener {
onShouldExpand?.invoke()
}
binding.tvLikes.setOnClickListener { chatMessage?.let {
if(it.uuid != userId) {
onLikeMessage?.invoke(it)
}
else {
val context = context
if (context != null) {
val alert = HabiticaAlertDialog(context)
alert.setMessage("Can't like your own message. Don't be that person.")
alert.addButton(R.string.ok, true)
alert.show()
binding.tvLikes.setOnClickListener {
chatMessage?.let {
if(it.uuid != userId) {
onLikeMessage?.invoke(it)
} else {
val event = ShowSnackbarEvent(context.getString(R.string.cant_like_own_message), HabiticaSnackbar.SnackbarDisplayType.FAILURE)
EventBus.getDefault().post(event)
}
}
}
}
binding.messageText.setOnClickListener { onShouldExpand?.invoke() }
binding.messageText.movementMethod = LinkMovementMethod.getInstance()