mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-25 01:07:47 +00:00
parent
3f6aae633e
commit
37fbd769b7
@ -1,18 +1,16 @@
|
|||||||
package org.thoughtcrime.securesms.components.emoji;
|
package org.thoughtcrime.securesms.components.emoji;
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.text.InputFilter;
|
import android.text.InputFilter;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.Spanned;
|
import android.text.Spanned;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.text.TextUtils.TruncateAt;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
/**
|
public class EmojiFilter implements InputFilter, OnGlobalLayoutListener {
|
||||||
* Created by kaonashi on 6/1/15.
|
private TextView view;
|
||||||
*/
|
|
||||||
public class EmojiFilter implements InputFilter {
|
|
||||||
private View view;
|
|
||||||
|
|
||||||
public EmojiFilter(TextView view) {
|
public EmojiFilter(TextView view) {
|
||||||
this.view = view;
|
this.view = view;
|
||||||
@ -27,6 +25,26 @@ public class EmojiFilter implements InputFilter {
|
|||||||
if (source instanceof Spanned) {
|
if (source instanceof Spanned) {
|
||||||
TextUtils.copySpansFrom((Spanned) source, start, end, null, emojified, 0);
|
TextUtils.copySpansFrom((Spanned) source, start, end, null, emojified, 0);
|
||||||
}
|
}
|
||||||
|
view.getViewTreeObserver().addOnGlobalLayoutListener(this);
|
||||||
|
if (view.getWidth() == 0 || view.getEllipsize() != TruncateAt.END) {
|
||||||
return emojified;
|
return emojified;
|
||||||
|
} else {
|
||||||
|
return TextUtils.ellipsize(emojified,
|
||||||
|
view.getPaint(),
|
||||||
|
view.getWidth() - view.getPaddingRight() - view.getPaddingLeft(),
|
||||||
|
TruncateAt.END);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
@Override public void onGlobalLayout() {
|
||||||
|
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
|
||||||
|
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
view.getViewTreeObserver().removeGlobalOnLayoutListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
view.invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user