Initial commit

This commit is contained in:
2025-05-13 19:24:51 +02:00
commit a950f49678
10604 changed files with 932663 additions and 0 deletions

View File

@@ -0,0 +1,253 @@
package com.ubt.jimu.transport3.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.base.db.diy.DiyDBModel;
import com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler;
import com.ubt.jimu.blockly.dao.JimuMotionDbHandler;
import com.ubt.jimu.gen.DiyDBModelDao;
import com.ubt.jimu.utils.LogUtils;
import java.util.Iterator;
import java.util.List;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.query.QueryBuilder;
/* loaded from: classes2.dex */
public class DiyDBModelDBHandler extends AbstractDaoHandler<DiyDBModel> {
private static DiyDBModelDBHandler diyDBModelDBHandler;
public DiyDBModelDBHandler(AbstractDao<DiyDBModel, Long> abstractDao) {
super(abstractDao);
}
public static synchronized DiyDBModelDBHandler getInstance() {
DiyDBModelDBHandler diyDBModelDBHandler2;
synchronized (DiyDBModelDBHandler.class) {
if (diyDBModelDBHandler == null) {
diyDBModelDBHandler = new DiyDBModelDBHandler(DatabaseUtils.getDaoSession(true).d());
}
diyDBModelDBHandler2 = diyDBModelDBHandler;
}
return diyDBModelDBHandler2;
}
/* JADX WARN: Code restructure failed: missing block: B:10:0x0071, code lost:
return r1;
*/
/* JADX WARN: Code restructure failed: missing block: B:14:0x006e, code lost:
if (r2 == null) goto L15;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
public static boolean saveModelLogoFile(android.content.Context r5, java.lang.String r6, java.lang.String r7) {
/*
boolean r0 = com.ubtech.utils.StringUtils.e(r7)
r1 = 0
if (r0 == 0) goto L8
return r1
L8:
java.lang.StringBuilder r0 = new java.lang.StringBuilder
r0.<init>()
r2 = 0
java.lang.String r5 = com.ubt.jimu.utils.ExternalOverFroyoUtils.a(r5, r2)
r0.append(r5)
java.lang.String r5 = com.ubt.jimu.base.cache.Constants.CUSTOM_MODEL
r3 = 1
java.lang.Object[] r3 = new java.lang.Object[r3]
com.ubt.jimu.base.cache.Cache r4 = com.ubt.jimu.base.cache.Cache.getInstance()
java.lang.String r4 = r4.getUserId()
r3[r1] = r4
java.lang.String r5 = java.lang.String.format(r5, r3)
r0.append(r5)
r0.append(r6)
java.lang.String r5 = r0.toString()
java.lang.StringBuilder r0 = new java.lang.StringBuilder
r0.<init>()
r0.append(r5)
java.lang.String r5 = java.io.File.separator
r0.append(r5)
r0.append(r6)
java.lang.String r5 = ".jpg"
r0.append(r5)
java.lang.String r5 = r0.toString()
android.graphics.Bitmap$Config r6 = android.graphics.Bitmap.Config.RGB_565 // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
r0 = 2
android.graphics.Bitmap r2 = com.ubtech.utils.BitmapFile.a(r7, r6, r0) // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
android.graphics.Bitmap$CompressFormat r6 = android.graphics.Bitmap.CompressFormat.JPEG // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
r7 = 60
com.ubtech.utils.BitmapFile.a(r2, r6, r7, r5) // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
java.io.File r6 = new java.io.File // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
r6.<init>(r5) // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
boolean r1 = r6.exists() // Catch: java.lang.Throwable -> L68 java.lang.Exception -> L6a
if (r2 == 0) goto L71
L64:
r2.recycle()
goto L71
L68:
r5 = move-exception
goto L72
L6a:
r5 = move-exception
r5.printStackTrace() // Catch: java.lang.Throwable -> L68
if (r2 == 0) goto L71
goto L64
L71:
return r1
L72:
if (r2 == 0) goto L77
r2.recycle()
L77:
throw r5
*/
throw new UnsupportedOperationException("Method not decompiled: com.ubt.jimu.transport3.dao.DiyDBModelDBHandler.saveModelLogoFile(android.content.Context, java.lang.String, java.lang.String):boolean");
}
public boolean deleteDiyDBModelByModelId(int i) {
DiyDBModel diyDBModelByModelId = getDiyDBModelByModelId(i);
if (diyDBModelByModelId == null) {
return false;
}
deleteModel(diyDBModelByModelId);
return true;
}
public void deleteModel(DiyDBModel diyDBModel) {
DiyDBModel selectUnique;
if (diyDBModel == null || (selectUnique = selectUnique(diyDBModel)) == null) {
return;
}
delete(selectUnique);
TransportFileDbHandler2.getInstance().deleteModelFiles(selectUnique.getModelCreatedId(), selectUnique.getCustomModelId());
DiyModelActionDBHandler.getInstance().deleteModelActions(selectUnique.getModelCreatedId(), 2, selectUnique.getCustomModelId());
BlocklyProjectDbHandler.getInstance().deleteModelBlocklyProjects(selectUnique.getModelCreatedId(), 2, selectUnique.getCustomModelId());
JimuMotionDbHandler.getInstance().deleteModelMotions(selectUnique.getModelCreatedId(), selectUnique.getCustomModelId());
}
public void deleteModels(List<DiyDBModel> list) {
if (list == null || list.size() == 0) {
return;
}
Iterator<DiyDBModel> it = list.iterator();
while (it.hasNext()) {
deleteModel(it.next());
}
}
public List<DiyDBModel> getDeletedDiyModels(String str) {
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) str), DiyDBModelDao.Properties.IsDelete.a((Object) true));
return query(k);
}
public List<DiyDBModel> getDeletedModelDB() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId) || userId.equals("local")) {
return null;
}
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.ModelId.b(0), DiyDBModelDao.Properties.IsDelete.a((Object) 1));
return query(k);
}
public DiyDBModel getDiyDBModelByModelId(int i) {
DiyDBModel unique;
if (i <= 0) {
return null;
}
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId) || userId.equals("local")) {
return null;
}
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.ModelId.a(Integer.valueOf(i)), DiyDBModelDao.Properties.IsModify.a((Object) 1));
if (k == null || (unique = unique(k)) == null) {
return null;
}
return unique;
}
public List<DiyDBModel> getNewOrModifyDiyModels(String str) {
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) str), DiyDBModelDao.Properties.IsModify.a((Object) true));
return query(k);
}
public List<DiyDBModel> getQiNiuDefeatModelDB() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId) || userId.equals("local")) {
return null;
}
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.ModelId.c(0), DiyDBModelDao.Properties.CompressImagePath.b());
return query(k);
}
public List<DiyDBModel> getUbtServiceDefeatModelDB() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId) || userId.equals("local")) {
return null;
}
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.ModelId.c(0), DiyDBModelDao.Properties.CompressImagePath.a());
return query(k);
}
public List<DiyDBModel> getUserDiyModels(String str) {
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) str), DiyDBModelDao.Properties.IsDelete.a((Object) false));
k.b(DiyDBModelDao.Properties.CustomModelCreatetime);
return query(k);
}
public boolean updateModelId(String str, int i, long j) {
DiyDBModel unique;
String userId = Cache.getInstance().getUserId();
LogUtils.c("开始将模型数据写入数据库:" + userId + " modelId:" + i);
if (TextUtils.isEmpty(userId) || userId.equals("local")) {
return false;
}
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.CustomModelId.a((Object) str));
if (k == null || (unique = unique(k)) == null) {
return false;
}
unique.setModelId(Integer.valueOf(i));
unique.setLastUploadTime(j);
unique.setIsModify(false);
insertOrUpdate(unique);
return true;
}
public boolean updateQiNiuUrl(DiyDBModel diyDBModel) {
DiyDBModel unique;
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId) || userId.equals("local")) {
return false;
}
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.CustomModelId.a((Object) diyDBModel.getCustomModelId()));
if (k == null || (unique = unique(k)) == null) {
return false;
}
unique.setCompressImagePath(diyDBModel.getCompressImagePath());
insertOrUpdate(unique);
return true;
}
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
public DiyDBModel selectUnique(DiyDBModel diyDBModel) {
return selectUnique(diyDBModel.getModelCreatedId(), diyDBModel.getCustomModelId());
}
public DiyDBModel selectUnique(String str, String str2) {
QueryBuilder k = this.dao.k();
k.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) str), DiyDBModelDao.Properties.CustomModelId.a((Object) str2));
return unique(k);
}
}

View File

@@ -0,0 +1,176 @@
package com.ubt.jimu.transport3.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.networkSync.utils.QiNiuUtils;
import com.ubt.jimu.gen.DiyModelActionDao;
import com.ubt.jimu.transport3.model.DiyModelAction;
import com.ubt.jimu.utils.LogUtils;
import java.io.File;
import java.util.List;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.query.QueryBuilder;
import org.greenrobot.greendao.query.WhereCondition;
/* loaded from: classes2.dex */
public class DiyModelActionDBHandler extends AbstractDaoHandler<DiyModelAction> {
private static final String TAG = "DiyModelActionDBHandler";
private static DiyModelActionDBHandler diyModelActionDBHandler;
public DiyModelActionDBHandler(AbstractDao<DiyModelAction, Long> abstractDao) {
super(abstractDao);
}
public static synchronized DiyModelActionDBHandler getInstance() {
DiyModelActionDBHandler diyModelActionDBHandler2;
synchronized (DiyModelActionDBHandler.class) {
if (diyModelActionDBHandler == null) {
diyModelActionDBHandler = new DiyModelActionDBHandler(DatabaseUtils.getDaoSession(true).f());
}
diyModelActionDBHandler2 = diyModelActionDBHandler;
}
return diyModelActionDBHandler2;
}
public void deleteAction(List<DiyModelAction> list) {
if (list == null || list.size() == 0) {
return;
}
for (DiyModelAction diyModelAction : list) {
if (diyModelAction != null) {
deleteModelAction(diyModelAction);
}
}
}
public boolean deleteModelAction(DiyModelAction diyModelAction) {
DiyModelAction selectUnique;
if (diyModelAction == null || (selectUnique = selectUnique(diyModelAction)) == null) {
return false;
}
delete(selectUnique);
String str = QiNiuUtils.getAndroidSystemRootPath() + QiNiuUtils.getDiyActionLoaclPath(selectUnique);
LogUtils.c("删除动作:" + str);
File file = new File(str);
if (!file.exists()) {
return true;
}
file.delete();
return true;
}
public void deleteModelActions(String str, int i, String str2) {
List<DiyModelAction> modelActions = getModelActions(str, i, str2);
if (modelActions == null || modelActions.size() == 0) {
return;
}
deleteAction(modelActions);
}
public List<DiyModelAction> getAllOfflineUpdateBean() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) userId), DiyModelActionDao.Properties.ModelId.b(0), DiyModelActionDao.Properties.ServerId.a((Object) 1), DiyModelActionDao.Properties.Modify.a((Object) 1));
return query(k);
}
public List<DiyModelAction> getModelActions(String str, int i, String str2) {
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) str), DiyModelActionDao.Properties.ModelType.a(Integer.valueOf(i)), DiyModelActionDao.Properties.CustomModelId.a((Object) str2));
return query(k);
}
public List<DiyModelAction> getQiNiuActionDB() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) userId), DiyModelActionDao.Properties.ModelId.b(0), DiyModelActionDao.Properties.ServerId.a((Object) 0), DiyModelActionDao.Properties.Uploaded.a((Object) 0), DiyModelActionDao.Properties.Modify.a((Object) 1));
return query(k);
}
public List<DiyModelAction> getSyncServiceActionDB() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) userId), DiyModelActionDao.Properties.ModelId.b(0), DiyModelActionDao.Properties.Uploaded.a((Object) 1), DiyModelActionDao.Properties.ServerId.a((Object) 0), DiyModelActionDao.Properties.Modify.a((Object) 1));
return query(k);
}
public List<DiyModelAction> getUserActions(String str) {
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) str), new WhereCondition[0]);
return query(k);
}
public void insertOrUpdateActionDB(DiyModelAction diyModelAction) {
LogUtils.c("查询数据库 userId:" + diyModelAction.getUserId() + " CustomModelId:" + diyModelAction.getCustomModelId() + " FileName:" + diyModelAction.getFileName() + " ModelType:" + diyModelAction.getModelType());
DiyModelAction selectUnique = selectUnique(diyModelAction);
if (selectUnique == null) {
insert(diyModelAction);
return;
}
selectUnique.setId(diyModelAction.getId());
selectUnique.setServerId(1L);
selectUnique.setModelId(diyModelAction.getModelId());
selectUnique.setFileUrl(diyModelAction.getFileUrl());
selectUnique.setCreateTime(diyModelAction.getCreateTime());
selectUnique.setModifyTime(diyModelAction.getModifyTime());
selectUnique.setLastUploadTime(diyModelAction.getLastUploadTime());
selectUnique.setModify(diyModelAction.getModify());
selectUnique.setUploaded(diyModelAction.getUploaded());
update(selectUnique);
}
public DiyModelAction unique(String str, int i, String str2, String str3) {
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) str), DiyModelActionDao.Properties.ModelType.a(Integer.valueOf(i)), DiyModelActionDao.Properties.CustomModelId.a((Object) str2), DiyModelActionDao.Properties.FileName.a((Object) str3));
return unique(k);
}
public boolean updateQiNiuState(DiyModelAction diyModelAction) {
if (diyModelAction == null) {
return false;
}
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(DiyModelActionDao.Properties.UserId.a((Object) userId), DiyModelActionDao.Properties.CustomModelId.a((Object) diyModelAction.getCustomModelId()), DiyModelActionDao.Properties.FileName.a((Object) diyModelAction.getFileName()));
DiyModelAction unique = unique(k);
if (unique == null) {
return false;
}
update(unique);
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(DiyModelActionDao.Properties.CustomModelId.a((Object) str), DiyModelActionDao.Properties.Uploaded.a((Object) 0), DiyModelActionDao.Properties.Modify.a((Object) 1));
List<DiyModelAction> query = query(k);
if (query == null || query.size() == 0) {
return;
}
for (DiyModelAction diyModelAction : query) {
diyModelAction.setUserId(userId);
diyModelAction.setModelId(i);
insertOrUpdate(diyModelAction);
}
}
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
public DiyModelAction selectUnique(DiyModelAction diyModelAction) {
return unique(diyModelAction.getUserId(), diyModelAction.getModelType(), diyModelAction.getCustomModelId(), diyModelAction.getFileName());
}
}

