From 5325e22a184b53aadcc5e9552cb1ec54f9c8ad81 Mon Sep 17 00:00:00 2001 From: guoshen <3129367635@qq.com> Date: 星期六, 29 六月 2024 16:33:11 +0800 Subject: [PATCH] 加入了直播、会议功能 --- app/src/main/java/com/application/zhangshi_app_android/ui/function/WebbackDetailActivityViewModel.java | 342 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 342 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/WebbackDetailActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/WebbackDetailActivityViewModel.java new file mode 100644 index 0000000..c728ea1 --- /dev/null +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/WebbackDetailActivityViewModel.java @@ -0,0 +1,342 @@ +package com.application.zhangshi_app_android.ui.function; + +import android.app.Application; + +import androidx.annotation.NonNull; +import androidx.lifecycle.MutableLiveData; + +import com.android.app_base.base.viewmodel.BaseViewModel; +import com.application.zhangshi_app_android.bean.WebbackBean; +import com.application.zhangshi_app_android.data.DataRepository; + +import java.util.ArrayList; +import java.util.List; + +public class WebbackDetailActivityViewModel extends BaseViewModel<DataRepository> { + + private MutableLiveData<WebbackBean> beanLiveData; + private MutableLiveData<Boolean> typeLiveData;//true 缂栬緫鐘舵�� false 灞曠ず鐘舵�� + private final List<String> uploadFileList = new ArrayList<>();//闇�瑕佷笂浼犵殑鏂囦欢鍒楄〃 + public WebbackDetailActivityViewModel(@NonNull Application application) { + super(application); + } + + @Override + protected DataRepository initModel() { + return DataRepository.getInstance(); + } + + /** + * 澧炲姞瀹跺ぇ浜嬭 + */ +// public void add() { +// if (uploadFileList.size() > 0) { +// List<Observable<String>> observables = new ArrayList<>(); +// for (String path : uploadFileList) { +// File file = new File(path); +// RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); +// MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody); +// Observable<String> uploadObservable = model.uploadFile(body) +// .flatMap(new Function<ResultData<UploadFileResponseBean>, ObservableSource<String>>() { +// @Override +// public ObservableSource<String> apply(ResultData<UploadFileResponseBean> resultData) throws Exception { +// if (resultData.getCode() == CODE_SUCCESS) { +// WebbackBean bean = getBeanLiveData().getValue(); +// if (bean != null) { +// String urls = bean.getUrl(); +// //鏇挎崲鍥剧墖鍦板潃 +// urls = urls.replace(path, resultData.getData().getUrl()); +// bean.setUrl(urls); +// getBeanLiveData().postValue(bean); +// } +// return Observable.just(path); +// } else { +// return Observable.error(new Exception(resultData.getMsg())); +// } +// } +// }); +// +// observables.add(uploadObservable); +// } +// Observable.zip(observables, result -> result) +// .flatMap(new Function<Object[], Observable<ResultData<String>>>() { +// @Override +// public Observable<ResultData<String>> apply(Object[] objects) throws Exception { +// //绉婚櫎宸茬粡涓婁紶鐨勬枃浠� +// //鎶妎bjects鏁扮粍杞崲鎴恖ist锛岀劧鍚庣Щ闄� +// for (Object object : objects) { +// uploadFileList.remove((String) object); +// } +// return model.addWebback(beanLiveData.getValue()); +// } +// }) +// .doOnSubscribe(new Consumer<Disposable>() { +// @Override +// public void accept(Disposable disposable) throws Exception { +// changeStateView(StateViewEnum.DIALOG_LOADING); +// } +// }) +// .doFinally(new Action() { +// @Override +// public void run() throws Exception { +// changeStateView(StateViewEnum.DIALOG_DISMISS); +// } +// }) +// .compose(RxUtils.schedulersTransformer()) +// .subscribe(new Observer<ResultData<String>>() { +// @Override +// public void onSubscribe(Disposable d) { +// addSubscribe(d); +// } +// +// @Override +// public void onNext(ResultData<String> stringResultData) { +// if (stringResultData.getCode() == CODE_SUCCESS) { +// AppManager.getAppManager().finishCurrentActivity(); +// RxBus.getInstance().post(beanLiveData.getValue()); +// messageLiveData.postValue("娣诲姞鎴愬姛"); +// } else { +// messageLiveData.postValue(stringResultData.getMsg()); +// } +// } +// +// @Override +// public void onError(Throwable e) { +// messageLiveData.postValue(e.getMessage()); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); +// }else { +// model.addMeeting(beanLiveData.getValue()) +// .compose(RxUtils.schedulersTransformer()) +// .subscribe(new Observer<ResultData<String>>() { +// @Override +// public void onSubscribe(Disposable d) { +// addSubscribe(d); +// } +// +// @Override +// public void onNext(ResultData<String> stringResultData) { +// if (stringResultData.getCode() == CODE_SUCCESS) { +// AppManager.getAppManager().finishCurrentActivity(); +// RxBus.getInstance().post(beanLiveData.getValue()); +// messageLiveData.postValue("娣诲姞鎴愬姛"); +// } else { +// messageLiveData.postValue(stringResultData.getMsg()); +// } +// } +// +// @Override +// public void onError(Throwable e) { +// messageLiveData.postValue(e.getMessage()); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); +// } +// } + /** + * 鍒犻櫎瀹跺ぇ浜嬭 + */ +// public void delete() { +// model.deleteMeeting(String.valueOf(beanLiveData.getValue().getId())) +// .compose(RxUtils.schedulersTransformer()) +// .subscribe(new Observer<ResultData<String>>() { +// @Override +// public void onSubscribe(Disposable d) { +// addSubscribe(d); +// } +// +// @Override +// public void onNext(ResultData<String> stringResultData) { +// if (stringResultData.getCode() == CODE_SUCCESS){ +// AppManager.getAppManager().finishCurrentActivity(); +// RxBus.getInstance().post(beanLiveData.getValue()); +// messageLiveData.postValue("鍒犻櫎鎴愬姛"); +// }else { +// messageLiveData.postValue(stringResultData.getMsg()); +// } +// } +// +// @Override +// public void onError(Throwable e) { +// messageLiveData.postValue(e.getMessage()); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); +// } + /** + * 缂栬緫瀹跺ぇ浜嬭 + */ +// public void update() { +// if (uploadFileList.size() > 0){ +// List<Observable<String>> observables = new ArrayList<>(); +// for (String path : uploadFileList) { +// File file = new File(path); +// RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); +// MultipartBody.Part body = MultipartBody.Part.createFormData("uploadFile", file.getName(), requestBody); +// Observable<String> uploadObservable = model.uploadFile(body) +// .flatMap(new Function<ResultData<UploadFileResponseBean>, ObservableSource<String>>() { +// @Override +// public ObservableSource<String> apply(ResultData<UploadFileResponseBean> resultData) throws Exception { +// if (resultData.getCode() == CODE_SUCCESS){ +// MeetingBean bean = getBeanLiveData().getValue(); +// if (bean != null){ +// String urls = bean.getUrl(); +// //鏇挎崲鍥剧墖鍦板潃 +// urls = urls.replace(path,resultData.getData().getUrl()); +// bean.setUrl(urls); +// getBeanLiveData().postValue(bean); +// } +// return Observable.just(path); +// }else { +// return Observable.error(new Exception(resultData.getMsg())); +// } +// } +// }); +// +// observables.add(uploadObservable); +// } +// Observable.zip(observables,result -> result) +// .flatMap(new Function<Object[], Observable<ResultData<String>>>() { +// @Override +// public Observable<ResultData<String>> apply(Object[] objects) throws Exception { +// //绉婚櫎宸茬粡涓婁紶鐨勬枃浠� +// //鎶妎bjects鏁扮粍杞崲鎴恖ist锛岀劧鍚庣Щ闄� +// for (Object object : objects) { +// uploadFileList.remove((String) object); +// } +// return model.updateMeeting(beanLiveData.getValue()); +// } +// }) +// .doOnSubscribe(new Consumer<Disposable>() { +// @Override +// public void accept(Disposable disposable) throws Exception { +// changeStateView(StateViewEnum.DIALOG_LOADING); +// } +// }) +// .doFinally(new Action() { +// @Override +// public void run() throws Exception { +// changeStateView(StateViewEnum.DIALOG_DISMISS); +// } +// }) +// .compose(RxUtils.schedulersTransformer()) +// .subscribe(new Observer<ResultData<String>>() { +// @Override +// public void onSubscribe(Disposable d) { +// addSubscribe(d); +// } +// +// @Override +// public void onNext(ResultData<String> stringResultData) { +// if (stringResultData.getCode() == CODE_SUCCESS){ +// AppManager.getAppManager().finishCurrentActivity(); +// RxBus.getInstance().post(beanLiveData.getValue()); +// messageLiveData.postValue("淇敼鎴愬姛"); +// }else { +// messageLiveData.postValue(stringResultData.getMsg()); +// } +// } +// +// @Override +// public void onError(Throwable e) { +// messageLiveData.postValue(e.getMessage()); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); +// }else { +// model.updateMeeting(beanLiveData.getValue()) +// .compose(RxUtils.schedulersTransformer()) +// .subscribe(new Observer<ResultData<String>>() { +// @Override +// public void onSubscribe(Disposable d) { +// addSubscribe(d); +// } +// +// @Override +// public void onNext(ResultData<String> stringResultData) { +// if (stringResultData.getCode() == CODE_SUCCESS){ +// AppManager.getAppManager().finishCurrentActivity(); +// RxBus.getInstance().post(beanLiveData.getValue()); +// messageLiveData.postValue("淇敼鎴愬姛"); +// }else { +// messageLiveData.postValue(stringResultData.getMsg()); +// } +// } +// +// @Override +// public void onError(Throwable e) { +// +// +// +// +// +// +// +// +// +// +// +// messageLiveData.postValue(e.getMessage()); +// } +// +// @Override +// public void onComplete() { +// +// } +// }); +// } +// +// } + + public MutableLiveData<WebbackBean> getBeanLiveData() { + if (beanLiveData == null){ + beanLiveData = new MutableLiveData<>(); + } + if (beanLiveData.getValue() == null){ + beanLiveData.setValue(new WebbackBean()); + } + return beanLiveData; + } + + public void setBeanLiveData(MutableLiveData<WebbackBean> beanLiveData) { + this.beanLiveData = beanLiveData; + } + + public MutableLiveData<Boolean> getTypeLiveData() { + if (typeLiveData == null){ + typeLiveData = new MutableLiveData<>(); + } + return typeLiveData; + } + + public void setTypeLiveData(MutableLiveData<Boolean> typeLiveData) { + this.typeLiveData = typeLiveData; + } + + public List<String> getUploadFileList() { + return uploadFileList; + } + + public void addUploadFile(String url) { + uploadFileList.add(url); + } + + +} -- Gitblit v1.9.1