|
|
@@ -14,6 +14,7 @@ import com.tongyu.luck.happywork.baselibrary.EventConstant;
|
|
|
import com.tongyu.luck.happywork.bean.ClockInfoBean;
|
|
|
import com.tongyu.luck.happywork.bean.ClockResultBean;
|
|
|
import com.tongyu.luck.happywork.bean.api.ApiApproveBean;
|
|
|
+import com.tongyu.luck.happywork.bean.api.ApiHotListBean;
|
|
|
import com.tongyu.luck.happywork.bean.api.ApiNormalBean;
|
|
|
import com.tongyu.luck.happywork.callback.MvpDataCallBack;
|
|
|
import com.tongyu.luck.happywork.event.StringEvent;
|
|
|
@@ -34,8 +35,8 @@ public class ClockFragmentModel extends BaseModel implements ClockFragmentContac
|
|
|
private AMapLocation mLocation;//当前定位城市
|
|
|
private ClockInfoBean infoBean;//打卡信息
|
|
|
|
|
|
- private boolean isInit;//是否已经初始化
|
|
|
private boolean isLoading;//是否正在打卡在
|
|
|
+ private ApiException mException;//异常
|
|
|
|
|
|
public ClockFragmentModel(Context mContext) {
|
|
|
super(mContext);
|
|
|
@@ -56,19 +57,24 @@ public class ClockFragmentModel extends BaseModel implements ClockFragmentContac
|
|
|
@Override
|
|
|
public void onSuccess(ClockInfoBean data) {
|
|
|
infoBean = data;
|
|
|
- callBack.onData(data);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onError(ClockInfoBean data, ApiException exception) {
|
|
|
super.onError(data, exception);
|
|
|
if (infoBean == null)//如果已经获取过打卡信息则不抛出异常
|
|
|
- callBack.onError(exception);
|
|
|
+ mException = exception;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onFinish() {
|
|
|
+ callBack.onData(infoBean);
|
|
|
+ if (mException != null) {
|
|
|
+ callBack.onError(mException);
|
|
|
+ mException = null;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -76,7 +82,7 @@ public class ClockFragmentModel extends BaseModel implements ClockFragmentContac
|
|
|
* 定位
|
|
|
*/
|
|
|
@Override
|
|
|
- public void locationAddress(final MvpDataCallBack<AMapLocation> callBack) {
|
|
|
+ public void locationAddress(final MvpDataCallBack<Boolean> callBack) {
|
|
|
mLocation = null;
|
|
|
if (mLocationClient != null) {//销毁原定位
|
|
|
mLocationClient.stopLocation();
|
|
|
@@ -88,13 +94,13 @@ public class ClockFragmentModel extends BaseModel implements ClockFragmentContac
|
|
|
mLocationClient.setLocationListener(new AMapLocationListener() {
|
|
|
@Override
|
|
|
public void onLocationChanged(AMapLocation aMapLocation) {
|
|
|
- if (aMapLocation != null) {
|
|
|
- if (aMapLocation.getErrorCode() == 0 && !TextUtils.isEmpty(aMapLocation.getAdCode())) {
|
|
|
- mLocation = aMapLocation;
|
|
|
- mLocationClient.stopLocation();
|
|
|
- callBack.onData(mLocation);
|
|
|
- }
|
|
|
+ if (aMapLocation != null && aMapLocation.getErrorCode() == 0 && !TextUtils.isEmpty(aMapLocation.getAdCode())) {
|
|
|
+ mLocation = aMapLocation;
|
|
|
+ callBack.onData(true);
|
|
|
+ } else {
|
|
|
+ callBack.onData(false);
|
|
|
}
|
|
|
+ mLocationClient.stopLocation();
|
|
|
}
|
|
|
});
|
|
|
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
|
|
|
@@ -159,11 +165,12 @@ public class ClockFragmentModel extends BaseModel implements ClockFragmentContac
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- public boolean isInit() {
|
|
|
- return isInit;
|
|
|
- }
|
|
|
-
|
|
|
- public void setInit(boolean init) {
|
|
|
- isInit = init;
|
|
|
+ /**
|
|
|
+ * 获取打卡信息
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ClockInfoBean getClockInfo() {
|
|
|
+ return infoBean;
|
|
|
}
|
|
|
}
|