Commit 92a16416 by 罗翻

订单路程修改

parent 7c4f1a3c
Showing with 356 additions and 267 deletions
......@@ -8,12 +8,6 @@ android {
storeFile file('/Users/luofan/AndroidStudioProjects/app_key.jks')
storePassword '123456789'
}
// debug {
// keyAlias 'keybigfish'
// keyPassword '123456789'
// storeFile file('/Users/luofan/AndroidStudioProjects/app_key.jks')
// storePassword '123456789'
// }
}
compileSdkVersion 25
buildToolsVersion '26.0.2'
......@@ -81,6 +75,8 @@ dependencies {
//注解工具
compile 'com.jakewharton:butterknife:8.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'
//友盟统计
compile 'com.umeng.analytics:analytics:latest.integration'
//greendao数据库
compile 'org.greenrobot:greendao:3.2.0'
......
......@@ -23,6 +23,83 @@
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
#1.基本指令区
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-printmapping proguardMapping.txt
-optimizations !code/simplification/cast,!field/*,!class/merging/*
-keepattributes *Annotation*,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
#2.默认保留区
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.** {*;}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
*** get*();
void set*(***);
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
private static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}
-keep class **.R$* {
*;
}
-keepclassmembers class * {
void *(**On*Event);
}
#3.webview
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keepclassmembers class * extends android.webkit.webViewClient {
public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.webViewClient {
public void *(android.webkit.webView, jav.lang.String);
}
#retrofit
-dontwarn okio.**
......@@ -71,10 +148,6 @@
public *;
}
# for DexGuard only
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
#########################################
#BaseRecyclerViewAdapterHelper
......@@ -87,15 +160,6 @@
<init>(...);
}
#okgo
#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}
#okio
-dontwarn okio.**
-keep class okio.**{*;}
#greendao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
......@@ -110,17 +174,6 @@ public static java.lang.String TABLENAME;
#xutils
-keep class * extends java.lang.annotation.Annotation { *; }
#eventbus
-keepattributes *Annotation*
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
# Only required if you use AsyncExecutor
-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
<init>(java.lang.Throwable);
}
#环信
-keep class com.hyphenate.** {*;}
......@@ -130,4 +183,3 @@ public static java.lang.String TABLENAME;
-keep class com.amap.api.location.**{*;}
-keep class com.amap.api.fence.**{*;}
-keep class com.autonavi.aps.amapapi.model.**{*;}
......@@ -110,4 +110,5 @@ public class Constants {
public final static int FINISH_ORDER = 5;
}
......@@ -65,6 +65,7 @@ public class MyApplication extends Application {
initEasemob();
//初始化高德地图
LocationUtils.init(getApplicationContext());
}
......
......@@ -66,8 +66,10 @@ public class SplashActivity extends AppCompatActivity {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//判断当前系统的SDK版本是否大于23
if (!(checkSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED)
|| !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)) {
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, SDK_PERMISSION_REQUEST);
|| !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
|| !(checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED)) {
requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE
, Manifest.permission.ACCESS_COARSE_LOCATION}, SDK_PERMISSION_REQUEST);
}
}
}
......@@ -77,7 +79,8 @@ public class SplashActivity extends AppCompatActivity {
super.onResume();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//判断当前系统的SDK版本是否大于23
if ((checkSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED)
&& (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)) {
&& (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
&& (checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED)) {
doJump();
}
} else {
......
......@@ -142,20 +142,20 @@ public interface APIService {
/**
* 我已出发.
*
* @param orderId
* @param body
* @return
*/
@GET("/api-order/" + "orders/onWay/{orderId}")
Observable<BaseResponse<Boolean>> startOrder(@Path("orderId") int orderId);
@POST("/api-order/" + "orders/onWayUpgrade")
Observable<BaseResponse<Integer>> startOrder(@Body RequestBody body);
/**
* 开始服务.
*
* @param orderId
* @param body
* @return
*/
@GET("/api-order/" + "orders/onWorking/{orderId}")
Observable<BaseResponse<Boolean>> startServer(@Path("orderId") int orderId);
@POST("/api-order/" + "orders/onWorkingUpgrade")
Observable<BaseResponse<Integer>> startServer(@Body RequestBody body);
/**
* 获取工单详情信息.
......
......@@ -89,7 +89,7 @@ public class Api {
}
} else {
if (!e.isDisposed()) {
Log.d("request", response.getMsg());
Log.d("request+errorMessag:", response.getMsg());
e.onError(new ServerException(response.getCode(), response.getMsg()));
}
return;
......
......@@ -98,14 +98,14 @@ public class ApiWrapper extends Api {
}
//我已出发
public Observable<Boolean> startOrder(int orderId) {
return getService().startOrder(orderId)
public Observable<Integer> startOrder(RequestBody body) {
return getService().startOrder(body)
.compose(applySchedulers());
}
//开始服务
public Observable<Boolean> startServer(int orderId) {
return getService().startServer(orderId)
public Observable<Integer> startServer(RequestBody body) {
return getService().startServer(body)
.compose(applySchedulers());
}
......
......@@ -122,6 +122,43 @@ public abstract class BasePresenter<M, T> {
};
}
/**
* 创建观察者
*
* @param observer
* @return
*/
protected <V> Observer baseObserver(final Observer<? super V> observer) {
return new Observer<V>() {
@Override
public void onSubscribe(Disposable d) {
mComDisposable.add(d);
}
@Override
public void onNext(V o) {
ProgressUtil.stopLoad();
try {
observer.onNext(o);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
ProgressUtil.stopLoad();
processException(e);
}
@Override
public void onComplete() {
}
};
}
private void processException(Throwable e) {
APIException.ResponeThrowable exception = APIException.APIException(e);
int code = exception.code;
......
......@@ -8,6 +8,7 @@ import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.bean.Order;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* Created by luo on 2016/8/4.
......@@ -15,22 +16,23 @@ import io.reactivex.Observable;
public interface OrderTwoTabContract {
interface Model extends BaseModel {
Observable<BasePageBean<Order>> getWatingOrder(int state, int pageId, int pageSize, int siteId, int userId);
Observable<Boolean> startOrder(int orderId);
Observable<Boolean> startServer(int orderId);
Observable<Integer> startOrder(RequestBody body);
Observable<Integer> startServer(RequestBody body);
}
interface View extends BaseView {
void getWatingOrderSuccess(BasePageBean<Order> data);
void getWatingOrderFial();
void setartOrderSuccess();
void setartServerSuccess();
}
abstract class Presenter extends BasePresenter<Model, View> {
public abstract void getWatingOrder(int state, int pageId, int pageSize, int siteId, int userId);
public abstract void startOrder(int orderId);
public abstract Observable<Integer> startOrder(int orderId, double latitude, double longitude);
public abstract void startServer(int orderId);
public abstract Observable<Integer> startServer(int orderId, double latitude, double longitude);
}
}
......@@ -5,6 +5,7 @@ import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* Created by luofan on 2017/11/8.
......@@ -19,12 +20,12 @@ public class OrderTwoTabModel implements OrderTwoTabContract.Model {
}
@Override
public Observable<Boolean> startOrder(int orderId) {
return mWrapper.startOrder(orderId);
public Observable<Integer> startOrder(RequestBody body) {
return mWrapper.startOrder(body);
}
@Override
public Observable<Boolean> startServer(int orderId) {
return mWrapper.startServer(orderId);
public Observable<Integer> startServer(RequestBody body) {
return mWrapper.startServer(body);
}
}
......@@ -3,7 +3,14 @@ package com.dayu.bigfish.presenter.ordertwotab;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import org.json.JSONObject;
import java.util.HashMap;
import io.reactivex.Observable;
import io.reactivex.functions.Consumer;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* Created by luofan on 2017/11/8.
......@@ -32,22 +39,45 @@ public class OrderTwoTabPresenter extends OrderTwoTabContract.Presenter {
}
@Override
public void startOrder(int orderId) {
mModel.startOrder(orderId).subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
mView.setartOrderSuccess();
}
});
public Observable<Integer> startOrder(int orderId, double latitude, double longitude) {
HashMap<String, Object> params = new HashMap<>();
params.put("latitude", latitude);
params.put("longitude", longitude);
params.put("orderId", orderId);
JSONObject jsonObject = new JSONObject(params);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
return mModel.startOrder(body);
}
@Override
public void startServer(int orderId) {
mModel.startServer(orderId).subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
mView.setartServerSuccess();
}
});
public Observable<Integer> startServer(int orderId, double latitude, double longitude) {
HashMap<String, Object> params = new HashMap<>();
params.put("latitude", latitude);
params.put("longitude", longitude);
params.put("orderId", orderId);
JSONObject jsonObject = new JSONObject(params);
RequestBody body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
// mModel.startServer(body).subscribe(baseObserver(new Observer<Integer>(){
// @Override
// public void onSubscribe(Disposable d) {
//
// }
//
// @Override
// public void onNext(Integer integer) {
// onNext(integer);
// }
//
// @Override
// public void onError(Throwable e) {
//
// }
//
// @Override
// public void onComplete() {
//
// }
// }));
return mModel.startServer(body);
}
}
package com.dayu.bigfish.rxbus;
/**
* 需要再次上门
* on 2017/9/20.
*/
public class AgainUpDoorText {
private int value;
public AgainUpDoorText(int value) {
this.value = value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
package com.dayu.bigfish.rxbus;
/**
* 订单完成
* on 2017/9/20.
*/
public class OrderFinish {
private int temp;
public OrderFinish(int temp) {
this.temp = temp;
}
public int getTemp() {
return temp;
}
public void setTemp(int temp) {
this.temp = temp;
}
}
......@@ -5,13 +5,25 @@ package com.dayu.bigfish.rxbus;
* on 2017/9/20.
*/
public class UpdataTime {
public class OrderState {
private int position;
private int state;
public UpdataTime(int state) {
public OrderState(int state, int position) {
this.position = position;
this.state = state;
}
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
public int getState() {
return state;
}
......@@ -19,5 +31,4 @@ public class UpdataTime {
public void setState(int state) {
this.state = state;
}
}
package com.dayu.bigfish.rxbus;
/**
* 刷新待结单数量.
* 刷新待接单数量和刷新待预约列表.
* on 2017/10/11.
*/
......
......@@ -40,6 +40,7 @@ import com.dayu.bigfish.ui.fragment.HomeMessageTabFragment;
import com.dayu.bigfish.ui.fragment.HomeSecondTabFragment;
import com.dayu.bigfish.utils.AppUtils;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.LocationUtils;
import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.views.CustomDialog;
......@@ -119,6 +120,9 @@ public class MainActivity extends BaseActivity<MainPresenter, MainModel> impleme
@Override
public void accept(RefreshReceivingNum refreshReceivingNum) throws Exception {
mReceivingNum -= 1;
if (mReceivingNum < 0) {
mReceivingNum = 0;
}
mGetOrderTv.setText(mReceivingNum + "");
}
});
......@@ -319,4 +323,10 @@ public class MainActivity extends BaseActivity<MainPresenter, MainModel> impleme
return "解析版本号失败";
}
}
@Override
protected void onDestroy() {
super.onDestroy();
LocationUtils.destroy();
}
}
......@@ -16,14 +16,14 @@ import android.widget.TextView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.rxbus.RxBus;
import com.dayu.bigfish.bean.OrderDetail;
import com.dayu.bigfish.rxbus.OrderFinish;
import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.greendao.OrderInfoDao;
import com.dayu.bigfish.presenter.processorder.ProcessOrderContract;
import com.dayu.bigfish.presenter.processorder.ProcessOrderModel;
import com.dayu.bigfish.presenter.processorder.ProcessOrderPresenter;
import com.dayu.bigfish.rxbus.OrderState;
import com.dayu.bigfish.rxbus.RxBus;
import com.dayu.bigfish.sqlbean.OrderInfo;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.GlideImageLoader;
......@@ -52,6 +52,7 @@ import static com.dayu.bigfish.R.id.et_input;
import static com.dayu.bigfish.R.id.et_up_input;
import static com.dayu.bigfish.R.id.image_switch;
import static com.dayu.bigfish.R.id.text_six_value;
import static com.dayu.bigfish.ui.fragment.HomeSecondTabFragment.ORDER_FINISH;
import static com.dayu.bigfish.utils.SPUtils.get;
/**
......@@ -385,8 +386,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Pr
@Override
public void commitOrderSuccess() {
ToastUtils.showShortToast("数据提交成功");
// EventBus.getDefault().post(new OrderFinish(finshPosition));
RxBus.getDefault().post(new OrderFinish(finshPosition));
RxBus.getDefault().post(new OrderState(ORDER_FINISH, finshPosition));
mOrderInfoDao.deleteByKey((long) orderId);
PictureFileUtils.deleteCacheDirFile(mContext);
finish();
......
......@@ -10,13 +10,12 @@ import com.bigkoo.pickerview.TimePickerView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.rxbus.RxBus;
import com.dayu.bigfish.rxbus.AgainUpDoorText;
import com.dayu.bigfish.rxbus.RefreshTabNum;
import com.dayu.bigfish.rxbus.UpdataTime;
import com.dayu.bigfish.presenter.subcribeTime.SubcribeContract;
import com.dayu.bigfish.presenter.subcribeTime.SubcribeTimeModel;
import com.dayu.bigfish.presenter.subcribeTime.SubcribeTimePresenter;
import com.dayu.bigfish.rxbus.OrderState;
import com.dayu.bigfish.rxbus.RefreshTabNum;
import com.dayu.bigfish.rxbus.RxBus;
import com.dayu.bigfish.utils.DateUtils;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
......@@ -72,9 +71,9 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter, Su
orderId = parseInt(value);
if (mState == 0) {
titleText.setText(getString(R.string.tv_home_tab_one_subscribe_time));
} else if (mState == 1) {
} else if (mState == MODIFY_TIME) {
titleText.setText(getString(R.string.tv_home_tab_updata_subscribe_time));
} else if (mState == 2) {
} else if (mState == UPDOOR_TIME) {
titleText.setText(getString(R.string.item_restart));
}
}
......@@ -85,15 +84,9 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter, Su
finish();
if (mState == SUBCRIBE_TIME) {
ToastUtils.showShortToast("预约时间成功,请移至待服务列表查看");
// RxBus.getDefault().post(new RefreshTabNum(TAB_ONE));
// EventBus.getDefault().post(new RefreshTabNum(1));
RxBus.getDefault().post(new RefreshTabNum(1) );
} else if (mState == MODIFY_TIME) {
RxBus.getDefault().post(new UpdataTime(finshPosition));
// EventBus.getDefault().post(new UpdataTime(finshPosition));
} else if (mState == UPDOOR_TIME) {
RxBus.getDefault().post(new AgainUpDoorText(finshPosition));
// EventBus.getDefault().post(new AgainUpDoorText(finshPosition));
RxBus.getDefault().post(new RefreshTabNum(1));
} else if (mState == MODIFY_TIME || mState == UPDOOR_TIME) {
RxBus.getDefault().post(new OrderState(MODIFY_TIME, finshPosition));
}
}
......
......@@ -61,6 +61,7 @@ public class HomeSecondTabFragment extends BaseFragment<HomeSecondPresenter, Hom
public final static int SUBCRIBE_TIME = 0;//预约上门时间
public final static int MODIFY_TIME = 1;//修改预约时间
public final static int UPDOOR_TIME = 2;//再次上门时间
public final static int ORDER_FINISH = 3;
public final static int TAB_ONE = 0;
public final static int TAB_TWO = 1;
......@@ -316,11 +317,12 @@ public class HomeSecondTabFragment extends BaseFragment<HomeSecondPresenter, Hom
return newtab;
}
@OnClick(R.id.title_right)
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.title_right:
Intent intent =new Intent(mActivity, WorksRecordActivity.class);
Intent intent = new Intent(mActivity, WorksRecordActivity.class);
mActivity.startActivity(intent);
break;
}
......
......@@ -17,6 +17,7 @@ import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.presenter.ordertab.OrderTabContract;
import com.dayu.bigfish.presenter.ordertab.OrderTabModel;
import com.dayu.bigfish.presenter.ordertab.OrderTabPresenter;
import com.dayu.bigfish.rxbus.RefreshReceivingNum;
import com.dayu.bigfish.rxbus.RefreshTabNum;
import com.dayu.bigfish.rxbus.RxBus;
import com.dayu.bigfish.ui.OrderDetailsActivity;
......@@ -24,6 +25,8 @@ import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import butterknife.BindView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/**
......@@ -69,6 +72,15 @@ public class OrderFirstTabFragment extends BaseFragment<OrderTabPresenter, Order
public void initListener() {
RxBus.getDefault().toObservable(RefreshReceivingNum.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshReceivingNum>() {
@Override
public void accept(RefreshReceivingNum refreshReceivingNum) throws Exception {
ProgressUtil.startLoad(mContext);
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, mPage, mPageSize, siteId, userId);
}
});
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
......
......@@ -4,10 +4,8 @@ import android.content.Intent;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.View;
import com.amap.api.location.AMapLocation;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MyApplication;
......@@ -19,14 +17,22 @@ import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.presenter.ordertwotab.OrderTwoTabContract;
import com.dayu.bigfish.presenter.ordertwotab.OrderTwoTabModel;
import com.dayu.bigfish.presenter.ordertwotab.OrderTwoTabPresenter;
import com.dayu.bigfish.rxbus.OrderState;
import com.dayu.bigfish.rxbus.RefreshTabNum;
import com.dayu.bigfish.rxbus.RxBus;
import com.dayu.bigfish.ui.OrderDetailsActivity;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.LocationUtils;
import com.dayu.bigfish.utils.ProgressUtil;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import static com.dayu.bigfish.ui.fragment.HomeSecondTabFragment.MODIFY_TIME;
import static com.dayu.bigfish.ui.fragment.HomeSecondTabFragment.ORDER_FINISH;
/**
......@@ -46,15 +52,17 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter, O
private int mPageSize = 10;
private int mPage = 1;
private int mRefreshState = 1; //1:刷新,private int mRefreshState;
private List<Order> mDatas;
@Override
public View initView(View view) {
mAdapter = new OrderSecondTabAdapter(R.layout.fragment_tabtwo_item);
mAdapter = new OrderSecondTabAdapter(R.layout.fragment_tabtwo_item, mPresenter);
mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext));
mRecyclerView.setAdapter(mAdapter);
mAdapter.disableLoadMoreIfNotFullPage(mRecyclerView);
mRefreshLayout.setOnRefreshListener(this);
mAdapter.setOnLoadMoreListener(this, mRecyclerView);
mDatas = new ArrayList<>();
initListener();
return view;
}
......@@ -74,19 +82,28 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter, O
startActivity(intent);
}
});
RxBus.getDefault().toObservable(OrderState.class).observeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<OrderState>() {
@Override
public void accept(OrderState orderState) throws Exception {
Order order = mDatas.get(orderState.getPosition());
if (orderState.getState() == MODIFY_TIME) {
order.setSubStatus(1);
order.setStatus(3);
} else if (orderState.getState() == ORDER_FINISH) {
order.setSubStatus(4);
order.setStatus(6);
}
mAdapter.setNewData(mDatas);
mAdapter.loadMoreEnd();
}
});
}
@Override
public void onResume() {
super.onResume();
// ProgressUtil.startLoad(mContext);
// mPresenter.getWatingOrder(Constants.WATING_SERVER, mPage, mPageSize, siteId, userId);
LocationUtils.getCurrentLocation(new LocationUtils.MyLocationListener() {
@Override
public void result(AMapLocation location) {
Log.d("location", "纬度" + location.getLatitude() + "经度" + location.getLongitude());
}
});
}
@Override
......@@ -104,7 +121,10 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter, O
if (mRefreshState == 1) {
mRefreshLayout.setRefreshing(false);
mAdapter.setNewData(data.getData());
mDatas.clear();
mDatas.addAll(data.getData());
} else {
mDatas.addAll(data.getData());
mAdapter.addData(data.getData());
}
if (mPage == mTotalPage) {
......@@ -115,23 +135,17 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter, O
}
mAdapter.notifyDataSetChanged();
} else {
if (mRefreshLayout.isRefreshing()) {
mRefreshLayout.setRefreshing(false);
mAdapter.setEmptyView(R.layout.tips_empty);
}
if (mDatas.size() == 0) {
mAdapter.setEmptyView(R.layout.tips_empty);
}
@Override
public void getWatingOrderFial() {
}
@Override
public void setartOrderSuccess() {
}
@Override
public void setartServerSuccess() {
public void getWatingOrderFial() {
}
......
......@@ -15,11 +15,11 @@ public class LocationUtils {
private static AMapLocationClient mlocationClient;
public static AMapLocationClientOption mLocationOption = null;
public static AMapLocation sLocation = null;
/**
*
* @param context
* @Title: init
* @Description: 初始化地图导航,在Application onCreate中调用,只需调用一次
* @param context
*/
public static void init(Context context) {
// 声明mLocationOption对象
......@@ -29,30 +29,31 @@ public class LocationUtils {
// 设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
// 设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(2000);
// 设置定位参数
// mLocationOption.setInterval(2000);
mLocationOption.setOnceLocation(true);
mLocationOption.setOnceLocationLatest(true);
// 设置定位参数、、
mlocationClient.setLocationOption(mLocationOption);
// 此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗,
// 注意设置合适的定位时间的间隔(最小间隔支持为2000ms),并且在合适时间调用stopLocation()方法来取消定位请求
// 在定位结束后,在合适的生命周期调用onDestroy()方法
// 在单次定位情况下,定位无论成功与否,都无需调用stopLocation()方法移除请求,定位sdk内部会移除
}
/**
*
* @author frank.fun@qq.com
* @ClassName: MyLocationListener
* @Description: 定位结果回调
* @author frank.fun@qq.com
* @date 2017年1月8日 下午1:53:11
*
*/
public interface MyLocationListener {
public void result(AMapLocation location);
}
/**
*
* @param listener
* @Title: getLocation
* @Description: 获取位置,如果之前获取过定位结果,则不会重复获取
* @param listener
*/
public static void getLocation(MyLocationListener listener) {
if (sLocation == null) {
......@@ -61,14 +62,14 @@ public class LocationUtils {
listener.result(sLocation);
}
}
/**
*
* @param listener
* @Title: getCurrentLocation
* @Description: 获取位置,重新发起获取位置请求
* @param listener
*/
public static void getCurrentLocation(final MyLocationListener listener) {
if (mlocationClient==null) {
if (mlocationClient == null) {
return;
}
// 设置定位监听
......@@ -79,22 +80,32 @@ public class LocationUtils {
if (location != null) {
//定位成功,取消定位
mlocationClient.stopLocation();
sLocation=location;
sLocation = location;
listener.result(location);
}else {
} else {
//获取定位数据失败
ToastUtils.showShortToast("获取定位失败");
mlocationClient.stopLocation();
}
}
});
// 启动定位
mlocationClient.startLocation();
}
/**
*
* @Title: destroy
* @Description: 销毁定位,必须在退出程序时调用,否则定位会发生异常
*/
public static void destroy() {
mlocationClient.onDestroy();
}
/**
* @Title: destroy
* @Description: 销毁定位,必须在退出程序时调用,否则定位会发生异常
*/
public static void stop() {
mlocationClient.stopLocation();
}
}
......@@ -281,7 +281,7 @@ public class UtilsDate {
/**
* 比较两个日期的年差
*
* @param befor
* @param before
* @param after
* @return
*/
......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
<FrameLayout
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/actionbar_shadow_up"
/>
</RelativeLayout>
<LinearLayout
android:id="@+id/ll_tab"
android:layout_width="match_parent"
android:layout_height="53.3dp"
android:layout_gravity="bottom"
android:background="@color/cl_home_listview_bg"
android:orientation="horizontal"
android:visibility="visible"
>
<TextView
......@@ -81,7 +97,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:gravity="center"
>
<TextView
......@@ -90,20 +105,21 @@
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:drawableTop="@drawable/tab_third_selector"
android:gravity="center"
android:text="消息"
android:textColor="#585858"
android:layout_centerInParent="true"
android:textSize="10sp"
android:gravity="center"
/>
<ImageView
android:id="@+id/iv_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@id/tab_third"
android:layout_alignParentTop="true"
android:layout_alignRight="@id/tab_third"
android:layout_width="10dp"
android:layout_height="10dp"
android:src="@mipmap/renwu_numbg"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="25dp"
android:visibility="visible"/>
</RelativeLayout>
......@@ -124,10 +140,4 @@
</LinearLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="53.3dp"
android:background="@drawable/actionbar_shadow_up"/>
</FrameLayout>
\ No newline at end of file
</LinearLayout>
\ No newline at end of file
......@@ -17,7 +17,7 @@
android:layout_width="@dimen/size_order_item_line_width"
android:layout_height="@dimen/size_order_item_line_height"
android:layout_marginLeft="@dimen/size_order_item_line_ml"
android:background="@color/cl_order_item_line_bg" />
android:background="@color/cl_order_item_line_bg"/>
<TextView
android:id="@+id/item_tody"
......@@ -28,7 +28,7 @@
android:layout_marginTop="@dimen/size_order_item_time_mt"
android:text="@string/tv_order_item_time"
android:textColor="@color/cl_tab_yellow"
android:textSize="@dimen/size_order_item_time_text" />
android:textSize="@dimen/size_order_item_time_text"/>
<TextView
android:id="@+id/item_time"
......@@ -39,7 +39,7 @@
android:layout_marginRight="@dimen/size_order_item_data_mr"
android:text="@string/tv_order_item_date"
android:textColor="@color/cl_tab_yellow"
android:textSize="@dimen/size_order_item_data_text" />
android:textSize="@dimen/size_order_item_data_text"/>
<ImageView
android:id="@+id/item_image_user"
......@@ -48,7 +48,7 @@
android:layout_marginLeft="@dimen/size_order_item_tool_ml"
android:layout_marginTop="@dimen/size_order_item_tool_mt"
android:layout_toRightOf="@id/item_line"
android:src="@mipmap/shouye_liebiao_user_icon" />
android:src="@mipmap/shouye_liebiao_user_icon"/>
<TextView
android:id="@+id/item_text_user_name"
......@@ -60,7 +60,7 @@
android:text="@string/tv_order_item_user_name"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text"
android:textStyle="bold" />
android:textStyle="bold"/>
<TextView
android:id="@+id/item_text_user_phone"
......@@ -72,7 +72,7 @@
android:text="@string/tv_order_item_user_phone"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text"
android:textStyle="bold" />
android:textStyle="bold"/>
<ImageView
android:id="@+id/item_image_weixiu"
......@@ -81,7 +81,7 @@
android:layout_marginLeft="@dimen/size_order_item_tool_ml"
android:layout_marginTop="46dp"
android:layout_toRightOf="@id/item_line"
android:src="@mipmap/shouye_liebiao_weixiu_icon" />
android:src="@mipmap/shouye_liebiao_weixiu_icon"/>
<ImageView
android:id="@+id/item_image_dizhi"
......@@ -90,7 +90,7 @@
android:layout_marginLeft="@dimen/size_order_item_gps_ml"
android:layout_marginTop="71dp"
android:layout_toRightOf="@id/item_line"
android:src="@mipmap/shouye_liebiao_dizhi_icon" />
android:src="@mipmap/shouye_liebiao_dizhi_icon"/>
<TextView
android:id="@+id/item_text_weixiu"
......@@ -101,7 +101,7 @@
android:layout_toRightOf="@id/item_image_weixiu"
android:text="@string/tv_order_item_tool_text"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text" />
android:textSize="@dimen/size_login_hint_text"/>
<TextView
android:id="@+id/text_line"
......@@ -109,7 +109,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="43dp"
android:layout_toRightOf="@id/item_text_weixiu"
android:text=" -- " />
android:text=" -- "/>
<TextView
android:id="@+id/item_text_weixiu_leixing"
......@@ -119,7 +119,7 @@
android:layout_toRightOf="@id/text_line"
android:text="@string/tv_order_item_tool_text_leixing"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text" />
android:textSize="@dimen/size_login_hint_text"/>
<TextView
android:id="@+id/item_text_dizhi"
......@@ -130,7 +130,7 @@
android:layout_toRightOf="@id/item_image_dizhi"
android:text="@string/tv_order_item_gps_text"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/size_login_hint_text" />
android:textSize="@dimen/size_login_hint_text"/>
</RelativeLayout>
<LinearLayout
......@@ -151,93 +151,43 @@
android:gravity="center"
android:text="@string/tv_home_tab_one_phone"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15" />
android:textSize="@dimen/sp_15"/>
<ImageView
android:id="@+id/iv"
android:layout_width="@dimen/dp_0.7"
android:layout_height="match_parent"
android:background="@color/cl_home_button" />
<RelativeLayout
android:id="@+id/rl"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
android:background="@color/cl_home_button"/>
<TextView
android:id="@+id/item_updata_time"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/btn_updata_time_selector"
android:gravity="center"
android:text="@string/tv_home_tab_updata_subscribe_time"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15" />
android:textSize="@dimen/sp_15"/>
<TextView
android:id="@+id/item_restrt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_updata_time_selector"
android:gravity="center"
android:text="@string/item_restart"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15"
android:visibility="gone"/>
</RelativeLayout>
<ImageView
android:layout_width="@dimen/dp_0.7"
android:layout_height="match_parent"
android:background="@color/cl_home_button" />
android:background="@color/cl_home_button"/>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/item_start_depart"
android:layout_width="wrap_content"
android:id="@+id/tv_item_process"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/btn_right_selector"
android:gravity="center"
android:text="@string/tv_home_tab_start"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15" />
android:textSize="@dimen/sp_15"/>
<TextView
android:id="@+id/item_serve"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_right_selector"
android:gravity="center"
android:text="@string/tv_work_order_four"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15"
android:visibility="gone" />
<TextView
android:id="@+id/item_order"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_right_selector"
android:gravity="center"
android:text="@string/tv_tab_two_order"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15"
android:visibility="gone" />
<TextView
android:id="@+id/item_wait"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_right_selector"
android:gravity="center"
android:text="@string/wait"
android:textColor="@color/cl_white"
android:textSize="@dimen/sp_15"
android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
\ No newline at end of file
......@@ -11,7 +11,6 @@
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
android.enableAapt2=false
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment