Commit 4ffdfe68 by 罗翻

消息模块增加mvvm模式

parent 8292e843
Showing with 466 additions and 665 deletions
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JsCompilerArguments">
<option name="sourceMapEmbedSources" />
<option name="sourceMapPrefix" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Statistic">
<option name="excludedDirectories">
<list>
<option value="$PROJECT_DIR$/../AMapLocationDemo" />
<option value="$PROJECT_DIR$/../android-app" />
<option value="$PROJECT_DIR$/../AndroidDemos-master" />
<option value="$PROJECT_DIR$/../BaseL" />
<option value="$PROJECT_DIR$/../baseMVP" />
<option value="$PROJECT_DIR$/../baseMVP2" />
<option value="$PROJECT_DIR$/../BaseRecyclerViewAdapterHelper-master 2" />
<option value="$PROJECT_DIR$/../easeui" />
<option value="$PROJECT_DIR$/../emclient-android" />
<option value="$PROJECT_DIR$/../Fragmentation-master" />
<option value="$PROJECT_DIR$/../JsBridge-master" />
<option value="$PROJECT_DIR$/../L-MVP" />
<option value="$PROJECT_DIR$/../L-MVP副本" />
<option value="$PROJECT_DIR$/../LfApplication" />
<option value="$PROJECT_DIR$/../LuofDemo" />
<option value="$PROJECT_DIR$/../Material" />
<option value="$PROJECT_DIR$/../Meizhi-master" />
<option value="$PROJECT_DIR$/../MyApplication" />
<option value="$PROJECT_DIR$/../MyApplication2" />
<option value="$PROJECT_DIR$/../retrofit-download-file-master" />
<option value="$PROJECT_DIR$/../robsteel(v5)" />
<option value="$PROJECT_DIR$/../RxAndroidDemo-master" />
<option value="$PROJECT_DIR$/../RxBus-master" />
<option value="$PROJECT_DIR$/../SeeWeather-master" />
<option value="$PROJECT_DIR$/../Studio" />
<option value="$PROJECT_DIR$/../T-MVP-master" />
<option value="$PROJECT_DIR$/../T-MVP-new" />
<option value="$PROJECT_DIR$/../toolbar" />
<option value="$PROJECT_DIR$/../toolbar1" />
<option value="$PROJECT_DIR$/../umen" />
<option value="$PROJECT_DIR$/../WeatherAndNote-master" />
</list>
</option>
</component>
</project>
\ No newline at end of file
......@@ -88,6 +88,7 @@ dependencies {
compile 'com.android.support:multidex:1.0.2'
compile 'com.android.support:design:25.0.0'
compile 'com.android.support:cardview-v7:25.0.0'
//greendao数据库
compile 'org.greenrobot:greendao:3.2.0'
......
......@@ -90,7 +90,9 @@ public class Constants {
/***********************其他配置**********************************/
public final static int PAGESIZE = 8;
public final static int PAGESIZE = 10;
//数据返回失败标识
public final static int FAILED = 1;
//相册选择照片删除时传递的key
public final static String BUNDLE_KEY_ID = "BUNDLE_KEY_ID";
//工程师的账户余额
......
......@@ -74,11 +74,13 @@ public class Api {
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
.create();
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(m -> Log.i("request", m));
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(m -> Log.i("retrofit", m));
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(httpLoggingInterceptor)
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS)
.readTimeout(600, TimeUnit.SECONDS)
.writeTimeout(600, TimeUnit.SECONDS)
.addNetworkInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
......
......@@ -2,6 +2,7 @@ package com.dayu.bigfish.base;
import android.databinding.ViewDataBinding;
import com.dayu.bigfish.BR;
import com.dayu.bigfish.utils.InstanceUtil;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
......@@ -29,6 +30,7 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
mPresenter = InstanceUtil.getInstance(mPresenterClass);
if (mPresenter != null) {
mPresenter.setView(this, this);
mBind.setVariable(BR.presenter, mPresenter);
}
}
}
......
......@@ -2,6 +2,7 @@ package com.dayu.bigfish.base;
import android.databinding.ViewDataBinding;
import com.dayu.bigfish.BR;
import com.dayu.bigfish.utils.InstanceUtil;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
......@@ -23,7 +24,10 @@ public abstract class BaseFragment<P extends BasePresenter, B extends ViewDataBi
Class mPresenterClass = (Class) ((ParameterizedType) (this.getClass()
.getGenericSuperclass())).getActualTypeArguments()[0];
mPresenter = InstanceUtil.getInstance(mPresenterClass);
if (mPresenter != null) mPresenter.setView(this, mActivity);
if (mPresenter != null) {
mPresenter.setView(this, mActivity);
mBind.setVariable(BR.presenter, mPresenter);
}
}
}
......
......@@ -7,7 +7,7 @@ import java.util.List;
* Created by luofan on 2017/11/14.
*/
public class BasePageBean<T> {
public class BasePageBean<T>{
private int pageNo;
private int pageSize;
private int totalRows;
......
......@@ -56,11 +56,11 @@ public abstract class DataBindingFragment<B extends ViewDataBinding> extends Fra
View view = inflater.inflate(getLayoutId(), container, false);
mBind = DataBindingUtil.bind(view);
initPresenter();
initView(view);
initView();
return view;
}
public abstract View initView(View view);
public abstract void initView();
public abstract int getLayoutId();
......
......@@ -6,7 +6,7 @@ import java.io.Serializable;
* Created by luofan on 2017/11/14.
*/
public class NewMessage implements Serializable{
public class NewMessage implements Serializable {
/**
* id : 262
......
......@@ -24,8 +24,10 @@ public interface AccountBalanceContract {
*/
void getBalanceError();
void dumpToWithdrawal();
/**
* 获取账户总金额.
* @return
*/
String getTotalPrice();
}
......
package com.dayu.bigfish.presenter.accountbalance;
import android.content.Intent;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.AccountBalance;
import com.dayu.bigfish.ui.WithdrawalsActivity;
import io.reactivex.functions.Consumer;
......@@ -12,6 +15,7 @@ import io.reactivex.functions.Consumer;
*/
@InstanceFactory
public class AccountBalancePresenter extends AccountBalanceContract.Presenter {
@Override
public void onAttached() {
......@@ -29,7 +33,8 @@ public class AccountBalancePresenter extends AccountBalanceContract.Presenter {
@Override
public void dumpToWithdrawal() {
mView.dumpToWithdrawal();
Intent intent = new Intent(mActivity, WithdrawalsActivity.class);
mActivity.startActivity(intent);
}
@Override
......
......@@ -2,7 +2,6 @@ package com.dayu.bigfish.presenter.errororder;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.api.APIException;
import com.dayu.bigfish.bean.ErrorOrder;
import java.util.List;
......@@ -28,11 +27,6 @@ public class ErrorOrderPresenter extends ErrorOrderContract.Presenter {
public void accept(List<ErrorOrder> errorOrder) throws Exception {
mView.getErrorOrderSuccess(errorOrder);
}
}, new Consumer<APIException.ResponeThrowable>() {
@Override
public void accept(APIException.ResponeThrowable responeThrowable) throws Exception {
mView.getErrorOrderFial();
}
}));
}, responeThrowable -> mView.getErrorOrderFial()));
}
}
......@@ -14,46 +14,6 @@ public interface LoginContract {
interface View extends BaseView {
/**
* 登录.
*
* @param userPhone 手机号.
* @param code 验证码.
*/
void login(String userPhone, String code);
/**
* 登录失败
*
* @param throwable 错误信息.
*/
void loginFail(Throwable throwable);
/**
* 发送验证码.
*
* @param userPhone 手机号
* @param type 1:短信,2:语音验证码.
*/
void sendCode(String userPhone, int type);
/**
* 验证码发送成功
*/
void sendCodeSuccess();
/**
* 验证码发送成功
*/
void sendVoiceCodeSuccess();
/**
* 验证码发送失败.
*
* @param throwable
*/
void sendCodeFail(Throwable throwable);
/**
* 进行倒计时.
*/
void changeCodeButton();
......@@ -63,25 +23,6 @@ public interface LoginContract {
*/
void changeVoiceCodeButton();
/**
* 跳转到用户须知页面.
*/
void dumpAgreement();
/**
* 登录环信.
*
* @param hxAccount
* @param hxPwd
*/
void loginHx(String hxAccount, String hxPwd);
/**
* 跳转到主界面并保存用户信息.
*
* @param info
*/
void dumpAndSave(UserInfo info);
}
abstract class Presenter extends BasePresenter<LoginActivity> {
......@@ -89,18 +30,14 @@ public interface LoginContract {
/**
* 发送验证码.
*
* @param userPhone 手机号
* @param type 1:短信,2:语音验证码.
* @param type 1:短信,2:语音验证码.
*/
public abstract void sendCode(String userPhone, int type);
public abstract void sendCode(int type);
/**
* 登录.
*
* @param userPhone
* @param register
*/
public abstract void login(String userPhone, String register);
public abstract void login();
/**
* 跳转到用户须知.
......
package com.dayu.bigfish.presenter.login;
import android.content.Intent;
import android.databinding.ObservableField;
import android.text.TextUtils;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.R;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.ui.AgreementActivity;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.bigfish.utils.UtilsUserAccountMatcher;
import com.dayu.bigfish.utils.managers.UserManager;
import com.hyphenate.EMCallBack;
import com.hyphenate.chat.EMClient;
import io.reactivex.functions.Consumer;
......@@ -16,6 +23,8 @@ import io.reactivex.functions.Consumer;
@InstanceFactory
public class LoginPresenter extends LoginContract.Presenter {
public ObservableField<String> userName = new ObservableField<>();
public ObservableField<String> password = new ObservableField<>();
@Override
public void onAttached() {
......@@ -23,12 +32,12 @@ public class LoginPresenter extends LoginContract.Presenter {
}
@Override
public void sendCode(String userPhone, int type) {
if (TextUtils.isEmpty(userPhone)) {
public void sendCode(int type) {
if (TextUtils.isEmpty(userName.get())) {
mView.showToast(mActivity.getString(R.string.phone_num_not_null));
return;
}
if (!UtilsUserAccountMatcher.isPhoneNum(userPhone)) {
if (!UtilsUserAccountMatcher.isPhoneNum(userName.get())) {
mView.showToast(mActivity.getString(R.string.please_input_phone_right));
return;
}
......@@ -38,52 +47,70 @@ public class LoginPresenter extends LoginContract.Presenter {
mView.changeVoiceCodeButton();
}
mView.showDialog();
ApiFactory.sendCode(userPhone, type).subscribe(baseObserver(new Consumer<Boolean>() {
ApiFactory.sendCode(userName.get(), type).subscribe(baseObserver(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (type == 1) {
mView.sendCodeSuccess();
mView.showToast(mActivity.getString(R.string.login_sms_success));
} else if (type == 2) {
mView.sendVoiceCodeSuccess();
mView.showToast(mActivity.getString(R.string.login_voice_sms_success));
}
}
}, throwable -> mView.sendCodeFail(throwable)));
}, throwable -> mView.showToast(mActivity.getString(R.string.send_code_faile))));
}
@Override
public void login(String userPhone, String code) {
if (TextUtils.isEmpty(userPhone) || TextUtils.isEmpty(code)) {
public void login() {
if (TextUtils.isEmpty(userName.get()) || TextUtils.isEmpty(password.get())) {
mView.showToast(mActivity.getString(R.string.phone_sms_not_null));
return;
}
if (!UtilsUserAccountMatcher.isPhoneNum(userPhone)) {
if (!UtilsUserAccountMatcher.isPhoneNum(userName.get())) {
mView.showToast(mActivity.getString(R.string.please_input_phone_right));
return;
}
mView.showDialog();
ApiFactory.login(userPhone, code).subscribe(baseObserver(new Consumer<UserInfo>() {
ApiFactory.login(userName.get(), password.get()).subscribe(baseObserver(new Consumer<UserInfo>() {
@Override
public void accept(UserInfo userInfo) throws Exception {
loginHx(userInfo.getHxAccount(), userInfo.getHxPwd());
dumpAndSave(userInfo);
}
}, throwable -> {
mView.loginFail(throwable);
}));
}, throwable -> mView.showToast(mActivity.getString(R.string.login_faile))));
}
@Override
public void dumpAgreement() {
mView.dumpAgreement();
public void loginHx(String hxAccount, String hxPwd) {
if (!(TextUtils.isEmpty(hxAccount)) && !(TextUtils.isEmpty(hxPwd))) {
EMClient.getInstance().login(hxAccount, hxPwd, new EMCallBack() {
@Override
public void onSuccess() {
EMClient.getInstance().groupManager().loadAllGroups();
EMClient.getInstance().chatManager().loadAllConversations();
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String message) {
}
});
}
}
@Override
public void loginHx(String hxAccount, String hxPwd) {
mView.loginHx(hxAccount, hxPwd);
public void dumpAndSave(UserInfo info) {
UserManager.getInstance().saveUser(mActivity, info);
Intent intent = new Intent(mActivity, MainActivity.class);
mActivity.startActivity(intent);
mActivity.finish();
}
@Override
public void dumpAndSave(UserInfo info) {
mView.dumpAndSave(info);
public void dumpAgreement() {
Intent intent = new Intent(mActivity, AgreementActivity.class);
mActivity.startActivity(intent);
}
}
package com.dayu.bigfish.presenter.message;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.bean.NewMessage;
......@@ -12,15 +11,14 @@ import com.dayu.bigfish.bean.NewMessage;
public interface messageContract {
interface View extends BaseView {
void getHxMessageSuccess(BasePageBean<NewMessage> message);
void getHxMessageFail();
void readMessageSuccess();
}
abstract class Presenter extends BasePresenter<View> {
/**
* 初始化数据
*/
public abstract void initData();
/**
* 获取换新消息.
*
* @param hxUserId
......@@ -31,6 +29,16 @@ public interface messageContract {
public abstract void getHxMessage(String hxUserId, int category, int page, int pageSize);
/**
* 刷新
*/
public abstract void refresh();
/**
* 加载更多.
*/
public abstract void loadMore();
/**
* 阅读信息
*
* @param id messageId.
......
package com.dayu.bigfish.presenter.message;
import android.content.Intent;
import android.databinding.ObservableField;
import android.view.View;
import com.app.annotation.apt.InstanceFactory;
......@@ -9,8 +10,11 @@ import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.NewMessage;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.ui.SystemMesDetailActivity;
import com.dayu.bigfish.ui.fragment.MessageFragment;
import com.dayu.bigfish.utils.UtilsDate;
import com.dayu.bigfish.utils.managers.UserManager;
import org.json.JSONException;
import org.json.JSONObject;
......@@ -28,10 +32,33 @@ import static com.dayu.bigfish.utils.UtilsDate.LONG_TIME_FORMAT_TWO;
*/
@InstanceFactory
public class messagePresenter extends messageContract.Presenter {
public ObservableField data = new ObservableField<>();
private String mHxId;
private int mPage;
private int mCategory;
@Override
public void onAttached() {
initData();
refresh();
}
@Override
public void initData() {
mCategory = ((MessageFragment) mView).getArguments().getInt("category", 1);
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
mHxId = userInfo.getHxAccount();
}
@Override
public void refresh() {
mPage = 1;
getHxMessage(mHxId, mCategory, mPage, Constants.PAGESIZE);
}
@Override
public void loadMore() {
getHxMessage(mHxId, mCategory, mPage, Constants.PAGESIZE);
}
@Override
......@@ -39,9 +66,10 @@ public class messagePresenter extends messageContract.Presenter {
ApiFactory.getHxMessage(hxUserId, category, page, pageSize).subscribe(baseObserver(new Consumer<BasePageBean<NewMessage>>() {
@Override
public void accept(BasePageBean<NewMessage> messageBasePageBean) throws Exception {
mView.getHxMessageSuccess(messageBasePageBean);
data.set(messageBasePageBean);
mPage++;
}
}, throwable -> mView.getHxMessageFail()));
}, throwable -> data.set(Constants.FAILED)));
}
@Override
......@@ -54,11 +82,7 @@ public class messagePresenter extends messageContract.Presenter {
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();
}
ApiFactory.readMessage(requestBody).subscribe(baseObserver((Consumer<Boolean>) aBoolean -> {
}));
}
......
......@@ -2,7 +2,6 @@ package com.dayu.bigfish.presenter.serverorder;
import com.app.annotation.apt.InstanceFactory;
import com.apt.ApiFactory;
import com.dayu.bigfish.api.APIException;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
......@@ -34,12 +33,7 @@ public class ServerOrderPresenter extends ServerorderContract.Presenter {
public void accept(BasePageBean<Order> orderBasePageBean) throws Exception {
mView.getWatingOrderSuccess(orderBasePageBean);
}
}, new Consumer<APIException.ResponeThrowable>() {
@Override
public void accept(APIException.ResponeThrowable responeThrowable) throws Exception {
mView.getWatingOrderFial();
}
}));
}, responeThrowable -> mView.getWatingOrderFial()));
}
@Override
......
package com.dayu.bigfish.ui;
import android.content.Intent;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
......@@ -11,7 +9,6 @@ import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.databinding.AccountbalanceLayoutBinding;
import com.dayu.bigfish.presenter.accountbalance.AccountBalanceContract;
import com.dayu.bigfish.presenter.accountbalance.AccountBalancePresenter;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.managers.UserManager;
/**
......@@ -31,8 +28,6 @@ public class AccountBalanceActivity extends BaseActivity<AccountBalancePresenter
@Override
public void initView() {
mBind.setPresenter(mPresenter);
ProgressUtil.startLoad(mActivity);
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
mUserId = Integer.parseInt(userInfo.getAccountId());
mPresenter.getAccountBalanceList(mPage, mPageSize, mUserId);
......@@ -58,11 +53,6 @@ public class AccountBalanceActivity extends BaseActivity<AccountBalancePresenter
mBind.rlBalance.setDataFail();
}
@Override
public void dumpToWithdrawal() {
Intent intent = new Intent(mActivity, WithdrawalsActivity.class);
startActivity(intent);
}
@Override
public String getTotalPrice() {
......
......@@ -29,7 +29,6 @@ public class FeedBackActivity extends BaseActivity<FeedBackPresenter, ActivityFe
public void initView() {
userName = UserManager.getInstance().getUserName(mActivity);
userPhone = UserManager.getInstance().getUserPhone(mActivity);
mBind.setPresenter(mPresenter);
mBind.submitIdea.setOnClickListener(o -> {
mComment = mBind.etContent.getText().toString();
if (UtilsUserAccountMatcher.containsEmoji(mComment)) {
......
package com.dayu.bigfish.ui;
import android.content.Intent;
import android.text.TextUtils;
import com.dayu.bigfish.LoginBinding;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.presenter.login.LoginContract;
import com.dayu.bigfish.presenter.login.LoginPresenter;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.TimeCountUtil;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.managers.UserManager;
import com.hyphenate.EMCallBack;
import com.hyphenate.chat.EMClient;
/**
......@@ -31,39 +23,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, LoginBinding> im
@Override
public void initView() {
mBind.setPresenter(mPresenter);
}
@Override
public void login(String userPhone, String code) {
mPresenter.login(userPhone, code);
}
@Override
public void loginFail(Throwable throwable) {
ToastUtils.showShortToast(throwable.toString());
ToastUtils.showShortToast(getString(R.string.login_faile));
}
@Override
public void sendCode(String userPhone, int type) {
mPresenter.sendCode(userPhone, type);
}
@Override
public void sendCodeSuccess() {
ToastUtils.showShortToast(getString(R.string.login_sms_success));
}
@Override
public void sendVoiceCodeSuccess() {
mBind.tvVoiceCode.setText(getString(R.string.login_voice_sms_success));
}
@Override
public void sendCodeFail(Throwable throwable) {
ToastUtils.showShortToast(getString(R.string.send_code_faile));
}
@Override
......@@ -79,46 +38,6 @@ public class LoginActivity extends BaseActivity<LoginPresenter, LoginBinding> im
mBind.tvVoiceCode.setClickable(false);
}
@Override
public void dumpAgreement() {
Intent intent = new Intent(mActivity, AgreementActivity.class);
startActivity(intent);
}
@Override
public void loginHx(String hxAccount, String hxPwd) {
if (!(TextUtils.isEmpty(hxAccount)) && !(TextUtils.isEmpty(hxPwd))) {
EMClient.getInstance().login(hxAccount, hxPwd, new EMCallBack() {
@Override
public void onSuccess() {
EMClient.getInstance().groupManager().loadAllGroups();
EMClient.getInstance().chatManager().loadAllConversations();
}
@Override
public void onProgress(int progress, String status) {
}
@Override
public void onError(int code, String message) {
}
});
}
}
@Override
public void dumpAndSave(UserInfo info) {
UserManager.getInstance().saveUser(this, info);
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
......
package com.dayu.bigfish.ui;
import android.Manifest;
import android.annotation.TargetApi;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
......@@ -18,7 +13,6 @@ import android.support.v4.app.NotificationCompat;
import android.support.v4.content.FileProvider;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.dayu.bigfish.BuildConfig;
import com.dayu.bigfish.Constants;
......@@ -44,6 +38,7 @@ import com.dayu.bigfish.ui.listener.onDownloadListener;
import com.dayu.bigfish.ui.views.CustomDialog;
import com.dayu.bigfish.utils.AppUtils;
import com.dayu.bigfish.utils.LocationUtils;
import com.dayu.bigfish.utils.LogUtils;
import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.managers.UserManager;
......@@ -54,8 +49,6 @@ import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import static com.dayu.bigfish.InitializeActivity.SDK_PERMISSION_REQUEST;
/**
* Created by luofan on 2017/11/20.
*/
......@@ -82,7 +75,6 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
public void initView() {
mBind.setPresenter(mPresenter);
mUser = UserManager.getInstance().getUser(mActivity);
mAccountId = Integer.parseInt(mUser.getAccountId());
mSiteId = Integer.parseInt(mUser.getSiteId());
......@@ -92,38 +84,28 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
fourFragment = HomePersonFragment.newInstance();
mFragments = new Fragment[]{firstFragment, secondFragment, thirdFragment, fourFragment};
mTabs = new TextView[]{mBind.tabFirst, mBind.tabSecond, mBind.tabThird, mBind.tabFour};
requestpermission();
addFragment();
resetSelected(1);
showHideFragment(mFragments[1], mFragments[mPosition]);
mPosition = 1;
showHideFragment(1, mPosition);
doAction(getIntent());
request();
initListener();
getLocation();
EventBus.getDefault().register(this);
}
private void initListener() {
mBind.tabFirst.setOnClickListener(o -> {
showHideFragment(mFragments[0], mFragments[mPosition]);
resetSelected(0);
mPosition = 0;
showHideFragment(0, mPosition);
});
mBind.tabSecond.setOnClickListener(o -> {
showHideFragment(mFragments[1], mFragments[mPosition]);
resetSelected(1);
mPosition = 1;
showHideFragment(1, mPosition);
});
mBind.tabThird.setOnClickListener(o -> {
showHideFragment(mFragments[2], mFragments[mPosition]);
resetSelected(2);
showHideFragment(2, mPosition);
mBind.ivMessage.setVisibility(View.GONE);
mPosition = 2;
});
mBind.tabFour.setOnClickListener(o -> {
showHideFragment(mFragments[3], mFragments[mPosition]);
resetSelected(3);
mPosition = 3;
showHideFragment(3, mPosition);
});
}
......@@ -260,46 +242,18 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
transaction.commit();
}
private void showHideFragment(Fragment mShow, Fragment mHide) {
if (mShow == mHide) return;
private void showHideFragment(int showPosition, int hidePosition) {
if (showPosition == hidePosition) return;
mFragmentManger.beginTransaction()
.show(mShow)
.hide(mHide)
.show(mFragments[showPosition])
.hide(mFragments[hidePosition])
.commit();
resetSelected(showPosition);
mPosition = showPosition;
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void recevieNum(RefreshReceivingNum event) {
mBind.tabOrderNum.setText(event.getTabNum() + "");
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void swtichfragment(SwtichFragment event) {
showHideFragment(mFragments[event.getPosition()], mFragments[mPosition]);
resetSelected(mPosition);
mBind.tabSecond.setSelected(true);
}
@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
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
doAction(intent);
}
@Override
protected void onDestroy() {
super.onDestroy();
LocationUtils.destroy();
EventBus.getDefault().unregister(this);
private void getLocation() {
LocationUtils.getCurrentLocation(location -> LogUtils.d(location.toString()));
}
private void doAction(Intent intent) {
......@@ -312,63 +266,45 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
if (info.getCategory() == 1) {
secondIndex = 0; //系统通知
} else if (info.getCategory() == 2) {
secondIndex = 1;//大通知
secondIndex = 1;//大通知
}
resetSelected(2);
showHideFragment(mFragments[2], mFragments[mPosition]);
showHideFragment(2, mPosition);
mBind.ivMessage.setVisibility(View.GONE);
thirdFragment.setIndex(secondIndex);
thirdFragment.swtichFragment(secondIndex);
mPosition = 2;
}
}
}
private void requestpermission() {
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.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);
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
doAction(intent);
}
/*权限回调*/
@TargetApi(23)
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
boolean flag = true;
if (requestCode == SDK_PERMISSION_REQUEST) {
for (int grant : grantResults) {
if (grant != PackageManager.PERMISSION_GRANTED) {
flag = false;
}
}
if (!flag) {
CustomDialog dialog = new CustomDialog(mActivity, R.style.custom_dialog2, getString(R.string.please_open__permission)
, (dialog1, confirm) -> {
if (confirm) {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
dialog1.dismiss();
} else {
Toast.makeText(mActivity, getString(R.string.no_permission), Toast.LENGTH_SHORT).show();
finish();
dialog1.dismiss();
}
});
dialog.setTitle(getString(R.string.notice))
.setNegativeButton(getString(R.string.cancle))
.setPositiveButton(getString(R.string.go_setting));
dialog.show();
return;
}
}
protected void onDestroy() {
super.onDestroy();
LocationUtils.destroy();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void recevieNum(RefreshReceivingNum event) {
mBind.tabOrderNum.setText(event.getTabNum() + "");
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void swtichfragment(SwtichFragment event) {
showHideFragment(event.getPosition(), mPosition);
}
@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);
}
}
......@@ -18,7 +18,6 @@ import com.dayu.bigfish.databinding.ActivityOrderRecordBinding;
import com.dayu.bigfish.presenter.worksRecord.WorksRecordPresenter;
import com.dayu.bigfish.presenter.worksRecord.WroksRecordContract;
import com.dayu.bigfish.ui.adapter.OrderAdapter;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.managers.UserManager;
import java.util.ArrayList;
......@@ -45,7 +44,6 @@ public class OrderRecordActivity extends BaseActivity<WorksRecordPresenter, Acti
@Override
public void initView() {
mBind.setPresenter(mPresenter);
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
userId = Integer.parseInt(userInfo.getAccountId());
siteId = Integer.parseInt(userInfo.getSiteId());
......@@ -53,14 +51,12 @@ public class OrderRecordActivity extends BaseActivity<WorksRecordPresenter, Acti
mAdapter = new OrderAdapter(true,R.layout.fragment_orderdoing_item);
mBind.recyclerView.setAdapter(mAdapter);
initListener();
ProgressUtil.startLoad(mActivity);
mPresenter.getWorksRecord(Constants.FINISH_ORDER, userId, siteId, mPage, mPageSize);
}
private void initListener() {
mBind.recyclerView.setRefreshListener(() -> refresh());
mBind.recyclerView.setOnLoadMoreListener(() -> {
mPage++;
mPresenter.getWorksRecord(Constants.FINISH_ORDER, userId, siteId, mPage, mPageSize);
});
mAdapter.setOnItemClickListener((item, bind) -> dumpDetail(item.getId()));
......@@ -92,6 +88,7 @@ public class OrderRecordActivity extends BaseActivity<WorksRecordPresenter, Acti
@Override
public void getWorksRecord(BasePageBean<Order> oredrs) {
mPage++;
mBind.recyclerView.setPageData(oredrs);
mList = (ArrayList<Order>) mAdapter.getDatas();
}
......
......@@ -81,7 +81,6 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
@Override
public void initView() {
mBind.setPresenter(mPresenter);
mOrderInfoDao = GreenDaoManager.getInstance().getmDaoSession().getOrderInfoDao();
mSelectList = new ArrayList<>();
mIvWeight = (UtilsScreen.getScreenWidth(mActivity) - UtilsScreen.dip2px(mActivity, 20)) / 5;
......
......@@ -13,19 +13,22 @@ import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.UserInfo;
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.SwtichFragment;
import com.dayu.bigfish.databinding.ActivityReceivingBinding;
import com.dayu.bigfish.presenter.receivingorder.ReceivingContract;
import com.dayu.bigfish.presenter.receivingorder.ReceivingPresenter;
import com.dayu.bigfish.ui.adapter.OrderAdapter;
import com.dayu.bigfish.ui.listener.OnChildClickListener;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.ToastUtils;
import com.dayu.bigfish.utils.managers.UserManager;
import org.greenrobot.eventbus.EventBus;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
/**
* 待接单列表
......@@ -41,6 +44,7 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter, Activity
private int mPageSize = Constants.PAGESIZE;
private OrderAdapter mAdapter;
private int mTotalRows;
private Disposable mDisPosable;
@Override
......@@ -54,11 +58,9 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter, Activity
userId = Integer.parseInt(userInfo.getAccountId());
siteId = Integer.parseInt(userInfo.getSiteId());
mBind.tvTitle.setText(getString(R.string.receive_list));
mAdapter = new OrderAdapter(true,R.layout.fragment_orderdoing_item);
mAdapter = new OrderAdapter(true, R.layout.fragment_orderdoing_item);
mBind.recyclerView.setAdapter(mAdapter);
ProgressUtil.startLoad(mActivity);
mPresenter.getReceiveOrder(Constants.WATING_ORDER, userId, siteId, mPage, mPageSize);
mBind.setPresenter(mPresenter);
initListener();
}
......@@ -102,10 +104,13 @@ public class ReceivingActivity extends BaseActivity<ReceivingPresenter, Activity
int num = mTotalRows - 1;
ToastUtils.showShortToast(getString(R.string.receive_order_success));
//接单成功,刷新首页tab状态数量
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));
mDisPosable = Observable.timer(500, TimeUnit.MILLISECONDS).subscribe(aLong -> {
EventBus.getDefault().post(new RefreshReceivingNum(num < 0 ? 0 : num));
EventBus.getDefault().post(new RefreshApoiment(-1));
mDisPosable.dispose();
});
finish();
}
......
......@@ -42,7 +42,6 @@ public class SettingActivity extends BaseActivity<SettingPresenter, ActivitySett
@Override
public void initView() {
mBind.setPresenter(mPresenter);
initListener();
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
mHxAccount = userInfo.getHxAccount();
......
......@@ -27,6 +27,10 @@ import org.greenrobot.eventbus.EventBus;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
import static com.dayu.bigfish.ui.fragment.HomeOrderFragment.ORDER_DOING;
import static com.dayu.bigfish.ui.fragment.HomeOrderFragment.ORDER_YUYUE;
......@@ -48,6 +52,7 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter, Ac
private boolean mIsToday;
private int mState;
private String mTime;
private Disposable mDisposable;
@Override
......@@ -58,7 +63,6 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter, Ac
@Override
public void initView() {
mBind.setPresenter(mPresenter);
Intent intent = getIntent();
mOrderId = intent.getIntExtra(Constants.ORDER_ID, 0);
mPosition = intent.getIntExtra(Constants.ORDER_POSTION, 0);
......@@ -80,8 +84,11 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter, Ac
if (mState == SUBCRIBE_TIME) {
ToastUtils.showShortToast(getString(R.string.subcribe_time_success));
EventBus.getDefault().post(new RefreshTab(1));
EventBus.getDefault().post(new RefreshApoiment(1));
EventBus.getDefault().post(new RefreshServe(1));
mDisposable = Observable.timer(500, TimeUnit.MILLISECONDS).subscribe(aLong -> {
EventBus.getDefault().post(new RefreshApoiment(1));
EventBus.getDefault().post(new RefreshServe(1));
mDisposable.dispose();
});
} else if (mState == ORDER_YUYUE || mState == ORDER_DOING) {
EventBus.getDefault().post(new OrderState(ORDER_YUYUE, mPosition, mTime));
}
......@@ -201,4 +208,9 @@ public class SubcribeTimeActivity extends BaseActivity<SubcribeTimePresenter, Ac
finish();
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
......@@ -42,7 +42,6 @@ public class WithdrawalsActivity extends BaseActivity<WithdrawalsPresenter, Acti
@Override
public void initView() {
mBind.setPresenter(mPresenter);
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
mUserId = Integer.parseInt(userInfo.getAccountId());
ProgressUtil.startLoad(mActivity);
......
package com.dayu.bigfish.ui.fragment;
import android.os.Bundle;
import android.view.View;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
......@@ -23,8 +22,8 @@ public class HomeFirstTabFragment extends BaseFragment<HomeFirstPresenter, Fragm
}
@Override
public View initView(View view) {
return view;
public void initView() {
}
@Override
......
......@@ -33,9 +33,8 @@ public class HomeMessageTabFragment extends DataBindingFragment<FragmentMessageB
}
@Override
public View initView(View view) {
public void initView() {
initData();
return view;
}
@Override
......@@ -85,4 +84,5 @@ public class HomeMessageTabFragment extends DataBindingFragment<FragmentMessageB
public void setIndex(int index) {
mIndex = index;
}
}
......@@ -63,10 +63,9 @@ public class HomeOrderFragment extends BaseFragment<HomeOrderPresenter, Fragment
}
@Override
public View initView(View view) {
public void initView() {
init();
initData();
return view;
}
@Override
......@@ -109,9 +108,8 @@ public class HomeOrderFragment extends BaseFragment<HomeOrderPresenter, Fragment
mBind.tbHome.setTabMode(TabLayout.MODE_FIXED);
mBind.vpHome.setOffscreenPageLimit(4);
mBind.vpHome.setCurrentItem(0);
mBind.tbHome.post(() -> {
TabLayoutUtils.setIndicator(mBind.tbHome, 15, 15, R.color.cl_order_item_line_bg, mActivity);
});
mBind.tbHome.post(() ->
TabLayoutUtils.setIndicator(mBind.tbHome, 15, 15, R.color.cl_order_item_line_bg, mActivity));
mBind.tbHome.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
......
......@@ -51,18 +51,16 @@ public class HomePersonFragment extends BaseFragment<HomePersonPresenter, Fragme
}
@Override
public int getLayoutId() {
return R.layout.fragment_personal_center;
}
@Override
public View initView(View view) {
mBind.setPresenter(mPresenter);
public void initView() {
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
userId = Integer.parseInt(userInfo.getAccountId());
siteId = Integer.parseInt(userInfo.getSiteId());
mBind.setImgurl(userInfo.getHeaderImg());
return view;
}
@Override
public int getLayoutId() {
return R.layout.fragment_personal_center;
}
@Override
......
package com.dayu.bigfish.ui.fragment;
import android.os.Bundle;
import android.view.View;
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.bean.UserInfo;
import com.dayu.bigfish.databinding.LrecyclerViewBinding;
import com.dayu.bigfish.presenter.message.messageContract;
import com.dayu.bigfish.presenter.message.messagePresenter;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.managers.UserManager;
/**
......@@ -23,10 +16,6 @@ import com.dayu.bigfish.utils.managers.UserManager;
public class MessageFragment extends BaseFragment<messagePresenter, LrecyclerViewBinding>
implements messageContract.View {
private String hxUserId;
private int mPage = 1;
private int mPageSize = Constants.PAGESIZE;
private int mCategory = 1;
public static MessageFragment newInstance() {
Bundle args = new Bundle();
......@@ -36,13 +25,6 @@ public class MessageFragment extends BaseFragment<messagePresenter, LrecyclerVie
}
@Override
public View initView(View view) {
mCategory = getArguments().getInt("category", 1);
initData();
return view;
}
@Override
public int getLayoutId() {
return R.layout.lrecycler_view;
}
......@@ -51,38 +33,10 @@ public class MessageFragment extends BaseFragment<messagePresenter, LrecyclerVie
protected void lazyLoad() {
}
public void initData() {
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
hxUserId = userInfo.getHxAccount();
ProgressUtil.startLoad(mActivity);
mPresenter.getHxMessage(hxUserId, mCategory, mPage, mPageSize);
initListener();
}
private void initListener() {
mBind.lRecycle.setPresenter(mPresenter);
mBind.lRecycle.setRefreshListener(() -> {
mPage = 1;
mPresenter.getHxMessage(hxUserId, mCategory, mPage, mPageSize);
});
mBind.lRecycle.setOnLoadMoreListener(
() -> mPresenter.getHxMessage(hxUserId, mCategory, mPage, mPageSize));
}
@Override
public void getHxMessageSuccess(BasePageBean<NewMessage> message) {
mPage++;
mBind.lRecycle.setPageData(message);
}
@Override
public void getHxMessageFail() {
mBind.lRecycle.setDataFail();
}
@Override
public void readMessageSuccess() {
public void initView() {
mBind.lRecycle.setPresenter(mPresenter);
mBind.lRecycle.setRefreshListener(() -> mPresenter.refresh());
mBind.lRecycle.setOnLoadMoreListener(() -> mPresenter.loadMore());
}
}
package com.dayu.bigfish.ui.fragment;
import android.view.View;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.bean.OrderDetail;
......@@ -18,12 +16,10 @@ import com.dayu.bigfish.utils.ProgressUtil;
public class OrderDatailsServeFragment extends BaseFragment<OrderDetailServePresenter, FragmentOrderServeBinding> implements OrderDetailServeContract.View {
private int orderId;
@Override
public View initView(View view) {
public void initView() {
orderId = getArguments().getInt("orderId");
mBind.recyclerView.setPresenter(mPresenter);
return view;
}
@Override
......
......@@ -29,13 +29,11 @@ public class OrderDateilsFragment extends BaseFragment<OrderDetailPresenter, Fra
private CoreAdapter mAdapter;
@Override
public View initView(View view) {
public void initView() {
orderId = getArguments().getInt("orderId");
ProgressUtil.startLoad(mActivity);
mPresenter.getOrderDetailInfo(orderId);
mBind.setPresenter(mPresenter);
mBind.setVariable(BR.item, new OrderDetail());
return view;
}
@Override
......
package com.dayu.bigfish.ui.fragment;
import android.content.Intent;
import android.view.View;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
......@@ -12,12 +11,11 @@ import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.bean.event.RefreshApoiment;
import com.dayu.bigfish.bean.event.RefreshTab;
import com.dayu.bigfish.databinding.CommomRecycleBinding;
import com.dayu.bigfish.databinding.FragmentOrderdoingItemBinding;
import com.dayu.bigfish.presenter.AppointmentOrder.AppointmentContract;
import com.dayu.bigfish.presenter.AppointmentOrder.AppointmentPresenter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
import com.dayu.bigfish.ui.adapter.OrderAdapter;
import com.dayu.bigfish.ui.listener.OnItemClickListener;
import com.dayu.bigfish.ui.listener.OnRefreshListener;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.managers.UserManager;
......@@ -31,29 +29,26 @@ import org.greenrobot.eventbus.ThreadMode;
*/
public class OrderFirstTabFragment extends BaseFragment<AppointmentPresenter, CommomRecycleBinding>
implements AppointmentContract.View {
implements AppointmentContract.View, OnRefreshListener {
private OrderAdapter mAdapter;
private int siteId;
private int userId;
private int mPageSize = Constants.PAGESIZE;
private int mPage = 1;
@Override
protected void lazyLoad() {
}
@Override
public View initView(View view) {
public void initView() {
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
userId = Integer.parseInt(userInfo.getAccountId());
siteId = Integer.parseInt(userInfo.getSiteId());
mAdapter = new OrderAdapter(true,R.layout.fragment_orderdoing_item);
mAdapter = new OrderAdapter(true, R.layout.fragment_orderdoing_item);
mBind.recyclerView.setAdapter(mAdapter);
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
initListener();
return view;
}
@Override
protected void lazyLoad() {
}
@Override
......@@ -65,29 +60,18 @@ public class OrderFirstTabFragment extends BaseFragment<AppointmentPresenter, Co
public void initListener() {
EventBus.getDefault().register(this);
mBind.recyclerView.setRefreshListener(() -> refresh());
mBind.recyclerView.setOnLoadMoreListener(() -> {
mPage++;
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
});
mAdapter.setOnItemClickListener(new OnItemClickListener<Order, FragmentOrderdoingItemBinding>() {
@Override
public void OnItemClick(Order item, FragmentOrderdoingItemBinding bind) {
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", item.getId());
startActivity(intent);
}
mBind.recyclerView.setOnLoadMoreListener(() ->
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize));
mAdapter.setOnItemClickListener((item, bind) -> {
Intent intent = new Intent(mActivity, OrderDetailsActivity.class);
intent.putExtra("orderId", item.getId());
startActivity(intent);
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void RefreshApoiment(RefreshApoiment event) {
mPage = 1;
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
}
@Override
public void getWatingOrderSuccess(BasePageBean<Order> data) {
mPage++;
EventBus.getDefault().post(new RefreshTab(-1));
mBind.recyclerView.setPageData(data);
}
......@@ -107,5 +91,12 @@ public class OrderFirstTabFragment extends BaseFragment<AppointmentPresenter, Co
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void RefreshApoiment(RefreshApoiment event) {
mPage = 1;
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.APPOIMENT_ORDER, userId, siteId, mPage, mPageSize);
}
}
package com.dayu.bigfish.ui.fragment;
import android.content.Intent;
import android.view.View;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
......@@ -16,7 +15,6 @@ import com.dayu.bigfish.presenter.AppointmentOrder.AppointmentPresenter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
import com.dayu.bigfish.ui.adapter.OrderFourTabAdapter;
import com.dayu.bigfish.ui.listener.OnItemClickListener;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.managers.UserManager;
import org.greenrobot.eventbus.EventBus;
......@@ -36,7 +34,12 @@ public class OrderFourTabFragment extends BaseFragment<AppointmentPresenter, Com
private int mPage = 1;
@Override
public View initView(View view) {
protected void lazyLoad() {
initData();
}
@Override
public void initView() {
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
userId = Integer.parseInt(userInfo.getAccountId());
siteId = Integer.parseInt(userInfo.getSiteId());
......@@ -44,12 +47,6 @@ public class OrderFourTabFragment extends BaseFragment<AppointmentPresenter, Com
mAdapter.setViewType(R.layout.fragment_order_cancle_item);
mBind.recyclerView.setAdapter(mAdapter);
initListener();
return view;
}
@Override
protected void lazyLoad() {
initData();
}
@Override
......@@ -58,14 +55,12 @@ public class OrderFourTabFragment extends BaseFragment<AppointmentPresenter, Com
}
protected void initData() {
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.CANCLE_ORDER, userId, siteId, mPage, mPageSize);
}
public void initListener() {
mBind.recyclerView.setRefreshListener(() -> refresh());
mBind.recyclerView.setOnLoadMoreListener(() -> {
mPage++;
mPresenter.getWatingOrder(Constants.CANCLE_ORDER, userId, siteId, mPage, mPageSize);
});
mBind.recyclerView.setOnItemClickListener(new OnItemClickListener() {
......@@ -82,6 +77,7 @@ public class OrderFourTabFragment extends BaseFragment<AppointmentPresenter, Com
@Override
public void getWatingOrderSuccess(BasePageBean<Order> data) {
mPage++;
EventBus.getDefault().post(new RefreshTab(-1));
mBind.recyclerView.setPageData(data);
}
......
package com.dayu.bigfish.ui.fragment;
import android.content.Intent;
import android.view.View;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.R;
......@@ -48,7 +47,7 @@ public class OrderSecondTabFragment extends BaseFragment<ServerOrderPresenter, C
private List<Order> mDatas;
@Override
public View initView(View view) {
public void initView() {
EventBus.getDefault().register(this);
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
userId = Integer.parseInt(userInfo.getAccountId());
......@@ -58,7 +57,6 @@ public class OrderSecondTabFragment extends BaseFragment<ServerOrderPresenter, C
mBind.recyclerView.setAdapter(mAdapter);
mDatas = new ArrayList<>();
initListener();
return view;
}
@Override
......@@ -69,7 +67,6 @@ public class OrderSecondTabFragment extends BaseFragment<ServerOrderPresenter, C
public void initListener() {
mBind.recyclerView.setRefreshListener(() -> referesh());
mBind.recyclerView.setOnLoadMoreListener(() -> {
mPage++;
mPresenter.getWatingOrder(Constants.WATING_SERVER, userId, siteId, mPage, mPageSize);
});
mAdapter.setOnItemClickListener((item, bind) -> {
......@@ -79,34 +76,6 @@ public class OrderSecondTabFragment extends BaseFragment<ServerOrderPresenter, C
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void RefreshServe(RefreshServe event) {
mPage = 1;
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);
order.setConfirmDoorTime(event.getTime());
} 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);
}
mBind.recyclerView.setData(mDatas);
mAdapter.setLoadMore(true);
}
@Override
public void onResume() {
super.onResume();
......@@ -114,12 +83,12 @@ public class OrderSecondTabFragment extends BaseFragment<ServerOrderPresenter, C
@Override
protected void lazyLoad() {
ProgressUtil.startLoad(mActivity);
mPresenter.getWatingOrder(Constants.WATING_SERVER, userId, siteId, mPage, mPageSize);
}
@Override
public void getWatingOrderSuccess(BasePageBean<Order> data) {
mPage++;
EventBus.getDefault().post(new RefreshTab(-1));
mBind.recyclerView.setPageData(data);
mDatas = mAdapter.getDatas();
......@@ -140,4 +109,31 @@ public class OrderSecondTabFragment extends BaseFragment<ServerOrderPresenter, C
super.onDetach();
EventBus.getDefault().unregister(this);
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void RefreshServe(RefreshServe event) {
mPage = 1;
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);
order.setConfirmDoorTime(event.getTime());
} 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);
}
mBind.recyclerView.setData(mDatas);
mAdapter.setLoadMore(true);
}
}
package com.dayu.bigfish.ui.fragment;
import android.content.Intent;
import android.view.View;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseFragment;
......@@ -15,7 +14,6 @@ import com.dayu.bigfish.presenter.errororder.ErrorOrderPresenter;
import com.dayu.bigfish.ui.OrderDetailsActivity;
import com.dayu.bigfish.ui.adapter.OrderThreeTabAdapter;
import com.dayu.bigfish.ui.listener.OnItemClickListener;
import com.dayu.bigfish.utils.ProgressUtil;
import com.dayu.bigfish.utils.managers.UserManager;
import org.greenrobot.eventbus.EventBus;
......@@ -32,9 +30,13 @@ public class OrderThreeTabFragment extends BaseFragment<ErrorOrderPresenter, Com
private int siteId;
private int userId;
@Override
protected void lazyLoad() {
initData();
}
@Override
public View initView(View view) {
public void initView() {
UserInfo userInfo = UserManager.getInstance().getUser(mActivity);
userId = Integer.parseInt(userInfo.getAccountId());
siteId = Integer.parseInt(userInfo.getSiteId());
......@@ -42,12 +44,6 @@ public class OrderThreeTabFragment extends BaseFragment<ErrorOrderPresenter, Com
adapter.setViewType(R.layout.fragment_order_error_item);
mBind.recyclerView.setAdapter(adapter);
initListener();
return view;
}
@Override
protected void lazyLoad() {
initData();
}
@Override
......@@ -68,7 +64,6 @@ public class OrderThreeTabFragment extends BaseFragment<ErrorOrderPresenter, Com
}
public void initData() {
ProgressUtil.startLoad(mActivity);
mPresenter.getErrorOrder(userId, siteId);
}
......
......@@ -8,7 +8,12 @@ import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.MyApplication;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.ui.views.LRecyclerView;
import java.util.List;
/**
* Created by luofan on 2017/12/12.
......@@ -23,15 +28,14 @@ public class BindingAdapter {
*/
@android.databinding.BindingAdapter({"imageUrl"})
public static void loadImage(ImageView view, String url) {
if (TextUtils.isEmpty(url)) {
return;
if (!TextUtils.isEmpty(url)) {
RequestOptions options = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(view.getContext())
.load(url)
.apply(options)
.into(view);
}
RequestOptions options = new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL);
Glide.with(view.getContext())
.load(url)
.apply(options)
.into(view);
}
......@@ -50,4 +54,21 @@ public class BindingAdapter {
}
}
/**
* databing加载图片.
*
* @param view
*/
@android.databinding.BindingAdapter({"setDatas"})
public static void setDatas(LRecyclerView view, Object obj) {
if (obj instanceof BasePageBean) {
view.setPageData((BasePageBean) obj);
} else if (obj instanceof List) {
view.setData((List) obj);
} else if (obj instanceof Integer) {
if ((int) obj == Constants.FAILED) {
view.setDataFail();
}
}
}
}
......@@ -19,6 +19,8 @@ public class LocationUtils {
public static AMapLocation sLocation = null;
private static boolean flag = true;
private static Disposable mDisposable;
private static long time;
private static MyLocationListener mListener;
/**
* @param context
......@@ -66,7 +68,8 @@ public class LocationUtils {
* @Title: getCurrentLocation
* @Description: 获取位置,重新发起获取位置请求
*/
public static void getCurrentLocation(final MyLocationListener listener) {
public static void getCurrentLocation(MyLocationListener listener) {
mListener = listener;
if (mlocationClient == null) {
return;
}
......@@ -76,11 +79,12 @@ public class LocationUtils {
// .subscribe(aLong -> {
// if (flag) {
//// ToastUtils.showShortToast("获取定位失败");
// listener.result(null);
// mListener.result(null);
// flag = false;
// mlocationClient.stopLocation();
// }
// });
time = System.currentTimeMillis();
mlocationClient.setLocationListener(new AMapLocationListener() {
@Override
......@@ -90,12 +94,13 @@ public class LocationUtils {
//定位成功,取消定位
mlocationClient.stopLocation();
sLocation = location;
listener.result(location);
mListener.result(location);
LogUtils.d(System.currentTimeMillis() - time + " " +location.toString());
} else if ((location == null && flag)) {
LogUtils.d("location:" + location.getErrorCode());
flag = false;
mlocationClient.stopLocation();
listener.result(location);
mListener.result(location);
// ToastUtils.showShortToast("定位失败了");
}
}
......
......@@ -77,8 +77,7 @@
android:layout_height="match_parent"
app:itemType="@layout/item_account_balance_layout"
app:needCoreAdapter="true"
>
</com.dayu.bigfish.ui.views.LRecyclerView>
/>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -3,11 +3,11 @@
<data class=".LoginBinding">
<import type="com.dayu.bigfish.presenter.login.LoginPresenter"/>
<import type="com.dayu.bigfish.presenter.login.LoginPresenter" />
<variable
name="presenter"
type="LoginPresenter"/>
type="LoginPresenter" />
</data>
<RelativeLayout
......@@ -16,18 +16,14 @@
android:background="@color/cl_white"
android:orientation="vertical">
<RelativeLayout
style="@style/title"
>
<RelativeLayout style="@style/title">
<TextView
style="@style/text_title"
android:text="@string/tv_login_title"
/>
android:text="@string/tv_login_title" />
</RelativeLayout>
<com.dayu.bigfish.ui.views.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
<com.dayu.bigfish.ui.views.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/circle"
android:layout_width="@dimen/size_login_mlcircleimageview_width"
android:layout_height="@dimen/size_login_mlcircleimageview_height"
......@@ -35,8 +31,7 @@
android:layout_marginTop="@dimen/size_login_mlcircleimageview_mt"
android:src="@mipmap/user_head"
app:border_color="@color/cl_home_circleimageview_bg"
app:border_width="@dimen/size_home_circleimageview_border"
/>
app:border_width="@dimen/size_home_circleimageview_border" />
<LinearLayout
android:id="@+id/linear"
......@@ -45,24 +40,21 @@
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/size_login_linear_mt"
android:background="@mipmap/group_4"
android:orientation="vertical"
>
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center_vertical"
android:layout_weight="1"
>
android:layout_weight="1">
<EditText
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="15dp"
android:layout_centerVertical="true"
android:background="@null"
android:drawableLeft="@mipmap/denglu_shouji_icon"
android:drawablePadding="@dimen/size_login_clearedittext_dp"
......@@ -72,18 +64,18 @@
android:maxLength="11"
android:paddingLeft="@dimen/size_login_clearedittext_pl"
android:singleLine="true"
android:text="@={presenter.userName}"
android:textColor="@color/cl_home_title_text_color"
android:textColorHint="@color/cl_login_clearedittext_hint"
android:textCursorDrawable="@null"
android:textSize="@dimen/size_login_clearedittext_text"/>
android:textSize="@dimen/size_login_clearedittext_text" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center_vertical"
android:layout_weight="1"
>
android:layout_weight="1">
<EditText
android:id="@+id/et_code"
......@@ -98,11 +90,11 @@
android:maxLength="6"
android:paddingLeft="@dimen/size_login_pwd_edittext_pl"
android:singleLine="true"
android:text="@={presenter.password}"
android:textColor="@color/cl_home_title_text_color"
android:textColorHint="@color/cl_login_clearedittext_hint"
android:textCursorDrawable="@null"
android:textSize="@dimen/sp_15"
/>
android:textSize="@dimen/sp_15" />
<Button
android:id="@+id/btn_send_code"
......@@ -113,10 +105,10 @@
android:layout_marginBottom="@dimen/size_login_register_button_mb"
android:layout_marginRight="@dimen/size_login_register_button_mr"
android:background="@drawable/btn_register_selector"
android:onClick="@{()->presenter.sendCode(etPhone.getText().toString(),1)}"
android:onClick="@{()->presenter.sendCode(1)}"
android:text="@string/tv_login_register_button_text"
android:textColor="@color/cl_white"
android:textSize="@dimen/size_login_register_button_text"/>
android:textSize="@dimen/size_login_register_button_text" />
</RelativeLayout>
</LinearLayout>
......@@ -127,11 +119,10 @@
android:layout_below="@+id/linear"
android:layout_centerInParent="true"
android:layout_marginTop="3dp"
android:onClick="@{()->presenter.sendCode(etPhone.getText().toString(),2)}"
android:onClick="@{()->presenter.sendCode(2)}"
android:text="@string/voice_code_notice"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="12sp"
/>
android:textSize="12sp" />
<Button
android:id="@+id/btn_login"
......@@ -142,11 +133,10 @@
android:layout_marginTop="@dimen/size_login_button_mt"
android:background="@drawable/btn_login_selector"
android:gravity="center"
android:onClick="@{()->presenter.login(etPhone.getText().toString(),etCode.getText().toString())}"
android:onClick="@{()->presenter.login()}"
android:text="@string/tv_login"
android:textColor="@color/cl_white"
android:textSize="@dimen/size_login_button_text"
/>
android:textSize="@dimen/size_login_button_text" />
<LinearLayout
android:id="@+id/ll_agreement"
......@@ -155,15 +145,13 @@
android:layout_below="@id/btn_login"
android:layout_centerInParent="true"
android:layout_marginTop="@dimen/size_login_hint_mt"
android:orientation="horizontal"
>
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login_agreement"
android:textSize="11sp"
/>
android:textSize="11sp" />
<TextView
android:id="@+id/tv_agreement"
......@@ -172,8 +160,7 @@
android:onClick="@{() ->presenter.dumpAgreement()}"
android:text="@string/agreement_detail"
android:textColor="@color/cl_receiving_order_item_data"
android:textSize="11sp"
/>
android:textSize="11sp" />
</LinearLayout>
......@@ -185,7 +172,6 @@
android:layout_marginTop="@dimen/size_login_hint_mt"
android:text="@string/tv_login_register_text"
android:textColor="@color/cl_text"
android:textSize="@dimen/size_login_hint_text"
/>
android:textSize="@dimen/size_login_hint_text" />
</RelativeLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cl_home_listview_bg"
......@@ -10,17 +9,31 @@
<RelativeLayout
style="@style/title"
>
style="@style/title">
<TextView
android:id="@+id/text_title"
style="@style/text_title"
android:text="@string/tv_message"
/>
android:text="@string/tv_message" />
</RelativeLayout>
<!--<android.support.v7.widget.Toolbar-->
<!--android:id="@+id/toolbar"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="?attr/actionBarSize"-->
<!--android:background="@color/cl_white">-->
<!--<TextView-->
<!--android:id="@+id/tv_title"-->
<!--style="@style/text_title"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="center"-->
<!--android:text="系统通知" />-->
<!--</android.support.v7.widget.Toolbar>-->
<android.support.design.widget.TabLayout
android:id="@+id/tb_message"
android:layout_width="match_parent"
......@@ -31,18 +44,14 @@
app:tabMode="fixed"
app:tabSelectedTextColor="@color/cl_receiving_order_item_data"
app:tabTextAppearance="@style/TabLayoutTextStyle"
app:tabTextColor="@color/cl_tab_line"
/>
app:tabTextColor="@color/cl_tab_line" />
<ImageView
style="@style/card_line"
/>
<ImageView style="@style/card_line" />
<android.support.v4.view.ViewPager
android:id="@+id/vp_message"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/cl_home_listview_bg"/>
android:background="@color/cl_home_listview_bg" />
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
......@@ -12,15 +12,14 @@
type="com.dayu.bigfish.bean.Order"/>
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_13.3"
android:layout_marginRight="@dimen/dp_13.3"
android:layout_marginTop="5dp"
android:background="@drawable/item_shape"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_13.3"
android:layout_marginRight="@dimen/dp_13.3"
android:layout_marginTop="5dp"
android:background="@drawable/item_shape"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cl_home_listview_bg"
>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/sp_refersh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f5f5f5"
/>
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="presenter"
type="com.dayu.bigfish.presenter.message.messagePresenter" />
</data>
<com.dayu.bigfish.ui.views.LRecyclerView
android:id="@+id/l_recycle"
setDatas="@{presenter.data}"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:itemType="@layout/item_message_layout"
android:background="#f5f5f5"
app:needCoreAdapter="true"
/>
app:itemType="@layout/item_message_layout"
app:needCoreAdapter="true" />
</layout>
\ No newline at end of file
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