TIM v2.3.1版本的 MD5 值为:d6957e3ee7ce901ccc491cefdea0da8c

以下内容为反编译后的 TroopOrgDataManager.java 源代码,内容仅作参考


package com.tencent.mobileqq.troop.org.data;

import android.content.SharedPreferences;
import android.support.v4.util.LruCache;
import android.text.TextUtils;
import com.tencent.common.app.BaseApplicationImpl;
import com.tencent.mobileqq.app.QQAppInterface;
import com.tencent.mobileqq.app.ThreadManager;
import com.tencent.mobileqq.persistence.Entity;
import com.tencent.mobileqq.persistence.EntityManager;
import com.tencent.mobileqq.persistence.NoColumnErrorHandler;
import com.tencent.mobileqq.troop.org.pb.DataModel;
import com.tencent.mobileqq.troop.org.pb.oidb_0x497;
import com.tencent.mobileqq.utils.ChnToSpell;
import com.tencent.mobileqq.utils.ContactUtils;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Stack;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import mqq.manager.Manager;
import org.json.JSONArray;
import org.json.JSONException;
import tencent.im.oidb.cmd0x787.oidb_0x787;
public class TroopOrgDataManager implements Manager {
    public static final String f32369a = "http://pub.idqqimg.com/pc/misc/files/20151124/ee616e73cd764fdf9d887abbf98e99f0.png";
    public static final String f93980b = "troop_org_update_time";
    SharedPreferences f32372a;
    QQAppInterface f32373a;
    public EntityManager f32374a;
    public static ConcurrentHashMap f32370a = new ConcurrentHashMap();
    public static ConcurrentHashMap f32371b = new ConcurrentHashMap();
    public static ConcurrentHashMap f93981c = new ConcurrentHashMap();
    public static LruCache f93979a = new LruCache(10);
    public ConcurrentHashMap d = new ConcurrentHashMap();
    ConcurrentLinkedQueue f32375a = new ConcurrentLinkedQueue();

    public TroopOrgDataManager(QQAppInterface qQAppInterface) {
        this.f32373a = qQAppInterface;
        this.f32374a = qQAppInterface.getEntityManagerFactory().createEntityManager();
        this.f32372a = BaseApplicationImpl.f6970a.getSharedPreferences("troop_org_update_time_" + qQAppInterface.getCurrentAccountUin(), 0);
    }

    public void m8747a(String str, long j) {
        this.f32372a.edit().putLong("orglist_" + str + "_" + this.f32373a.getCurrentAccountUin(), j).commit();
    }

    public long a(String str) {
        return this.f32372a.getLong("orglist_" + str + "_" + this.f32373a.getCurrentAccountUin(), 0L);
    }

    public void a(String str, String str2, long j) {
        this.f32372a.edit().putLong("orglist_" + str + "_" + str2 + "_" + this.f32373a.getCurrentAccountUin(), j).commit();
    }

    public long a(String str, String str2) {
        return this.f32372a.getLong("orglist_" + str + "_" + str2 + "_" + this.f32373a.getCurrentAccountUin(), 0L);
    }

    public void a(String str, long j, long j2) {
        this.f32372a.edit().putLong("orgMemList_" + str + "_" + j + "_" + this.f32373a.getCurrentAccountUin(), j2).commit();
    }

    public long a(String str, long j) {
        return this.f32372a.getLong("orgMemList_" + str + "_" + j + "_" + this.f32373a.getCurrentAccountUin(), 0L);
    }