View File

@@ -0,0 +1,389 @@
package com.ubt.jimu.transport3.dao;
import com.ubt.jimu.base.cache.Cache;
import com.ubt.jimu.base.db.DatabaseUtils;
import com.ubt.jimu.blockly.Utils;
import com.ubt.jimu.blockly.bean.BlocklyProject;
import com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler;
import com.ubt.jimu.diy.DiyRobotDbHandler;
import com.ubt.jimu.gen.TransportFileDao;
import com.ubt.jimu.transport.dao.TransportFileDbHandler;
import com.ubt.jimu.transport.model.TransportFile;
import com.ubt.jimu.transport3.model.DiyModelAction;
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: classes2.dex */
public class TransportFileDbHandler2 extends TransportFileDbHandler {
public static final String DIR_DEFAULT = "default";
public static final String DIR_PLAYER = "playerdata";
public static final String DIR_SOUNDS = "sounds";
private static final String URL_FILES = "files";
private static final String URL_JIMU = "jimu";
private static final String URL_SEPARATOR = "/";
private static final String URL_TEST = "test";
private static final String URL_USER = "user";
private static TransportFileDbHandler2 transportFileDbHandler2;
public TransportFileDbHandler2(AbstractDao<TransportFile, Long> abstractDao) {
super(abstractDao);
}
public static String getAbsoluteModelFilePath(TransportFile transportFile) {
return DiyRobotDbHandler.getUserHome(transportFile.getUserId()) + getModelFilePath(transportFile) + File.separator + transportFile.getFileName();
}
public static synchronized TransportFileDbHandler2 getInstance() {
TransportFileDbHandler2 transportFileDbHandler22;
synchronized (TransportFileDbHandler2.class) {
if (transportFileDbHandler2 == null) {
transportFileDbHandler2 = new TransportFileDbHandler2(DatabaseUtils.getDaoSession(true).v());
}
transportFileDbHandler22 = transportFileDbHandler2;
}
return transportFileDbHandler22;
}
/* JADX WARN: Can't fix incorrect switch cases order, some code will duplicate */
public static String getModelFilePath(String str, int i, String str2, String str3, String str4) {
char c;
StringBuilder sb = new StringBuilder();
if (!"audio".equals(str3)) {
if (i == 1) {
sb.append("default");
} else {
sb.append("playerdata");
}
sb.append(File.separator);
sb.append(str2);
switch (str3.hashCode()) {
case -1923861410:
if (str3.equals(TransportFile.TYPE_AUDIO_SHOW)) {
c = '\b';
break;
}
c = 65535;
break;
case -1422950858:
if (str3.equals("action")) {
c = 3;
break;
}
c = 65535;
break;
case -309387644:
if (str3.equals(TransportFile.TYPE_PROGRAM)) {
c = 4;
break;
}
c = 65535;
break;
case 3141:
if (str3.equals("bg")) {
c = 1;
break;
}
c = 65535;
break;
case 3059500:
if (str3.equals("conn")) {
c = 2;
break;
}
c = 65535;
break;
case 3079825:
if (str3.equals("desc")) {
c = 0;
break;
}
c = 65535;
break;
case 3529469:
if (str3.equals(TransportFile.TYPE_DIY_SHOW)) {
c = 6;
break;
}
c = 65535;
break;
case 637428636:
if (str3.equals(TransportFile.TYPE_CONTROLLER)) {
c = 7;
break;
}
c = 65535;
break;
case 644351654:
if (str3.equals("widgetConfig")) {
c = '\t';
break;
}
c = 65535;
break;
case 1676437937:
if (str3.equals("diyShow")) {
c = 5;
break;
}
c = 65535;
break;
default:
c = 65535;
break;
}
switch (c) {
case 0:
case 1:
break;
case 2:
sb.append(File.separator);
sb.append("servos");
break;
case 3:
sb.append(File.separator);
sb.append("actions");
break;
case 4:
BlocklyProject blocklyProject = BlocklyProjectDbHandler.getInstance().getBlocklyProject(str, String.valueOf(i), str2, str4.substring(0, str4.indexOf(".")));
if (blocklyProject != null) {
if (!"blockly".equals(blocklyProject.getBlocklyType())) {
sb.append(File.separator);
sb.append(str2);
sb.append(Utils.BLOCKLY_ADD_PATH);
break;
} else {
sb.append(File.separator);
sb.append(str2);
break;
}
} else {
return "";
}
case 5:
case 6:
sb.append(File.separator);
sb.append(TransportFile.MODEL_SHOW_DIR);
break;
case 7:
sb.append(File.separator);
sb.append(TransportFile.MODEL_CONTROLLER_DIR);
break;
case '\b':
sb.append(File.separator);
sb.append(TransportFile.MODEL_SHOW_DIR);
break;
case '\t':
sb.append(File.separator);
sb.append("widgetConfig");
break;
default:
sb.append(File.separator);
sb.append("temp");
break;
}
} else {
String substring = str4.substring(0, str4.indexOf("."));
sb.append(DIR_SOUNDS);
sb.append(File.separator);
sb.append(substring);
}
return sb.toString();
}
public static String getModelFileQiniuKey(TransportFile transportFile) {
return getModelFileQiniuKey(transportFile.getUserId(), getModelFilePath(transportFile), transportFile.getFileName());
}
public static String modelFileType(String str, String str2) {
String filePath = TransportFileDbHandler.getFilePath(new File(str2));
String substring = filePath.substring(filePath.indexOf(File.separator) + 1);
return substring.equals(str) ? FileHelper.a(str2).endsWith(".xml") ? "desc" : "bg" : substring.contains("actions") ? "action" : substring.contains(TransportFile.MODEL_CONTROLLER_DIR) ? TransportFile.TYPE_CONTROLLER : substring.contains("servos") ? "conn" : substring.contains("widgetConfig") ? "widgetConfig" : TransportFile.TYPE_NONE;
}
public static TransportFile newActionFile(DiyModelAction diyModelAction) {
TransportFile transportFile = new TransportFile();
transportFile.setUserId(diyModelAction.getUserId());
transportFile.setModelId(diyModelAction.getModelId());
transportFile.setCustomModelId(diyModelAction.getCustomModelId());
transportFile.setModelType(String.valueOf(diyModelAction.getModelType()));
transportFile.setFileType("action");
transportFile.setFileName(diyModelAction.getFileName());
transportFile.setFileUrl(diyModelAction.getFileUrl());
transportFile.setId(1L);
transportFile.setLastUploadTime(diyModelAction.getLastUploadTime());
transportFile.setFilePath(getModelFilePath(transportFile));
return transportFile;
}
public static TransportFile newBlocklyProjectFile(BlocklyProject blocklyProject) {
TransportFile transportFile = new TransportFile();
transportFile.setUserId(blocklyProject.getUserId());
transportFile.setCustomModelId(blocklyProject.getCustomModelId());
transportFile.setModelType(String.valueOf(blocklyProject.getModelType()));
transportFile.setFileType(TransportFile.TYPE_PROGRAM);
transportFile.setFileName(blocklyProject.getXmlId() + ".xml");
transportFile.setLastUploadTime(blocklyProject.getLastUploadTime());
transportFile.setFilePath(getModelFilePath(transportFile));
return transportFile;
}
public TransportFile getActionFile(DiyModelAction diyModelAction) {
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) diyModelAction.getUserId()), TransportFileDao.Properties.ModelType.a(Integer.valueOf(diyModelAction.getModelType())), TransportFileDao.Properties.CustomModelId.a((Object) diyModelAction.getCustomModelId()), TransportFileDao.Properties.FileType.a((Object) "action"), TransportFileDao.Properties.FileName.a((Object) diyModelAction.getFileName()));
return unique(k);
}
public TransportFile getModelFile(String str, String str2, String str3) {
QueryBuilder k = this.dao.k();
WhereCondition a = TransportFileDao.Properties.UserId.a((Object) str);
WhereCondition a2 = TransportFileDao.Properties.FileType.a((Object) str3);
boolean z = true;
k.a(a, TransportFileDao.Properties.CustomModelId.a((Object) str2), a2);
TransportFile unique = unique(k);
if (unique != null) {
return unique;
}
k.b(TransportFileDao.Properties.LastUploadTime);
List<TransportFile> query = query(k);
if (query == null || query.size() == 0) {
return unique;
}
Iterator<TransportFile> it = query.iterator();
while (true) {
if (!it.hasNext()) {
z = false;
break;
}
if (it.next().getIsDeleted()) {
break;
}
}
return !z ? query.get(0) : unique;
}
public List<TransportFile> getModelFiles(String str, String str2) {
TransportFile modelFile = getModelFile(str, str2, "bg");
TransportFile modelFile2 = getModelFile(str, str2, "desc");
TransportFile modelFile3 = getModelFile(str, str2, "conn");
TransportFile modelFile4 = getModelFile(str, str2, TransportFile.TYPE_CONTROLLER);
TransportFile modelFile5 = getModelFile(str, str2, TransportFile.TYPE_DIY_SHOW);
TransportFile modelFile6 = getModelFile(str, str2, "widgetConfig");
TransportFile modelFile7 = getModelFile(str, str2, TransportFile.TYPE_AUDIO_SHOW);
ArrayList arrayList = new ArrayList();
if (modelFile != null) {
arrayList.add(modelFile);
}
if (modelFile2 != null) {
arrayList.add(modelFile2);
}
if (modelFile3 != null) {
arrayList.add(modelFile3);
}
if (modelFile4 != null) {
arrayList.add(modelFile4);
}
if (modelFile5 != null) {
arrayList.add(modelFile5);
}
if (modelFile6 != null) {
arrayList.add(modelFile6);
}
if (modelFile7 != null) {
arrayList.add(modelFile7);
}
return arrayList;
}
public List<TransportFile> getOfflineBgFile() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) "bg"), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public List<TransportFile> getOfflineController() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) TransportFile.TYPE_CONTROLLER), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public List<TransportFile> getOfflineControllerMenuList() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) "widgetConfig"), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public List<TransportFile> getOfflineDesc() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) "desc"), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public List<TransportFile> getOfflineServosFile() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) "conn"), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public List<TransportFile> getOfflineVideo() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) TransportFile.TYPE_DIY_SHOW), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public List<TransportFile> getOfflineVideoCover() {
String userId = Cache.getInstance().getUserId();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.ModelId.b(0), TransportFileDao.Properties.FileType.a((Object) TransportFile.TYPE_AUDIO_SHOW), TransportFileDao.Properties.IsModify.a((Object) 1));
return query(k);
}
public TransportFile getTransportModelFile(String str, String str2, File file) {
String modelFileType = modelFileType(str2, file.getAbsolutePath());
String name = file.getName();
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) str), TransportFileDao.Properties.CustomModelId.a((Object) str2), TransportFileDao.Properties.FileType.a((Object) modelFileType), TransportFileDao.Properties.FileName.a((Object) name));
return unique(k);
}
public void uploadUserIdAndModelId(String str, int i) {
String userId = Cache.getInstance().getUserId();
if (i <= 0) {
return;
}
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.CustomModelId.a((Object) str), TransportFileDao.Properties.Uploaded.a((Object) 0), TransportFileDao.Properties.IsModify.a((Object) 1));
List<TransportFile> query = query(k);
if (query == null || query.size() == 0) {
return;
}
for (TransportFile transportFile : query) {
transportFile.setUserId(userId);
transportFile.setModelId(i);
insertOrUpdate(transportFile);
}
}
public static String getAbsoluteModelFilePath(String str, String str2, String str3) {
return DiyRobotDbHandler.getUserHome(str) + str2 + File.separator + str3;
}
public static String getModelFileQiniuKey(String str, String str2, String str3) {
return URL_JIMU + URL_SEPARATOR + URL_USER + URL_SEPARATOR + URL_FILES + URL_SEPARATOR + str + URL_SEPARATOR + str2 + URL_SEPARATOR + str3;
}
public static String getModelFilePath(TransportFile transportFile) {
return getModelFilePath(transportFile.getUserId(), Integer.parseInt(transportFile.getModelType()), transportFile.getCustomModelId(), transportFile.getFileType(), transportFile.getFileName());
}
}