searchEmoji method

Future<List<Emoji>> searchEmoji(
  1. String keyword,
  2. List<CategoryEmoji> data, {
  3. bool checkPlatformCompatibility = true,
})

Search for related emoticons based on keywords

Implementation

Future<List<Emoji>> searchEmoji(String keyword, List<CategoryEmoji> data,
    {bool checkPlatformCompatibility = true}) async {
  if (keyword.isEmpty) return [];

  if (_allAvailableEmojiEntities.isEmpty) {
    final emojiPickerInternalUtils = EmojiPickerInternalUtils();

    final availableCategoryEmoji = checkPlatformCompatibility
        ? await emojiPickerInternalUtils.filterUnsupported(data)
        : data;

    // Set all the emoji entities
    for (var emojis in availableCategoryEmoji) {
      _allAvailableEmojiEntities.addAll(emojis.emoji);
    }
  }

  return _allAvailableEmojiEntities
      .where(
        (emoji) => emoji.name.toLowerCase().contains(keyword.toLowerCase()),
      )
      .toList();
}