    public TroopOrg a(String str, DataModel.Department department, TroopOrg troopOrg) {
        TroopOrg troopOrg2;
        if (department == null) {
            return null;
        }
        String str2 = "" + department.uint64_dep_id.get();
        String str3 = str + str2;
        TroopOrg m8740a = m8740a(str3);
        if (m8740a == null) {
            TroopOrg troopOrg3 = new TroopOrg();
            f32370a.put(str3, troopOrg3);
            troopOrg2 = troopOrg3;
        } else {
            troopOrg2 = m8740a;
        }
        troopOrg2.uniId = str + str2;
        troopOrg2.mOrg_id = "" + str2;
        troopOrg2.troopUin = str;
        troopOrg2.mMemNum = department.uint64_head_count.get();
        if (department.uint64_manager.get() != 0) {
            troopOrg2.mMgrUin = "" + department.uint64_manager.get();
        } else {
            troopOrg2.mMgrUin = "";
        }
        troopOrg2.mOrgName = department.bytes_dep_name.get().toStringUtf8();
        troopOrg2.mSubOrgList.clear();
        JSONArray jSONArray = new JSONArray();
        Iterator it = department.rpt_sub_dep.get().iterator();
        while (it.hasNext()) {
            jSONArray.put("" + ((DataModel.Department) it.next()).uint64_dep_id.get());
        }
        troopOrg2.mSubOrgs = jSONArray.toString();
        if (troopOrg == null) {
            troopOrg2.isRoot = 1;
            troopOrg2.level = 0;
        } else {
            troopOrg2.isRoot = 0;
            troopOrg2.mParentId = troopOrg.uniId;
            troopOrg2.level = troopOrg.level + 1;
        }
        if (troopOrg2.getStatus() == 1000) {
            this.f32374a.b((Entity) troopOrg2);
        } else {
            this.f32374a.mo7244a((Entity) troopOrg2);
        }
        for (DataModel.Department department2 : department.rpt_sub_dep.get()) {
            TroopOrg a2 = a(str, department2, troopOrg2);
            a2.mParentOrg = troopOrg2;
            troopOrg2.mSubOrgList.put("" + department2.uint64_dep_id.get(), a2);
        }
        return troopOrg2;
    }

    public void m8746a(TroopOrg troopOrg) {
        if (troopOrg != null) {
            a(troopOrg.troopUin, troopOrg.mOrg_id, 0L);
            if (troopOrg.isRoot == 1) {
                m8747a(troopOrg.troopUin, 0L);
            }
            this.f32374a.m7248b((Entity) troopOrg);
            f32370a.remove(troopOrg.uniId);
            if (troopOrg.isRoot == 1) {
                f93981c.remove(troopOrg.troopUin);
            }
            for (TroopOrg troopOrg2 : TroopOrg.getSubOrgList(troopOrg)) {
                m8746a(troopOrg2);
            }
        }
    }

    public void m8749b(TroopOrg troopOrg) {
        if (troopOrg.isDelete != 1) {
            if (troopOrg.getStatus() == 1000) {
                this.f32374a.b((Entity) troopOrg);
                return;
            } else {
                this.f32374a.mo7244a((Entity) troopOrg);
                return;
            }
        }
        this.f32374a.m7248b((Entity) troopOrg);
    }

    public void a(OrgMember orgMember) {
        if (orgMember.getStatus() == 1000) {
            this.f32374a.b((Entity) orgMember);
        } else {
            this.f32374a.mo7244a((Entity) orgMember);
        }
    }

    public void a(String str, String str2, List list) {
        this.d.put(str + str2, list);
    }

    public List m8745a(String str, String str2) {
        return (List) this.d.get(str + str2);
    }

    public void a(String str, oidb_0x497.ReadMemlistRsp readMemlistRsp) {
        long j = readMemlistRsp.uint64_dep_id.get();
        DataModel.DepartmentMembers departmentMembers = (DataModel.DepartmentMembers) readMemlistRsp.msg_members.get();
        TroopOrg m8740a = m8740a(str + j);
        ArrayList arrayList = new ArrayList();
        if (m8740a != null) {
            m8740a.mOrgMembers.clear();
            JSONArray jSONArray = new JSONArray();
            for (Long l : departmentMembers.rpt_uint64_members.get()) {
                long longValue = l.longValue();
                jSONArray.put(longValue);
                OrgMember m8739a = m8739a(str, "" + longValue);
                if (m8739a == null) {
                    m8739a = new OrgMember();
                    m8739a.constructBasicInfo(this.f32373a, str, "" + longValue);
                    f32371b.put(m8739a.mem_id, m8739a);
                    arrayList.add(m8739a);
                }
                if (m8739a != null && !m8740a.mOrgMembers.contains(m8739a)) {
                    m8740a.mOrgMembers.add(m8739a);
                }
            }
            m8740a.mMemUins = jSONArray.toString();
            arrayList.add(m8740a);
            a(arrayList);
            a(str, j, readMemlistRsp.uint64_update_time.get());
        }
    }

    public void a(List list) {
        ThreadManager.a(new vbf(this, list), 5, null, true);
    }

