Skip to content

[core] Enum is converted to a class with static fields #1699

@bagipro

Description

@bagipro

Hey!

After 683c2df commit I see that an enum is being converted to a class

Before the commit:

package com.sec.ims.volte2.data;
public enum VolteConstants$AudioCodecType {
    AUDIO_CODEC_NONE("NONE"),
    AUDIO_CODEC_AMRWB("AMR-WB"),
    AUDIO_CODEC_AMRNB("AMR-NB"),
    AUDIO_CODEC_EVSNB("EVS-NB"),
    AUDIO_CODEC_EVSWB("EVS-WB"),
    AUDIO_CODEC_EVSSWB("EVS-SWB"),
    AUDIO_CODEC_EVSFB("EVS-FB"),
    AUDIO_CODEC_EVS("EVS");
    
    private static final Map<String, VolteConstants$AudioCodecType> stringToEnum = new HashMap();
    private final String mCodec;

    static {
        VolteConstants$AudioCodecType[] values;
        for (VolteConstants$AudioCodecType volteConstants$AudioCodecType : values()) {
            stringToEnum.put(volteConstants$AudioCodecType.toString(), volteConstants$AudioCodecType);
        }
    }

    VolteConstants$AudioCodecType(String str) {
        this.mCodec = str;
    }

    @Override
    public String toString() {
        return this.mCodec;
    }
}

Now:

package com.sec.ims.volte2.data;
public final class VolteConstants$AudioCodecType {
    private static final VolteConstants$AudioCodecType[] $VALUES;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_AMRNB;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_AMRWB;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_EVS;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_EVSFB;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_EVSNB;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_EVSSWB;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_EVSWB;
    public static final VolteConstants$AudioCodecType AUDIO_CODEC_NONE;
    private static final Map<String, VolteConstants$AudioCodecType> stringToEnum;
    private final String mCodec;

    public static VolteConstants$AudioCodecType valueOf(String str) {
        return (VolteConstants$AudioCodecType) Enum.valueOf(VolteConstants$AudioCodecType.class, str);
    }

    public static VolteConstants$AudioCodecType[] values() {
        return (VolteConstants$AudioCodecType[]) $VALUES.clone();
    }

    static {
        VolteConstants$AudioCodecType[] values;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType = new VolteConstants$AudioCodecType("AUDIO_CODEC_NONE", 0, "NONE");
        AUDIO_CODEC_NONE = volteConstants$AudioCodecType;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType2 = new VolteConstants$AudioCodecType("AUDIO_CODEC_AMRWB", 1, "AMR-WB");
        AUDIO_CODEC_AMRWB = volteConstants$AudioCodecType2;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType3 = new VolteConstants$AudioCodecType("AUDIO_CODEC_AMRNB", 2, "AMR-NB");
        AUDIO_CODEC_AMRNB = volteConstants$AudioCodecType3;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType4 = new VolteConstants$AudioCodecType("AUDIO_CODEC_EVSNB", 3, "EVS-NB");
        AUDIO_CODEC_EVSNB = volteConstants$AudioCodecType4;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType5 = new VolteConstants$AudioCodecType("AUDIO_CODEC_EVSWB", 4, "EVS-WB");
        AUDIO_CODEC_EVSWB = volteConstants$AudioCodecType5;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType6 = new VolteConstants$AudioCodecType("AUDIO_CODEC_EVSSWB", 5, "EVS-SWB");
        AUDIO_CODEC_EVSSWB = volteConstants$AudioCodecType6;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType7 = new VolteConstants$AudioCodecType("AUDIO_CODEC_EVSFB", 6, "EVS-FB");
        AUDIO_CODEC_EVSFB = volteConstants$AudioCodecType7;
        VolteConstants$AudioCodecType volteConstants$AudioCodecType8 = new VolteConstants$AudioCodecType("AUDIO_CODEC_EVS", 7, "EVS");
        AUDIO_CODEC_EVS = volteConstants$AudioCodecType8;
        $VALUES = new VolteConstants$AudioCodecType[]{volteConstants$AudioCodecType, volteConstants$AudioCodecType2, volteConstants$AudioCodecType3, volteConstants$AudioCodecType4, volteConstants$AudioCodecType5, volteConstants$AudioCodecType6, volteConstants$AudioCodecType7, volteConstants$AudioCodecType8};
        stringToEnum = new HashMap();
        for (VolteConstants$AudioCodecType volteConstants$AudioCodecType9 : values()) {
            stringToEnum.put(volteConstants$AudioCodecType9.toString(), volteConstants$AudioCodecType9);
        }
    }

    private VolteConstants$AudioCodecType(String str, int i, String str2) {
        this.mCodec = str2;
    }

    @Override
    public String toString() {
        return this.mCodec;
    }
}

APK is the same: https://drive.google.com/file/d/1XBpFGkIORvQkPu8sYaWFpSZ1ZI87QpxR/view?usp=sharing

Metadata

Metadata

Assignees

No one assigned

    Labels

    CoreIssues in jadx-core modulebug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions