367 lines
16 KiB
Java
367 lines
16 KiB
Java
package com.ubt.jimu.diy.view.popupwindow;
|
||
|
||
import android.app.Activity;
|
||
import android.content.Context;
|
||
import android.content.DialogInterface;
|
||
import android.graphics.drawable.Drawable;
|
||
import android.text.Editable;
|
||
import android.text.InputFilter;
|
||
import android.text.Spanned;
|
||
import android.text.TextUtils;
|
||
import android.text.TextWatcher;
|
||
import android.util.Log;
|
||
import android.view.MotionEvent;
|
||
import android.view.View;
|
||
import android.widget.ImageView;
|
||
import com.bumptech.glide.Glide;
|
||
import com.bumptech.glide.RequestBuilder;
|
||
import com.bumptech.glide.request.RequestOptions;
|
||
import com.bumptech.glide.signature.ObjectKey;
|
||
import com.ubt.jimu.R;
|
||
import com.ubt.jimu.base.cache.Cache;
|
||
import com.ubt.jimu.base.db.diy.DiyDBModel;
|
||
import com.ubt.jimu.base.db.diy.DiyHelper;
|
||
import com.ubt.jimu.base.entities.RobotLite;
|
||
import com.ubt.jimu.blockly.Utils;
|
||
import com.ubt.jimu.community.view.popwindow.BaseDialog;
|
||
import com.ubt.jimu.connect.ConnectActivity;
|
||
import com.ubt.jimu.diy.DiyRobotDbHandler;
|
||
import com.ubt.jimu.diy.view.DiyFanActivity;
|
||
import com.ubt.jimu.gen.DiyDBModelDao;
|
||
import com.ubt.jimu.transport.dao.TransportFileDbHandler;
|
||
import com.ubt.jimu.transport.model.TransportFile;
|
||
import com.ubt.jimu.transport3.dao.DiyDBModelDBHandler;
|
||
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
|
||
import com.ubt.jimu.unity.ModelType;
|
||
import com.ubt.jimu.utils.ExternalOverFroyoUtils;
|
||
import com.ubt.jimu.utils.InputMethod;
|
||
import com.ubt.jimu.utils.LogUtils;
|
||
import com.ubt.jimu.utils.SystemUtils;
|
||
import com.ubt.jimu.widgets.EditTextWithDel;
|
||
import com.ubt.jimu.widgets.choosePhotos.AlbumActivity;
|
||
import com.ubtech.permission.JimuPermissionRequest;
|
||
import com.ubtech.permission.PermissionRequestListener;
|
||
import com.ubtech.utils.FileHelper;
|
||
import com.ubtech.utils.StringUtils;
|
||
import com.ubtech.view.widget.UButton;
|
||
import com.ubtrobot.log.ALog;
|
||
import java.io.File;
|
||
import java.util.ArrayList;
|
||
import java.util.Iterator;
|
||
import java.util.List;
|
||
import java.util.regex.Pattern;
|
||
import org.greenrobot.greendao.query.QueryBuilder;
|
||
|
||
/* loaded from: classes2.dex */
|
||
public class SureDialog extends BaseDialog {
|
||
private String imageUrl;
|
||
private OnSureDialogInteraction interaction;
|
||
private boolean isEdit;
|
||
public boolean isModify;
|
||
private Activity mActivity;
|
||
private DiyDBModel mDb;
|
||
private EditTextWithDel mEdtRobotName;
|
||
private ImageView mLvAdd;
|
||
private UButton mSureBtn;
|
||
private String name;
|
||
private String url;
|
||
private String uuid;
|
||
|
||
public interface OnSureDialogInteraction {
|
||
void onCreateOrUpdateModelFailed(String str);
|
||
|
||
void onModifyModel(DiyDBModel diyDBModel);
|
||
|
||
void onSaveOrUpdateModel(DiyDBModel diyDBModel, TransportFile transportFile);
|
||
}
|
||
|
||
/* JADX WARN: Multi-variable type inference failed */
|
||
public SureDialog(Activity activity, boolean z) {
|
||
super(activity);
|
||
this.isModify = false;
|
||
this.isEdit = false;
|
||
this.isEdit = z;
|
||
this.mActivity = activity;
|
||
if (activity instanceof OnSureDialogInteraction) {
|
||
this.interaction = (OnSureDialogInteraction) activity;
|
||
}
|
||
}
|
||
|
||
private TransportFile newLogoFile(DiyDBModel diyDBModel, String str) {
|
||
if (TextUtils.isEmpty(str)) {
|
||
return null;
|
||
}
|
||
TransportFileDbHandler2 transportFileDbHandler2 = TransportFileDbHandler2.getInstance();
|
||
TransportFile modelFile = transportFileDbHandler2.getModelFile(diyDBModel.getModelCreatedId(), diyDBModel.getCustomModelId(), "bg");
|
||
long a = SystemUtils.a();
|
||
if (modelFile == null) {
|
||
modelFile = new TransportFile();
|
||
modelFile.setUserId(Cache.getInstance().getUserId());
|
||
modelFile.setModelType(String.valueOf(2));
|
||
modelFile.setModelId(diyDBModel.getModelId().intValue());
|
||
modelFile.setCustomModelId(diyDBModel.getCustomModelId());
|
||
modelFile.setFileType("bg");
|
||
modelFile.setCreateTime(a);
|
||
}
|
||
modelFile.setFilePath(TransportFileDbHandler.getFilePath(new File(str)));
|
||
modelFile.setFileName(FileHelper.a(str));
|
||
modelFile.setIsModify(true);
|
||
modelFile.setModifyTime(a);
|
||
modelFile.setUploaded(false);
|
||
modelFile.setLastUploadTime(a);
|
||
transportFileDbHandler2.insertOrUpdate(modelFile);
|
||
return modelFile.getCustomFileId().longValue() == 0 ? transportFileDbHandler2.selectUnique(modelFile) : modelFile;
|
||
}
|
||
|
||
private void setModelName() {
|
||
boolean z;
|
||
ALog.a("timeOfNew").d("start:" + System.currentTimeMillis());
|
||
if (this.mDb == null) {
|
||
return;
|
||
}
|
||
if (!TextUtils.isEmpty(this.name) && this.name.equals(this.mDb.getModelName())) {
|
||
return;
|
||
}
|
||
String str = this.name;
|
||
if (com.ubt.jimu.utils.TextUtils.a(str, "\\w(\\(\\d+\\))$")) {
|
||
String str2 = this.name;
|
||
this.name = str2.substring(0, str2.indexOf("("));
|
||
}
|
||
String userId = Cache.getInstance().getUserId();
|
||
DiyDBModelDBHandler diyDBModelDBHandler = DiyDBModelDBHandler.getInstance();
|
||
QueryBuilder<DiyDBModel> queryBuilder = diyDBModelDBHandler.getQueryBuilder();
|
||
queryBuilder.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) userId), DiyDBModelDao.Properties.ModelName.a("%" + this.name + "%"));
|
||
List<DiyDBModel> query = diyDBModelDBHandler.query(queryBuilder);
|
||
if (query == null || query.size() == 0) {
|
||
this.mDb.setModelCreatedId(userId);
|
||
this.mDb.setModelName(str);
|
||
return;
|
||
}
|
||
String str3 = "\\" + this.name + "(\\(\\d{1,3}\\))$";
|
||
ArrayList arrayList = new ArrayList();
|
||
for (DiyDBModel diyDBModel : query) {
|
||
if (!TextUtils.isEmpty(diyDBModel.getModelName()) && (com.ubt.jimu.utils.TextUtils.a(diyDBModel.getModelName(), str3) || diyDBModel.getModelName().equals(this.name))) {
|
||
arrayList.add(diyDBModel);
|
||
}
|
||
}
|
||
if (arrayList.size() == 0) {
|
||
this.mDb.setModelCreatedId(userId);
|
||
this.mDb.setModelName(str);
|
||
return;
|
||
}
|
||
int i = 0;
|
||
while (true) {
|
||
String format = i == 0 ? this.name : String.format(this.name + "(%s)", String.valueOf(i));
|
||
Iterator it = arrayList.iterator();
|
||
while (true) {
|
||
if (!it.hasNext()) {
|
||
z = false;
|
||
break;
|
||
}
|
||
DiyDBModel diyDBModel2 = (DiyDBModel) it.next();
|
||
if (format.equals(diyDBModel2.getModelName()) && !diyDBModel2.getCustomModelId().equals(this.uuid)) {
|
||
z = true;
|
||
break;
|
||
}
|
||
}
|
||
if (!z) {
|
||
this.mDb.setModelCreatedId(userId);
|
||
this.mDb.setModelName(format);
|
||
ALog.a("timeOfNew").d("end :" + System.currentTimeMillis());
|
||
return;
|
||
}
|
||
i++;
|
||
}
|
||
}
|
||
|
||
public /* synthetic */ void a(DialogInterface dialogInterface) {
|
||
InputMethod.a((Activity) this.mContext);
|
||
}
|
||
|
||
@Override // android.app.Dialog, android.view.Window.Callback
|
||
public boolean dispatchTouchEvent(MotionEvent motionEvent) {
|
||
boolean b;
|
||
return (motionEvent.getAction() == 0 && InputMethod.a(getCurrentFocus(), motionEvent) && (b = InputMethod.b(this.mActivity, getCurrentFocus()))) ? b : super.dispatchTouchEvent(motionEvent);
|
||
}
|
||
|
||
@Override // com.ubt.jimu.community.view.popwindow.BaseDialog
|
||
public void initData() {
|
||
onCreate();
|
||
if (!StringUtils.e(this.mDb.getModelName())) {
|
||
this.mEdtRobotName.setText(this.mDb.getModelName());
|
||
this.mEdtRobotName.setSelection(this.mDb.getModelName().length());
|
||
this.name = this.mDb.getModelName();
|
||
}
|
||
String logPath = DiyRobotDbHandler.getLogPath(ModelType.PLAYER_DATA, this.mDb.getCustomModelId());
|
||
if (new File(logPath).exists()) {
|
||
this.url = logPath;
|
||
} else {
|
||
this.url = this.mDb.getCompressImagePath();
|
||
}
|
||
if (!StringUtils.e(this.url)) {
|
||
RequestBuilder<Drawable> a = Glide.e(this.mContext).a(this.url);
|
||
a.a(new RequestOptions().a(new ObjectKey(Long.valueOf(this.mDb.getLastUploadTime()))).a(R.drawable.diy_img_default));
|
||
a.a(this.mLvAdd);
|
||
}
|
||
com.ubt.jimu.utils.TextUtils.a(this.mSureBtn, (StringUtils.e(this.name) || StringUtils.e(this.mDb.getFilePath())) ? false : true);
|
||
this.mSureBtn.setOnClickListener(new View.OnClickListener() { // from class: com.ubt.jimu.diy.view.popupwindow.c
|
||
@Override // android.view.View.OnClickListener
|
||
public final void onClick(View view) {
|
||
SureDialog.this.a(view);
|
||
}
|
||
});
|
||
this.mLvAdd.setOnClickListener(new View.OnClickListener() { // from class: com.ubt.jimu.diy.view.popupwindow.SureDialog.1
|
||
@Override // android.view.View.OnClickListener
|
||
public void onClick(View view) {
|
||
JimuPermissionRequest.c((Activity) ((BaseDialog) SureDialog.this).mContext, new PermissionRequestListener() { // from class: com.ubt.jimu.diy.view.popupwindow.SureDialog.1.1
|
||
@Override // com.ubtech.permission.PermissionRequestListener
|
||
public void onDenied() {
|
||
}
|
||
|
||
@Override // com.ubtech.permission.PermissionRequestListener
|
||
public void onGranted() {
|
||
AlbumActivity.a((Activity) ((BaseDialog) SureDialog.this).mContext, 100, 1, null, 1, "UNITERMING_IMAGE");
|
||
}
|
||
});
|
||
}
|
||
});
|
||
this.mEdtRobotName.addTextChangedListener(new TextWatcher() { // from class: com.ubt.jimu.diy.view.popupwindow.SureDialog.2
|
||
@Override // android.text.TextWatcher
|
||
public void afterTextChanged(Editable editable) {
|
||
SureDialog sureDialog = SureDialog.this;
|
||
sureDialog.name = com.ubt.jimu.utils.TextUtils.a(sureDialog.mEdtRobotName, SureDialog.this.mEdtRobotName.getText().toString().trim());
|
||
com.ubt.jimu.utils.TextUtils.a(SureDialog.this.mSureBtn, (StringUtils.e(SureDialog.this.name) || StringUtils.e(SureDialog.this.url)) ? false : true);
|
||
}
|
||
|
||
@Override // android.text.TextWatcher
|
||
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
|
||
}
|
||
|
||
@Override // android.text.TextWatcher
|
||
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
|
||
}
|
||
});
|
||
this.mEdtRobotName.setFilters(new InputFilter[]{new InputFilter() { // from class: com.ubt.jimu.diy.view.popupwindow.b
|
||
@Override // android.text.InputFilter
|
||
public final CharSequence filter(CharSequence charSequence, int i, int i2, Spanned spanned, int i3, int i4) {
|
||
return SureDialog.a(charSequence, i, i2, spanned, i3, i4);
|
||
}
|
||
}, new InputFilter.LengthFilter(20)});
|
||
setCancel(true);
|
||
}
|
||
|
||
@Override // com.ubt.jimu.community.view.popwindow.BaseDialog
|
||
public int layoutId() {
|
||
return R.layout.fragment_create_robot;
|
||
}
|
||
|
||
public void onCreate() {
|
||
this.mEdtRobotName = (EditTextWithDel) findViewById(R.id.edt_robot_name);
|
||
this.mLvAdd = (ImageView) findViewById(R.id.lv_add);
|
||
this.mSureBtn = (UButton) findViewById(R.id.btn_sure);
|
||
if (StringUtils.e(this.uuid)) {
|
||
this.mDb = new DiyDBModel();
|
||
long a = SystemUtils.a();
|
||
this.uuid = Utils.getFormatId(a);
|
||
this.mDb.setCustomModelId(this.uuid);
|
||
this.mDb.setCustomModelCreatetime(a);
|
||
} else {
|
||
this.mDb = DiyHelper.getInstance().queryForUUid(this.uuid);
|
||
}
|
||
setOnDismissListener(new DialogInterface.OnDismissListener() { // from class: com.ubt.jimu.diy.view.popupwindow.a
|
||
@Override // android.content.DialogInterface.OnDismissListener
|
||
public final void onDismiss(DialogInterface dialogInterface) {
|
||
SureDialog.this.a(dialogInterface);
|
||
}
|
||
});
|
||
}
|
||
|
||
public void setImageUrl(String str) {
|
||
this.url = str;
|
||
Glide.e(this.mContext).a(str).a(this.mLvAdd);
|
||
com.ubt.jimu.utils.TextUtils.a(this.mSureBtn, (StringUtils.e(this.name) || StringUtils.e(str)) ? false : true);
|
||
}
|
||
|
||
public void showDialog() {
|
||
show();
|
||
}
|
||
|
||
public /* synthetic */ void a(View view) {
|
||
if (StringUtils.e(this.name)) {
|
||
return;
|
||
}
|
||
String logPath = DiyRobotDbHandler.getLogPath(ModelType.PLAYER_DATA, this.mDb.getCustomModelId());
|
||
TransportFile transportFile = null;
|
||
if (!TextUtils.isEmpty(this.url) && !logPath.equals(this.url)) {
|
||
if (!DiyDBModelDBHandler.saveModelLogoFile(getContext(), this.uuid, this.url)) {
|
||
if (this.interaction != null) {
|
||
LogUtils.c("保存模型Logo失败,创建或者更新Logo失败!");
|
||
this.interaction.onCreateOrUpdateModelFailed("");
|
||
return;
|
||
}
|
||
return;
|
||
}
|
||
transportFile = newLogoFile(this.mDb, logPath);
|
||
}
|
||
long a = SystemUtils.a();
|
||
this.mDb.setModelCreatedId(Cache.getInstance().getUserId());
|
||
this.mDb.setModifyTime(a);
|
||
this.mDb.setLastUploadTime(a);
|
||
this.mDb.setIsModify(true);
|
||
this.mDb.setFilePath(logPath);
|
||
setModelName();
|
||
if (DiyDBModelDBHandler.getInstance().insertOrUpdate(this.mDb) <= 0) {
|
||
if (this.interaction != null) {
|
||
LogUtils.c("插入/更新DiyDBModel失败,创建/更新Logo失败!");
|
||
this.interaction.onCreateOrUpdateModelFailed("");
|
||
return;
|
||
}
|
||
return;
|
||
}
|
||
OnSureDialogInteraction onSureDialogInteraction = this.interaction;
|
||
if (onSureDialogInteraction != null) {
|
||
onSureDialogInteraction.onSaveOrUpdateModel(this.mDb, transportFile);
|
||
}
|
||
dismiss();
|
||
if (!ExternalOverFroyoUtils.a(this.uuid)) {
|
||
DiyFanActivity.uuid = this.uuid;
|
||
Context context = this.mContext;
|
||
if (context instanceof Activity) {
|
||
ConnectActivity.a(101, (Activity) context, new RobotLite(this.mDb.getModelId().intValue(), this.uuid, this.name, "", true, true));
|
||
return;
|
||
} else {
|
||
Log.e("SureDialog", "Shouldn't to here");
|
||
return;
|
||
}
|
||
}
|
||
if (!this.isEdit) {
|
||
DiyFanActivity.start(this.mContext, this.mDb.getCustomModelId());
|
||
return;
|
||
}
|
||
OnSureDialogInteraction onSureDialogInteraction2 = this.interaction;
|
||
if (onSureDialogInteraction2 != null) {
|
||
onSureDialogInteraction2.onModifyModel(this.mDb);
|
||
}
|
||
}
|
||
|
||
/* JADX WARN: Multi-variable type inference failed */
|
||
public SureDialog(Activity activity, String str, boolean z) {
|
||
super(activity);
|
||
this.isModify = false;
|
||
this.isEdit = false;
|
||
this.uuid = str;
|
||
this.isEdit = z;
|
||
this.mActivity = activity;
|
||
if (activity instanceof OnSureDialogInteraction) {
|
||
this.interaction = (OnSureDialogInteraction) activity;
|
||
}
|
||
}
|
||
|
||
static /* synthetic */ CharSequence a(CharSequence charSequence, int i, int i2, Spanned spanned, int i3, int i4) {
|
||
if (Pattern.compile("[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]").matcher(charSequence.toString()).find()) {
|
||
return "";
|
||
}
|
||
return null;
|
||
}
|
||
}
|