    public void b(String str, String str2, List list) {
        JSONArray jSONArray;
        TroopOrg m8740a = m8740a(str + str2);
        if (m8740a != null && m8740a != null) {
            if (m8740a.mMemUins != null) {
                try {
                    jSONArray = new JSONArray(m8740a.mMemUins);
                } catch (Exception e) {
                    jSONArray = new JSONArray();
                }
            } else {
                jSONArray = new JSONArray();
            }
            Iterator it = list.iterator();
            while (it.hasNext()) {
                long longValue = ((Long) it.next()).longValue();
                if (!jSONArray.toString().contains("" + longValue)) {
                    jSONArray.put(longValue);
                }
                OrgMember m8739a = m8739a(str, "" + longValue);
                if (m8739a == null) {
                    m8739a = new OrgMember();
                    m8739a.constructBasicInfo(this.f32373a, str, "" + longValue);
                    f32371b.put(m8739a.mem_id, m8739a);
                    this.f32374a.b((Entity) m8739a);
                }
                if (m8739a != null && !m8740a.mOrgMembers.contains(m8739a)) {
                    m8740a.mOrgMembers.add(m8739a);
                }
            }
            m8740a.mMemUins = jSONArray.toString();
            this.f32374a.mo7244a((Entity) m8740a);
        }
    }

    public OrgMember a(String str, String str2, DataModel.MemberData memberData, long j) {
        OrgMember orgMember;
        String str3 = str + str2;
        OrgMember m8739a = m8739a(str, str2);
        if (m8739a == null) {
            OrgMember orgMember2 = new OrgMember();
            orgMember2.constructBasicInfo(this.f32373a, str, str2);
            f32371b.put(str3, orgMember2);
            orgMember = orgMember2;
        } else {
            orgMember = m8739a;
        }
        orgMember.derectLeaderUin = "" + memberData.uint64_direct_reporter.get();
        if (orgMember.timeStamp != j) {
            JSONArray jSONArray = new JSONArray();
            for (Long l : memberData.rpt_uint64_departments.get()) {
                jSONArray.put(l);
                TroopOrg m8740a = m8740a(str + l);
                if (m8740a != null && !m8740a.mOrgMembers.contains(orgMember)) {
                    m8740a.mOrgMembers.add(orgMember);
                }
            }
            orgMember.mOrgs = jSONArray.toString();
        }
        if (memberData.bytes_phone.has()) {
            orgMember.phoneNum = memberData.bytes_phone.get().toStringUtf8();
        }
        if (memberData.bytes_position.has()) {
            orgMember.position = memberData.bytes_position.get().toString();
        }
        orgMember.timeStamp = j;
        a((Entity) orgMember);
        return orgMember;
    }

    public void a(String str, List list) {
        Iterator it = list.iterator();
        while (it.hasNext()) {
            oidb_0x787.MemberLevelInfo memberLevelInfo = (oidb_0x787.MemberLevelInfo) it.next();
            String str2 = "" + memberLevelInfo.uint64_uin.get();
            boolean z = false;
            OrgMember m8739a = m8739a(str, str2);
            if (m8739a == null) {
                m8739a = new OrgMember();
                m8739a.constructBasicInfo(this.f32373a, str, str2);
                f32371b.put(m8739a.mem_id, m8739a);
                z = true;
            }
            if (memberLevelInfo.bytes_phone.has()) {
                m8739a.phoneNum = memberLevelInfo.bytes_phone.get().toStringUtf8();
                z = true;
            }
            if (z) {
                a((Entity) m8739a);
            }
        }
    }

    public void a(String str, String str2, String str3) {
        OrgMember b2 = b(str, str2);
        if (b2 != null) {
            TroopOrg m8740a = m8740a(str + str3);
            if (m8740a != null && !m8740a.mOrgMembers.contains(b2)) {
                m8740a.mOrgMembers.remove(b2);
            }
            this.f32374a.mo7244a((Entity) m8740a);
        }
    }

    public TroopOrg m8740a(String str) {
        TroopOrg troopOrg = (TroopOrg) f32370a.get(str);
        if (troopOrg == null && (troopOrg = (TroopOrg) this.f32374a.a(TroopOrg.class, str)) != null) {
            c(troopOrg);
            a(troopOrg);
            f32370a.put(str, troopOrg);
        }
        return troopOrg;
    }

    public OrgMember m8739a(String str, String str2) {
        String str3 = str + str2;
        OrgMember orgMember = (OrgMember) f32371b.get(str3);
        if (orgMember == null && (orgMember = (OrgMember) this.f32374a.a(OrgMember.class, str3)) != null) {
            f32371b.put(str3, orgMember);
        }
        if (orgMember != null) {
            orgMember.mName = ContactUtils.f(this.f32373a, str, str2);
            if (orgMember.mName != null) {
                orgMember.mPinying = ChnToSpell.m9099a(orgMember.mName, 1);
                orgMember.mJianPing = ChnToSpell.m9099a(orgMember.mName, 2);
            }
        }
        return orgMember;
    }

