Initial commit
This commit is contained in:
457
sources/com/ubt/jimu/blockly/dao/BlocklyProjectDbHandler.java
Normal file
457
sources/com/ubt/jimu/blockly/dao/BlocklyProjectDbHandler.java
Normal file
@@ -0,0 +1,457 @@
|
||||
package com.ubt.jimu.blockly.dao;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.ubt.jimu.JimuApplication;
|
||||
import com.ubt.jimu.base.cache.Cache;
|
||||
import com.ubt.jimu.base.db.AbstractDaoHandler;
|
||||
import com.ubt.jimu.base.db.DatabaseUtils;
|
||||
import com.ubt.jimu.blockly.Utils;
|
||||
import com.ubt.jimu.blockly.bean.BlocklyProject;
|
||||
import com.ubt.jimu.diy.DiyRobotDbHandler;
|
||||
import com.ubt.jimu.gen.BlocklyProjectDao;
|
||||
import com.ubt.jimu.gen.TransportFileDao;
|
||||
import com.ubt.jimu.transport.Transporter;
|
||||
import com.ubt.jimu.transport.dao.TransportFileDbHandler;
|
||||
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
|
||||
import com.ubt.jimu.unity.ModelType;
|
||||
import com.ubt.jimu.utils.ExternalOverFroyoUtils;
|
||||
import com.ubt.jimu.utils.JsonHelper;
|
||||
import com.ubtech.utils.FileHelper;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import org.greenrobot.greendao.AbstractDao;
|
||||
import org.greenrobot.greendao.query.QueryBuilder;
|
||||
import org.greenrobot.greendao.query.WhereCondition;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class BlocklyProjectDbHandler extends AbstractDaoHandler<BlocklyProject> {
|
||||
private static BlocklyProjectDbHandler blocklyProjectDbHandler;
|
||||
|
||||
public BlocklyProjectDbHandler(BlocklyProjectDao blocklyProjectDao) {
|
||||
super(blocklyProjectDao);
|
||||
}
|
||||
|
||||
public static synchronized BlocklyProjectDbHandler getInstance() {
|
||||
BlocklyProjectDbHandler blocklyProjectDbHandler2;
|
||||
synchronized (BlocklyProjectDbHandler.class) {
|
||||
if (blocklyProjectDbHandler == null) {
|
||||
blocklyProjectDbHandler = new BlocklyProjectDbHandler(DatabaseUtils.getDaoSession(true).a());
|
||||
}
|
||||
blocklyProjectDbHandler2 = blocklyProjectDbHandler;
|
||||
}
|
||||
return blocklyProjectDbHandler2;
|
||||
}
|
||||
|
||||
public static List<BlocklyProject> getProjects(String str, String str2, int i) {
|
||||
ArrayList arrayList;
|
||||
updateToVersion3(str, str2, i);
|
||||
BlocklyProjectDbHandler blocklyProjectDbHandler2 = new BlocklyProjectDbHandler(DatabaseUtils.getDaoSession(true).a());
|
||||
ArrayList arrayList2 = new ArrayList();
|
||||
if (i == ModelType.DEFAULT.getType()) {
|
||||
String str3 = ExternalOverFroyoUtils.a(JimuApplication.l(), ModelType.DEFAULT) + str2 + File.separator + str2 + Utils.BLOCKLY_ADD_PATH + File.separator + str2 + ".config";
|
||||
if (new File(str3).exists() && (arrayList = (ArrayList) JsonHelper.a(FileHelper.b(str3, ""), new TypeToken<List<BlocklyProject>>() { // from class: com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler.1
|
||||
}.getType())) != null && arrayList.size() > 0) {
|
||||
Iterator it = arrayList.iterator();
|
||||
while (it.hasNext()) {
|
||||
((BlocklyProject) it.next()).setBlocklyType("newBlockly");
|
||||
}
|
||||
arrayList2.addAll(arrayList);
|
||||
}
|
||||
}
|
||||
List<BlocklyProject> blocklyProjects = blocklyProjectDbHandler2.getBlocklyProjects(str, String.valueOf(i), str2);
|
||||
if (blocklyProjects != null && blocklyProjects.size() > 0) {
|
||||
ArrayList arrayList3 = new ArrayList();
|
||||
String str4 = DiyRobotDbHandler.getCustomModelPath() + str2 + File.separator + str2;
|
||||
if (ModelType.DEFAULT.getType() == i) {
|
||||
str4 = DiyRobotDbHandler.getDefaultModelPath() + str2 + File.separator + str2;
|
||||
}
|
||||
for (BlocklyProject blocklyProject : blocklyProjects) {
|
||||
String str5 = str4 + File.separator + blocklyProject.getXmlId() + ".xml";
|
||||
if ("newBlockly".equals(blocklyProject.getBlocklyType())) {
|
||||
str5 = str4 + Utils.BLOCKLY_ADD_PATH + File.separator + blocklyProject.getXmlId() + ".xml";
|
||||
}
|
||||
if (!new File(str5).exists()) {
|
||||
arrayList3.add(blocklyProject);
|
||||
}
|
||||
}
|
||||
if (arrayList3.size() > 0) {
|
||||
blocklyProjects.removeAll(arrayList3);
|
||||
}
|
||||
arrayList2.addAll(blocklyProjects);
|
||||
}
|
||||
return arrayList2;
|
||||
}
|
||||
|
||||
private static void updateToVersion3(String str, String str2, int i) {
|
||||
ArrayList arrayList;
|
||||
String str3 = (ModelType.DEFAULT.getType() == i ? DiyRobotDbHandler.getDefaultModelPath(str) : DiyRobotDbHandler.getCustomModelPath(str)) + str2 + File.separator + str2 + File.separator + str2 + ".config";
|
||||
File file = new File(str3);
|
||||
if (!file.exists() || (arrayList = (ArrayList) JsonHelper.a(FileHelper.b(str3, ""), new TypeToken<List<BlocklyProject>>() { // from class: com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler.2
|
||||
}.getType())) == null || arrayList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
BlocklyProjectDbHandler blocklyProjectDbHandler2 = new BlocklyProjectDbHandler(DatabaseUtils.getDaoSession(true).a());
|
||||
Iterator it = arrayList.iterator();
|
||||
while (it.hasNext()) {
|
||||
BlocklyProject blocklyProject = (BlocklyProject) it.next();
|
||||
blocklyProject.setUserId(str);
|
||||
blocklyProject.setCustomModelId(str2);
|
||||
blocklyProject.setModelType(String.valueOf(i));
|
||||
blocklyProject.setIsDeleted("0");
|
||||
if (!"blockly".equals(blocklyProject.getBlocklyType()) && !"newBlockly".equals(blocklyProject.getBlocklyType())) {
|
||||
blocklyProject.setBlocklyType("blockly");
|
||||
}
|
||||
}
|
||||
blocklyProjectDbHandler2.insertOrUpdateInTx(arrayList);
|
||||
Transporter.b().a(file);
|
||||
file.delete();
|
||||
}
|
||||
|
||||
public boolean deleteBlocklyProject(String str) {
|
||||
if (TextUtils.isEmpty(str)) {
|
||||
return false;
|
||||
}
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str));
|
||||
BlocklyProject blocklyProject = (BlocklyProject) k.c();
|
||||
if (blocklyProject == null) {
|
||||
return false;
|
||||
}
|
||||
this.dao.b((AbstractDao<T, Long>) blocklyProject);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void deleteModelBlocklyProjects(String str, int i, String str2) {
|
||||
QueryBuilder<BlocklyProject> queryBuilder = getQueryBuilder();
|
||||
queryBuilder.a(BlocklyProjectDao.Properties.UserId.a((Object) str), BlocklyProjectDao.Properties.ModelType.a(Integer.valueOf(i)), BlocklyProjectDao.Properties.CustomModelId.a((Object) str2));
|
||||
List<BlocklyProject> query = query(queryBuilder);
|
||||
if (query == null || query.size() == 0) {
|
||||
return;
|
||||
}
|
||||
deleteInTx(query);
|
||||
Iterator<BlocklyProject> it = query.iterator();
|
||||
while (it.hasNext()) {
|
||||
try {
|
||||
File file = TransportFileDbHandler.getFile(TransportFileDbHandler2.newBlocklyProjectFile(it.next()));
|
||||
if (file != null && file.exists()) {
|
||||
file.delete();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public BlocklyProject getBlocklyByXml(String str) {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str));
|
||||
return (BlocklyProject) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<BlocklyProject> getBlocklyProject(String str) {
|
||||
List<BlocklyProject> list;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) str), new WhereCondition[0]);
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
return list == null ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public List<BlocklyProject> getBlocklyProjects(String str, String str2, String str3) {
|
||||
List<BlocklyProject> list;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) str), BlocklyProjectDao.Properties.ModelType.a((Object) str2), BlocklyProjectDao.Properties.CustomModelId.a((Object) str3), BlocklyProjectDao.Properties.IsDeleted.d("1"));
|
||||
k.b(BlocklyProjectDao.Properties.XmlId);
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
return list == null ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public String getDefaultXmlName(String str, String str2, String str3, String str4) {
|
||||
List<BlocklyProject> blocklyProjects = getBlocklyProjects(str2, str3, str4);
|
||||
if (blocklyProjects == null || blocklyProjects.size() == 0 || TextUtils.isEmpty(str)) {
|
||||
return str + "1";
|
||||
}
|
||||
int[] iArr = new int[blocklyProjects.size()];
|
||||
int i = 0;
|
||||
for (BlocklyProject blocklyProject : blocklyProjects) {
|
||||
if (blocklyProject.getXmlName().startsWith(str)) {
|
||||
String substring = blocklyProject.getXmlName().substring(str.length(), blocklyProject.getXmlName().length());
|
||||
if (TextUtils.isDigitsOnly(substring) && !TextUtils.isEmpty(substring)) {
|
||||
iArr[i] = Integer.parseInt(substring);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Utils.getDefaultName(iArr, i, str);
|
||||
}
|
||||
|
||||
public List<BlocklyProject> getModifyBlocklyOfflineData() {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.ModelId.b(0), BlocklyProjectDao.Properties.IsFirst.a((Object) 1), BlocklyProjectDao.Properties.IsModify.a((Object) 1), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0));
|
||||
return k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<BlocklyProject> getQiNiuBlocklyProject() {
|
||||
List<BlocklyProject> list;
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.ModelId.b(0), BlocklyProjectDao.Properties.IsDeleted.a((Object) 0), BlocklyProjectDao.Properties.IsFirst.a((Object) 0), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0), BlocklyProjectDao.Properties.IsUploadQiNiu.a((Object) 0));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
if (list == null) {
|
||||
return null;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<BlocklyProject> getServiceBlocklyProject() {
|
||||
List<BlocklyProject> list;
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.ModelId.b(0), BlocklyProjectDao.Properties.IsUploadQiNiu.a((Object) 1), BlocklyProjectDao.Properties.IsFirst.a((Object) 0), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
if (list == null) {
|
||||
return null;
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public BlocklyProject getSyncBlocklyByXml(String str) {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str), BlocklyProjectDao.Properties.IsFirst.a((Object) 1));
|
||||
return (BlocklyProject) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isFirs(String str, int i) {
|
||||
BlocklyProject blocklyByXml;
|
||||
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
|
||||
return false;
|
||||
}
|
||||
blocklyByXml.setIsFirst(i);
|
||||
update(blocklyByXml);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isFirstUpload(String str, boolean z) {
|
||||
BlocklyProject blocklyProject;
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.FilePath.a((Object) str));
|
||||
blocklyProject = (BlocklyProject) k.c();
|
||||
} catch (Exception e) {
|
||||
e.getMessage();
|
||||
blocklyProject = null;
|
||||
}
|
||||
if (blocklyProject == null) {
|
||||
return false;
|
||||
}
|
||||
if (z) {
|
||||
blocklyProject.setId(1L);
|
||||
} else {
|
||||
blocklyProject.setId(0L);
|
||||
}
|
||||
update(blocklyProject);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isNameExist(BlocklyProject blocklyProject) {
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.XmlName.a((Object) blocklyProject.getXmlName()), BlocklyProjectDao.Properties.ModelType.a((Object) blocklyProject.getModelType()), BlocklyProjectDao.Properties.CustomModelId.a((Object) blocklyProject.getCustomModelId()), BlocklyProjectDao.Properties.IsDeleted.d("1"), BlocklyProjectDao.Properties.UserId.a((Object) blocklyProject.getUserId()));
|
||||
List<BlocklyProject> b = k.b();
|
||||
if (b == null || b.size() <= 0) {
|
||||
return false;
|
||||
}
|
||||
for (BlocklyProject blocklyProject2 : b) {
|
||||
if (!"1".equals(blocklyProject2.getIsDeleted()) && !blocklyProject2.getXmlId().equals(blocklyProject.getXmlId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean setDeleteState(String str, boolean z) {
|
||||
BlocklyProject blocklyByXml;
|
||||
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
|
||||
return false;
|
||||
}
|
||||
if (z) {
|
||||
blocklyByXml.setIsDeleted("1");
|
||||
} else {
|
||||
blocklyByXml.setIsDeleted("0");
|
||||
}
|
||||
update(blocklyByXml);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean setQiNiuUplaodState(String str, boolean z) {
|
||||
BlocklyProject blocklyByXml;
|
||||
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
|
||||
return false;
|
||||
}
|
||||
blocklyByXml.setUploadQiNiu(z);
|
||||
update(blocklyByXml);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean setServiceUplaodState(String str, boolean z) {
|
||||
BlocklyProject blocklyByXml;
|
||||
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
|
||||
return false;
|
||||
}
|
||||
blocklyByXml.setUploadService(z);
|
||||
update(blocklyByXml);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean setsetModifyState(String str, boolean z) {
|
||||
BlocklyProject blocklyByXml;
|
||||
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
|
||||
return false;
|
||||
}
|
||||
blocklyByXml.setModify(z);
|
||||
update(blocklyByXml);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean updateBlocklyState(String str, boolean z) {
|
||||
if (TextUtils.isEmpty(str)) {
|
||||
return false;
|
||||
}
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str), BlocklyProjectDao.Properties.IsDeleted.d("1"));
|
||||
BlocklyProject blocklyProject = (BlocklyProject) k.c();
|
||||
if (blocklyProject == null) {
|
||||
return false;
|
||||
}
|
||||
blocklyProject.setIsModify(z);
|
||||
update(blocklyProject);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean updateUbtSyncState(String str, boolean z) {
|
||||
BlocklyProject blocklyProject;
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.FilePath.a((Object) str));
|
||||
blocklyProject = (BlocklyProject) k.c();
|
||||
} catch (Exception e) {
|
||||
e.getMessage();
|
||||
blocklyProject = null;
|
||||
}
|
||||
if (blocklyProject == null) {
|
||||
return false;
|
||||
}
|
||||
blocklyProject.setIsModify(z);
|
||||
update(blocklyProject);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void uploadUserIdAndModelId(String str, int i) {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (i <= 0) {
|
||||
return;
|
||||
}
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.CustomModelId.a((Object) str), BlocklyProjectDao.Properties.IsUploadQiNiu.a((Object) 0), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0));
|
||||
List<BlocklyProject> query = query(k);
|
||||
if (query == null || query.size() == 0) {
|
||||
return;
|
||||
}
|
||||
for (BlocklyProject blocklyProject : query) {
|
||||
blocklyProject.setUserId(userId);
|
||||
blocklyProject.setModelId(i);
|
||||
insertOrUpdate(blocklyProject);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
|
||||
public BlocklyProject selectUnique(BlocklyProject blocklyProject) {
|
||||
return getBlocklyProject(blocklyProject.getUserId(), blocklyProject.getModelType(), blocklyProject.getCustomModelId(), blocklyProject.getXmlId());
|
||||
}
|
||||
|
||||
public BlocklyProject getBlocklyProject(String str, String str2, String str3, String str4) {
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(BlocklyProjectDao.Properties.UserId.a((Object) str), BlocklyProjectDao.Properties.ModelType.a((Object) str2), BlocklyProjectDao.Properties.CustomModelId.a((Object) str3), BlocklyProjectDao.Properties.XmlId.a((Object) str4));
|
||||
return (BlocklyProject) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
224
sources/com/ubt/jimu/blockly/dao/JimuMotionDbHandler.java
Normal file
224
sources/com/ubt/jimu/blockly/dao/JimuMotionDbHandler.java
Normal file
@@ -0,0 +1,224 @@
|
||||
package com.ubt.jimu.blockly.dao;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import com.ubt.jimu.base.cache.Cache;
|
||||
import com.ubt.jimu.base.db.AbstractDaoHandler;
|
||||
import com.ubt.jimu.base.db.DatabaseUtils;
|
||||
import com.ubt.jimu.blockly.Utils;
|
||||
import com.ubt.jimu.blockly.bean.JimuMotion;
|
||||
import com.ubt.jimu.gen.JimuMotionDao;
|
||||
import com.ubtech.utils.StringUtils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import org.greenrobot.greendao.query.QueryBuilder;
|
||||
import org.greenrobot.greendao.query.WhereCondition;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class JimuMotionDbHandler extends AbstractDaoHandler<JimuMotion> {
|
||||
private static JimuMotionDbHandler instance;
|
||||
|
||||
public static class JimuMotionComparator implements Comparator<JimuMotion> {
|
||||
@Override // java.util.Comparator
|
||||
public int compare(JimuMotion jimuMotion, JimuMotion jimuMotion2) {
|
||||
if (jimuMotion == null || jimuMotion2 == null) {
|
||||
return 1;
|
||||
}
|
||||
return (StringUtils.f(jimuMotion.getActionID()) && StringUtils.f(jimuMotion2.getActionID()) && Long.parseLong(jimuMotion.getActionID()) <= Long.parseLong(jimuMotion2.getActionID())) ? 1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
public JimuMotionDbHandler(JimuMotionDao jimuMotionDao) {
|
||||
super(jimuMotionDao);
|
||||
}
|
||||
|
||||
public static synchronized JimuMotionDbHandler getInstance() {
|
||||
JimuMotionDbHandler jimuMotionDbHandler;
|
||||
synchronized (JimuMotionDbHandler.class) {
|
||||
if (instance == null) {
|
||||
instance = new JimuMotionDbHandler(DatabaseUtils.getDaoSession(true).o());
|
||||
}
|
||||
jimuMotionDbHandler = instance;
|
||||
}
|
||||
return jimuMotionDbHandler;
|
||||
}
|
||||
|
||||
public boolean deleteJimuMotionByModeelId(String str) {
|
||||
JimuMotion jimuMotion;
|
||||
if (TextUtils.isEmpty(str)) {
|
||||
return false;
|
||||
}
|
||||
TextUtils.isEmpty(Cache.getInstance().getUserId());
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.ActionID.a((Object) str), new WhereCondition[0]);
|
||||
jimuMotion = (JimuMotion) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
jimuMotion = null;
|
||||
}
|
||||
if (jimuMotion == null) {
|
||||
return false;
|
||||
}
|
||||
delete(jimuMotion);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void deleteModelMotions(String str, String str2) {
|
||||
QueryBuilder<JimuMotion> queryBuilder = getQueryBuilder();
|
||||
queryBuilder.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.CustomModelId.a((Object) str2));
|
||||
List<JimuMotion> query = query(queryBuilder);
|
||||
if (query == null || query.size() == 0) {
|
||||
return;
|
||||
}
|
||||
deleteInTx(query);
|
||||
}
|
||||
|
||||
public String getDefaultMotionName(String str, String str2, String str3) {
|
||||
List<JimuMotion> userModelMotions = getUserModelMotions(str, str2);
|
||||
if (userModelMotions == null || userModelMotions.size() == 0) {
|
||||
return str3 + "1";
|
||||
}
|
||||
int[] iArr = new int[userModelMotions.size()];
|
||||
int i = 0;
|
||||
for (JimuMotion jimuMotion : userModelMotions) {
|
||||
if (jimuMotion.getActionName().startsWith(str3)) {
|
||||
String substring = jimuMotion.getActionName().substring(str3.length(), jimuMotion.getActionName().length());
|
||||
if (TextUtils.isDigitsOnly(substring) && !TextUtils.isEmpty(substring)) {
|
||||
iArr[i] = Integer.parseInt(substring);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Utils.getDefaultName(iArr, i, str3);
|
||||
}
|
||||
|
||||
public JimuMotion getJimuMotionById(String str, String str2, String str3) {
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.ActionID.a((Object) str3));
|
||||
return (JimuMotion) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public JimuMotion getOfflineJimuMotionById(String str, String str2) {
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.ActionID.a((Object) str2), JimuMotionDao.Properties.IsFirst.a((Object) 1), JimuMotionDao.Properties.ModelId.b(0));
|
||||
return (JimuMotion) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<JimuMotion> getSyncAmendMotions() {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
List<JimuMotion> list = null;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) userId), JimuMotionDao.Properties.ModelId.b(0), JimuMotionDao.Properties.IsFirst.a((Object) 1), JimuMotionDao.Properties.IsUploadService.a((Object) 0));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return (list == null || list.size() == 0) ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public List<JimuMotion> getSyncModelMotions() {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
List<JimuMotion> list = null;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) userId), JimuMotionDao.Properties.ModelId.b(0), JimuMotionDao.Properties.IsFirst.a((Object) 0), JimuMotionDao.Properties.IsDeleted.a((Object) 0), JimuMotionDao.Properties.IsUploadService.a((Object) 0));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return (list == null || list.size() == 0) ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public List<JimuMotion> getUserModelMotions(String str, String str2) {
|
||||
List<JimuMotion> list;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.CustomModelId.a((Object) str2), JimuMotionDao.Properties.IsDeleted.d("1"));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
if (list == null || list.size() == 0) {
|
||||
return new ArrayList();
|
||||
}
|
||||
Collections.sort(list, new JimuMotionComparator());
|
||||
return list;
|
||||
}
|
||||
|
||||
public boolean nameExist(JimuMotion jimuMotion) {
|
||||
List<JimuMotion> list;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) jimuMotion.getUserId()), JimuMotionDao.Properties.ModelType.a((Object) jimuMotion.getModelType()), JimuMotionDao.Properties.CustomModelId.a((Object) jimuMotion.getCustomModelId()), JimuMotionDao.Properties.ActionName.a((Object) jimuMotion.getActionName()));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
if (list == null || list.size() == 0) {
|
||||
return false;
|
||||
}
|
||||
for (JimuMotion jimuMotion2 : list) {
|
||||
if (!"1".equals(jimuMotion2.getIsDeleted()) && !jimuMotion2.getActionID().equals(jimuMotion.getActionID())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void uploadUserIdAndModelId(String str, int i) {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (i <= 0) {
|
||||
return;
|
||||
}
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.CustomModelId.a((Object) str), JimuMotionDao.Properties.IsUploadService.a((Object) 0), JimuMotionDao.Properties.IsFirst.a((Object) 0));
|
||||
List<JimuMotion> query = query(k);
|
||||
if (query == null || query.size() == 0) {
|
||||
return;
|
||||
}
|
||||
for (JimuMotion jimuMotion : query) {
|
||||
jimuMotion.setUserId(userId);
|
||||
jimuMotion.setModelId(i);
|
||||
insertOrUpdate(jimuMotion);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
|
||||
public JimuMotion selectUnique(JimuMotion jimuMotion) {
|
||||
return getJimuMotionById(jimuMotion.getUserId(), jimuMotion.getCustomModelId(), jimuMotion.getActionID());
|
||||
}
|
||||
|
||||
public List<JimuMotion> getUserModelMotions(String str) {
|
||||
List<JimuMotion> list;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuMotionDao.Properties.UserId.a((Object) str), new WhereCondition[0]);
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
return list == null ? new ArrayList() : list;
|
||||
}
|
||||
}
|
338
sources/com/ubt/jimu/blockly/dao/JimuSoundDbHandler.java
Normal file
338
sources/com/ubt/jimu/blockly/dao/JimuSoundDbHandler.java
Normal file
@@ -0,0 +1,338 @@
|
||||
package com.ubt.jimu.blockly.dao;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.ubt.jimu.JimuApplication;
|
||||
import com.ubt.jimu.base.cache.Cache;
|
||||
import com.ubt.jimu.base.cache.SharePreferenceHelper;
|
||||
import com.ubt.jimu.base.db.AbstractDaoHandler;
|
||||
import com.ubt.jimu.base.db.DatabaseUtils;
|
||||
import com.ubt.jimu.blockly.JimuRobot;
|
||||
import com.ubt.jimu.blockly.Utils;
|
||||
import com.ubt.jimu.blockly.bean.JimuSound;
|
||||
import com.ubt.jimu.blockly.feature.audio.AudioParams;
|
||||
import com.ubt.jimu.gen.JimuSoundDao;
|
||||
import com.ubt.jimu.transport.Transporter;
|
||||
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
|
||||
import com.ubt.jimu.unity.ModelType;
|
||||
import com.ubt.jimu.utils.ExternalOverFroyoUtils;
|
||||
import com.ubt.jimu.utils.JsonHelper;
|
||||
import com.ubt.jimu.utils.LogUtils;
|
||||
import com.ubtech.utils.FileHelper;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.greenrobot.greendao.query.QueryBuilder;
|
||||
import org.greenrobot.greendao.query.WhereCondition;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class JimuSoundDbHandler extends AbstractDaoHandler<JimuSound> {
|
||||
private static final String TAG = "JimuSoundDbHandler";
|
||||
private static JimuSoundDbHandler instance;
|
||||
|
||||
public JimuSoundDbHandler(JimuSoundDao jimuSoundDao) {
|
||||
super(jimuSoundDao);
|
||||
}
|
||||
|
||||
public static synchronized JimuSoundDbHandler getInstance() {
|
||||
JimuSoundDbHandler jimuSoundDbHandler;
|
||||
synchronized (JimuSoundDbHandler.class) {
|
||||
if (instance == null) {
|
||||
instance = new JimuSoundDbHandler(DatabaseUtils.getDaoSession(true).p());
|
||||
}
|
||||
jimuSoundDbHandler = instance;
|
||||
}
|
||||
return jimuSoundDbHandler;
|
||||
}
|
||||
|
||||
public static void update2Version3() {
|
||||
String[] list;
|
||||
SharePreferenceHelper sharePreferenceHelper = new SharePreferenceHelper();
|
||||
if (sharePreferenceHelper.getBoolean("jimu_sound_update", true).booleanValue()) {
|
||||
String str = ExternalOverFroyoUtils.a(JimuApplication.l(), (ModelType) null) + "users" + File.separator;
|
||||
File file = new File(str);
|
||||
if (!file.exists() || (list = file.list()) == null || list.length == 0) {
|
||||
return;
|
||||
}
|
||||
JimuSoundDbHandler jimuSoundDbHandler = new JimuSoundDbHandler(DatabaseUtils.getDaoSession(true).p());
|
||||
for (String str2 : list) {
|
||||
String str3 = str + str2 + File.separator + TransportFileDbHandler2.DIR_SOUNDS + File.separator + JimuRobot.SOUNDS;
|
||||
List<JimuSound> list2 = (List) JsonHelper.a(FileHelper.b(str3, ""), new TypeToken<List<JimuSound>>() { // from class: com.ubt.jimu.blockly.dao.JimuSoundDbHandler.2
|
||||
}.getType());
|
||||
if (list2 != null && list2.size() != 0) {
|
||||
for (JimuSound jimuSound : list2) {
|
||||
jimuSound.setUserId(str2);
|
||||
jimuSound.setIsDeleted("0");
|
||||
}
|
||||
try {
|
||||
jimuSoundDbHandler.insertOrUpdateInTx(list2);
|
||||
new File(str3).delete();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "迁移用户:" + str2 + " 的录音数据到数据表失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
sharePreferenceHelper.put("jimu_sound_update", false);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean deleteJimuSound(JimuSound jimuSound) {
|
||||
JimuSound jimuSound2;
|
||||
if (jimuSound == null || (jimuSound2 = getJimuSound(jimuSound)) == null) {
|
||||
return false;
|
||||
}
|
||||
delete(jimuSound2);
|
||||
File file = new File(jimuSound.getLocalFilePath());
|
||||
if (file.exists()) {
|
||||
file.delete();
|
||||
}
|
||||
String parent = file.getParent();
|
||||
LogUtils.c("path:" + parent);
|
||||
File file2 = new File(parent);
|
||||
if (!file2.exists() || !file2.isDirectory()) {
|
||||
return true;
|
||||
}
|
||||
file2.delete();
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getDefaultSoundName(String str, String str2) {
|
||||
List<JimuSound> jimuSounds = getJimuSounds(str);
|
||||
if (jimuSounds == null || jimuSounds.size() == 0 || TextUtils.isEmpty(str2)) {
|
||||
return str2 + "1";
|
||||
}
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (JimuSound jimuSound : jimuSounds) {
|
||||
if ("1".equals(jimuSound.getIsDeleted())) {
|
||||
arrayList.add(jimuSound);
|
||||
}
|
||||
}
|
||||
if (arrayList.size() > 0) {
|
||||
jimuSounds.removeAll(arrayList);
|
||||
}
|
||||
int[] iArr = new int[jimuSounds.size()];
|
||||
int i = 0;
|
||||
for (JimuSound jimuSound2 : jimuSounds) {
|
||||
if (jimuSound2.getDescription().startsWith(str2)) {
|
||||
String substring = jimuSound2.getDescription().substring(str2.length(), jimuSound2.getDescription().length());
|
||||
if (TextUtils.isDigitsOnly(substring) && !TextUtils.isEmpty(substring)) {
|
||||
iArr[i] = Integer.parseInt(substring);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return Utils.getDefaultName(iArr, i, str2);
|
||||
}
|
||||
|
||||
public JimuSound getJimuSound(JimuSound jimuSound) {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
if (!TextUtils.isEmpty(jimuSound.getAudioId())) {
|
||||
k.a(JimuSoundDao.Properties.UserId.a((Object) userId), JimuSoundDao.Properties.AudioId.a((Object) jimuSound.getAudioId()), JimuSoundDao.Properties.IsDeleted.a((Object) 0));
|
||||
} else {
|
||||
if (TextUtils.isEmpty(jimuSound.getKey())) {
|
||||
return null;
|
||||
}
|
||||
k.a(JimuSoundDao.Properties.UserId.a((Object) userId), JimuSoundDao.Properties.IsDeleted.a((Object) 0), JimuSoundDao.Properties.Key.a((Object) jimuSound.getKey()));
|
||||
}
|
||||
return (JimuSound) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<JimuSound> getJimuSounds(String str) {
|
||||
List<JimuSound> list;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuSoundDao.Properties.UserId.a((Object) str), new WhereCondition[0]);
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
list = null;
|
||||
}
|
||||
return list == null ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public List<JimuSound> getOfflineQiNiuFile() {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
List<JimuSound> list = null;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuSoundDao.Properties.UserId.a((Object) userId), JimuSoundDao.Properties.IsUploadQiNiu.a((Object) 0), JimuSoundDao.Properties.IsSyncUbtService.a((Object) 0));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return list == null ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public List<JimuSound> getOfflineServiceFile() {
|
||||
String userId = Cache.getInstance().getUserId();
|
||||
if (TextUtils.isEmpty(userId)) {
|
||||
userId = "local";
|
||||
}
|
||||
List<JimuSound> list = null;
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuSoundDao.Properties.UserId.a((Object) userId), JimuSoundDao.Properties.IsUploadQiNiu.a((Object) 1), JimuSoundDao.Properties.IsSyncUbtService.a((Object) 0));
|
||||
list = k.b();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return list == null ? new ArrayList() : list;
|
||||
}
|
||||
|
||||
public boolean insertOrUpdateFromService(JimuSound jimuSound) {
|
||||
if (jimuSound == null) {
|
||||
return false;
|
||||
}
|
||||
if (TextUtils.isEmpty(jimuSound.getAudioId()) && TextUtils.isEmpty(jimuSound.getKey())) {
|
||||
return false;
|
||||
}
|
||||
JimuSound jimuSound2 = getJimuSound(jimuSound);
|
||||
if (jimuSound2 != null) {
|
||||
jimuSound2.setLastUploadTime(jimuSound.getLastUploadTime());
|
||||
jimuSound2.setAudioId(jimuSound.getAudioId());
|
||||
jimuSound2.setDescription(jimuSound.getDescription());
|
||||
jimuSound2.setDuration(jimuSound.getDuration());
|
||||
jimuSound2.setIsDeleted("0");
|
||||
jimuSound2.setIsSyncUbtService(true);
|
||||
jimuSound2.setIsUploadQiNiu(true);
|
||||
insertOrUpdate(jimuSound2);
|
||||
} else {
|
||||
JimuSound jimuSound3 = new JimuSound();
|
||||
jimuSound3.setUserId(jimuSound.getUserId());
|
||||
jimuSound3.setIsDeleted("0");
|
||||
jimuSound3.setKey(jimuSound.getAudioId());
|
||||
jimuSound3.setIsSyncUbtService(true);
|
||||
jimuSound3.setIsUploadQiNiu(true);
|
||||
jimuSound3.setDescription(jimuSound.getDescription());
|
||||
jimuSound3.setDuration(jimuSound.getDuration());
|
||||
jimuSound3.setIsSyncUbtService(true);
|
||||
jimuSound3.setIsUploadQiNiu(true);
|
||||
jimuSound3.setType(jimuSound.getType());
|
||||
jimuSound3.setLastUploadTime(jimuSound.getLastUploadTime());
|
||||
jimuSound3.setAudioId(jimuSound.getAudioId());
|
||||
insertOrUpdate(jimuSound3);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean nameExist(String str, String str2) {
|
||||
List<JimuSound> jimuSounds = getJimuSounds(str);
|
||||
if (jimuSounds != null && jimuSounds.size() != 0) {
|
||||
for (JimuSound jimuSound : jimuSounds) {
|
||||
if (jimuSound.getDescription().equals(str2) && !"1".equals(jimuSound.getIsDeleted())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean updateJimuSoundUbtServiceState(JimuSound jimuSound, boolean z) {
|
||||
JimuSound selectUnique;
|
||||
if (jimuSound == null || (selectUnique = selectUnique(jimuSound)) == null) {
|
||||
return false;
|
||||
}
|
||||
selectUnique.setSyncUbtService(z);
|
||||
insertOrUpdate(selectUnique);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean updateQiNiuSyncState(JimuSound jimuSound, boolean z) {
|
||||
JimuSound selectUnique;
|
||||
if (jimuSound == null || (selectUnique = selectUnique(jimuSound)) == null) {
|
||||
return false;
|
||||
}
|
||||
selectUnique.setUploadQiNiu(z);
|
||||
insertOrUpdate(selectUnique);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void updateToVersion3(String str, String str2) {
|
||||
String str3 = str + JimuRobot.SOUNDS;
|
||||
File file = new File(str3);
|
||||
if (file.exists()) {
|
||||
List<JimuSound> list = (List) JsonHelper.a(FileHelper.b(str3, ""), new TypeToken<List<JimuSound>>() { // from class: com.ubt.jimu.blockly.dao.JimuSoundDbHandler.1
|
||||
}.getType());
|
||||
if (list == null || list.size() == 0) {
|
||||
Transporter.b().a(file);
|
||||
file.delete();
|
||||
return;
|
||||
}
|
||||
for (JimuSound jimuSound : list) {
|
||||
jimuSound.setUserId(str2);
|
||||
if ("1".equals(jimuSound.getIsDeleted())) {
|
||||
jimuSound.setIsDeleted(jimuSound.getIsDeleted());
|
||||
}
|
||||
}
|
||||
try {
|
||||
insertOrUpdateInTx(list);
|
||||
Transporter.b().a(file);
|
||||
file.delete();
|
||||
} catch (Exception e) {
|
||||
e.getMessage();
|
||||
Log.e(TAG, "updateToVersion3 on error: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean uploadDeleteState(JimuSound jimuSound, boolean z) {
|
||||
JimuSound selectUnique;
|
||||
if (jimuSound == null || (selectUnique = selectUnique(jimuSound)) == null) {
|
||||
return false;
|
||||
}
|
||||
selectUnique.setIsDeleted(z ? "1" : "0");
|
||||
update(jimuSound);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
|
||||
public JimuSound selectUnique(JimuSound jimuSound) {
|
||||
return getJimuSound(jimuSound.getUserId(), jimuSound.getKey());
|
||||
}
|
||||
|
||||
public List<JimuSound> getJimuSounds(String str, String str2) {
|
||||
updateToVersion3(str, str2);
|
||||
List<JimuSound> jimuSounds = getJimuSounds(str2);
|
||||
ArrayList arrayList = new ArrayList();
|
||||
if (jimuSounds != null && jimuSounds.size() != 0) {
|
||||
for (JimuSound jimuSound : jimuSounds) {
|
||||
if (!"1".equals(jimuSound.getIsDeleted())) {
|
||||
String key = jimuSound.getKey();
|
||||
if (TextUtils.isEmpty(key)) {
|
||||
key = jimuSound.getAudioId();
|
||||
}
|
||||
File file = new File(str + key + File.separator + key + AudioParams.AAC);
|
||||
if (file.exists() && file.isFile()) {
|
||||
arrayList.add(jimuSound);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
public JimuSound getJimuSound(String str, String str2) {
|
||||
try {
|
||||
QueryBuilder k = this.dao.k();
|
||||
k.a(JimuSoundDao.Properties.UserId.a((Object) str), JimuSoundDao.Properties.Key.a((Object) str2));
|
||||
return (JimuSound) k.c();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user