Commit 493bfb94 by 罗翻

将rxbus改为eventbus

parent d1d8b925
Showing with 611 additions and 353 deletions
......@@ -21,7 +21,7 @@ android {
minSdkVersion 16
targetSdkVersion 23
versionCode 5
versionName "1.1.0"
versionName "1.1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
......@@ -93,6 +93,9 @@ dependencies {
//日期选择器
compile 'com.contrarywind:Android-PickerView:3.2.4'
//eventBus
compile 'org.greenrobot:eventbus:3.1.1'
//adapter
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
//图片选择
......
......@@ -209,6 +209,11 @@ public static java.lang.String TABLENAME;
public static final int *;
}
#eventbus
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }
#---------------------------------3.与js互相调用的类------------------------
#---------------------------------4.反射相关的类和方法-----------------------
......
......@@ -79,7 +79,8 @@ public class Constants {
public final static String TAB_NUM = "/api-order/" + "orders/{userId}/count";
//环信
public final static String MESSAGE_HX = "/api-message/" + "hXMessage";
//获取支付宝信息
//获取消息数量
public final static String MESSAGE_NUM = " /api-message/" + "hXMessage/count/hxAccount/{hxAccount}";
/***********************其他配置**********************************/
......@@ -106,6 +107,8 @@ public class Constants {
public final static String ORDER_STATE = "order_state";
public final static String DUMP_INDEX = "dump_index";
//环信message
public final static String HX_MESSAGE = "hx_message";
//订单状态
public final static int WATING_ORDER = 1;
public final static int APPOIMENT_ORDER = 2;
......@@ -113,26 +116,4 @@ public class Constants {
public final static int CANCLE_ORDER = 6;
public final static int FINISH_ORDER = 5;
public enum orderState {
/**
* 待接单状态.
*/
WATING_ORDER,
/**
* 待预约.
*/
APPOIMENT_ORDER,
/**
* 待服务.
*/
WATING_SERVER,
/**
* 已取消.
*/
CANCLE_ORDER,
/**
* 订单完成.
*/
FINISH_ORDER
}
}
......@@ -29,6 +29,7 @@ import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Part;
import retrofit2.http.Path;
import retrofit2.http.Query;
......@@ -92,7 +93,7 @@ public interface APIService {
* @return
*/
@GET(Constants.ERROR_ORDER)
Observable<BaseResponse<List<ErrorOrder>>> getErrorOrders( @Query("engineerId") int userId,@Query("siteId") int siteId);
Observable<BaseResponse<List<ErrorOrder>>> getErrorOrders(@Query("engineerId") int userId, @Query("siteId") int siteId);
/**
* 工程师接单
......@@ -295,6 +296,24 @@ public interface APIService {
@Query("pageSize") int pageSize);
/**
* 获取环信信息数量.
*
* @param hxAccount
* @return
*/
@GET(Constants.MESSAGE_NUM)
Observable<BaseResponse<Integer>> getHxNum(@Path("hxAccount") String hxAccount);
/**
* 获取环信信息数量.
*
* @param body
* @return
*/
@PUT(Constants.MESSAGE_HX)
Observable<BaseResponse<Boolean>> readMessage(@Body RequestBody body);
/**
* 上传图片.
*
* @param partMap
......
......@@ -8,13 +8,14 @@ import android.support.v4.app.NotificationCompat;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.event.DownloadBean;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.ui.listener.onDownloadListener;
import com.dayu.bigfish.utils.managers.DownloadManager;
import io.reactivex.Observer;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.disposables.Disposable;
/**
* An {@link IntentService} subclass for handling asynchronous task requests in
......@@ -46,6 +47,12 @@ public class DownloadService extends IntentService {
}
@Override
public void onCreate() {
super.onCreate();
EventBus.getDefault().register(this);
}
@Override
protected void onHandleIntent(Intent intent) {
if (intent != null) {
String action = intent.getAction();
......@@ -67,40 +74,22 @@ public class DownloadService extends IntentService {
}
private void handleUpdate(String url, String apkPath) {
subscribeEvent();
DownloadManager.download(this, url, apkPath, cd,mListener);
DownloadManager.download(this, url, apkPath, cd, mListener);
}
private void subscribeEvent() {
RxBus.getDefault().toObservable(DownloadBean.class)
.subscribe(new Observer<DownloadBean>() {
@Override
public void onSubscribe(Disposable d) {
cd.add(d);
}
@Override
public void onNext(DownloadBean downloadBean) {
int progress = (int) Math.round(downloadBean.getBytesReaded() / (double) downloadBean.getTotal() * 100);
builder.setContentInfo(String.valueOf(progress) + "%").setProgress(100, progress, false);
notificationManager.notify(0, builder.build());
if (progress == 100)
notificationManager.cancel(0);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
@Subscribe(threadMode = ThreadMode.MAIN)
public void onDownloadEvent(DownloadBean event) {
int progress = (int) Math.round(event.getBytesReaded() / (double) event.getTotal() * 100);
builder.setContentInfo(String.valueOf(progress) + "%").setProgress(100, progress, false);
notificationManager.notify(0, builder.build());
if (progress == 100)
notificationManager.cancel(0);
}
@Override
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}
package com.dayu.bigfish.api;
import com.dayu.bigfish.bean.event.DownloadBean;
import com.dayu.bigfish.bean.event.RxBus;
import org.greenrobot.eventbus.EventBus;
import java.io.IOException;
......@@ -53,7 +54,7 @@ public class FileResponseBody extends ResponseBody {
long bytesRead = super.read(sink, byteCount);
// read() returns the number of bytes read, or -1 if this source is exhausted.
totalBytesRead += bytesRead != -1 ? bytesRead : 0;
RxBus.getDefault().post(new DownloadBean(contentLength(), totalBytesRead));
EventBus.getDefault().post(new DownloadBean(contentLength(), totalBytesRead));
return bytesRead;
}
};
......
......@@ -59,6 +59,7 @@ public abstract class BaseActivity<P extends BasePresenter> extends AppCompatAct
public abstract void initView();
public void showToast(String msg) {
ToastUtils.showShortToast(msg);
}
......
package com.dayu.bigfish.base;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.util.Log;
......@@ -143,24 +142,21 @@ public abstract class BasePresenter<V> {
*/
private void showLoginDialog() {
mDialog = new CustomDialog(mActivity, R.style.custom_dialog2, getString(R.string.login_state_no)
, new CustomDialog.OnCloseListener() {
@Override
public void onClick(Dialog dialog, boolean confirm) {
if (confirm) {
UserManager.getInstance().clearUserInfo(mActivity);
EMClient.getInstance().logout(true);
UserManager.getInstance().clearUserInfo(mActivity);
Intent Intents = new Intent(mActivity, LoginActivity.class);
Intents.setFlags(
Intent.FLAG_ACTIVITY_CLEAR_TASK |
Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(Intents);
} else {
}
dialog.dismiss();
}
});
, (dialog, confirm) -> {
if (confirm) {
UserManager.getInstance().clearUserInfo(mActivity);
EMClient.getInstance().logout(true);
UserManager.getInstance().clearUserInfo(mActivity);
Intent Intents = new Intent(mActivity, LoginActivity.class);
Intents.setFlags(
Intent.FLAG_ACTIVITY_CLEAR_TASK |
Intent.FLAG_ACTIVITY_NEW_TASK);
mActivity.startActivity(Intents);
} else {
}
dialog.dismiss();
});
mDialog.setTitle(getString(R.string.notice))
.setNegativeButton(getString(R.string.cancle))
.setPositiveButton(getString(R.string.login_again));
......
......@@ -6,7 +6,7 @@ package com.dayu.bigfish.base;
*/
public class BaseResponse<T> {
private int code;
private int subCode;
private String subCode;
private String msg;
private T data;
......@@ -38,11 +38,11 @@ public class BaseResponse<T> {
return code == 0;
}
public int getSubCode() {
public String getSubCode() {
return subCode;
}
public void setSubCode(int subCode) {
public void setSubCode(String subCode) {
this.subCode = subCode;
}
}
package com.dayu.bigfish.bean;
import java.io.Serializable;
/**
* Created by luofan on 2017/11/14.
*/
public class NewMessage {
public class NewMessage implements Serializable{
/**
* id : 262
......@@ -42,6 +44,7 @@ public class NewMessage {
private Object endTime;
private String customJson;
private String flag;
private int read;
public String getFlag() {
return flag;
......@@ -178,4 +181,12 @@ public class NewMessage {
public void setCustomJson(String customJson) {
this.customJson = customJson;
}
public int getRead() {
return read;
}
public void setRead(int read) {
this.read = read;
}
}
......@@ -2,6 +2,7 @@ package com.dayu.bigfish.bean.event;
/**
* Created by luofan on 2017/11/27.
* 下载进度.
*/
public class DownloadBean {
private long total;
......
package com.dayu.bigfish.bean.event;
/**
* 刷新待接单列表,判断是否显示小红点
* on 2017/10/19.
*/
public class RefreReceiveData {
public int getReceive() {
return receive;
}
public void setReceive(int receive) {
this.receive = receive;
}
private int receive;
public RefreReceiveData(int receive) {
this.receive = receive;
}
}
package com.dayu.bigfish.bean.event;
/**
* 刷新各tab状态的数量
* on 2017/10/11.
*/
public class RefreshCancle {
private int tabNum;
public RefreshCancle(int tabNum) {
this.tabNum = tabNum;
}
public int getTabNum() {
return tabNum;
}
public void setTabNum(int tabNum) {
this.tabNum = tabNum;
}
}
package com.dayu.bigfish.bean.event;
/**
* 刷新各tab状态的数量
* on 2017/10/11.
*/
public class RefreshError {
private int tabNum;
public RefreshError(int tabNum) {
this.tabNum = tabNum;
}
public int getTabNum() {
return tabNum;
}
public void setTabNum(int tabNum) {
this.tabNum = tabNum;
}
}
package com.dayu.bigfish.bean.event;
import java.io.Serializable;
/**
* 刷新待接单数量和刷新待预约列表.
* on 2017/10/11.
*/
public class RefreshReceivingNum {
public class RefreshReceivingNum implements Serializable {
private int num;
public RefreshReceivingNum(int num) {
......
package com.dayu.bigfish.bean.event;
/**
* 刷新各tab状态的数量
* 刷新带服务列表
* on 2017/10/11.
*/
......
......@@ -85,7 +85,7 @@ public class RxBus {
final Object event = mStickyEventMap.get(eventType);
if (event != null) {
return Observable.merge(observable, Observable.create(new ObservableOnSubscribe<T>() {
return observable.mergeWith(Observable.create(new ObservableOnSubscribe<T>() {
@Override
public void subscribe(ObservableEmitter<T> e) throws Exception {
e.onNext(eventType.cast(event));
......
package com.dayu.bigfish.bean.event;
/**
* Created by luofan on 2017/12/1.
*/
/**
* 切换主界面的fragment
*/
public class SwtichFragment {
private int position;
public SwtichFragment(int position) {
this.position = position;
}
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
}
......@@ -23,6 +23,8 @@ public interface MainContract {
void getReceiveOrderSuccess(BasePageBean<Order> orders);
void isShowRedIcon(boolean flag);
}
abstract class Presenter extends BasePresenter<View> {
......@@ -33,5 +35,7 @@ public interface MainContract {
public abstract void commitVersionInfo(int accoutId, String imei, String platform, String versionCode);
public abstract void getReceiveOrder(int state, int userId, int siteId, int pagerId, int pagerSize);
public abstract void getHxNum(String hxAccout);
}
}
package com.dayu.bigfish.presenter.main;
import android.util.Log;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.Constants;
......@@ -53,7 +51,6 @@ public class MainPresenter extends MainContract.Presenter {
}, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
Log.d("aaf", "23");
}
}));
}
......@@ -90,4 +87,16 @@ public class MainPresenter extends MainContract.Presenter {
}
}));
}
@Override
public void getHxNum(String accountId) {
ApiFactory.getHxNum(accountId).subscribe(baseObserver(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
if (integer.intValue() > 0) {
mView.isShowRedIcon(true);
}
}
}));
}
}
......@@ -5,7 +5,12 @@ import com.apt.ApiFactory;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.NewMessage;
import org.json.JSONException;
import org.json.JSONObject;
import io.reactivex.functions.Consumer;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* Created by luofan on 2017/11/8.
......@@ -32,4 +37,23 @@ public class SysMessagePresenter extends SystemMessageContract.Presenter {
}
}));
}
@Override
public void readMessage(int id, int read) {
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("id", id);
jsonObject.put("read", read);
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
ApiFactory.readMessage(requestBody).subscribe(baseObserver(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
mView.readMessageSuccess();
}
}));
}
}
......@@ -15,9 +15,13 @@ public interface SystemMessageContract {
void getHxMessageSuccess(BasePageBean<NewMessage> message);
void getHxMessageFail();
void readMessageSuccess();
}
abstract class Presenter extends BasePresenter<View> {
public abstract void getHxMessage(String hxUserId, int category, int page, int pageSize);
public abstract void readMessage(int id,int read);
}
}
......@@ -20,9 +20,8 @@ import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.VersionInfo;
import com.dayu.bigfish.bean.event.RefreReceiveData;
import com.dayu.bigfish.bean.event.RefreshReceivingNum;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.bean.event.SwtichFragment;
import com.dayu.bigfish.presenter.main.MainContract;
import com.dayu.bigfish.presenter.main.MainPresenter;
import com.dayu.bigfish.ui.fragment.HomeFirstTabFragment;
......@@ -38,12 +37,14 @@ import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import butterknife.BindView;
import butterknife.OnClick;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/**
* Created by luofan on 2017/11/20.
......@@ -67,6 +68,8 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
private Fragment[] mFragments;
private int mAccountId;
private int mSiteId;
private int REQUEST_CODE = 1;
private TextView[] mTabs;
@Override
public int getLayoutId() {
......@@ -80,6 +83,7 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
HomeMessageTabFragment thirdFragment = HomeMessageTabFragment.newInstance();
HomePersonFragment fourFragment = HomePersonFragment.newInstance();
mFragments = new Fragment[]{firstFragment, secondFragment, thirdFragment, fourFragment};
mTabs = new TextView[]{mTabFirst, mTabSecond, mTabThird, mTabFour};
addFragment();
mAccountId = GetUserInfo.getACCOUNT_ID(mActivity);
mSiteId = GetUserInfo.getSITE_ID(mActivity);
......@@ -87,29 +91,19 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
mPresenter.commitVersionInfo(mAccountId, imei, "2", AppUtils.getPackageNum(mActivity));
mPresenter.getNewVersion(AppUtils.getPackageNum(mActivity));
mPresenter.getReceiveOrder(Constants.WATING_ORDER, mAccountId, mSiteId, 1, 20);
//动态刷新主页接单数量-->显示
mDisposable.add(RxBus.getDefault().toObservable(RefreReceiveData.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreReceiveData>() {
@Override
public void accept(RefreReceiveData refreReceiveData) throws Exception {
if (refreReceiveData.getReceive() == 0) {
mPresenter.getReceiveOrder(Constants.WATING_ORDER, mAccountId, mSiteId, 1, 20);
}
}
}));
mDisposable.add(RxBus.getDefault().toObservable(RefreshReceivingNum.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshReceivingNum>() {
@Override
public void accept(RefreshReceivingNum refreshReceivingNum) throws Exception {
mGetOrderTv.setText(refreshReceivingNum.getTabNum() + "");
}
}));
mPresenter.getHxNum(GetUserInfo.getHxUserId(mActivity));
// int index = getIntent().getIntExtra(Constants.DUMP_INDEX, 1);
showHideFragment(mFragments[1], mFragments[mPosition]);
mPosition = 1;
mTabSecond.setSelected(true);
EventBus.getDefault().register(this);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
@Override
......@@ -131,32 +125,28 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
switch (view.getId()) {
case R.id.tab_first:
showHideFragment(mFragments[0], mFragments[mPosition]);
resetSelected();
mTabFirst.setSelected(true);
resetSelected(0);
mPosition = 0;
break;
case R.id.tab_second:
showHideFragment(mFragments[1], mFragments[mPosition]);
resetSelected();
mTabSecond.setSelected(true);
resetSelected(1);
mPosition = 1;
break;
case R.id.tab_third:
showHideFragment(mFragments[2], mFragments[mPosition]);
resetSelected();
mTabThird.setSelected(true);
resetSelected(2);
mMessageRedIcon.setVisibility(View.GONE);
mPosition = 2;
break;
case R.id.tab_four:
showHideFragment(mFragments[3], mFragments[mPosition]);
resetSelected();
mTabFour.setSelected(true);
resetSelected(3);
mPosition = 3;
break;
case R.id.tab_get_order:
Intent intent = new Intent(mActivity, ReceivingActivity.class);
startActivity(intent);
startActivityForResult(intent, REQUEST_CODE);
overridePendingTransition(R.anim.slide_bottom_in, 0);
break;
default:
......@@ -164,11 +154,11 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
}
}
public void resetSelected() {
mTabFirst.setSelected(false);
mTabSecond.setSelected(false);
mTabThird.setSelected(false);
mTabFour.setSelected(false);
public void resetSelected(int position) {
for (int i = 0; i < mTabs.length; i++) {
mTabs[i].setSelected(false);
}
mTabs[position].setSelected(false);
}
private void addFragment() {
......@@ -218,6 +208,11 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
mGetOrderTv.setText(orders.getTotalRows() + "");
}
@Override
public void isShowRedIcon(boolean flag) {
mMessageRedIcon.setVisibility(View.VISIBLE);
}
/**
* 弹窗选择是否更新(软更新)
*
......@@ -269,9 +264,23 @@ public class MainActivity extends BaseActivity<MainPresenter> implements MainCon
dialog.show();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void recevieNum(RefreshReceivingNum event) {
mGetOrderTv.setText(event.getTabNum() + "");
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void swtichfragment(SwtichFragment event) {
showHideFragment(mFragments[event.getPosition()], mFragments[mPosition]);
resetSelected(mPosition);
mTabSecond.setSelected(true);
}
@Override
protected void onDestroy() {
super.onDestroy();
LocationUtils.destroy();
EventBus.getDefault().unregister(this);
}
}
......@@ -59,8 +59,7 @@ public class OrderDetailsActivity extends FragmentActivity {
public void initData() {
Intent intent = getIntent();
String orderValue = intent.getStringExtra("orderId");
orderId = Integer.parseInt(orderValue);
orderId = intent.getIntExtra("orderId", 0);
list = new ArrayList<>();
orderDatailsFragment = new OrderDatailsFragment();
list.add(orderDatailsFragment);
......
......@@ -135,7 +135,7 @@ public class OrderRecordActivity extends BaseActivity<WorksRecordPresenter> impl
public void dumpDetail(int id) {
Intent intent = new Intent(OrderRecordActivity.this, OrderDetailsActivity.class);
intent.putExtra("orderId", id + "");
intent.putExtra("orderId", id);
startActivity(intent);
}
......
......@@ -19,7 +19,6 @@ import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.bean.OrderDetail;
import com.dayu.bigfish.bean.event.OrderState;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.bean.sqlbean.OrderInfo;
import com.dayu.bigfish.greendao.GreenDaoManager;
import com.dayu.bigfish.greendao.OrderInfoDao;
......@@ -39,6 +38,7 @@ import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.tools.PictureFileUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.greendao.query.Query;
import java.io.File;
......@@ -402,11 +402,11 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter> im
int status = 0;
if (mAnyContacts == 0) {
status = ORDER_NOCONTACT_FINISH;
RxBus.getDefault().post(new RefreshTab(1));
EventBus.getDefault().post(new RefreshTab(-1));
} else if (mAnyContacts == 1) {
status = ORDER_FINISH;
}
RxBus.getDefault().post(new OrderState(status, finshPosition));
EventBus.getDefault().post(new OrderState(status, finshPosition));
mOrderInfoDao.deleteByKey((long) orderId);
PictureFileUtils.deleteCacheDirFile(mActivity);
finish();
......
......@@ -14,7 +14,7 @@ import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.event.RefreshApoiment;
import com.dayu.bigfish.bean.event.RefreshReceivingNum;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.bean.event.SwtichFragment;
import com.dayu.bigfish.presenter.receivingorder.ReceivingContract;
import com.dayu.bigfish.presenter.receivingorder.ReceivingPresenter;
import com.dayu.bigfish.ui.adapter.OrderDoingAdapter;
......@@ -22,6 +22,8 @@ import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
import butterknife.BindView;
......@@ -61,7 +63,7 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter> implemen
public void initView() {
userId = GetUserInfo.getACCOUNT_ID(this);
siteId = GetUserInfo.getSITE_ID(this);
mTitle.setText("待单列表");
mTitle.setText("待单列表");
mAdapter = new OrderDoingAdapter(R.layout.fragment_orderdoing_item, mActivity);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(mAdapter);
......@@ -89,7 +91,6 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter> implemen
mTotalPage = orders.getTotalPages();
mPageSize = orders.getPageSize();
mTotalRows = orders.getTotalRows();
RxBus.getDefault().post(new RefreshReceivingNum(mTotalRows));
if (mRefreshState == 1) {
mRefreshLayout.setRefreshing(false);
mAdapter.setNewData(orders.getData());
......@@ -108,6 +109,7 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter> implemen
if (orders.getData().size() == 0) {
mAdapter.setEmptyView(R.layout.tips_empty);
}
EventBus.getDefault().post(new RefreshReceivingNum(mTotalRows));
}
@Override
......@@ -127,9 +129,10 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter> implemen
int num = mTotalRows - 1;
ToastUtils.showShortToast("接单成功");
//接单成功,刷新首页tab状态数量
RxBus.getDefault().post(new RefreshTab(0));
RxBus.getDefault().post(new RefreshApoiment(-1));
RxBus.getDefault().post(new RefreshReceivingNum(num < 0 ? 0 : num));
EventBus.getDefault().post(new RefreshTab(0));
EventBus.getDefault().post(new RefreshReceivingNum(num < 0 ? 0 : num));
EventBus.getDefault().post(new SwtichFragment(1));
EventBus.getDefault().post(new RefreshApoiment(-1));
finish();
}
......
......@@ -55,6 +55,7 @@ public class SettingActivity extends BaseActivity<SettingPresenter> implements S
}
@OnClick({R.id.set_back, R.id.set_message_switch, R.id.set_message, R.id.set_clear_huancun, R.id.set_jiance_gengxin, R.id.set_kefu_phone, R.id.set_guanyu_we, R.id.set_center_fankui, R.id.exit_button})
public void onViewClicked(View view) {
switch (view.getId()) {
......
......@@ -16,12 +16,12 @@ import android.widget.ImageView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.event.OrderState;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.utils.GetUserInfo;
import com.github.lzyzsd.jsbridge.BridgeHandler;
import com.github.lzyzsd.jsbridge.BridgeWebView;
import com.github.lzyzsd.jsbridge.CallBackFunction;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONException;
import org.json.JSONObject;
......@@ -138,7 +138,7 @@ public class SopWebViewActivity extends AppCompatActivity {
@Override
public void handler(String data, CallBackFunction function) {
if ("1".equals(data)) {
RxBus.getDefault().post(new OrderState(ORDER_SOP_FINISH, mPositon));
EventBus.getDefault().post(new OrderState(ORDER_SOP_FINISH, mPositon));
Intent intent = new Intent(mActivity, ProcessOrderActivity.class);
intent.putExtra(Constants.ORDER_ID, mOrderId);
intent.putExtra(Constants.ORDER_POSTION, mPositon);
......
......@@ -15,7 +15,6 @@ import com.dayu.bigfish.bean.event.OrderState;
import com.dayu.bigfish.bean.event.RefreshApoiment;
import com.dayu.bigfish.bean.event.RefreshServe;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.presenter.subcribeTime.SubcribeContract;
import com.dayu.bigfish.presenter.subcribeTime.SubcribeTimePresenter;
import com.dayu.bigfish.utils.DateUtils;
......@@ -23,6 +22,8 @@ import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.UtilsDate;
import org.greenrobot.eventbus.EventBus;
import java.util.Calendar;
import java.util.Date;
......@@ -84,11 +85,11 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter> im
finish();
if (mState == SUBCRIBE_TIME) {
ToastUtils.showShortToast("预约时间成功,请移至待服务列表查看");
RxBus.getDefault().post(new RefreshTab(1));
RxBus.getDefault().post(new RefreshApoiment(1));
RxBus.getDefault().post(new RefreshServe(1));
EventBus.getDefault().post(new RefreshTab(1));
EventBus.getDefault().post(new RefreshApoiment(1));
EventBus.getDefault().post(new RefreshServe(1));
} else if (mState == ORDER_YUYUE || mState == ORDER_DOING) {
RxBus.getDefault().post(new OrderState(ORDER_YUYUE, finshPosition));
EventBus.getDefault().post(new OrderState(ORDER_YUYUE, finshPosition));
}
}
......
package com.dayu.bigfish.ui;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.utils.UtilsDate;
import java.text.ParseException;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import static com.dayu.bigfish.utils.UtilsDate.FORMAT_ONE;
import static com.dayu.bigfish.utils.UtilsDate.LONG_TIME_FORMAT_TWO;
import static com.dayu.bigfish.utils.UtilsDate.SHORT_DATE_FORMAT;
/**
* Created by luofan on 2017/11/27.
*/
public class SystemMesDetailActivity extends AppCompatActivity{
public class SystemMesDetailActivity extends AppCompatActivity {
@BindView(R.id.tv_message_title)
TextView mTitleTv;
@BindView(R.id.tv_message_time)
TextView mTimeTv;
@BindView(R.id.tv_message_content)
TextView mContentTv;
@BindView(R.id.tv_message_check)
TextView mCheck;
@BindView(R.id.tv_title)
TextView mTitle;
private NewMessage message;
private Activity mActivity;
private int mState;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_message_detail_layout);
ButterKnife.bind(this);
message = (NewMessage) getIntent().getSerializableExtra(Constants.HX_MESSAGE);
mState = getIntent().getIntExtra("state", 0);
mActivity = this;
initView();
}
private void initView() {
mTitle.setText("大鱼系统通知详情");
String time = null;
try {
String dateMD = UtilsDate.changeFormat(message.getCreateTime(), FORMAT_ONE, SHORT_DATE_FORMAT);
String dateTime = UtilsDate.changeFormat(message.getCreateTime(), FORMAT_ONE, LONG_TIME_FORMAT_TWO);
if (UtilsDate.IsToday(message.getCreateTime())) {
time = "今天" + "\u3000" + dateTime;
} else {
time = dateMD + "\u3000" + dateTime;
}
} catch (ParseException e) {
e.printStackTrace();
}
mTitleTv.setText(message.getTitle());
mTimeTv.setText(time);
mContentTv.setText("\u3000" + "\u3000" + message.getContent());
if (mState == 1) {
mCheck.setVisibility(View.GONE);
} else {
mCheck.setVisibility(View.VISIBLE);
}
}
private void dumpDetail() {
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", message.getId());
startActivity(intent);
}
@OnClick({R.id.tv_message_check, R.id.receiving_back})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.tv_message_check:
dumpDetail();
break;
case R.id.receiving_back:
finish();
break;
default:
break;
}
}
}
......@@ -31,10 +31,10 @@ public class SystemMessageAdapter extends BaseQuickAdapter<NewMessage, BaseViewH
AssetManager mgr = mContext.getAssets();//得到AssetManager
Typeface tf = Typeface.createFromAsset(mgr, "fonts/DIN Alternate Bold.ttf");//根据路径得到Typeface
helper.setTypeface(R.id.message_date, tf);
if (item.getFlag() != null && item.getFlag().equals("1")) {
helper.getView(R.id.iv).setVisibility(View.GONE);
if (item.getRead() == 1) {
helper.getView(R.id.read_state).setVisibility(View.GONE);
} else {
helper.getView(R.id.iv).setVisibility(View.VISIBLE);
helper.getView(R.id.read_state).setVisibility(View.VISIBLE);
}
try {
String dateMD = UtilsDate.changeFormat(item.getCreateTime(), FORMAT_ONE, SHORT_DATE_FORMAT);
......
package com.dayu.bigfish.ui.fragment;
import android.content.Intent;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.presenter.systemmessage.SysMessagePresenter;
import com.dayu.bigfish.presenter.systemmessage.SystemMessageContract;
import com.dayu.bigfish.ui.SystemMesDetailActivity;
import com.dayu.bigfish.ui.adapter.SystemMessageAdapter;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
......@@ -22,7 +27,7 @@ import butterknife.BindView;
* on 2017/10/11.
*/
public class BigFishMessageFragment extends BaseFragment<SysMessagePresenter> implements SystemMessageContract.View, SwipeRefreshLayout.OnRefreshListener {
public class BigFishMessageFragment extends BaseFragment<SysMessagePresenter> implements SystemMessageContract.View, SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener {
@BindView(R.id.rl_sysmessage)
RecyclerView mRecyclerView;
......@@ -46,6 +51,7 @@ public class BigFishMessageFragment extends BaseFragment<SysMessagePresenter> im
mRecyclerView.setAdapter(mAdapter);
mAdapter.disableLoadMoreIfNotFullPage(mRecyclerView);
mRefreshLayout.setOnRefreshListener(this);
initListener();
return view;
}
......@@ -59,25 +65,42 @@ public class BigFishMessageFragment extends BaseFragment<SysMessagePresenter> im
}
private void initListener() {
mAdapter.setOnItemClickListener((adapter, view, position) -> {
NewMessage message = (NewMessage) adapter.getData().get(position);
if (message.getRead() == 0) {
mPresenter.readMessage(message.getId(), 1);
TextView textView = (TextView) view.findViewById(R.id.read_state);
textView.setVisibility(View.GONE);
}
Intent intent = new Intent(mActivity, SystemMesDetailActivity.class);
intent.putExtra(Constants.HX_MESSAGE, message);
intent.putExtra("state", 1);
startActivity(intent);
});
}
@Override
public void getHxMessageSuccess(BasePageBean<NewMessage> message) {
mTotalPage = message.getTotalPages();
mPageSize = message.getPageSize();
if (message.getData() != null && message.getData().size() != 0) {
if (mRefreshState == 1) {
mRefreshLayout.setRefreshing(false);
mAdapter.setNewData(message.getData());
} else {
mAdapter.addData(message.getData());
}
if (mPage == mTotalPage) {
mAdapter.loadMoreEnd();
} else {
mAdapter.loadMoreComplete();
mPage += 1;
}
} else {
if (mRefreshState == 1) {
mRefreshLayout.setRefreshing(false);
mAdapter.setNewData(message.getData());
mAdapter.loadMoreEnd();
mAdapter.setEnableLoadMore(true);
} else {
mAdapter.addData(message.getData());
}
if (mPage == mTotalPage) {
mAdapter.loadMoreEnd();
} else {
mAdapter.loadMoreComplete();
mPage += 1;
}
mPage += 1;
if (message.getData().size() == 0) {
mAdapter.setEmptyView(R.layout.tips_empty);
}
}
......@@ -86,9 +109,22 @@ public class BigFishMessageFragment extends BaseFragment<SysMessagePresenter> im
}
@Override
public void readMessageSuccess() {
}
@Override
public void onRefresh() {
mRefreshState = 1;
mPage = 1;
mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
mAdapter.setEnableLoadMore(false);
mPresenter.getHxMessage(hxUserId, 2, mPage, mPageSize);
;
}
@Override
public void onLoadMoreRequested() {
mRefreshState = 2;
mPresenter.getHxMessage(hxUserId, 2, mPage, mPageSize);
}
}
......@@ -15,7 +15,6 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.Tab;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.presenter.homesecondtab.HomeSecondContract;
import com.dayu.bigfish.presenter.homesecondtab.HomeSecondPresenter;
import com.dayu.bigfish.ui.OrderRecordActivity;
......@@ -24,13 +23,15 @@ import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.TabLayoutUtils;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import static com.dayu.bigfish.R.id.tabicon;
......@@ -93,14 +94,20 @@ public class HomeOrderFragment extends BaseFragment<HomeSecondPresenter> impleme
public void init() {
userId = GetUserInfo.getACCOUNT_ID(mActivity);
mDisposable.add(RxBus.getDefault().toObservable(RefreshTab.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshTab>() {
@Override
public void accept(RefreshTab refreshTabNum) throws Exception {
initNetWorkTabNum(userId, refreshTabNum.getTabNum());
}
}));
EventBus.getDefault().register(this);
// mDisposable.add(RxBus.getDefault().toObservable(RefreshTab.class)
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new Consumer<RefreshTab>() {
// @Override
// public void accept(RefreshTab refreshTabNum) throws Exception {
// initNetWorkTabNum(userId, refreshTabNum.getTabNum());
// }
// }));
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onRefreshTab(RefreshTab event) {
initNetWorkTabNum(userId, event.getTabNum());
}
public void initData() {
......@@ -256,4 +263,10 @@ public class HomeOrderFragment extends BaseFragment<HomeSecondPresenter> impleme
setTabNum(tab, mTabIndex);
}
@Override
public void onDetach() {
super.onDetach();
EventBus.getDefault().unregister(this);
}
}
......@@ -14,7 +14,6 @@ import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.event.RefreshApoiment;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.presenter.ordertab.OrderTabContract;
import com.dayu.bigfish.presenter.ordertab.OrderTabPresenter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
......@@ -22,9 +21,11 @@ import com.dayu.bigfish.ui.adapter.OrderDoingAdapter;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import butterknife.BindView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/**
......@@ -73,46 +74,41 @@ public class OrderFirstTabFragment extends BaseFragment<OrderTabPresenter> imple
public void initListener() {
// mDisposable.add(RxBus.getDefault().toObservable(RefreshReceivingNum.class)
EventBus.getDefault().register(this);
// mDisposable.add(RxBus.getDefault().toObservable(RefreshApoiment.class)
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new Consumer<RefreshReceivingNum>() {
// .subscribe(new Consumer<RefreshApoiment>() {
// @Override
// public void accept(RefreshReceivingNum refreshReceivingNum) throws Exception {
// if (refreshReceivingNum.getTabNum() == -1) {
// mAdapter.setEnableLoadMore(false);
// ProgressUtil.startLoad(mActivity);
// mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
// }
// public void accept(RefreshApoiment refreshNum) throws Exception {
// mPage = 1;
// mAdapter.setEnableLoadMore(false);
// ProgressUtil.startLoad(mActivity);
// mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
// }
// }));
mDisposable.add(RxBus.getDefault().toObservable(RefreshApoiment.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshApoiment>() {
@Override
public void accept(RefreshApoiment refreshNum) throws Exception {
mPage = 1;
mAdapter.setEnableLoadMore(false);
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
}
}));
mAdapter.setOnItemClickListener((adapter, view, position) -> {
Order order = (Order) adapter.getItem(position);
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", order.getId() + "");
intent.putExtra("orderId", order.getId());
startActivity(intent);
});
mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
Order order = (Order) adapter.getItem(position);
Intent intent = new Intent(getContext(), OrderDetailsActivity.class);
intent.putExtra("orderId", order.getId() + "");
intent.putExtra("orderId", order.getId());
startActivity(intent);
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void RefreshApoiment(RefreshApoiment event) {
mPage = 1;
mAdapter.setEnableLoadMore(false);
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
}
@Override
public void getWatingOrderSuccess(BasePageBean<Order> data) {
RxBus.getDefault().post(new RefreshTab(-1));
EventBus.getDefault().post(new RefreshTab(-1));
mTotalPage = data.getTotalPages();
mPageSize = data.getPageSize();
if (mRefreshState == 1) {
......@@ -164,5 +160,11 @@ public class OrderFirstTabFragment extends BaseFragment<OrderTabPresenter> imple
mRefreshState = 2;
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
}
@Override
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
}
......@@ -12,9 +12,7 @@ import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.event.RefreshCancle;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.presenter.ordertab.OrderTabContract;
import com.dayu.bigfish.presenter.ordertab.OrderTabPresenter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
......@@ -22,9 +20,9 @@ import com.dayu.bigfish.ui.adapter.OrderFourTabAdapter;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import org.greenrobot.eventbus.EventBus;
import butterknife.BindView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/**
......@@ -75,20 +73,10 @@ public class OrderFourTabFragment extends BaseFragment<OrderTabPresenter> implem
}
public void initListener() {
mDisposable.add(RxBus.getDefault().toObservable(RefreshCancle.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshCancle>() {
@Override
public void accept(RefreshCancle refreshNum) throws Exception {
mPage = 1;
ProgressUtil.startLoad(mActivity);
refresh();
}
}));
mAdapter.setOnItemClickListener((adapter, view, position) -> {
Order order = (Order) adapter.getItem(position);
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", order.getId() + "");
intent.putExtra("orderId", order.getId());
startActivity(intent);
});
}
......@@ -96,7 +84,7 @@ public class OrderFourTabFragment extends BaseFragment<OrderTabPresenter> implem
@Override
public void getWatingOrderSuccess(BasePageBean<Order> data) {
RxBus.getDefault().post(new RefreshTab(-1));
EventBus.getDefault().post(new RefreshTab(-1));
mTotalPage = data.getTotalPages();
mPageSize = data.getPageSize();
if (mRefreshState == 1) {
......
......@@ -23,12 +23,15 @@ import com.dayu.bigfish.ui.adapter.OrderDoingAdapter;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
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.HomeOrderFragment.ORDER_FINISH;
import static com.dayu.bigfish.ui.fragment.HomeOrderFragment.ORDER_NOCONTACT_FINISH;
......@@ -57,6 +60,7 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter> i
@Override
public View initView(View view) {
EventBus.getDefault().register(this);
siteId = GetUserInfo.getSITE_ID(mActivity);
userId = GetUserInfo.getACCOUNT_ID(mActivity);
mAdapter = new OrderDoingAdapter(R.layout.fragment_orderdoing_item, getActivity());
......@@ -77,44 +81,46 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter> i
}
public void initListener() {
mDisposable.add(RxBus.getDefault().toObservable(RefreshServe.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshServe>() {
@Override
public void accept(RefreshServe refreshNum) throws Exception {
mPage = 1;
mAdapter.setEnableLoadMore(false);
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.WATING_SERVER, userId, siteId, mPage, mPageSize);
}
}));
mDisposable.add(RxBus.getDefault().toObservable(OrderState.class).observeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(orderState -> {
Order order = mDatas.get(orderState.getPosition());
if (orderState.getState() == ORDER_YUYUE) {
order.setSubStatus(1);
order.setStatus(3);
} else if (orderState.getState() == ORDER_FINISH) {
order.setSubStatus(6);
order.setStatus(4);
} else if (orderState.getState() == ORDER_SOP_FINISH) {
order.setSubStatus(5);
order.setStatus(4);
} else if (orderState.getState() == ORDER_NOCONTACT_FINISH) {
mDatas.remove(order);
}
mAdapter.setNewData(mDatas);
mAdapter.loadMoreEnd();
}));
mAdapter.setOnItemClickListener((adapter, view, position) -> {
Order order = (Order) adapter.getItem(position);
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", order.getId() + "");
intent.putExtra("orderId", order.getId());
startActivity(intent);
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void RefreshServe(RefreshServe event) {
mPage = 1;
mAdapter.setEnableLoadMore(false);
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.WATING_SERVER, userId, siteId, mPage, mPageSize);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void OrderState(OrderState event) {
Order order = mDatas.get(event.getPosition());
if (event.getState() == ORDER_YUYUE) {
order.setSubStatus(1);
order.setStatus(3);
} else if (event.getState() == ORDER_FINISH) {
order.setSubStatus(6);
order.setStatus(4);
} else if (event.getState() == ORDER_SOP_FINISH) {
order.setSubStatus(5);
order.setStatus(4);
} else if (event.getState() == ORDER_NOCONTACT_FINISH) {
mDatas.remove(order);
}
mAdapter.setNewData(mDatas);
mAdapter.loadMoreEnd();
}
@Override
public void onResume() {
......@@ -130,7 +136,7 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter> i
@Override
public void getWatingOrderSuccess(BasePageBean<Order> data) {
RxBus.getDefault().post(new RefreshTab(-1));
EventBus.getDefault().post(new RefreshTab(-1));
mTotalPage = data.getTotalPages();
mPageSize = data.getPageSize();
if (mRefreshState == 1) {
......@@ -185,4 +191,10 @@ public class OrderSecondTabFragment extends BaseFragment<OrderTwoTabPresenter> i
mRefreshState = 2;
mPresenter.getWatingOrder(Constants.WATING_SERVER, userId, siteId, mPage, mPageSize);
}
@Override
public void onDetach() {
super.onDetach();
EventBus.getDefault().unregister(this);
}
}
......@@ -10,9 +10,7 @@ import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.ErrorOrder;
import com.dayu.bigfish.bean.event.RefreshError;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.presenter.ordererrortab.OrderErrorTabContract;
import com.dayu.bigfish.presenter.ordererrortab.OrderErrorTabPresenter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
......@@ -20,11 +18,11 @@ import com.dayu.bigfish.ui.adapter.OrderThreeTabAdapter;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
import org.greenrobot.eventbus.EventBus;
import java.util.List;
import butterknife.BindView;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/**
......@@ -64,19 +62,10 @@ public class OrderThreeTabFragment extends BaseFragment<OrderErrorTabPresenter>
}
public void initListener() {
mDisposable.add(RxBus.getDefault().toObservable(RefreshError.class)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<RefreshError>() {
@Override
public void accept(RefreshError refreshNum) throws Exception {
ProgressUtil.startLoad(mActivity);
mPresenter.getErrorOrder(userId, siteId);
}
}));
mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
ErrorOrder order = (ErrorOrder) adapter.getItem(position);
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", order.getId() + "");
intent.putExtra("orderId", order.getId());
startActivity(intent);
});
}
......@@ -89,7 +78,7 @@ public class OrderThreeTabFragment extends BaseFragment<OrderErrorTabPresenter>
@Override
public void getErrorOrderSuccess(List<ErrorOrder> data) {
RxBus.getDefault().post(new RefreshTab(-1));
EventBus.getDefault().post(new RefreshTab(-1));
if (mRefreshLayout.isRefreshing()) {
mRefreshLayout.setRefreshing(false);
mAdapter.loadMoreEnd();
......
package com.dayu.bigfish.ui.fragment;
import android.content.Intent;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.presenter.systemmessage.SysMessagePresenter;
import com.dayu.bigfish.presenter.systemmessage.SystemMessageContract;
import com.dayu.bigfish.ui.SystemMesDetailActivity;
import com.dayu.bigfish.ui.adapter.SystemMessageAdapter;
import com.dayu.bigfish.utils.GetUserInfo;
import com.dayu.bigfish.utils.ProgressUtil;
......@@ -23,7 +28,7 @@ import butterknife.BindView;
* on 2017/10/11.
*/
public class SystemMessageFragment extends BaseFragment<SysMessagePresenter> implements SystemMessageContract.View, SwipeRefreshLayout.OnRefreshListener {
public class SystemMessageFragment extends BaseFragment<SysMessagePresenter> implements SystemMessageContract.View, SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener {
@BindView(R.id.rl_sysmessage)
RecyclerView mRecyclerView;
@BindView(R.id.receiving_refersh)
......@@ -46,9 +51,25 @@ public class SystemMessageFragment extends BaseFragment<SysMessagePresenter> imp
mRecyclerView.setAdapter(mAdapter);
mAdapter.disableLoadMoreIfNotFullPage(mRecyclerView);
mRefreshLayout.setOnRefreshListener(this);
initListener();
return view;
}
private void initListener() {
mAdapter.setOnItemClickListener((adapter, view, position) -> {
NewMessage message = (NewMessage) adapter.getData().get(position);
if (message.getRead() == 0) {
mPresenter.readMessage(message.getId(), 1);
TextView textView = (TextView) view.findViewById(R.id.read_state);
textView.setVisibility(View.GONE);
}
Intent intent = new Intent(mActivity, SystemMesDetailActivity.class);
intent.putExtra(Constants.HX_MESSAGE, message);
intent.putExtra("state", 0);
startActivity(intent);
});
}
@Override
public int getLayoutId() {
return R.layout.fragment_message_system;
......@@ -63,21 +84,23 @@ public class SystemMessageFragment extends BaseFragment<SysMessagePresenter> imp
public void getHxMessageSuccess(BasePageBean<NewMessage> message) {
mTotalPage = message.getTotalPages();
mPageSize = message.getPageSize();
if (message.getData() != null && message.getData().size() != 0) {
if (mRefreshState == 1) {
mRefreshLayout.setRefreshing(false);
mAdapter.setNewData(message.getData());
} else {
mAdapter.addData(message.getData());
}
if (mPage == mTotalPage) {
mAdapter.loadMoreEnd();
} else {
mAdapter.loadMoreComplete();
mPage += 1;
}
} else {
if (mRefreshState == 1) {
mRefreshLayout.setRefreshing(false);
mAdapter.setNewData(message.getData());
mAdapter.loadMoreEnd();
mAdapter.setEnableLoadMore(true);
} else {
mAdapter.addData(message.getData());
}
if (mPage == mTotalPage) {
mAdapter.loadMoreEnd();
} else {
mAdapter.loadMoreComplete();
mPage += 1;
}
mPage += 1;
if (message.getData().size() == 0) {
mAdapter.setEmptyView(R.layout.tips_empty);
}
}
......@@ -86,9 +109,22 @@ public class SystemMessageFragment extends BaseFragment<SysMessagePresenter> imp
}
@Override
public void readMessageSuccess() {
}
@Override
public void onRefresh() {
mRefreshState = 1;
mPage = 1;
mAdapter.setEnableLoadMore(false);
mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
;
}
@Override
public void onLoadMoreRequested() {
mRefreshState = 2;
mPresenter.getHxMessage(hxUserId, 1, mPage, mPageSize);
}
}
......@@ -69,6 +69,7 @@ public class CustomDialog extends Dialog implements View.OnClickListener {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_custom);
setCanceledOnTouchOutside(false);
setCancelable(false);
initView();
}
......
......@@ -11,9 +11,6 @@ import android.support.v4.app.NotificationCompat;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.InformBean;
import com.dayu.bigfish.bean.event.RefreReceiveData;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.bean.event.RxBus;
import com.dayu.bigfish.ui.MainActivity;
import com.google.gson.Gson;
import com.hyphenate.EMMessageListener;
......@@ -70,8 +67,6 @@ public class HxManager {
public void onMessageReceived(List<EMMessage> messages) {
//收到消息
for (EMMessage list : messages) {
//异步刷新各Tab状态数量
RxBus.getDefault().post(new RefreshTab(0));
//打开消息列表界面
Intent intent = new Intent(mContext, MainActivity.class);
intent.putExtra(Constants.DUMP_INDEX, 3);
......@@ -108,16 +103,12 @@ public class HxManager {
.setContentIntent(pi)
.build();
notificationManager.notify(0, builder.build());
// notificationManager.notify(0, builder.build());
}
}
@Override
public void onCmdMessageReceived(List<EMMessage> messages) {
//收到透传消息
for (EMMessage list : messages) {
RxBus.getDefault().post(new RefreReceiveData(0));
}
}
@Override
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
style="@style/title"
>
<TextView
android:id="@+id/tv_title"
style="@style/text_title"
/>
<ImageView
android:id="@+id/receiving_back"
style="@style/title_image_back"
/>
</RelativeLayout>
<ImageView
style="@style/card_line"
/>
<TextView
android:id="@+id/tv_message_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_30"
android:text="大鱼的环音信"
android:textColor="@color/cl_home_title_text_color"
android:textSize="16sp"
/>
<TextView
android:id="@+id/tv_message_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_7"
android:text="2017-08-12"
android:textColor="@color/text_color"
android:textSize="10sp"
/>
<TextView
android:id="@+id/tv_message_content"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_marginLeft="36.7dp"
android:layout_marginRight="@dimen/dp_30"
android:layout_marginTop="35.7dp"
android:layout_weight="1"
android:text="2017-08-12"
android:textColor="@color/cl_home_title_text_color"
android:textSize="13.3sp"
/>
<TextView
android:id="@+id/tv_message_check"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:layout_marginLeft="@dimen/dp_16.7"
android:layout_marginRight="@dimen/dp_16.7"
android:layout_marginTop="33.3dp"
android:background="@drawable/btn_login_selector"
android:gravity="center"
android:text="查看工单"
android:textColor="@color/cl_white"
android:textSize="14.7sp"
/>
</LinearLayout>
\ No newline at end of file
......@@ -51,7 +51,7 @@
android:layout_centerVertical="true"
/>
<TextView
android:id="@+id/iv"
android:id="@+id/read_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_10"
......
......@@ -19,6 +19,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f5f5f5"
android:layout_marginBottom="2dp"
/>
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
......
......@@ -204,7 +204,7 @@
android:text="查看更多"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="13.3sp"
android:visibility="visible"/>
android:visibility="gone"/>
</RelativeLayout>
......
......@@ -62,13 +62,12 @@
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="2"
android:text="工单被改派架飞机按揭房就发了埃及法放假放假放辣椒放辣椒放辣椒放辣椒发件方拉法基垃圾费拉法基房间爱了几分"
android:textColor="@color/cl_home_title_text_color"
android:textSize="@dimen/sp_13.3"
/>
<TextView
android:id="@+id/iv"
android:id="@+id/read_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
......
......@@ -25,6 +25,7 @@
<color name="cl_order_text_one">#888888</color>
<color name="primary">#5C92FC</color>
<color name="line_color">#dddddd</color>
<color name="text_color">#8a8a8a</color>
......
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