    public OrgMember b(String str, String str2) {
        OrgMember orgMember = (OrgMember) f32371b.remove(str + str2);
        if (orgMember != null) {
            this.f32374a.m7248b((Entity) orgMember);
        }
        return orgMember;
    }

    public OrgMember c(String str, String str2) {
        OrgMember m8739a = m8739a(str, str2);
        if (m8739a != null && !TextUtils.isEmpty(m8739a.mOrgs)) {
            try {
                m8739a.mOrgList.clear();
                JSONArray jSONArray = new JSONArray(m8739a.mOrgs);
                for (int i = 0; i < jSONArray.length(); i++) {
                    TroopOrg m8740a = m8740a(str + jSONArray.getString(i));
                    if (m8740a != null) {
                        m8739a.mOrgList.add(m8740a);
                    }
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
        return m8739a;
    }

    public List m8748b(String str, String str2) {
        ArrayList arrayList = new ArrayList();
        OrgMember c2 = c(str, str2);
        if (c2 != null) {
            for (TroopOrg troopOrg : c2.mOrgList) {
                if (TextUtils.isEmpty(troopOrg.mMgrUin)) {
                    arrayList.add(troopOrg.mMgrUin);
                }
                while (troopOrg.mParentOrg != null) {
                    troopOrg = troopOrg.mParentOrg;
                    if (TextUtils.isEmpty(troopOrg.mMgrUin)) {
                        arrayList.add(troopOrg.mMgrUin);
                    }
                }
            }
        }
        return arrayList;
    }

    public List m8743a(TroopOrg troopOrg) {
        ArrayList arrayList = new ArrayList();
        if (!TextUtils.isEmpty(troopOrg.mMgrUin)) {
            arrayList.add(troopOrg.mMgrUin);
        }
        while (troopOrg.mParentOrg != null) {
            troopOrg = troopOrg.mParentOrg;
            if (!TextUtils.isEmpty(troopOrg.mMgrUin)) {
                arrayList.add(troopOrg.mMgrUin);
            }
        }
        return arrayList;
    }

    public TroopOrg b(String str) {
        List a2;
        TroopOrg troopOrg = (TroopOrg) f93981c.get(str);
        if (troopOrg == null && (a2 = this.f32374a.a(TroopOrg.class, TroopOrg.class.getSimpleName(), false, "troopUin=? and isRoot=1", new String[]{str}, (String) null, (String) null, (String) null, (String) null, (NoColumnErrorHandler) null)) != null && a2.size() > 0) {
            troopOrg = (TroopOrg) a2.get(0);
        }
        if (troopOrg != null) {
            f32370a.put(troopOrg.uniId, troopOrg);
            f93981c.put(str, troopOrg);
            a(troopOrg);
            c(troopOrg);
        }
        if (troopOrg == null || troopOrg.mSubOrgList.size() == 0) {
            m8747a(str, 0L);
        }
        return troopOrg;
    }

    public void c(TroopOrg troopOrg) {
        if (troopOrg.mMemUins != null) {
            try {
                JSONArray jSONArray = new JSONArray(troopOrg.mMemUins);
                troopOrg.mOrgMembers.clear();
                int i = 0;
                while (true) {
                    int i2 = i;
                    if (i2 < jSONArray.length()) {
                        String string = jSONArray.getString(i2);
                        OrgMember m8739a = m8739a(troopOrg.troopUin, string);
                        if (m8739a == null) {
                            m8739a = new OrgMember();
                            m8739a.constructBasicInfo(this.f32373a, troopOrg.troopUin, string);
                            f32371b.put(m8739a.mem_id, m8739a);
                        }
                        if (m8739a != null && !troopOrg.mOrgMembers.contains(m8739a)) {
                            troopOrg.mOrgMembers.add(m8739a);
                        }
                        i = i2 + 1;
                    } else {
                        return;
                    }
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }

    public TroopOrg m8741a(String str, String str2) {
        List a2 = this.f32374a.a(TroopOrg.class, TroopOrg.class.getSimpleName(), false, "troopUin=? and isMyOrg=1 and mMyUin=?", new String[]{str, str2}, (String) null, (String) null, (String) null, (String) null, (NoColumnErrorHandler) null);
        if (a2 == null || a2.size() != 1) {
            return null;
        }
        TroopOrg troopOrg = (TroopOrg) a2.get(0);
        f32370a.put(troopOrg.uniId, troopOrg);
        a(troopOrg);
        c(troopOrg);
        return troopOrg;
    }

    public void b(OrgMember orgMember) {
        if (orgMember != null) {
            orgMember.mName = ContactUtils.f(this.f32373a, orgMember.troopUin, orgMember.memUin);
            if (orgMember.mName != null) {
                orgMember.mPinying = ChnToSpell.m9099a(orgMember.mName, 1);
                orgMember.mJianPing = ChnToSpell.m9099a(orgMember.mName, 2);
            }
            f32371b.put(orgMember.mem_id, orgMember);
            a((Entity) orgMember);
        }
    }

    public TroopOrg a(TroopOrg troopOrg) {
        int i;
        int i2 = 0;
        try {
            JSONArray jSONArray = new JSONArray(troopOrg.mSubOrgs);
            i = 0;
            while (i2 < jSONArray.length()) {
                try {
                    String string = jSONArray.getString(i2);
                    TroopOrg m8740a = m8740a(troopOrg.troopUin + string);
                    if (m8740a != null) {
                        troopOrg.mSubOrgList.put("" + string, m8740a);
                        a(m8740a);
                        m8740a.mParentOrg = troopOrg;
                        c(m8740a);
                    } else {
                        i = 1;
                    }
                    i2++;
                } catch (JSONException e) {
                    i2 = i;
                    e = e;
                    e.printStackTrace();
                    i = i2;
                    if (i != 0) {
                    }
                    return troopOrg;
                }
            }
        } catch (JSONException e2) {
            e = e2;
        }
        if (i != 0) {
            if (troopOrg.isRoot == 1) {
                m8747a(troopOrg.troopUin, 0L);
            }
            a(troopOrg.troopUin, troopOrg.mOrg_id, 0L);
        }
        return troopOrg;
    }

    public String m8742a(TroopOrg troopOrg) {
        if (troopOrg == null) {
            return "";
        }
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(troopOrg.mOrgName);
        String b2 = b(troopOrg);
        if (!TextUtils.isEmpty(b2)) {
            stringBuffer.append("-");
            stringBuffer.append(b2);
        }
        return b2.toString();
    }

    public String b(TroopOrg troopOrg) {
        TroopOrg m8740a;
        if (troopOrg == null) {
            return "";
        }
        StringBuffer stringBuffer = new StringBuffer();
        Stack stack = new Stack();
        String str = troopOrg.mParentId;
        while (!TextUtils.isEmpty(str) && (m8740a = m8740a(str)) != null) {
            stack.push(m8740a.mOrgName);
            str = m8740a.mParentId;
        }
        while (!stack.isEmpty()) {
            stringBuffer.append((String) stack.pop());
            if (!stack.isEmpty()) {
                stringBuffer.append("-");
            }
        }
        return stringBuffer.toString();
    }

    @Override
    public void onDestroy() {
        if (this.f32375a.size() > 10) {
            ArrayList arrayList = new ArrayList();
            Iterator it = this.f32375a.iterator();
            while (it.hasNext()) {
                arrayList.add((Entity) it.next());
            }
            a(arrayList);
            this.f32375a.clear();
        }
        if (this.f32374a != null) {
            this.f32374a.m7241a();
        }
        this.d.clear();
        f32371b.clear();
        f93981c.clear();
    }

    public boolean a(TroopOrg troopOrg, TroopOrg troopOrg2) {
        if (troopOrg == troopOrg2) {
            return true;
        }
        List<TroopOrg> subOrgList = TroopOrg.getSubOrgList(troopOrg);
        if (TroopOrg.getSubOrgList(troopOrg).contains(troopOrg2)) {
            return true;
        }
        for (TroopOrg troopOrg3 : subOrgList) {
            if (a(troopOrg3, troopOrg2)) {
                return true;
            }
        }
        return false;
    }

    public List m8744a(String str) {
        return (List) f93979a.get(str);
    }

    public void b(String str, List list) {
        f93979a.put(str, list);
    }

    public synchronized void a(Entity entity) {
        this.f32375a.add(entity);
        if (this.f32375a.size() >= 10) {
            ArrayList arrayList = new ArrayList();
            Iterator it = this.f32375a.iterator();
            while (it.hasNext()) {
                arrayList.add((Entity) it.next());
            }
            a(arrayList);
            this.f32375a.clear();
        }
    }
}