From c7530f1a595883f815b9689dbd3a8159e8d6bd30 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Sat, 31 Dec 2022 01:14:21 +0000 Subject: [PATCH] UI线程阻塞问题修复 --- app/src/main/java/com/auto/lyric/vm/MainViewModel.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/auto/lyric/vm/MainViewModel.java b/app/src/main/java/com/auto/lyric/vm/MainViewModel.java index 395a607..d646f38 100644 --- a/app/src/main/java/com/auto/lyric/vm/MainViewModel.java +++ b/app/src/main/java/com/auto/lyric/vm/MainViewModel.java @@ -1,9 +1,61 @@ package com.auto.lyric.vm; import com.auto.lyric.base.model.BaseViewModel; +import com.auto.lyric.data.ActiveResult; +import com.auto.lyric.retrofit.api.CollectApiCenter; +import com.auto.lyric.retrofit.observable.LoadingHttpObserver; +import com.auto.lyric.retrofit.utils.RetrofitUtils; + +import java.io.File; + +import io.reactivex.Observable; +import okhttp3.MediaType; +import okhttp3.MultipartBody; +import okhttp3.RequestBody; /** * Created by Runt (qingingrunt2010@qq.com) on 2022/3/20. */ public class MainViewModel extends BaseViewModel { + + CollectApiCenter apiCenter; + + public MainViewModel(){ + apiCenter = RetrofitUtils.getInstance().getRetrofit(CollectApiCenter.class); + } + + public void checkActive(String userId,String activeKey,LoadingHttpObserver<ActiveResult> observer){ + Observable<ActiveResult> observable = apiCenter.loginCheck(getApiFileds(userId,activeKey)); + httpObserverOn(observable,observer); + } + + public void register(String activeKey,LoadingHttpObserver<ActiveResult> observer){ + Observable<ActiveResult> observable = apiCenter.register(getApiFileds("0",activeKey)); + httpObserverOn(observable,observer); + } + + public void uploadFile(String userId,String activeKey,File file){ + RequestBody body = RequestBody.create(MediaType.parse("text/plain; charset=utf-8"),file); + MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), body); + httpObserverOn(apiCenter.uploadLrc(part, getApiMultiFileds(userId, activeKey)), new LoadingHttpObserver<ActiveResult>(activity) { + @Override + public void onComplete(ActiveResult error) { + + } + + }); + } + + /** + * + * @param userId + * @param activeKey + * @param title 歌词标题 + * @param lrc 歌词内容 + * @param observer + */ + public void addToCollect(String userId,String activeKey,String title,String lrc,LoadingHttpObserver<ActiveResult> observer){ + httpObserverOn(apiCenter.addLrcToCollect(title,lrc,getApiFileds(userId,activeKey)),observer); + } + } -- Gitblit v1.9.1