package com.ifpdos.debugmenu.config.xml;

import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.Log;
import android.util.Xml;
import c.l.n;
import com.ifpdos.debugmenu.action.base.NoItemAction;
import com.ifpdos.debugmenu.config.IConfig;
import d.f.a.j2.b;
import d.f.a.j2.e.d;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.xmlpull.v1.XmlPullParser;

/* JADX INFO: loaded from: classes.dex */
public class XmlConfig implements IConfig {
    private static final String EMPTY_STRING = "";
    private static final String ENCODING = "utf-8";
    private static final String PACKAGE_PREFIX_ACTION = "com.ifpdos.debugmenu.action.";
    private static final String RES_TYPE_STRING = "string";
    private static final String RES_TYPE_STRING_ARRAY = "string-array";
    private Context mContext;
    private IXmlParseState mCurrentState;
    private n mLifecycleOwner;
    private b mMenu;
    private XmlPullParser mXmlPullParser;
    private Map<String, Page> mPageMap = new HashMap();
    private Page mMainPage = null;
    private ParseUiState mParseUiState = new ParseUiState();
    private ParseStringState mParseStringState = new ParseStringState();
    private ParseStringArrayState mParseStringArrayState = new ParseStringArrayState();
    private Map<String, IXmlParseState> mStates = new HashMap();
    private Map<String, Map<String, Map<String, String>>> mTranslates = new HashMap();
    private final Map<String, Map<String, Map<String, List<String>>>> mStringArrayTranslates = new HashMap();

    public interface IXmlParseState {
        String getTag();

        void onTagEnd(XmlConfig xmlConfig);

        void onTagStart(XmlConfig xmlConfig);
    }

    public XmlConfig(Context context, b bVar, n nVar, InputStream inputStream) throws Exception {
        IXmlParseState iXmlParseState;
        this.mContext = context;
        this.mMenu = bVar;
        this.mLifecycleOwner = nVar;
        this.mStates.put(this.mParseUiState.getTag(), this.mParseUiState);
        this.mStates.put(this.mParseStringState.getTag(), this.mParseStringState);
        this.mStates.put(this.mParseStringArrayState.getTag(), this.mParseStringArrayState);
        XmlPullParser xmlPullParserNewPullParser = Xml.newPullParser();
        this.mXmlPullParser = xmlPullParserNewPullParser;
        xmlPullParserNewPullParser.setInput(inputStream, ENCODING);
        int eventType = this.mXmlPullParser.getEventType();
        while (eventType != 1) {
            if (eventType == 2) {
                String name = this.mXmlPullParser.getName();
                IXmlParseState iXmlParseState2 = this.mStates.get(name);
                Log.i("TAG", "onCreate: " + name + ",state = " + iXmlParseState2);
                if (iXmlParseState2 != null) {
                    this.mCurrentState = iXmlParseState2;
                }
                IXmlParseState iXmlParseState3 = this.mCurrentState;
                if (iXmlParseState3 != null) {
                    iXmlParseState3.onTagStart(this);
                }
            } else if (eventType == 3 && (iXmlParseState = this.mCurrentState) != null) {
                iXmlParseState.onTagEnd(this);
            }
            eventType = this.mXmlPullParser.next();
        }
        this.mParseUiState.onParseFinish(this);
    }

    private String[] getStringArrayFromConfig(String str) {
        List<String> list;
        if (str == null) {
            return null;
        }
        Locale locale = this.mContext.getResources().getConfiguration().locale;
        Map<String, Map<String, List<String>>> map = this.mStringArrayTranslates.containsKey(locale.getLanguage()) ? this.mStringArrayTranslates.get(locale.getLanguage()) : this.mStringArrayTranslates.get("");
        Map<String, List<String>> map2 = map != null ? map.containsKey(locale.getCountry()) ? map.get(locale.getCountry()) : map.get("") : null;
        if (map2 == null || (list = map2.get(str)) == null) {
            return null;
        }
        return (String[]) list.toArray(new String[0]);
    }

    private String getStringFromConfig(String str) {
        Map<String, String> map;
        if (str == null) {
            return null;
        }
        Locale locale = this.mContext.getResources().getConfiguration().locale;
        Map<String, Map<String, String>> map2 = this.mTranslates.containsKey(locale.getLanguage()) ? this.mTranslates.get(locale.getLanguage()) : null;
        if (map2 == null) {
            map2 = this.mTranslates.get("");
        }
        if (map2 == null) {
            return null;
        }
        if (map2.containsKey(locale.getCountry())) {
            map = map2.get(locale.getCountry());
        } else {
            Map<String, Map<String, String>> map3 = this.mTranslates.get("");
            map = map3 != null ? map3.get("") : null;
        }
        if (map != null) {
            return map.get(str);
        }
        return null;
    }

    private String getStringFromResource(String str) {
        if (str == null) {
            return null;
        }
        try {
            return this.mContext.getString(this.mContext.getResources().getIdentifier(str, RES_TYPE_STRING, this.mContext.getPackageName()));
        } catch (Exception unused) {
            return null;
        }
    }

    public void addStringArrayTranslate(String str, String str2, Map<String, List<String>> map) {
        Map<String, Map<String, List<String>>> map2 = this.mStringArrayTranslates.get(str);
        if (map2 == null) {
            map2 = new HashMap<>();
            this.mStringArrayTranslates.put(str, map2);
        }
        map2.put(str2, map);
    }

    public void addTranslate(String str, String str2, Map<String, String> map) {
        Map<String, Map<String, String>> map2 = this.mTranslates.get(str);
        if (map2 == null) {
            map2 = new HashMap<>();
            this.mTranslates.put(str, map2);
        }
        map2.put(str2, map);
    }

    public void exitCurrentState() {
        this.mCurrentState = null;
    }

    public Context getContext() {
        return this.mContext;
    }

    public Drawable getImgByName(String str, String str2) {
        if (TextUtils.isEmpty(str2)) {
            return null;
        }
        Resources resources = this.mContext.getResources();
        Context context = this.mContext;
        return resources.getDrawable(context.getResources().getIdentifier(str2, "mipmap", context.getPackageName()));
    }

    public n getLifecycleOwner() {
        return this.mLifecycleOwner;
    }

    @Override // com.ifpdos.debugmenu.config.IConfig
    public List<d> getMainPageItems() {
        Page page = this.mMainPage;
        return page == null ? new ArrayList() : page.getItems();
    }

    @Override // com.ifpdos.debugmenu.config.IConfig
    public List<NoItemAction> getNoItemActions() {
        return this.mParseUiState.getNoItemActions();
    }

    @Override // com.ifpdos.debugmenu.config.IConfig
    public List<d> getPageItemsById(String str) {
        Map<String, Page> map = this.mPageMap;
        return map == null ? new ArrayList() : map.get(str).mItems;
    }

    public b getPageMenu() {
        return this.mMenu;
    }

    @Override // com.ifpdos.debugmenu.config.IConfig
    public String getPageName() {
        Page page = this.mMainPage;
        if (page == null) {
            return null;
        }
        return page.getTitle();
    }

    public String getString(String str) {
        String stringFromConfig = getStringFromConfig(str);
        return stringFromConfig != null ? stringFromConfig : getStringFromResource(str);
    }

    public String[] getStringArray(String str) {
        return getStringArrayFromConfig(str);
    }

    public XmlPullParser getXmlPullParser() {
        return this.mXmlPullParser;
    }

    public void onPageCreate(String str, Page page) {
        this.mPageMap.put(str, page);
    }

    public void setMainPage(Page page) {
        this.mMainPage = page;
    }

    public void setPageMap(Map<String, Page> map) {
        this.mPageMap = map;
    }

    public static final class Page {
        private Drawable mIcon;
        private String mId;
        private List<d> mItems = new ArrayList();
        private final String mTitle;

        public Page(String str) {
            this.mTitle = str;
        }

        public void addItem(d dVar) {
            this.mItems.add(dVar);
        }

        public Drawable getIcon() {
            return this.mIcon;
        }

        public String getId() {
            return this.mId;
        }

        public List<d> getItems() {
            return this.mItems;
        }

        public String getTitle() {
            return this.mTitle;
        }

        public Page(String str, String str2, Drawable drawable) {
            this.mId = str;
            this.mTitle = str2;
            this.mIcon = drawable;
        }
    }
}
