EmojiService.java

 1package eu.siacs.conversations.ui.service;
 2
 3import android.content.Context;
 4import android.os.Build;
 5import android.support.text.emoji.EmojiCompat;
 6import android.support.text.emoji.FontRequestEmojiCompatConfig;
 7import android.support.text.emoji.bundled.BundledEmojiCompatConfig;
 8import android.support.v4.provider.FontRequest;
 9import android.util.Log;
10
11import eu.siacs.conversations.Config;
12import eu.siacs.conversations.R;
13
14public class EmojiService {
15
16    private final Context context;
17
18    public EmojiService(Context context) {
19        this.context = context;
20    }
21
22    public void init() {
23        BundledEmojiCompatConfig config = new BundledEmojiCompatConfig(context);
24        //On recent Androids we assume to have the latest emojis
25        //there are some annoying bugs with emoji compat that make it a safer choice not to use it when possible
26        // a) the text preview has annoying glitches when the cut of text contains emojis (the emoji will be half visible)
27        // b) can trigger a hardware rendering bug https://issuetracker.google.com/issues/67102093
28        config.setReplaceAll(Build.VERSION.SDK_INT < Build.VERSION_CODES.O);
29        EmojiCompat.init(config);
30    }
31
32}