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();
}
}
}