mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-16 22:01:26 +00:00
Large emojis
This commit is contained in:
parent
06b9c30c27
commit
ec8d4c9f5d
@ -11,7 +11,6 @@ import android.text.SpannableStringBuilder;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
|
|
||||||
import network.loki.messenger.R;
|
import network.loki.messenger.R;
|
||||||
import org.thoughtcrime.securesms.components.emoji.EmojiProvider.EmojiDrawable;
|
import org.thoughtcrime.securesms.components.emoji.EmojiProvider.EmojiDrawable;
|
||||||
import org.thoughtcrime.securesms.components.emoji.parsing.EmojiParser;
|
import org.thoughtcrime.securesms.components.emoji.parsing.EmojiParser;
|
||||||
@ -19,9 +18,7 @@ import org.session.libsession.utilities.TextSecurePreferences;
|
|||||||
import org.session.libsession.utilities.Util;
|
import org.session.libsession.utilities.Util;
|
||||||
import org.session.libsignal.utilities.guava.Optional;
|
import org.session.libsignal.utilities.guava.Optional;
|
||||||
|
|
||||||
|
|
||||||
public class EmojiTextView extends AppCompatTextView {
|
public class EmojiTextView extends AppCompatTextView {
|
||||||
|
|
||||||
private final boolean scaleEmojis;
|
private final boolean scaleEmojis;
|
||||||
|
|
||||||
private static final char ELLIPSIS = '…';
|
private static final char ELLIPSIS = '…';
|
||||||
@ -46,14 +43,9 @@ public class EmojiTextView extends AppCompatTextView {
|
|||||||
public EmojiTextView(Context context, AttributeSet attrs, int defStyleAttr) {
|
public EmojiTextView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||||
super(context, attrs, defStyleAttr);
|
super(context, attrs, defStyleAttr);
|
||||||
|
|
||||||
TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.EmojiTextView, 0, 0);
|
scaleEmojis = true;
|
||||||
scaleEmojis = a.getBoolean(R.styleable.EmojiTextView_scaleEmojis, false);
|
maxLength = 1000;
|
||||||
maxLength = a.getInteger(R.styleable.EmojiTextView_emoji_maxLength, -1);
|
originalFontSize = getResources().getDimension(R.dimen.small_font_size);
|
||||||
a.recycle();
|
|
||||||
|
|
||||||
a = context.obtainStyledAttributes(attrs, new int[]{android.R.attr.textSize});
|
|
||||||
originalFontSize = a.getDimensionPixelSize(0, 0);
|
|
||||||
a.recycle();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void setText(@Nullable CharSequence text, BufferType type) {
|
@Override public void setText(@Nullable CharSequence text, BufferType type) {
|
||||||
@ -182,8 +174,11 @@ public class EmojiTextView extends AppCompatTextView {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void invalidateDrawable(@NonNull Drawable drawable) {
|
public void invalidateDrawable(@NonNull Drawable drawable) {
|
||||||
if (drawable instanceof EmojiDrawable) invalidate();
|
if (drawable instanceof EmojiDrawable) {
|
||||||
else super.invalidateDrawable(drawable);
|
invalidate();
|
||||||
|
} else {
|
||||||
|
super.invalidateDrawable(drawable);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,6 +22,7 @@ import org.session.libsession.messaging.utilities.UpdateMessageData.Companion.fr
|
|||||||
import org.session.libsession.utilities.ThemeUtil
|
import org.session.libsession.utilities.ThemeUtil
|
||||||
import org.session.libsession.utilities.ViewUtil
|
import org.session.libsession.utilities.ViewUtil
|
||||||
import org.session.libsession.utilities.recipients.Recipient
|
import org.session.libsession.utilities.recipients.Recipient
|
||||||
|
import org.thoughtcrime.securesms.components.emoji.EmojiTextView
|
||||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
||||||
import org.thoughtcrime.securesms.loki.utilities.UiMode
|
import org.thoughtcrime.securesms.loki.utilities.UiMode
|
||||||
@ -126,7 +127,7 @@ class VisibleMessageContentView : LinearLayout {
|
|||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
fun getBodyTextView(context: Context, message: MessageRecord): TextView {
|
fun getBodyTextView(context: Context, message: MessageRecord): TextView {
|
||||||
val result = TextView(context)
|
val result = EmojiTextView(context)
|
||||||
val vPadding = context.resources.getDimension(R.dimen.small_spacing).toInt()
|
val vPadding = context.resources.getDimension(R.dimen.small_spacing).toInt()
|
||||||
val hPadding = toPx(12, context.resources)
|
val hPadding = toPx(12, context.resources)
|
||||||
result.setPadding(hPadding, vPadding, hPadding, vPadding)
|
result.setPadding(hPadding, vPadding, hPadding, vPadding)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user