| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.lib_coremodel.base; |
| | | |
| | | import android.app.Application; |
| | | import android.os.Bundle; |
| | | import android.os.Message; |
| | | import android.view.View; |
| | | |
| | | import androidx.annotation.MainThread; |
| | | import androidx.annotation.NonNull; |
| | | import androidx.annotation.StringRes; |
| | | import androidx.databinding.ObservableField; |
| | | import androidx.databinding.ObservableInt; |
| | | import androidx.hilt.lifecycle.ViewModelInject; |
| | | import androidx.lifecycle.AndroidViewModel; |
| | | import androidx.lifecycle.Lifecycle; |
| | | import androidx.lifecycle.LifecycleOwner; |
| | | import androidx.lifecycle.MutableLiveData; |
| | | import androidx.lifecycle.Observer; |
| | | |
| | | import com.doumee.lib_coremodel.base.livedata.ActionEvent; |
| | | import com.doumee.lib_coremodel.base.livedata.MessageEvent; |
| | | import com.doumee.lib_coremodel.base.livedata.SingleLiveEvent; |
| | | import com.doumee.lib_coremodel.base.livedata.StatusEvent; |
| | | import com.doumee.lib_coremodel.bean.event.ActionEventData; |
| | | import com.doumee.lib_coremodel.binding.command.BindingAction; |
| | | import com.doumee.lib_coremodel.binding.command.BindingCommand; |
| | | import com.doumee.lib_coremodel.binding.command.BindingConsumer; |
| | | import com.doumee.lib_coremodel.http.rxJava.RxJavaGcManager; |
| | | |
| | | import java.util.HashMap; |
| | | |
| | | |
| | | /** |
| | | * MVVMFrame æ¡æ¶åºäºGoogle宿¹ç JetPack æå»ºï¼å¨ä½¿ç¨MVVMFrameæ¶ï¼ééµå¾ªä¸äºè§èï¼ |
| | | * |
| | | * 妿æ¨ç»§æ¿ä½¿ç¨äºBaseViewModelæå
¶åç±»ï¼ä½ éè¦åç
§å¦ä¸æ¹å¼å¨æé 彿°ä¸æ·»å @ViewModelInject注解 |
| | | * |
| | | * @example BaseViewModel |
| | | * //------------------------- |
| | | * public class YourViewModel extends BaseViewModel<YourModel> { |
| | | * @ViewModelInject |
| | | * public DataViewModel(@NonNull Application application, YourModel model) { |
| | | * super(application, model); |
| | | * } |
| | | * } |
| | | * //------------------------- |
| | | * |
| | | * 妿æ¨ç»§æ¿ä½¿ç¨äºBaseModelæå
¶åç±»ï¼ä½ éè¦åç
§å¦ä¸æ¹å¼å¨æé 彿°ä¸æ·»å @Inject注解 |
| | | * |
| | | * @example BaseModel |
| | | * //------------------------- |
| | | * public class YourModel extends BaseModel { |
| | | * @Inject |
| | | * public BaseModel(IDataRepository dataRepository){ |
| | | * super(dataRepository); |
| | | * } |
| | | * } |
| | | * //------------------------- |
| | | * |
| | | * |
| | | * æ åMVVM模å¼ä¸çVM (ViewModel)å±åºç±» |
| | | * @author <a href="mailto:jenly1314@gmail.com">Jenly</a> |
| | | */ |
| | | public class BaseViewModel<M extends BaseModel> extends AndroidViewModel implements IViewModel { |
| | | |
| | | public ObservableField<String> title=new ObservableField<>("121"); |
| | | public ObservableField<String> saveStr=new ObservableField<>("ä¿å"); |
| | | /** |
| | | * æ¾ç¤ºä¿å |
| | | * */ |
| | | public ObservableInt saveStrvisibility = new ObservableInt(View.GONE); |
| | | /** |
| | | * å°åº |
| | | */ |
| | | public ObservableInt loadMoreVisibility = new ObservableInt(View.GONE); /** |
| | | * æ æ°æ® |
| | | */ |
| | | public ObservableInt emptyVisibility = new ObservableInt(View.VISIBLE); |
| | | public RxJavaGcManager rxJavaGcManager;//ç½ç»è¯·æ±ç彿§å¶ |
| | | protected String tag; |
| | | |
| | | /** |
| | | * è¿åäºä»¶ |
| | | * */ |
| | | public BindingCommand backOnClickCommand=new BindingCommand(new BindingAction() { |
| | | @Override |
| | | public void call() { |
| | | backOnClickCommand(); |
| | | } |
| | | }); |
| | | /** |
| | | * ä¿åäºä»¶ |
| | | * */ |
| | | public BindingCommand saveOnClickCommand=new BindingCommand(new BindingAction() { |
| | | @Override |
| | | public void call() { |
| | | saveOnClickCommand(); |
| | | } |
| | | }); |
| | | public void backOnClickCommand(){ |
| | | finish(); |
| | | } |
| | | public void saveOnClickCommand(){ |
| | | |
| | | } |
| | | |
| | | public BindingCommand myTypeCommand = new BindingCommand(new BindingConsumer<Integer>() { |
| | | @Override |
| | | public void call(Integer type) { |
| | | clickByTypeCommand(type); |
| | | } |
| | | }); |
| | | |
| | | protected void clickByTypeCommand(int type){ |
| | | |
| | | } |
| | | |
| | | public String getTag() { |
| | | return tag; |
| | | } |
| | | |
| | | public void setTag(String tag) { |
| | | this.tag = tag; |
| | | } |
| | | |
| | | private LifecycleOwner lifecycleOwner; |
| | | |
| | | /** |
| | | * 请éè¿ {@link #getModel()} è·åï¼åç»çæ¬ {@link #mModel}å¯è½ä¼ç§æå |
| | | */ |
| | | private M mModel; |
| | | |
| | | /** |
| | | * å¨ä½äºä»¶ |
| | | */ |
| | | private ActionEvent actionEvent = new ActionEvent(); |
| | | |
| | | /** |
| | | * æ¶æ¯äºä»¶ |
| | | */ |
| | | private MessageEvent mMessageEvent = new MessageEvent(); |
| | | |
| | | /** |
| | | * ç¶æäºä»¶ |
| | | */ |
| | | private StatusEvent mStatusEvent = new StatusEvent(); |
| | | |
| | | /** |
| | | * å è½½ç¶æ |
| | | */ |
| | | private SingleLiveEvent<Boolean> mLoadingEvent = new SingleLiveEvent<>(); |
| | | |
| | | /** |
| | | * æä¾èªå®ä¹å䏿¶æ¯äºä»¶ |
| | | */ |
| | | private SingleLiveEvent<Message> mSingleLiveEvent = new SingleLiveEvent<>(); |
| | | |
| | | /** |
| | | * ç»§æ¿è
é½å°ä½¿ç¨æ¤æé |
| | | * @param application |
| | | * @param model |
| | | */ |
| | | public BaseViewModel(@NonNull Application application, M model) { |
| | | super(application); |
| | | this.mModel = model; |
| | | rxJavaGcManager=new RxJavaGcManager(); |
| | | } |
| | | |
| | | /** |
| | | * ç¹æ®æé ï¼ä»
ä¾å
é¨ä½¿ç¨ |
| | | * ä¸ºäºæ»¡è¶³@ViewModelInject注解 |
| | | * @param application |
| | | */ |
| | | @ViewModelInject |
| | | BaseViewModel(@NonNull Application application) { |
| | | super(application); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onCreate() { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onStart() { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onResume() { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onPause() { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onStop() { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onDestroy() { |
| | | if(mModel != null){ |
| | | mModel.onDestroy(); |
| | | mModel = null; |
| | | } |
| | | rxJavaGcManager.disposableActives(); |
| | | } |
| | | |
| | | @Override |
| | | public void onAny(LifecycleOwner owner, Lifecycle.Event event) { |
| | | |
| | | } |
| | | |
| | | public void finish(){ |
| | | actionEvent.setValue(new ActionEventData(ActionEvent.Action.FINISH,new HashMap<>())); |
| | | } |
| | | |
| | | public void toast(String msg){ |
| | | actionEvent.setValue(new ActionEventData(ActionEvent.Action.TOAST,"toast",msg)); |
| | | } |
| | | |
| | | public void doAction(int type){ |
| | | actionEvent.setValue(new ActionEventData(type)); |
| | | } |
| | | |
| | | public void doAction(int type,String obj){ |
| | | actionEvent.setValue(new ActionEventData(type,obj)); |
| | | } |
| | | |
| | | public LifecycleOwner getLifecycleOwner() { |
| | | return lifecycleOwner; |
| | | } |
| | | |
| | | public void setLifecycleOwner(LifecycleOwner lifecycleOwner) { |
| | | this.lifecycleOwner = lifecycleOwner; |
| | | } |
| | | |
| | | /** |
| | | * {@link M} |
| | | * @return {@link #mModel} |
| | | */ |
| | | public M getModel(){ |
| | | return this.mModel; |
| | | } |
| | | |
| | | public ActionEvent getActionEvent() { |
| | | return actionEvent; |
| | | } |
| | | |
| | | public void updateAction(ActionEventData data, boolean post){ |
| | | if(post){ |
| | | actionEvent.postValue(data); |
| | | }else{ |
| | | actionEvent.setValue(data); |
| | | } |
| | | } |
| | | |
| | | public void startActivity(Class<?> cla, Bundle bundle){ |
| | | HashMap<String,Object> hashMap=new HashMap<>(); |
| | | hashMap.put(ActionEvent.ParameterField.CLASS,cla); |
| | | if(bundle!=null){ |
| | | hashMap.put(ActionEvent.ParameterField.BUNDLE,bundle); |
| | | } |
| | | updateAction(new ActionEventData(ActionEvent.Action.START_ACTIVITY,hashMap),false); |
| | | } |
| | | |
| | | public void startActivity(Class<?> cla){ |
| | | HashMap<String,Object> hashMap=new HashMap<>(); |
| | | hashMap.put(ActionEvent.ParameterField.CLASS,cla); |
| | | updateAction(new ActionEventData(ActionEvent.Action.START_ACTIVITY,hashMap),false); |
| | | } |
| | | |
| | | /** |
| | | * æ´é²ç»è§å¯è
æä¾å è½½äºä»¶ï¼{@link BaseActivity} æ {@link BaseFragment} å·²é»è®¤æ³¨åå è½½äºä»¶ï¼ |
| | | * åªéè°ç¨{@link #showLoading()} æ {@link #hideLoading()}å³å¯å¨{@link BaseActivity} |
| | | * æ {@link BaseFragment} 䏿¶å°è®¢é
äºä»¶ |
| | | * @return {@link #mLoadingEvent} |
| | | */ |
| | | public SingleLiveEvent<Boolean> getLoadingEvent(){ |
| | | return mLoadingEvent; |
| | | } |
| | | |
| | | /** |
| | | * æ´é²ç»è§å¯è
æä¾æ¶æ¯äºä»¶ï¼éè¿æ³¨å{@link BaseActivity#registerMessageEvent(MessageEvent.MessageObserver)}æ |
| | | * {@link BaseFragment#registerMessageEvent(MessageEvent.MessageObserver)} æ |
| | | * {@link BaseDialogFragment#registerMessageEvent(MessageEvent.MessageObserver)}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @return {@link #mMessageEvent} |
| | | */ |
| | | public MessageEvent getMessageEvent(){ |
| | | return mMessageEvent; |
| | | } |
| | | |
| | | /** |
| | | * æ´é²ç»è§å¯è
æä¾ç¶æååäºä»¶ï¼éè¿æ³¨å{@link BaseActivity#registerStatusEvent(StatusEvent.StatusObserver)}æ |
| | | * {@link BaseFragment#registerStatusEvent(StatusEvent.StatusObserver)} æ |
| | | * {@link BaseDialogFragment#registerStatusEvent(StatusEvent.StatusObserver)}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @return {@link #mStatusEvent} |
| | | */ |
| | | public StatusEvent getStatusEvent(){ |
| | | return mStatusEvent; |
| | | } |
| | | |
| | | /** |
| | | * æ´é²ç»è§å¯è
æä¾æ¥æ¶åä¸ªæ¶æ¯äºä»¶ï¼éè¿æ³¨å{@link BaseActivity#registerSingleLiveEvent(Observer)}æ |
| | | * {@link BaseFragment#registerSingleLiveEvent(Observer)} æ |
| | | * {@link BaseDialogFragment#registerSingleLiveEvent(Observer)}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @return {@link #mSingleLiveEvent} |
| | | */ |
| | | public SingleLiveEvent<Message> getSingleLiveEvent(){ |
| | | return mSingleLiveEvent; |
| | | } |
| | | |
| | | /** |
| | | * åéæ¶æ¯ï¼éè¿æ³¨å{@link BaseActivity#registerMessageEvent(MessageEvent.MessageObserver)}æ |
| | | * {@link BaseFragment#registerMessageEvent(MessageEvent.MessageObserver)} æ |
| | | * {@link BaseDialogFragment#registerMessageEvent(MessageEvent.MessageObserver)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getMessageEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param msgId èµæºæä»¶id |
| | | */ |
| | | @MainThread |
| | | public void sendMessage(@StringRes int msgId) { |
| | | sendMessage(msgId,false); |
| | | } |
| | | |
| | | /** |
| | | * åéæ¶æ¯ï¼éè¿æ³¨å{@link BaseActivity#registerMessageEvent(MessageEvent.MessageObserver)}æ |
| | | * {@link BaseFragment#registerMessageEvent(MessageEvent.MessageObserver)} æ |
| | | * {@link BaseDialogFragment#registerMessageEvent(MessageEvent.MessageObserver)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getMessageEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param msgId èµæºæä»¶id |
| | | * @param post å¦æä¸º{@code true}åå¯ä»¥å¨å线ç¨è°ç¨ï¼ç¸å½äºè°ç¨{@link MutableLiveData#postValue(Object)}ï¼ |
| | | * å¦æä¸º{@code false} ç¸å½äºè°ç¨{@link MutableLiveData#setValue(Object)} |
| | | */ |
| | | public void sendMessage(@StringRes int msgId, boolean post) { |
| | | sendMessage(getApplication().getString(msgId),post); |
| | | } |
| | | |
| | | /** |
| | | * åéæ¶æ¯ï¼éè¿æ³¨å{@link BaseActivity#registerMessageEvent(MessageEvent.MessageObserver)}æ |
| | | * {@link BaseFragment#registerMessageEvent(MessageEvent.MessageObserver)} æ |
| | | * {@link BaseDialogFragment#registerMessageEvent(MessageEvent.MessageObserver)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getMessageEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param message æ¶æ¯å
容 |
| | | */ |
| | | @MainThread |
| | | public void sendMessage(String message){ |
| | | mMessageEvent.setValue(message); |
| | | } |
| | | |
| | | /** |
| | | * åéæ¶æ¯ï¼éè¿æ³¨å{@link BaseActivity#registerMessageEvent(MessageEvent.MessageObserver)}æ |
| | | * {@link BaseFragment#registerMessageEvent(MessageEvent.MessageObserver)} æ |
| | | * {@link BaseDialogFragment#registerMessageEvent(MessageEvent.MessageObserver)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getMessageEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param message æ¶æ¯å
容 |
| | | * @param post å¦æä¸º{@code true}åå¯ä»¥å¨å线ç¨è°ç¨ï¼ç¸å½äºè°ç¨{@link MutableLiveData#postValue(Object)}ï¼ |
| | | * å¦æä¸º{@code false} ç¸å½äºè°ç¨{@link MutableLiveData#setValue(Object)} |
| | | */ |
| | | public void sendMessage(String message, boolean post){ |
| | | if(post){ |
| | | mMessageEvent.postValue(message); |
| | | }else{ |
| | | mMessageEvent.setValue(message); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ´æ°ç¶æï¼éè¿æ³¨å{@link BaseActivity#registerStatusEvent(StatusEvent.StatusObserver)}æ |
| | | * {@link BaseFragment#registerStatusEvent(StatusEvent.StatusObserver)} æ |
| | | * {@link BaseDialogFragment#registerStatusEvent(StatusEvent.StatusObserver)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getStatusEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param status |
| | | */ |
| | | @MainThread |
| | | public void updateStatus(@StatusEvent.Status int status){ |
| | | updateStatus(status,false); |
| | | } |
| | | |
| | | /** |
| | | * æ´æ°ç¶æï¼éè¿æ³¨å{@link BaseActivity#registerStatusEvent(StatusEvent.StatusObserver)}æ |
| | | * {@link BaseFragment#registerStatusEvent(StatusEvent.StatusObserver)} æ |
| | | * {@link BaseDialogFragment#registerStatusEvent(StatusEvent.StatusObserver)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getStatusEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param status |
| | | * @param post å¦æä¸º{@code true}åå¯ä»¥å¨å线ç¨è°ç¨ï¼ç¸å½äºè°ç¨{@link MutableLiveData#postValue(Object)}ï¼ |
| | | * å¦æä¸º{@code false} ç¸å½äºè°ç¨{@link MutableLiveData#setValue(Object)} |
| | | */ |
| | | public void updateStatus(@StatusEvent.Status int status, boolean post){ |
| | | if(post){ |
| | | mStatusEvent.postValue(status); |
| | | }else{ |
| | | mStatusEvent.setValue(status); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åéåä¸ªæ¶æ¯äºä»¶ï¼æ¶æ¯ä¸º{@link Message}对象ï¼å¯éè¿{@link Message#what}åºåæ¶æ¯ç±»åï¼ç¨æ³ä¸{@link Message}ä¸è´ï¼ |
| | | * éè¿æ³¨å{@link BaseActivity#registerSingleLiveEvent(Observer)}æ |
| | | * {@link BaseFragment#registerSingleLiveEvent(Observer)} æ |
| | | * {@link BaseDialogFragment#registerSingleLiveEvent(Observer)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getSingleLiveEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param what |
| | | */ |
| | | @MainThread |
| | | public void sendSingleLiveEvent(int what){ |
| | | sendSingleLiveEvent(what,false); |
| | | } |
| | | |
| | | /** |
| | | * åéåä¸ªæ¶æ¯äºä»¶ï¼æ¶æ¯ä¸º{@link Message}对象ï¼å¯éè¿{@link Message#what}åºåæ¶æ¯ç±»åï¼ç¨æ³ä¸{@link Message}ä¸è´ï¼ |
| | | * éè¿æ³¨å{@link BaseActivity#registerSingleLiveEvent(Observer)}æ |
| | | * {@link BaseFragment#registerSingleLiveEvent(Observer)} æ |
| | | * {@link BaseDialogFragment#registerSingleLiveEvent(Observer)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getSingleLiveEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param what |
| | | * @param post å¦æä¸º{@code true}åå¯ä»¥å¨å线ç¨è°ç¨ï¼ç¸å½äºè°ç¨{@link MutableLiveData#postValue(Object)}ï¼ |
| | | * å¦æä¸º{@code false} ç¸å½äºè°ç¨{@link MutableLiveData#setValue(Object)} |
| | | */ |
| | | public void sendSingleLiveEvent(int what, boolean post){ |
| | | Message message = Message.obtain(); |
| | | message.what = what; |
| | | sendSingleLiveEvent(message,post); |
| | | } |
| | | |
| | | /** |
| | | * åéåä¸ªæ¶æ¯äºä»¶ï¼æ¶æ¯ä¸º{@link Message}对象ï¼å¯éè¿{@link Message#what}åºåæ¶æ¯ç±»åï¼ç¨æ³ä¸{@link Message}ä¸è´ï¼ |
| | | * éè¿æ³¨å{@link BaseActivity#registerSingleLiveEvent(Observer)}æ |
| | | * {@link BaseFragment#registerSingleLiveEvent(Observer)} æ |
| | | * {@link BaseDialogFragment#registerSingleLiveEvent(Observer)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getSingleLiveEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param message |
| | | */ |
| | | @MainThread |
| | | public void sendSingleLiveEvent(Message message){ |
| | | sendSingleLiveEvent(message,false); |
| | | } |
| | | |
| | | /** |
| | | * åéåä¸ªæ¶æ¯äºä»¶ï¼æ¶æ¯ä¸º{@link Message}对象ï¼å¯éè¿{@link Message#what}åºåæ¶æ¯ç±»åï¼ç¨æ³ä¸{@link Message}ä¸è´ï¼ |
| | | * éè¿æ³¨å{@link BaseActivity#registerSingleLiveEvent(Observer)}æ |
| | | * {@link BaseFragment#registerSingleLiveEvent(Observer)} æ |
| | | * {@link BaseDialogFragment#registerSingleLiveEvent(Observer)}æ¥æ¶æ¶æ¯äºä»¶ï¼ |
| | | * ä¹å¯éè¿è§å¯{@link #getSingleLiveEvent()}æ¥æ¶æ¶æ¯äºä»¶ |
| | | * @param message |
| | | * @param post å¦æä¸º{@code true}åå¯ä»¥å¨å线ç¨è°ç¨ï¼ç¸å½äºè°ç¨{@link MutableLiveData#postValue(Object)}ï¼ |
| | | * å¦æä¸º{@code false} ç¸å½äºè°ç¨{@link MutableLiveData#setValue(Object)} |
| | | */ |
| | | public void sendSingleLiveEvent(Message message, boolean post){ |
| | | if(post){ |
| | | mSingleLiveEvent.postValue(message); |
| | | }else{ |
| | | mSingleLiveEvent.setValue(message); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è°ç¨æ¤ç±»ä¼åæ¥éç¥æ§è¡{@link BaseActivity#showLoading()}æ{@link BaseFragment#showLoading()}æ |
| | | * {@link BaseDialogFragment#showLoading()} |
| | | */ |
| | | @MainThread |
| | | public void showLoading() { |
| | | showLoading(true); |
| | | } |
| | | |
| | | /** |
| | | * è°ç¨æ¤ç±»ä¼åæ¥éç¥æ§è¡{@link BaseActivity#showLoading()}æ{@link BaseFragment#showLoading()}æ |
| | | * {@link BaseDialogFragment#showLoading()} |
| | | */ |
| | | public void showLoading(boolean post) { |
| | | if(post){ |
| | | mLoadingEvent.postValue(true); |
| | | }else{ |
| | | mLoadingEvent.setValue(true); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è°ç¨æ¤ç±»ä¼åæ¥éç¥æ§è¡{@link BaseActivity#hideLoading()}æ{@link BaseFragment#hideLoading()}æ |
| | | * {@link BaseDialogFragment#hideLoading()} |
| | | */ |
| | | @MainThread |
| | | public void hideLoading() { |
| | | hideLoading(false); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è°ç¨æ¤ç±»ä¼åæ¥éç¥æ§è¡{@link BaseActivity#hideLoading()}æ{@link BaseFragment#hideLoading()}æ |
| | | * {@link BaseDialogFragment#hideLoading()} |
| | | * @param post å¦æä¸º{@code true}åå¯ä»¥å¨å线ç¨è°ç¨ï¼ç¸å½äºè°ç¨{@link MutableLiveData#postValue(Object)}ï¼ |
| | | * å¦æä¸º{@code false} ç¸å½äºè°ç¨{@link MutableLiveData#setValue(Object)} |
| | | */ |
| | | public void hideLoading(boolean post) { |
| | | if(post){ |
| | | mLoadingEvent.postValue(false); |
| | | }else{ |
| | | mLoadingEvent.setValue(false); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |