mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-05 01:37:03 +01:00
Xiaomi: Improve emoji mapping efficiency
This commit is contained in:
parent
b0d3fe6a51
commit
82a264cd65
@ -16,11 +16,10 @@
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||||
package nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi;
|
package nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import nodomain.freeyourgadget.gadgetbridge.service.btle.GattService;
|
import nodomain.freeyourgadget.gadgetbridge.service.btle.GattService;
|
||||||
@ -91,102 +90,188 @@ public class XiaomiEncryptedSupport extends XiaomiSupport {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String customStringFilter(final String inputString) {
|
public String customStringFilter(final String inputString) {
|
||||||
// TODO: Do this more efficiently - it iterates the input string 88 times...
|
return StringUtils.replaceEach(inputString, EMOJI_SOURCE, EMOJI_TARGET);
|
||||||
String customString = inputString;
|
|
||||||
for (Map.Entry<String, String> emoji : EMOJI_MAP.entrySet()) {
|
|
||||||
customString = customString.replaceAll(emoji.getKey(), emoji.getValue());
|
|
||||||
}
|
|
||||||
return customString;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Map<String, String> EMOJI_MAP = new LinkedHashMap<String, String>() {{
|
private static final String[] EMOJI_SOURCE = new String[] {
|
||||||
put("\uD83D\uDE0D", "ꀂ"); // 😍
|
"\uD83D\uDE0D", // 😍
|
||||||
put("\uD83D\uDE18", "ꀃ"); // 😘
|
"\uD83D\uDE18", // 😘
|
||||||
put("\uD83D\uDE02", "ꀄ"); // 😂
|
"\uD83D\uDE02", // 😂
|
||||||
put("\uD83D\uDE0A", "ꀅ"); // 😊
|
"\uD83D\uDE0A", // 😊
|
||||||
put("\uD83D\uDE0E", "ꀆ"); // 😎
|
"\uD83D\uDE0E", // 😎
|
||||||
put("\uD83D\uDE09", "ꀇ"); // 😉
|
"\uD83D\uDE09", // 😉
|
||||||
put("\uD83D\uDC8B", "ꀈ"); // 💋
|
"\uD83D\uDC8B", // 💋
|
||||||
put("\uD83D\uDC4D", "ꀉ"); // 👍
|
"\uD83D\uDC4D", // 👍
|
||||||
put("\uD83E\uDD23", "ꀊ"); // 🤣
|
"\uD83E\uDD23", // 🤣
|
||||||
put("\uD83D\uDC95", "ꀋ"); // 💕
|
"\uD83D\uDC95", // 💕
|
||||||
put("\uD83D\uDE00", "ꀌ"); // 😀
|
"\uD83D\uDE00", // 😀
|
||||||
put("\uD83D\uDE04", "ꀍ"); // 😄
|
"\uD83D\uDE04", // 😄
|
||||||
put("\uD83D\uDE2D", "ꀎ"); // 😭
|
"\uD83D\uDE2D", // 😭
|
||||||
put("\uD83E\uDD7A", "ꀏ"); // 🥺
|
"\uD83E\uDD7A", // 🥺
|
||||||
put("\uD83D\uDE4F", "ꀑ"); // 🙏
|
"\uD83D\uDE4F", // 🙏
|
||||||
put("\uD83E\uDD70", "ꀒ"); // 🥰
|
"\uD83E\uDD70", // 🥰
|
||||||
put("\uD83E\uDD14", "ꀓ"); // 🤔
|
"\uD83E\uDD14", // 🤔
|
||||||
put("\uD83D\uDD25", "ꀔ"); // 🔥
|
"\uD83D\uDD25", // 🔥
|
||||||
put("\uD83D\uDE29", "ꀗ"); // 😩
|
"\uD83D\uDE29", // 😩
|
||||||
put("\uD83D\uDE14", "ꀘ"); // 😔
|
"\uD83D\uDE14", // 😔
|
||||||
put("\uD83D\uDE01", "ꀙ"); // 😁
|
"\uD83D\uDE01", // 😁
|
||||||
put("\uD83D\uDC4C", "ꀚ"); // 👌
|
"\uD83D\uDC4C", // 👌
|
||||||
put("\uD83D\uDE0F", "ꀛ"); // 😏
|
"\uD83D\uDE0F", // 😏
|
||||||
put("\uD83D\uDE05", "ꀜ"); // 😅
|
"\uD83D\uDE05", // 😅
|
||||||
put("\uD83E\uDD0D", "ꀝ"); // 🤍
|
"\uD83E\uDD0D", // 🤍
|
||||||
put("\uD83D\uDC94", "ꀞ"); // 💔
|
"\uD83D\uDC94", // 💔
|
||||||
put("\uD83D\uDE0C", "ꀟ"); // 😌
|
"\uD83D\uDE0C", // 😌
|
||||||
put("\uD83D\uDE22", "ꀠ"); // 😢
|
"\uD83D\uDE22", // 😢
|
||||||
put("\uD83D\uDC99", "ꀡ"); // 💙
|
"\uD83D\uDC99", // 💙
|
||||||
put("\uD83D\uDC9C", "ꀢ"); // 💜
|
"\uD83D\uDC9C", // 💜
|
||||||
put("\uD83C\uDFB6", "ꀤ"); // 🎶
|
"\uD83C\uDFB6", // 🎶
|
||||||
put("\uD83D\uDE33", "ꀥ"); // 😳
|
"\uD83D\uDE33", // 😳
|
||||||
put("\uD83D\uDC96", "ꀦ"); // 💖
|
"\uD83D\uDC96", // 💖
|
||||||
put("\uD83D\uDE4C", "ꀧ"); // 🙌
|
"\uD83D\uDE4C", // 🙌
|
||||||
put("\uD83D\uDCAF", "ꀨ"); // 💯
|
"\uD83D\uDCAF", // 💯
|
||||||
put("\uD83D\uDE48", "ꀩ"); // 🙈
|
"\uD83D\uDE48", // 🙈
|
||||||
put("\uD83D\uDE0B", "ꀫ"); // 😋
|
"\uD83D\uDE0B", // 😋
|
||||||
put("\uD83D\uDE11", "ꀬ"); // 😑
|
"\uD83D\uDE11", // 😑
|
||||||
put("\uD83D\uDE34", "ꀭ"); // 😴
|
"\uD83D\uDE34", // 😴
|
||||||
put("\uD83D\uDE2A", "ꀮ"); // 😪
|
"\uD83D\uDE2A", // 😪
|
||||||
put("\uD83D\uDE1C", "ꀯ"); // 😜
|
"\uD83D\uDE1C", // 😜
|
||||||
put("\uD83D\uDE1B", "ꀰ"); // 😛
|
"\uD83D\uDE1B", // 😛
|
||||||
put("\uD83D\uDE1D", "ꀱ"); // 😝
|
"\uD83D\uDE1D", // 😝
|
||||||
put("\uD83D\uDE1E", "ꀲ"); // 😞
|
"\uD83D\uDE1E", // 😞
|
||||||
put("\uD83D\uDE15", "ꀳ"); // 😕
|
"\uD83D\uDE15", // 😕
|
||||||
put("\uD83D\uDC97", "ꀴ"); // 💗
|
"\uD83D\uDC97", // 💗
|
||||||
put("\uD83D\uDC4F", "ꀵ"); // 👏
|
"\uD83D\uDC4F", // 👏
|
||||||
put("\uD83D\uDE10", "ꀶ"); // 😐
|
"\uD83D\uDE10", // 😐
|
||||||
put("\uD83D\uDC49", "ꀷ"); // 👉
|
"\uD83D\uDC49", // 👉
|
||||||
put("\uD83D\uDC9B", "ꀸ"); // 💛
|
"\uD83D\uDC9B", // 💛
|
||||||
put("\uD83D\uDC9E", "ꀹ"); // 💞
|
"\uD83D\uDC9E", // 💞
|
||||||
put("\uD83D\uDCAA", "ꀺ"); // 💪
|
"\uD83D\uDCAA", // 💪
|
||||||
put("\uD83C\uDF39", "ꀻ"); // 🌹
|
"\uD83C\uDF39", // 🌹
|
||||||
put("\uD83D\uDC80", "ꀼ"); // 💀
|
"\uD83D\uDC80", // 💀
|
||||||
put("\uD83D\uDE31", "ꀽ"); // 😱
|
"\uD83D\uDE31", // 😱
|
||||||
put("\uD83D\uDC98", "ꀾ"); // 💘
|
"\uD83D\uDC98", // 💘
|
||||||
put("\uD83E\uDD1F", "ꀿ"); // 🤟
|
"\uD83E\uDD1F", // 🤟
|
||||||
put("\uD83D\uDE21", "ꁀ"); // 😡
|
"\uD83D\uDE21", // 😡
|
||||||
put("\uD83D\uDCF7", "ꁁ"); // 📷
|
"\uD83D\uDCF7", // 📷
|
||||||
put("\uD83C\uDF38", "ꁂ"); // 🌸
|
"\uD83C\uDF38", // 🌸
|
||||||
put("\uD83D\uDE08", "ꁃ"); // 😈
|
"\uD83D\uDE08", // 😈
|
||||||
put("\uD83D\uDC48", "ꁄ"); // 👈
|
"\uD83D\uDC48", // 👈
|
||||||
put("\uD83C\uDF89", "ꁅ"); // 🎉
|
"\uD83C\uDF89", // 🎉
|
||||||
put("\uD83D\uDC81", "ꁆ"); // 💁
|
"\uD83D\uDC81", // 💁
|
||||||
put("\uD83D\uDE4A", "ꁇ"); // 🙊
|
"\uD83D\uDE4A", // 🙊
|
||||||
put("\uD83D\uDC9A", "ꁈ"); // 💚
|
"\uD83D\uDC9A", // 💚
|
||||||
put("\uD83D\uDE2B", "ꁉ"); // 😫
|
"\uD83D\uDE2B", // 😫
|
||||||
put("\uD83D\uDE24", "ꁊ"); // 😤
|
"\uD83D\uDE24", // 😤
|
||||||
put("\uD83D\uDC93", "ꁍ"); // 💓
|
"\uD83D\uDC93", // 💓
|
||||||
put("\uD83C\uDF1A", "ꁎ"); // 🌚
|
"\uD83C\uDF1A", // 🌚
|
||||||
put("\uD83D\uDC47", "ꁏ"); // 👇
|
"\uD83D\uDC47", // 👇
|
||||||
put("\uD83D\uDE07", "ꁒ"); // 😇
|
"\uD83D\uDE07", // 😇
|
||||||
put("\uD83D\uDC4A", "ꁓ"); // 👊
|
"\uD83D\uDC4A", // 👊
|
||||||
put("\uD83D\uDC51", "ꁔ"); // 👑
|
"\uD83D\uDC51", // 👑
|
||||||
put("\uD83D\uDE13", "ꁕ"); // 😓
|
"\uD83D\uDE13", // 😓
|
||||||
put("\uD83D\uDE3B", "ꁖ"); // 😻
|
"\uD83D\uDE3B", // 😻
|
||||||
put("\uD83D\uDD34", "ꁗ"); // 🔴
|
"\uD83D\uDD34", // 🔴
|
||||||
put("\uD83D\uDE25", "ꁘ"); // 😥
|
"\uD83D\uDE25", // 😥
|
||||||
put("\uD83E\uDD29", "ꁙ"); // 🤩
|
"\uD83E\uDD29", // 🤩
|
||||||
put("\uD83D\uDE1A", "ꁚ"); // 😚
|
"\uD83D\uDE1A", // 😚
|
||||||
put("\uD83D\uDE37", "ꁜ"); // 😷
|
"\uD83D\uDE37", // 😷
|
||||||
put("\uD83D\uDC4B", "ꁝ"); // 👋
|
"\uD83D\uDC4B", // 👋
|
||||||
put("\uD83D\uDCA5", "ꁞ"); // 💥
|
"\uD83D\uDCA5", // 💥
|
||||||
put("\uD83E\uDD2D", "ꁠ"); // 🤭
|
"\uD83E\uDD2D", // 🤭
|
||||||
put("\uD83C\uDF1F", "ꁡ"); // 🌟
|
"\uD83C\uDF1F", // 🌟
|
||||||
put("\uD83E\uDD71", "ꁢ"); // 🥱
|
"\uD83E\uDD71", // 🥱
|
||||||
put("\uD83D\uDCA9", "ꁣ"); // 💩
|
"\uD83D\uDCA9", // 💩
|
||||||
put("\uD83D\uDE80", "ꁤ"); // 🚀
|
"\uD83D\uDE80", // 🚀
|
||||||
}};
|
};
|
||||||
|
|
||||||
|
private static final String[] EMOJI_TARGET = new String[] {
|
||||||
|
"ꀂ", // 😍
|
||||||
|
"ꀃ", // 😘
|
||||||
|
"ꀄ", // 😂
|
||||||
|
"ꀅ", // 😊
|
||||||
|
"ꀆ", // 😎
|
||||||
|
"ꀇ", // 😉
|
||||||
|
"ꀈ", // 💋
|
||||||
|
"ꀉ", // 👍
|
||||||
|
"ꀊ", // 🤣
|
||||||
|
"ꀋ", // 💕
|
||||||
|
"ꀌ", // 😀
|
||||||
|
"ꀍ", // 😄
|
||||||
|
"ꀎ", // 😭
|
||||||
|
"ꀏ", // 🥺
|
||||||
|
"ꀑ", // 🙏
|
||||||
|
"ꀒ", // 🥰
|
||||||
|
"ꀓ", // 🤔
|
||||||
|
"ꀔ", // 🔥
|
||||||
|
"ꀗ", // 😩
|
||||||
|
"ꀘ", // 😔
|
||||||
|
"ꀙ", // 😁
|
||||||
|
"ꀚ", // 👌
|
||||||
|
"ꀛ", // 😏
|
||||||
|
"ꀜ", // 😅
|
||||||
|
"ꀝ", // 🤍
|
||||||
|
"ꀞ", // 💔
|
||||||
|
"ꀟ", // 😌
|
||||||
|
"ꀠ", // 😢
|
||||||
|
"ꀡ", // 💙
|
||||||
|
"ꀢ", // 💜
|
||||||
|
"ꀤ", // 🎶
|
||||||
|
"ꀥ", // 😳
|
||||||
|
"ꀦ", // 💖
|
||||||
|
"ꀧ", // 🙌
|
||||||
|
"ꀨ", // 💯
|
||||||
|
"ꀩ", // 🙈
|
||||||
|
"ꀫ", // 😋
|
||||||
|
"ꀬ", // 😑
|
||||||
|
"ꀭ", // 😴
|
||||||
|
"ꀮ", // 😪
|
||||||
|
"ꀯ", // 😜
|
||||||
|
"ꀰ", // 😛
|
||||||
|
"ꀱ", // 😝
|
||||||
|
"ꀲ", // 😞
|
||||||
|
"ꀳ", // 😕
|
||||||
|
"ꀴ", // 💗
|
||||||
|
"ꀵ", // 👏
|
||||||
|
"ꀶ", // 😐
|
||||||
|
"ꀷ", // 👉
|
||||||
|
"ꀸ", // 💛
|
||||||
|
"ꀹ", // 💞
|
||||||
|
"ꀺ", // 💪
|
||||||
|
"ꀻ", // 🌹
|
||||||
|
"ꀼ", // 💀
|
||||||
|
"ꀽ", // 😱
|
||||||
|
"ꀾ", // 💘
|
||||||
|
"ꀿ", // 🤟
|
||||||
|
"ꁀ", // 😡
|
||||||
|
"ꁁ", // 📷
|
||||||
|
"ꁂ", // 🌸
|
||||||
|
"ꁃ", // 😈
|
||||||
|
"ꁄ", // 👈
|
||||||
|
"ꁅ", // 🎉
|
||||||
|
"ꁆ", // 💁
|
||||||
|
"ꁇ", // 🙊
|
||||||
|
"ꁈ", // 💚
|
||||||
|
"ꁉ", // 😫
|
||||||
|
"ꁊ", // 😤
|
||||||
|
"ꁍ", // 💓
|
||||||
|
"ꁎ", // 🌚
|
||||||
|
"ꁏ", // 👇
|
||||||
|
"ꁒ", // 😇
|
||||||
|
"ꁓ", // 👊
|
||||||
|
"ꁔ", // 👑
|
||||||
|
"ꁕ", // 😓
|
||||||
|
"ꁖ", // 😻
|
||||||
|
"ꁗ", // 🔴
|
||||||
|
"ꁘ", // 😥
|
||||||
|
"ꁙ", // 🤩
|
||||||
|
"ꁚ", // 😚
|
||||||
|
"ꁜ", // 😷
|
||||||
|
"ꁝ", // 👋
|
||||||
|
"ꁞ", // 💥
|
||||||
|
"ꁠ", // 🤭
|
||||||
|
"ꁡ", // 🌟
|
||||||
|
"ꁢ", // 🥱
|
||||||
|
"ꁣ", // 💩
|
||||||
|
"ꁤ", // 🚀
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user