| | |
| | | |
| | | import com.auto.lyric.base.model.BaseViewModel; |
| | | import com.auto.lyric.data.ActiveResult; |
| | | import com.auto.lyric.data.BaseApiResult; |
| | | import com.auto.lyric.data.DeviceInfo; |
| | | import com.auto.lyric.retrofit.api.CollectApiCenter; |
| | | import com.auto.lyric.retrofit.api.CommonApiCenter; |
| | | import com.auto.lyric.retrofit.observable.HttpObserver; |
| | | import com.auto.lyric.retrofit.observable.LoadingHttpObserver; |
| | | import com.auto.lyric.retrofit.utils.RetrofitUtils; |
| | | import com.google.gson.Gson; |
| | | |
| | | import java.io.File; |
| | | import java.util.Date; |
| | | |
| | | 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; |
| | | CommonApiCenter commonApi; |
| | | |
| | | public MainViewModel(){ |
| | | apiCenter = RetrofitUtils.getInstance().getRetrofit(CollectApiCenter.class); |
| | | commonApi = RetrofitUtils.getInstance().getRetrofit(CommonApiCenter.class); |
| | | } |
| | | |
| | | public void checkActive(String userId,String activeKey,LoadingHttpObserver<ActiveResult> observer){ |
| | |
| | | httpObserverOn(observable,observer); |
| | | } |
| | | |
| | | public void registerDevice(){ |
| | | httpObserverOn(commonApi.registerDevice("https://api.hefan.space/autolyric/registerDevice",createJsonBody(DeviceInfo.getInstance(activity))), new HttpObserver() { |
| | | @Override |
| | | public void onError(BaseApiResult result) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete(BaseApiResult error) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete() { |
| | | super.onComplete(); |
| | | activity.putStringProjectPrefrence("deviceInfo",new Gson().toJson(DeviceInfo.getInstance(activity))); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | public void launchApp(){ |
| | | httpObserverOn(commonApi.launchApp("https://api.hefan.space/autolyric/launchApp",createJsonBody(DeviceInfo.getInstance(activity))), new HttpObserver() { |
| | | @Override |
| | | public void onError(BaseApiResult result) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete(BaseApiResult error) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete() { |
| | | super.onComplete(); |
| | | activity.putLongProjectPrefrence("launchApp",new Date().getTime()); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | 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 |