Commit b14540cc by 罗翻

android 框架改版

parent b46bcea8
Showing with 822 additions and 0 deletions
package com.dayu.bigfish.presenter.homefirsttab;
import com.dayu.bigfish.base.BaseModel;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
/**
* Created by luo on 2016/8/4.
*/
public interface HomeFirstContract {
interface Model extends BaseModel {
}
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<Model, View> {
}
}
package com.dayu.bigfish.presenter.homefirsttab;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeFirstModel implements HomeFirstContract.Model {
}
package com.dayu.bigfish.presenter.homefirsttab;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeFirstPresenter extends HomeFirstContract.Presenter {
@Override
public void onStart() {
}
}
package com.dayu.bigfish.presenter.homefourtab;
import com.dayu.bigfish.base.BaseModel;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.bean.AlipayInfo;
import com.dayu.bigfish.bean.EngineerInfo;
import com.dayu.bigfish.bean.OrderRecord;
import com.dayu.bigfish.bean.TodayAchievement;
import com.dayu.bigfish.bean.TodayBalance;
import io.reactivex.Observable;
/**
* Created by luo on 2016/8/4.
*/
public interface HomeFourContract {
interface Model extends BaseModel {
// Observable<EngineerInfo> getPersonalInfo(int userId);
//
// Observable<TodayAchievement> getAchievement(int siteId, int userId);
//
// Observable<OrderRecord> getOrderRecord(int siteId, int userId);
//
// Observable<TodayBalance> getAcountBalance(int accountId);
//
Observable<AlipayInfo> getAlipayAccount(int accountId);
Observable<Object> getAllData(int accountId, int siteId);
}
interface View extends BaseView {
void getPersonalInfoSuccess(EngineerInfo info);
void getAchievementSuccess(TodayAchievement achievement);
void getOrderRecordSuccess(OrderRecord record);
void getAccountBalanceSuccess(TodayBalance todayBalance);
void getAlipayAccountSuccess(AlipayInfo info);
}
abstract class Presenter extends BasePresenter<HomeFourContract.Model, HomeFourContract.View> {
// //获取个人信息
// public abstract void getPersonalInfo(int userId);
//
// //获取工程师今日业绩
// public abstract void getAchievement(int siteId, int userId);
//
// //获取累计业绩,工单记录
// public abstract void getOrderRecord(int siteId, int userId);
//
// //账户余额
// public abstract void getAcountBalance(int accountId);
//
//获取工程师的alipayAcccount
public abstract void getAlipayAccount(int accountId);
public abstract void getAllData(int userId, int siteId);
}
}
package com.dayu.bigfish.presenter.homefourtab;
import com.dayu.bigfish.api.ApiWrapper;
import com.dayu.bigfish.bean.AlipayInfo;
import io.reactivex.Observable;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeFourModel implements HomeFourContract.Model {
ApiWrapper mWrapper = new ApiWrapper();
// @Override
// public Observable<EngineerInfo> getPersonalInfo(int userId) {
// return mWrapper.getEngineerInfo(userId);
// }
//
// @Override
// public Observable<TodayAchievement> getAchievement(int siteId, int userId) {
// return mWrapper.getAchievement(siteId, userId);
// }
//
// @Override
// public Observable<OrderRecord> getOrderRecord(int siteId, int userId) {
// return mWrapper.getOrderRecord(siteId, userId);
// }
//
// @Override
// public Observable<TodayBalance> getAcountBalance(int accountId) {
// return mWrapper.getTodayBalance(accountId);
// }
//
@Override
public Observable<AlipayInfo> getAlipayAccount(int accountId) {
return mWrapper.queryAlipay(accountId);
}
@Override
public Observable<Object> getAllData(int accountId, int siteId) {
// Observable[] observableArray = new Observable[]{mWrapper.getEngineerInfo(accountId), mWrapper.getAchievement(siteId, accountId),
// mWrapper.getOrderRecord(siteId, accountId), mWrapper.getTodayBalance(accountId)
// , mWrapper.getTodayBalance(accountId)};
return Observable.mergeDelayError(mWrapper.getEngineerInfo(accountId), mWrapper.getAchievement(siteId, accountId),
mWrapper.getOrderRecord(siteId, accountId), mWrapper.getTodayBalance(accountId));
}
}
package com.dayu.bigfish.presenter.homefourtab;
import com.dayu.bigfish.bean.AlipayInfo;
import com.dayu.bigfish.bean.EngineerInfo;
import com.dayu.bigfish.bean.OrderRecord;
import com.dayu.bigfish.bean.TodayAchievement;
import com.dayu.bigfish.bean.TodayBalance;
import io.reactivex.functions.Consumer;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeFourPresenter extends HomeFourContract.Presenter {
@Override
public void onStart() {
}
@Override
public void getAlipayAccount(int accountId) {
mModel.getAlipayAccount(accountId).subscribe(baseObserver(new Consumer<AlipayInfo>() {
@Override
public void accept(AlipayInfo info) throws Exception {
mView.getAlipayAccountSuccess(info);
}
}));
}
@Override
public void getAllData(int userId, int siteId) {
mModel.getAllData(userId, siteId).subscribe(baseObserver(new Consumer<Object>() {
@Override
public void accept(Object o) throws Exception {
if (o instanceof EngineerInfo) {
mView.getPersonalInfoSuccess((EngineerInfo) o);
} else if (o instanceof TodayAchievement) {
mView.getAchievementSuccess((TodayAchievement) o);
} else if (o instanceof OrderRecord) {
mView.getOrderRecordSuccess((OrderRecord) o);
} else if (o instanceof TodayBalance) {
mView.getAccountBalanceSuccess((TodayBalance) o);
}
}
}));
}
}
package com.dayu.bigfish.presenter.homesecondtab;
import com.dayu.bigfish.base.BaseModel;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.bean.Tab;
import io.reactivex.Observable;
/**
* Created by luo on 2016/8/4.
*/
public interface HomeSecondContract {
interface Model extends BaseModel {
Observable<Tab> getTabNum(int userId);
}
interface View extends BaseView {
void getTabNumSuccess(Tab tab);
}
abstract class Presenter extends BasePresenter<Model, View> {
public abstract void getTabNum(int userId);
}
}
package com.dayu.bigfish.presenter.homesecondtab;
import com.dayu.bigfish.api.ApiWrapper;
import com.dayu.bigfish.bean.Tab;
import io.reactivex.Observable;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeSecondModel implements HomeSecondContract.Model {
ApiWrapper mWrapper = new ApiWrapper();
@Override
public Observable<Tab> getTabNum(int userId) {
return mWrapper.getTabNum(userId);
}
}
package com.dayu.bigfish.presenter.homesecondtab;
import com.dayu.bigfish.bean.Tab;
import io.reactivex.functions.Consumer;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeSecondPresenter extends HomeSecondContract.Presenter {
@Override
public void onStart() {
}
@Override
public void getTabNum(int userId) {
mModel.getTabNum(userId).subscribe(baseObserver(new Consumer<Tab>() {
@Override
public void accept(Tab tab) throws Exception {
mView.getTabNumSuccess(tab);
}
}));
}
}
package com.dayu.bigfish.presenter.homethiirdtab;
import com.dayu.bigfish.base.BaseModel;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
/**
* Created by luo on 2016/8/4.
*/
public interface HomeThirdContract {
interface Model extends BaseModel {
}
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<Model, View> {
}
}
package com.dayu.bigfish.presenter.homethiirdtab;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeThirdModel implements HomeThirdContract.Model {
}
package com.dayu.bigfish.presenter.homethiirdtab;
/**
* Created by luofan on 2017/11/8.
*/
public class HomeThirdPresenter extends HomeThirdContract.Presenter {
@Override
public void onStart() {
}
}
package com.dayu.bigfish.presenter.main;
import com.dayu.bigfish.base.BaseModel;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.VersionInfo;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* Created by luo on 2016/8/4.
*/
public interface MainContract {
interface Model extends BaseModel {
Observable<String> getNewVersion();
Observable<VersionInfo> upgradeVersion(String appId, String versionCode);
Observable<Boolean> commitVersionInfo(RequestBody body);
Observable<BasePageBean<Order>> getReceiveOrder(int state, int pagerId, int pagerSize, int siteId, int userId);
}
interface View extends BaseView {
void needUpdate(String versionCode);
void noNeedUpdate();
void getUpgradeVersionSuccess(VersionInfo info);
void commitVersionInfoSuccess();
void getReceiveOrderSuccess(BasePageBean<Order> orders);
}
abstract class Presenter extends BasePresenter<Model, View> {
public abstract void getNewVersion(String version);
public abstract void upgradeVersion(String appId, String versionCode);
public abstract void commitVersionInfo(int accoutId, String imei, String platform, String versionCode);
public abstract void getReceiveOrder(int state, int pagerId, int pagerSize, int siteId, int userId);
}
}
package com.dayu.bigfish.presenter.main;
import com.dayu.bigfish.api.ApiWrapper;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.VersionInfo;
import io.reactivex.Observable;
import okhttp3.RequestBody;
/**
* Created by luofan on 2017/11/8.
*/
public class MainModel implements MainContract.Model {
ApiWrapper mApiWrapper = new ApiWrapper();
@Override
public Observable<String> getNewVersion() {
return mApiWrapper.CheckVersion();
}
@Override
public Observable<VersionInfo> upgradeVersion(String appId, String versionCode) {
return mApiWrapper.getVersionInfo(appId, versionCode);
}
@Override
public Observable<Boolean> commitVersionInfo(RequestBody body) {
return mApiWrapper.commitVersionInfo(body);
}
@Override
public Observable<BasePageBean<Order>> getReceiveOrder(int state, int pagerId, int pagerSize, int siteId, int userId) {
return mApiWrapper.getReceiveOrders(state, pagerId, pagerSize, siteId, userId);
}
}
package com.dayu.bigfish.presenter.main;
import com.dayu.bigfish.Constants;
import com.dayu.bigfish.base.BasePageBean;
import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.VersionInfo;
import com.dayu.bigfish.utils.SPUtils;
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.
*/
public class MainPresenter extends MainContract.Presenter {
@Override
public void onStart() {
}
@Override
public void getNewVersion(String version) {
mModel.getNewVersion().subscribe(baseObserver(new Consumer<String>() {
@Override
public void accept(String s) throws Exception {
if (!version.equals(s)) {
mView.needUpdate(s);
} else {
mView.noNeedUpdate();
}
}
}));
}
@Override
public void upgradeVersion(String appId, String versionCode) {
mModel.upgradeVersion(appId, versionCode).safeSubscribe(baseObserver(new Consumer<VersionInfo>() {
@Override
public void accept(VersionInfo info) throws Exception {
mView.getUpgradeVersionSuccess(info);
}
}));
}
@Override
public void commitVersionInfo(int accoutId, String imei, String platform, String versionCode) {
if (SPUtils.get(mContext, Constants.OLD_PAKAGENUM, "").equals(mContext.getPackageName())) {
return;
}
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("accountId", accoutId);
jsonObject.put("imei", imei);
jsonObject.put("platform", platform);
jsonObject.put("versionCode", versionCode);
} catch (JSONException e) {
e.printStackTrace();
}
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
mModel.commitVersionInfo(requestBody).subscribe(baseObserver(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
mView.commitVersionInfoSuccess();
}
}));
}
@Override
public void getReceiveOrder(int state, int pagerId, int pagerSize, int siteId, int userId) {
mModel.getReceiveOrder(state, pagerId, pagerSize, siteId, userId).subscribe(baseObserver(new Consumer<BasePageBean<Order>>() {
@Override
public void accept(BasePageBean<Order> orders) throws Exception {
mView.getReceiveOrderSuccess(orders);
}
}));
}
}
package com.dayu.bigfish.rxbus;
/**
* 刷新待结单数量.
* on 2017/10/11.
*/
public class RefreshReceivingNum {
private int num;
public RefreshReceivingNum(int num) {
this.num = num;
}
public int getTabNum() {
return num;
}
public void setTabNum(int num) {
this.num = num;
}
}
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;
import com.dayu.bigfish.presenter.homefirsttab.HomeFirstContract;
import com.dayu.bigfish.presenter.homefirsttab.HomeFirstModel;
import com.dayu.bigfish.presenter.homefirsttab.HomeFirstPresenter;
/**
* Created by luofan on 2017/11/20.
*/
public class HomeFirstTabFragment extends BaseFragment<HomeFirstPresenter, HomeFirstModel> implements HomeFirstContract.View {
public static HomeFirstTabFragment newInstance() {
Bundle args = new Bundle();
HomeFirstTabFragment fragment = new HomeFirstTabFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public View initView(View view) {
return view;
}
@Override
public int getLayoutId() {
return R.layout.fragment_first;
}
@Override
protected void lazyLoad() {
}
}
package com.dayu.bigfish.ui.fragment;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.View;
import com.dayu.bigfish.R;
import com.dayu.bigfish.adapter.FragmentOrderAdapter;
import com.dayu.bigfish.base.BaseFragment;
import com.dayu.bigfish.presenter.homethiirdtab.HomeThirdContract;
import com.dayu.bigfish.presenter.homethiirdtab.HomeThirdModel;
import com.dayu.bigfish.presenter.homethiirdtab.HomeThirdPresenter;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
/**
* Created by luofan on 2017/11/20.
*/
public class HomeMessageTabFragment extends BaseFragment<HomeThirdPresenter, HomeThirdModel> implements HomeThirdContract.View {
@BindView(R.id.message_tablayout)
TabLayout messageTablayout;
@BindView(R.id.message_view_pager)
ViewPager messageViewPager;
private List<Fragment> list;
private FragmentOrderAdapter fragmentAdapter;
public static HomeMessageTabFragment newInstance() {
Bundle args = new Bundle();
HomeMessageTabFragment fragment = new HomeMessageTabFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public View initView(View view) {
initData();
return view;
}
@Override
public int getLayoutId() {
return R.layout.activity_message;
}
@Override
protected void lazyLoad() {
}
public void initData() {
list = new ArrayList<>();
list.add(new SystemMessageFragment());
list.add(new BigFishMessageFragment());
fragmentAdapter = new FragmentOrderAdapter(getActivity().getSupportFragmentManager(), list);
messageViewPager.setAdapter(fragmentAdapter);
messageTablayout.setupWithViewPager(messageViewPager);
messageTablayout.removeAllTabs();
messageTablayout.addTab(messageTablayout.newTab().setText("系统通知"));
messageTablayout.addTab(messageTablayout.newTab().setText("大鱼通知"));
messageTablayout.setTabMode(TabLayout.MODE_FIXED);
}
}
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp"/>
<solid android:color="@color/cl_receiving_order_item_data"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/img_tab_day_selected" android:state_selected="true"/>
<item android:drawable="@mipmap/img_tab_day"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/img_tab_person_selected" android:state_selected="true"/>
<item android:drawable="@mipmap/img_tab_person"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/img_tab_order_selected" android:state_selected="true"/>
<item android:drawable="@mipmap/img_tab_order"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/img_tab_message_selected" android:state_selected="true"/>
<item android:drawable="@mipmap/img_tab_message"/>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<LinearLayout
android:id="@+id/ll_tab"
android:layout_width="match_parent"
android:layout_height="53.3dp"
android:layout_gravity="bottom"
android:background="@color/cl_home_listview_bg"
android:orientation="horizontal"
>
<TextView
android:id="@+id/tab_first"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:drawablePadding="2dp"
android:drawableTop="@drawable/tab_first_selector"
android:gravity="center"
android:text="日程"
android:textColor="#585858"
android:textSize="10sp"
/>
<TextView
android:id="@+id/tab_second"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:drawablePadding="2dp"
android:drawableTop="@drawable/tab_second_selector"
android:gravity="center"
android:text="工单"
android:textColor="#585858"
android:textSize="10sp"
/>
<LinearLayout
android:id="@+id/tab_get_order"
android:layout_width="0dp"
android:layout_height="42dp"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@drawable/tab_blue_react"
android:gravity="center"
android:orientation="vertical"
>
<TextView
android:id="@+id/tab_order_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/white"
android:textSize="16.7sp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="接单"
android:textColor="@color/white"
android:textSize="10sp"
/>
</LinearLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:gravity="center"
>
<TextView
android:id="@+id/tab_third"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="2dp"
android:drawableTop="@drawable/tab_third_selector"
android:gravity="center"
android:text="消息"
android:textColor="#585858"
android:textSize="10sp"
/>
<ImageView
android:id="@+id/iv_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@id/tab_third"
android:layout_alignParentTop="true"
android:layout_alignRight="@id/tab_third"
android:src="@mipmap/renwu_numbg"
android:visibility="visible"/>
</RelativeLayout>
<TextView
android:id="@+id/tab_four"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:drawablePadding="2dp"
android:drawableTop="@drawable/tab_four_selector"
android:gravity="center"
android:text="我的"
android:textColor="#585858"
android:textSize="10sp"
/>
</LinearLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="53.3dp"
android:background="@drawable/actionbar_shadow_up"/>
</FrameLayout>
\ No newline at end of file
<?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
style="@style/text_title"
android:text="日程"
/>
</RelativeLayout>
<ImageView
android:id="@+id/image_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="150dp"
android:src="@mipmap/yu"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_13"
android:text="暂无工单"
android:textColor="@color/cl_selector_hui"
android:textSize="@dimen/sp_13.3"
/>
</LinearLayout>
\ 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