Initial commit
This commit is contained in:
55
sources/com/ubt/jimu/diy/presenter/OfficialDiyPresenter.java
Normal file
55
sources/com/ubt/jimu/diy/presenter/OfficialDiyPresenter.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package com.ubt.jimu.diy.presenter;
|
||||
|
||||
import android.content.Context;
|
||||
import com.ubt.jimu.base.entities.ApiRecord;
|
||||
import com.ubt.jimu.base.http.ApiObserver;
|
||||
import com.ubt.jimu.base.http.manager.DiyManager;
|
||||
import com.ubt.jimu.diy.contract.OfficialDiyContract;
|
||||
import com.ubt.jimu.diy.model.DiyModel;
|
||||
import com.ubt.jimu.widgets.LoadingView;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class OfficialDiyPresenter implements OfficialDiyContract.Presenter {
|
||||
private Context context;
|
||||
private LoadingView loadingView;
|
||||
private OfficialDiyContract.View view;
|
||||
|
||||
public OfficialDiyPresenter(Context context, OfficialDiyContract.View view, LoadingView loadingView) {
|
||||
this.context = context;
|
||||
this.view = view;
|
||||
this.loadingView = loadingView;
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.OfficialDiyContract.Presenter
|
||||
public void queryOfficialDiy(boolean z, final int i, int i2) {
|
||||
ApiObserver<ApiRecord<DiyModel>> apiObserver = new ApiObserver<ApiRecord<DiyModel>>(this.loadingView) { // from class: com.ubt.jimu.diy.presenter.OfficialDiyPresenter.1
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
super.onComplete();
|
||||
OfficialDiyPresenter.this.view.loadCompleted();
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
super.onError(th);
|
||||
OfficialDiyPresenter.this.view.loadError();
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onNext(ApiRecord<DiyModel> apiRecord) {
|
||||
super.onNext((AnonymousClass1) apiRecord);
|
||||
OfficialDiyPresenter.this.view.showOfficialDiy(apiRecord.getRecords(), i);
|
||||
}
|
||||
};
|
||||
apiObserver.refreshOrLoad(z);
|
||||
DiyManager.getInstance().diyList(i, i2, 1, apiObserver);
|
||||
}
|
||||
|
||||
@Override // com.ubtech.presenter.BasePresenter
|
||||
public void subscribe() {
|
||||
}
|
||||
|
||||
@Override // com.ubtech.presenter.BasePresenter
|
||||
public void unSubscribe() {
|
||||
}
|
||||
}
|
172
sources/com/ubt/jimu/diy/presenter/UserDiyHomePresenter.java
Normal file
172
sources/com/ubt/jimu/diy/presenter/UserDiyHomePresenter.java
Normal file
@@ -0,0 +1,172 @@
|
||||
package com.ubt.jimu.diy.presenter;
|
||||
|
||||
import com.ubt.jimu.base.db.diy.DiyDBModel;
|
||||
import com.ubt.jimu.base.http.ApiObserver;
|
||||
import com.ubt.jimu.base.http.ApiResponse;
|
||||
import com.ubt.jimu.diy.contract.UserDiyHomeContract;
|
||||
import com.ubt.jimu.transport.model.TransportFile;
|
||||
import com.ubt.jimu.transport3.DiyTransportServiceImpl;
|
||||
import com.ubt.jimu.transport3.TransportLogic;
|
||||
import com.ubt.jimu.transport3.bean.response.SaveOrUpdateModelBean;
|
||||
import com.ubt.jimu.transport3.dao.DiyModelActionDBHandler;
|
||||
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
|
||||
import com.ubt.jimu.transport3.download.TransportFileDownloader;
|
||||
import com.ubt.jimu.transport3.model.DiyModelAction;
|
||||
import com.ubt.jimu.utils.LogUtils;
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class UserDiyHomePresenter implements UserDiyHomeContract.Presenter {
|
||||
private UserDiyHomeContract.View view;
|
||||
private final CompositeDisposable disposables = new CompositeDisposable();
|
||||
private TransportLogic transportLogic = new TransportLogic();
|
||||
private TransportFileDbHandler2 transportFileDbHandler2 = TransportFileDbHandler2.getInstance();
|
||||
private DiyModelActionDBHandler diyModelActionDBHandler = DiyModelActionDBHandler.getInstance();
|
||||
|
||||
public UserDiyHomePresenter(UserDiyHomeContract.View view) {
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void downloadAction(final List<DiyModelAction> list) {
|
||||
LogUtils.c("开始下载动作文件:" + list);
|
||||
if (list == null || list.size() == 0) {
|
||||
UserDiyHomeContract.View view = this.view;
|
||||
if (view != null) {
|
||||
view.onGetServerActionListSuccess(list);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
LogUtils.c("真正需要下载的动作文件:" + list.size());
|
||||
ArrayList arrayList = new ArrayList();
|
||||
Iterator<DiyModelAction> it = list.iterator();
|
||||
while (it.hasNext()) {
|
||||
arrayList.add(TransportFileDbHandler2.newActionFile(it.next()));
|
||||
}
|
||||
TransportFileDownloader transportFileDownloader = new TransportFileDownloader();
|
||||
UserDiyHomeContract.View view2 = this.view;
|
||||
if (view2 != null) {
|
||||
view2.onStartDownload(arrayList);
|
||||
}
|
||||
LogUtils.c("准备就绪,马上下载文件");
|
||||
transportFileDownloader.downloadFile(arrayList, new Observer<HashMap<String, TransportFile>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyHomePresenter.3
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
th.printStackTrace();
|
||||
if (UserDiyHomePresenter.this.view != null) {
|
||||
UserDiyHomePresenter.this.view.onGetServerActionListFailed(new Exception("动作文件下载失败"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyHomePresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(HashMap<String, TransportFile> hashMap) {
|
||||
if (hashMap == null || hashMap.size() == 0) {
|
||||
if (UserDiyHomePresenter.this.view != null) {
|
||||
UserDiyHomePresenter.this.view.onGetServerActionListFailed(new Exception("动作文件下载失败"));
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
ArrayList arrayList2 = new ArrayList();
|
||||
for (String str : hashMap.keySet()) {
|
||||
if (str != null) {
|
||||
Iterator it2 = list.iterator();
|
||||
while (true) {
|
||||
if (it2.hasNext()) {
|
||||
DiyModelAction diyModelAction = (DiyModelAction) it2.next();
|
||||
if (str.equals(diyModelAction.getFileUrl())) {
|
||||
diyModelAction.setServerId(1L);
|
||||
diyModelAction.setUploaded(true);
|
||||
diyModelAction.setModify(false);
|
||||
UserDiyHomePresenter.this.diyModelActionDBHandler.insertOrUpdateActionDB(diyModelAction);
|
||||
arrayList2.add(diyModelAction);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (UserDiyHomePresenter.this.view != null) {
|
||||
UserDiyHomePresenter.this.view.onGetServerActionListSuccess(arrayList2);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyHomeContract.Presenter
|
||||
public void getDiyModelActions(String str, int i, String str2, Integer num) {
|
||||
DiyTransportServiceImpl.getInstance().getModelActions(str, num, new ApiObserver<List<DiyModelAction>>(null) { // from class: com.ubt.jimu.diy.presenter.UserDiyHomePresenter.1
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
super.onError(th);
|
||||
if (UserDiyHomePresenter.this.view != null) {
|
||||
UserDiyHomePresenter.this.view.onGetServerActionListFailed(th);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
super.onSubscribe(disposable);
|
||||
UserDiyHomePresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onNext(List<DiyModelAction> list) {
|
||||
if (list != null && list.size() != 0) {
|
||||
UserDiyHomePresenter.this.downloadAction(list);
|
||||
} else if (UserDiyHomePresenter.this.view != null) {
|
||||
UserDiyHomePresenter.this.view.onGetServerActionListSuccess(list);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubtech.presenter.BasePresenter
|
||||
public void subscribe() {
|
||||
}
|
||||
|
||||
@Override // com.ubtech.presenter.BasePresenter
|
||||
public void unSubscribe() {
|
||||
this.disposables.dispose();
|
||||
this.disposables.a();
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyHomeContract.Presenter
|
||||
public void updateModel(DiyDBModel diyDBModel) {
|
||||
DiyTransportServiceImpl.getInstance().updateModel(diyDBModel, new Observer<ApiResponse<SaveOrUpdateModelBean>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyHomePresenter.2
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
th.printStackTrace();
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(ApiResponse<SaveOrUpdateModelBean> apiResponse) {
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyHomePresenter.this.disposables.b(disposable);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
435
sources/com/ubt/jimu/diy/presenter/UserDiyListPresenter.java
Normal file
435
sources/com/ubt/jimu/diy/presenter/UserDiyListPresenter.java
Normal file
@@ -0,0 +1,435 @@
|
||||
package com.ubt.jimu.diy.presenter;
|
||||
|
||||
import android.util.Log;
|
||||
import com.ubt.jimu.base.cache.Cache;
|
||||
import com.ubt.jimu.base.cache.Constants;
|
||||
import com.ubt.jimu.base.db.diy.DiyDBModel;
|
||||
import com.ubt.jimu.base.http.ApiObserver;
|
||||
import com.ubt.jimu.base.http.ApiResponse;
|
||||
import com.ubt.jimu.diy.contract.UserDiyListContract;
|
||||
import com.ubt.jimu.transport.model.TransportFile;
|
||||
import com.ubt.jimu.transport3.DiyTransportServiceImpl;
|
||||
import com.ubt.jimu.transport3.api.DiyTransportServiceProxy;
|
||||
import com.ubt.jimu.transport3.bean.response.SaveOrUpdateModelBean;
|
||||
import com.ubt.jimu.transport3.dao.DiyDBModelDBHandler;
|
||||
import com.ubt.jimu.transport3.dao.DiyModelActionDBHandler;
|
||||
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
|
||||
import com.ubt.jimu.transport3.download.TransportFileDownloader;
|
||||
import com.ubt.jimu.transport3.model.DiyModelAction;
|
||||
import com.ubt.jimu.utils.LogUtils;
|
||||
import com.ubtrobot.log.ALog;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.ObservableEmitter;
|
||||
import io.reactivex.ObservableOnSubscribe;
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.disposables.CompositeDisposable;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.functions.Consumer;
|
||||
import io.reactivex.functions.Function;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class UserDiyListPresenter implements UserDiyListContract.Presenter {
|
||||
private static final String TAG = "UserDiyListPresenter";
|
||||
private UserDiyListContract.View view;
|
||||
private final CompositeDisposable disposables = new CompositeDisposable();
|
||||
private DiyDBModelDBHandler diyDBModelDBHandler = DiyDBModelDBHandler.getInstance();
|
||||
private TransportFileDbHandler2 transportFileDbHandler2 = TransportFileDbHandler2.getInstance();
|
||||
private DiyModelActionDBHandler diyModelActionDBHandler = DiyModelActionDBHandler.getInstance();
|
||||
private DiyTransportServiceProxy proxy = new DiyTransportServiceProxy();
|
||||
|
||||
public UserDiyListPresenter(UserDiyListContract.View view) {
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
private boolean checkModelExist(DiyDBModel diyDBModel) {
|
||||
List<TransportFile> modelFiles = this.transportFileDbHandler2.getModelFiles(diyDBModel.getModelCreatedId(), diyDBModel.getCustomModelId());
|
||||
if (modelFiles == null || modelFiles.size() == 0) {
|
||||
return false;
|
||||
}
|
||||
HashMap hashMap = new HashMap();
|
||||
for (TransportFile transportFile : modelFiles) {
|
||||
if ("conn".equals(transportFile.getFileType()) || "desc".equals(transportFile.getFileType())) {
|
||||
if (new File(TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile)).exists()) {
|
||||
hashMap.put(transportFile.getFileType(), transportFile);
|
||||
}
|
||||
}
|
||||
}
|
||||
return hashMap.size() >= 2;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void checkSuccess(DiyDBModel diyDBModel) {
|
||||
if (checkModelExist(diyDBModel)) {
|
||||
this.view.go2Unity(diyDBModel);
|
||||
} else {
|
||||
this.view.onDownloadModelFilesError(new Exception("模型文件没有下载"));
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void downloadAction(final List<DiyModelAction> list, final DiyDBModel diyDBModel) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
Iterator<DiyModelAction> it = list.iterator();
|
||||
while (it.hasNext()) {
|
||||
arrayList.add(TransportFileDbHandler2.newActionFile(it.next()));
|
||||
}
|
||||
new TransportFileDownloader().downloadFile(arrayList, new Observer<HashMap<String, TransportFile>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.7
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
LogUtils.c("下载动作全部完成");
|
||||
UserDiyListPresenter.this.getModelFiles(diyDBModel);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
th.printStackTrace();
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(HashMap<String, TransportFile> hashMap) {
|
||||
if (hashMap == null || hashMap.size() == 0) {
|
||||
return;
|
||||
}
|
||||
for (String str : hashMap.keySet()) {
|
||||
if (str != null) {
|
||||
Iterator it2 = list.iterator();
|
||||
while (true) {
|
||||
if (it2.hasNext()) {
|
||||
DiyModelAction diyModelAction = (DiyModelAction) it2.next();
|
||||
if (str.equals(diyModelAction.getFileUrl())) {
|
||||
diyModelAction.setServerId(1L);
|
||||
diyModelAction.setUploaded(true);
|
||||
diyModelAction.setModify(false);
|
||||
UserDiyListPresenter.this.diyModelActionDBHandler.insertOrUpdateActionDB(diyModelAction);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LogUtils.c("下载动作成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void downloadModelFiles(final DiyDBModel diyDBModel, final List<TransportFile> list) {
|
||||
new TransportFileDownloader().downloadFile(list, new Observer<HashMap<String, TransportFile>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.12
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
LogUtils.c("基础文件下载完成");
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
UserDiyListPresenter.this.checkSuccess(diyDBModel);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(HashMap<String, TransportFile> hashMap) {
|
||||
if (hashMap != null && hashMap.size() > 0) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
Iterator<String> it = hashMap.keySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
TransportFile transportFile = hashMap.get(it.next());
|
||||
transportFile.setUploaded(true);
|
||||
transportFile.setIsModify(false);
|
||||
transportFile.setIsDeleted(false);
|
||||
transportFile.setId(1L);
|
||||
arrayList.add(transportFile);
|
||||
if ("conn".equals(transportFile.getFileType()) || "desc".equals(transportFile.getFileType())) {
|
||||
Cache.getInstance().getSettings().put(Constants.KEY_DOWNLOAD_SERVOS, true);
|
||||
}
|
||||
}
|
||||
UserDiyListPresenter.this.transportFileDbHandler2.insertOrUpdateInTx(arrayList);
|
||||
}
|
||||
if (hashMap == null || hashMap.size() < list.size()) {
|
||||
UserDiyListPresenter.this.checkSuccess(diyDBModel);
|
||||
} else {
|
||||
UserDiyListPresenter.this.view.go2Unity(diyDBModel);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyListContract.Presenter
|
||||
public void deleteModels(List<DiyDBModel> list) {
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
final ArrayList arrayList = new ArrayList();
|
||||
ArrayList arrayList2 = new ArrayList();
|
||||
for (DiyDBModel diyDBModel : list) {
|
||||
if (diyDBModel.isDelete()) {
|
||||
if (diyDBModel.getModelId() == null || diyDBModel.getModelId().intValue() == 0) {
|
||||
arrayList2.add(diyDBModel);
|
||||
} else {
|
||||
arrayList.add(diyDBModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (arrayList2.size() > 0) {
|
||||
this.diyDBModelDBHandler.deleteModels(arrayList2);
|
||||
}
|
||||
if (arrayList.size() == 0) {
|
||||
return;
|
||||
}
|
||||
DiyTransportServiceImpl.getInstance().deleteModel(Cache.getInstance().getUserId(), list, new Observer<ApiResponse<Object>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.11
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
th.printStackTrace();
|
||||
Log.e(UserDiyListPresenter.TAG, "调用接口删除模型失败");
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(ApiResponse<Object> apiResponse) {
|
||||
if (apiResponse == null || !apiResponse.isStatus()) {
|
||||
return;
|
||||
}
|
||||
UserDiyListPresenter.this.diyDBModelDBHandler.deleteModels(arrayList);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyListContract.Presenter
|
||||
public void getDiyModels(final String str) {
|
||||
DiyTransportServiceImpl.getInstance().getModels(str, new ApiObserver<List<DiyDBModel>>(null) { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.1
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
super.onError(th);
|
||||
UserDiyListPresenter.this.getLocalDiyModels(str);
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
super.onSubscribe(disposable);
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onNext(List<DiyDBModel> list) {
|
||||
super.onNext((AnonymousClass1) list);
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
UserDiyListPresenter.this.view.onLoadDiyModels(list);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyListContract.Presenter
|
||||
public void getLocalDiyModels(final String str) {
|
||||
Observable.create(new ObservableOnSubscribe<List<DiyDBModel>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.9
|
||||
@Override // io.reactivex.ObservableOnSubscribe
|
||||
public void subscribe(ObservableEmitter<List<DiyDBModel>> observableEmitter) {
|
||||
observableEmitter.onNext(UserDiyListPresenter.this.diyDBModelDBHandler.getUserDiyModels(str));
|
||||
observableEmitter.onComplete();
|
||||
}
|
||||
}).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Observer<List<DiyDBModel>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.10
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
if (UserDiyListPresenter.this.view != null) {
|
||||
UserDiyListPresenter.this.view.onLoadDiyModelsFailed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(List<DiyDBModel> list) {
|
||||
if (list == null || list.size() == 0) {
|
||||
return;
|
||||
}
|
||||
UserDiyListPresenter.this.view.onLoadDiyModels(list);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyListContract.Presenter
|
||||
public void getModelActionFiles(final DiyDBModel diyDBModel) {
|
||||
final String userId = Cache.getInstance().getUserId();
|
||||
String userToken = Cache.getInstance().getUserToken();
|
||||
this.view.onStartDownload();
|
||||
this.proxy.actions(diyDBModel.getModelId().intValue(), userToken).subscribeOn(Schedulers.b()).map(new Function<ApiResponse<List<DiyModelAction>>, List<DiyModelAction>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.6
|
||||
@Override // io.reactivex.functions.Function
|
||||
public List<DiyModelAction> apply(ApiResponse<List<DiyModelAction>> apiResponse) throws Exception {
|
||||
boolean isStatus = apiResponse.isStatus();
|
||||
ArrayList arrayList = new ArrayList();
|
||||
if (isStatus) {
|
||||
List<DiyModelAction> models = apiResponse.getModels();
|
||||
LogUtils.c("服务器数据获取成功models:" + models.size());
|
||||
for (DiyModelAction diyModelAction : models) {
|
||||
int isDeleted = diyModelAction.getIsDeleted();
|
||||
diyModelAction.setUserId(userId);
|
||||
if (isDeleted == 1) {
|
||||
UserDiyListPresenter.this.diyModelActionDBHandler.deleteModelAction(diyModelAction);
|
||||
} else {
|
||||
DiyModelAction selectUnique = UserDiyListPresenter.this.diyModelActionDBHandler.selectUnique(diyModelAction);
|
||||
LogUtils.c("检查数据库中是否存在:" + selectUnique);
|
||||
if (selectUnique != null) {
|
||||
long lastUploadTime = selectUnique.getLastUploadTime();
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(diyModelAction.getFileName());
|
||||
sb.append("->是否需要下载:");
|
||||
sb.append(lastUploadTime < diyModelAction.getLastUploadTime());
|
||||
sb.append(" 本地时间->");
|
||||
sb.append(lastUploadTime);
|
||||
sb.append(" 服务器时间->");
|
||||
sb.append(diyModelAction.getLastUploadTime());
|
||||
LogUtils.c(sb.toString());
|
||||
if (lastUploadTime < diyModelAction.getLastUploadTime()) {
|
||||
diyModelAction.setUserId(userId);
|
||||
diyModelAction.setServerId(1L);
|
||||
arrayList.add(diyModelAction);
|
||||
}
|
||||
} else {
|
||||
diyModelAction.setUserId(userId);
|
||||
diyModelAction.setServerId(1L);
|
||||
arrayList.add(diyModelAction);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
}).map(new Function<List<DiyModelAction>, List<DiyModelAction>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.5
|
||||
@Override // io.reactivex.functions.Function
|
||||
public List<DiyModelAction> apply(List<DiyModelAction> list) throws Exception {
|
||||
if (list.size() == 0) {
|
||||
LogUtils.c("没有需要下载的动作文件、准备下载其他文件");
|
||||
UserDiyListPresenter.this.getModelFiles(diyDBModel);
|
||||
return list;
|
||||
}
|
||||
LogUtils.c("needDownAction:" + list.size());
|
||||
UserDiyListPresenter.this.downloadAction(list, diyDBModel);
|
||||
return list;
|
||||
}
|
||||
}).observeOn(AndroidSchedulers.a()).subscribe(new Consumer<List<DiyModelAction>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.4
|
||||
@Override // io.reactivex.functions.Consumer
|
||||
public void accept(List<DiyModelAction> list) throws Exception {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyListContract.Presenter
|
||||
public void getModelFiles(final DiyDBModel diyDBModel) {
|
||||
DiyTransportServiceImpl.getInstance().getModelFiles(diyDBModel, new ApiObserver<List<TransportFile>>(null) { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.8
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
super.onError(th);
|
||||
UserDiyListPresenter.this.checkSuccess(diyDBModel);
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
super.onSubscribe(disposable);
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.base.http.ApiObserver, io.reactivex.Observer
|
||||
public void onNext(List<TransportFile> list) {
|
||||
super.onNext((AnonymousClass8) list);
|
||||
if (list == null) {
|
||||
UserDiyListPresenter.this.checkSuccess(diyDBModel);
|
||||
} else if (list.size() == 0) {
|
||||
UserDiyListPresenter.this.view.go2Unity(diyDBModel);
|
||||
} else {
|
||||
LogUtils.c("开始下载其他文件2");
|
||||
UserDiyListPresenter.this.downloadModelFiles(diyDBModel, list);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.diy.contract.UserDiyListContract.Presenter
|
||||
public void saveOrUpdateModel(DiyDBModel diyDBModel, TransportFile transportFile) {
|
||||
if ("local".equals(diyDBModel.getModelCreatedId())) {
|
||||
return;
|
||||
}
|
||||
if (transportFile == null) {
|
||||
DiyTransportServiceImpl.getInstance().updateModel(diyDBModel, new Observer<ApiResponse<SaveOrUpdateModelBean>>() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.2
|
||||
@Override // io.reactivex.Observer
|
||||
public void onComplete() {
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onError(Throwable th) {
|
||||
ALog.a(UserDiyListPresenter.TAG).d("更新模型错误");
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
UserDiyListPresenter.this.disposables.b(disposable);
|
||||
}
|
||||
|
||||
@Override // io.reactivex.Observer
|
||||
public void onNext(ApiResponse<SaveOrUpdateModelBean> apiResponse) {
|
||||
if (apiResponse.isStatus()) {
|
||||
ALog.a(UserDiyListPresenter.TAG).d("更新模型成功");
|
||||
} else {
|
||||
ALog.a(UserDiyListPresenter.TAG).d("更新模型失败");
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
DiyTransportServiceImpl.getInstance().saveOrUpdateModel(diyDBModel, transportFile, new DiyTransportServiceImpl.UploadStateListener() { // from class: com.ubt.jimu.diy.presenter.UserDiyListPresenter.3
|
||||
@Override // com.ubt.jimu.transport3.DiyTransportServiceImpl.UploadStateListener
|
||||
public void onUploadComplete() {
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.transport3.DiyTransportServiceImpl.UploadStateListener
|
||||
public void onUploadFailure() {
|
||||
Log.e(UserDiyListPresenter.TAG, "创建模型失败: ");
|
||||
}
|
||||
|
||||
@Override // com.ubt.jimu.transport3.DiyTransportServiceImpl.UploadStateListener
|
||||
public void onUploadSucceed() {
|
||||
ALog.a(UserDiyListPresenter.TAG).d("创建模型成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.ubtech.presenter.BasePresenter
|
||||
public void subscribe() {
|
||||
}
|
||||
|
||||
@Override // com.ubtech.presenter.BasePresenter
|
||||
public void unSubscribe() {
|
||||
this.disposables.dispose();
|
||||
this.disposables.a();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user