EmojiUtils.smali
.class public Lcom/sandboxol/imchat/utils/EmojiUtils;
.super Ljava/lang/Object;
.source "EmojiUtils.java"
# static fields
.field public static final unicodeReg:Ljava/lang/String; = "[\u4e00-\u9fbf\u4dc0-\u4dff\u0000-\u007f\u0080-\u00ff\u0100-\u017f\u0180-\u024f\u0250-\u02af\u02b0-\u02ff\u0300-\u036f\u0370-\u03ff\u0400-\u04ff\u0500-\u052f\u0530-\u058f\u0590-\u05ff\u0600-\u06ff\u0700-\u074f\u0750-\u077f\u0780-\u07bf\u0800-\u085f\u0860-\u087f\u0880-\u08af\u0900-\u097f\u0980-\u09ff\u0a00-\u0a7f\u0a80-\u0aff\u0b00-\u0b7f\u0b80-\u0bff\u0c00-\u0c7f\u0c80-\u0cff\u0d00-\u0d7f\u0d80-\u0dff\u0e00-\u0e7f\u0e80-\u0eff\u0f00-\u0fff\u1000-\u109f\u10a0-\u10ff\u1100-\u11ff\u1200-\u137f\u1380-\u139f\u13a0-\u13ff\u1400-\u167f\u1680-\u169f\u16a0-\u16ff\u1700-\u171f\u1720-\u173f\u1740-\u175f\u1760-\u177f\u1780-\u17ff\u1800-\u18af\u18b0-\u18ff\u1900-\u194f\u1950-\u197f\u1980-\u19df\u19e0-\u19ff\u1a00-\u1a1f\u1a20-\u1a5f\u1a80-\u1aef\u1b00-\u1b7f\u1b80-\u1bb0\u1bc0-\u1bff\u1c00-\u1c4f\u1c50-\u1c7f\u1c80-\u1cdf\u1d00-\u1d7f\u1d80-\u1dbf\u1dc0-\u1dff\u1e00-\u1eff\u1f00-\u1fff\u2000-\u206f\u2070-\u209f\u20a0-\u20cf\u20d0-\u20ff\u2100-\u214f\u2150-\u218f\u2190-\u21ff\u2200-\u22ff\u2300-\u23ff\u2400-\u243f\u2440-\u245f\u2460-\u24ff\u2500-\u257f\u2580-\u259f\u25a0-\u25ff\u2600-\u26ff\u2700-\u27bf\u27c0-\u27ef\u27f0-\u27ff\u2800-\u28ff\u2900-\u297f\u2980-\u29ff\u2a00-\u2aff\u2b00-\u2bff\u2c00-\u2c5f\u2c60-\u2c7f\u2c80-\u2cff\u2d00-\u2d2f\u2d30-\u2d7f\u2d80-\u2ddf\u2e00-\u2e7f\u2e80-\u2eff\u2f00-\u2fdf\u2ff0-\u2fff\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\u3100-\u312f\u3130-\u318f\u3190-\u319f\u31a0-\u31bf\u31c0-\u31ef\u31f0-\u31ff\u3200-\u32ff\u3300-\u33ff\u3400-\u4dbf\u4dc0-\u4dff\u4e00-\u9fbf\ua000-\ua48f\ua490-\ua4cf\ua500-\ua61f\ua660-\ua6ff\ua700-\ua71f\ua720-\ua7ff\ua800-\ua82f\ua840-\ua87f\ua880-\ua8df\ua900-\ua97f\ua980-\ua9df\uaa00-\uaa3f\uaa40-\uaa6f\uaa80-\uaadf\uab00-\uab5f\uab80-\uaba0\uac00-\ud7af\ue000-\uf8ff\uf900-\ufaff\ufb00-\ufb4f\ufb50-\ufdff\ufe00-\ufe0f\ufe10-\ufe1f\ufe20-\ufe2f\ufe30-\ufe4f\ufe50-\ufe6f\ufe70-\ufeff\uff00-\uffef\ufff0-\uffff]"
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static convert(Ljava/lang/String;)Ljava/lang/String;
.registers 8
if-nez p0, :cond_4
const-string p0, ""
.line 1
:cond_4
new-instance v0, Ljava/lang/StringBuffer;
const/16 v1, 0x3e8
invoke-direct {v0, v1}, Ljava/lang/StringBuffer;-><init>(I)V
const/4 v1, 0x0
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->setLength(I)V
.line 3
:goto_f
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
if-ge v1, v2, :cond_48
.line 4
invoke-virtual {p0, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
const-string v3, "\\u"
.line 5
invoke-virtual {v0, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
ushr-int/lit8 v3, v2, 0x8
.line 6
invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v3
.line 7
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v4
const-string v5, "0"
const/4 v6, 0x1
if-ne v4, v6, :cond_30
.line 8
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 9
:cond_30
invoke-virtual {v0, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
and-int/lit16 v2, v2, 0xff
.line 10
invoke-static {v2}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
move-result-object v2
.line 11
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
if-ne v3, v6, :cond_42
.line 12
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 13
:cond_42
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
add-int/lit8 v1, v1, 0x1
goto :goto_f
.line 14
:cond_48
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v0}, Ljava/lang/String;-><init>(Ljava/lang/StringBuffer;)V
invoke-virtual {p0}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static emojiChange(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 8
:try_start_0
const-string v0, "[\u4e00-\u9fbf\u4dc0-\u4dff\u0000-\u007f\u0080-\u00ff\u0100-\u017f\u0180-\u024f\u0250-\u02af\u02b0-\u02ff\u0300-\u036f\u0370-\u03ff\u0400-\u04ff\u0500-\u052f\u0530-\u058f\u0590-\u05ff\u0600-\u06ff\u0700-\u074f\u0750-\u077f\u0780-\u07bf\u0800-\u085f\u0860-\u087f\u0880-\u08af\u0900-\u097f\u0980-\u09ff\u0a00-\u0a7f\u0a80-\u0aff\u0b00-\u0b7f\u0b80-\u0bff\u0c00-\u0c7f\u0c80-\u0cff\u0d00-\u0d7f\u0d80-\u0dff\u0e00-\u0e7f\u0e80-\u0eff\u0f00-\u0fff\u1000-\u109f\u10a0-\u10ff\u1100-\u11ff\u1200-\u137f\u1380-\u139f\u13a0-\u13ff\u1400-\u167f\u1680-\u169f\u16a0-\u16ff\u1700-\u171f\u1720-\u173f\u1740-\u175f\u1760-\u177f\u1780-\u17ff\u1800-\u18af\u18b0-\u18ff\u1900-\u194f\u1950-\u197f\u1980-\u19df\u19e0-\u19ff\u1a00-\u1a1f\u1a20-\u1a5f\u1a80-\u1aef\u1b00-\u1b7f\u1b80-\u1bb0\u1bc0-\u1bff\u1c00-\u1c4f\u1c50-\u1c7f\u1c80-\u1cdf\u1d00-\u1d7f\u1d80-\u1dbf\u1dc0-\u1dff\u1e00-\u1eff\u1f00-\u1fff\u2000-\u206f\u2070-\u209f\u20a0-\u20cf\u20d0-\u20ff\u2100-\u214f\u2150-\u218f\u2190-\u21ff\u2200-\u22ff\u2300-\u23ff\u2400-\u243f\u2440-\u245f\u2460-\u24ff\u2500-\u257f\u2580-\u259f\u25a0-\u25ff\u2600-\u26ff\u2700-\u27bf\u27c0-\u27ef\u27f0-\u27ff\u2800-\u28ff\u2900-\u297f\u2980-\u29ff\u2a00-\u2aff\u2b00-\u2bff\u2c00-\u2c5f\u2c60-\u2c7f\u2c80-\u2cff\u2d00-\u2d2f\u2d30-\u2d7f\u2d80-\u2ddf\u2e00-\u2e7f\u2e80-\u2eff\u2f00-\u2fdf\u2ff0-\u2fff\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\u3100-\u312f\u3130-\u318f\u3190-\u319f\u31a0-\u31bf\u31c0-\u31ef\u31f0-\u31ff\u3200-\u32ff\u3300-\u33ff\u3400-\u4dbf\u4dc0-\u4dff\u4e00-\u9fbf\ua000-\ua48f\ua490-\ua4cf\ua500-\ua61f\ua660-\ua6ff\ua700-\ua71f\ua720-\ua7ff\ua800-\ua82f\ua840-\ua87f\ua880-\ua8df\ua900-\ua97f\ua980-\ua9df\uaa00-\uaa3f\uaa40-\uaa6f\uaa80-\uaadf\uab00-\uab5f\uab80-\uaba0\uac00-\ud7af\ue000-\uf8ff\uf900-\ufaff\ufb00-\ufb4f\ufb50-\ufdff\ufe00-\ufe0f\ufe10-\ufe1f\ufe20-\ufe2f\ufe30-\ufe4f\ufe50-\ufe6f\ufe70-\ufeff\uff00-\uffef\ufff0-\uffff]"
.line 1
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 2
new-instance v1, Ljava/lang/StringBuffer;
invoke-direct {v1}, Ljava/lang/StringBuffer;-><init>()V
const/4 v2, 0x0
const/4 v3, 0x0
.line 3
:goto_d
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v4
if-ge v2, v4, :cond_32
.line 4
invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
move-result v4
.line 5
invoke-static {v4}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v4
.line 6
invoke-virtual {v0, v4}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v5
.line 7
invoke-virtual {v5}, Ljava/util/regex/Matcher;->find()Z
move-result v5
if-eqz v5, :cond_29
.line 8
invoke-virtual {v1, v4}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
goto :goto_2f
:cond_29
if-nez v3, :cond_2f
.line 9
invoke-virtual {v1, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
const/4 v3, 0x1
:cond_2f
:goto_2f
add-int/lit8 v2, v2, 0x1
goto :goto_d
.line 10
:cond_32
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p0
:try_end_36
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
return-object p0
:catch_37
move-exception p0
.line 11
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
const-string p0, ""
return-object p0
.end method
.method public static revert(Ljava/lang/String;)Ljava/lang/String;
.registers 12
if-nez p0, :cond_4
const-string p0, ""
:cond_4
const-string v0, "\\u"
.line 1
invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_e
return-object p0
.line 2
:cond_e
new-instance v0, Ljava/lang/StringBuffer;
const/16 v1, 0x3e8
invoke-direct {v0, v1}, Ljava/lang/StringBuffer;-><init>(I)V
const/4 v1, 0x0
const/4 v2, 0x0
.line 3
:goto_17
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, -0x6
if-ge v2, v3, :cond_68
add-int/lit8 v3, v2, 0x6
.line 4
invoke-virtual {p0, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
const/4 v4, 0x2
.line 5
invoke-virtual {v2, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
const/4 v4, 0x0
const/4 v5, 0x0
.line 6
:goto_2c
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v6
if-ge v4, v6, :cond_62
.line 7
invoke-virtual {v2, v4}, Ljava/lang/String;->charAt(I)C
move-result v6
packed-switch v6, :pswitch_data_6e
add-int/lit8 v6, v6, -0x30
goto :goto_4d
:pswitch_3c
const/16 v6, 0xf
goto :goto_4d
:pswitch_3f
const/16 v6, 0xe
goto :goto_4d
:pswitch_42
const/16 v6, 0xd
goto :goto_4d
:pswitch_45
const/16 v6, 0xc
goto :goto_4d
:pswitch_48
const/16 v6, 0xb
goto :goto_4d
:pswitch_4b
const/16 v6, 0xa
:goto_4d
const-wide/high16 v7, 0x4030000000000000L # 16.0
.line 8
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v9
sub-int/2addr v9, v4
add-int/lit8 v9, v9, -0x1
int-to-double v9, v9
invoke-static {v7, v8, v9, v10}, Ljava/lang/Math;->pow(DD)D
move-result-wide v7
double-to-int v7, v7
mul-int v6, v6, v7
add-int/2addr v5, v6
add-int/lit8 v4, v4, 0x1
goto :goto_2c
:cond_62
int-to-char v2, v5
.line 9
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
move v2, v3
goto :goto_17
.line 10
:cond_68
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
nop
:pswitch_data_6e
.packed-switch 0x61
:pswitch_4b
:pswitch_48
:pswitch_45
:pswitch_42
:pswitch_3f
:pswitch_3c
.end packed-switch
.end method