From 9f536b6bdfc9fc1c41f2fd2bfad5ccb281285f87 Mon Sep 17 00:00:00 2001 From: jianbo <263303411@qq.com> Date: Fri, 14 Aug 2020 18:20:31 +0800 Subject: [PATCH] d --- .../seven/ExampleInstrumentedTest.java | 26 -- .../seven/main/Fragment/MoFragment.java | 4 +- .../seven/main/Fragment/XikeInfoFragment.java | 4 +- .../seven/main/activity/Main2Activity.java | 2 +- .../seven/main/activity/MainActivity.java | 19 +- .../seven/main/kehu/CustomerFragment.java | 222 +++++------------ .../seven/main/kehu/DealFragment.java | 224 +++++------------- .../seven/main/kehu/DistriFragment.java | 91 +++++++ ...{TrackFragment.java => MobanFragment.java} | 96 +++----- .../seven/main/kehu/TraceFragment.java | 32 +-- .../main/kehu/adapter/CusListAdapter.java | 29 +++ .../main/kehu/adapter/DeaListAdapter.java | 29 +++ .../main/kehu/adapter/DisListAdapter.java | 29 +++ app/src/main/res/drawable/shape_deal.xml | 10 + app/src/main/res/drawable/share_tv_cus.xml | 7 + app/src/main/res/layout/cuslist_item.xml | 119 ++++++++++ app/src/main/res/layout/dealist_item.xml | 83 +++++++ app/src/main/res/layout/disliat_item.xml | 57 +++++ app/src/main/res/layout/fragment_kehu.xml | 13 +- app/src/main/res/layout/kehumobanfragment.xml | 25 ++ app/src/main/res/mipmap-hdpi/icon_cus_new.png | Bin 0 -> 1447 bytes app/src/main/res/mipmap-mdpi/icon_cus_new.png | Bin 0 -> 854 bytes .../main/res/mipmap-xhdpi/icon_cus_new.png | Bin 0 -> 1869 bytes .../main/res/mipmap-xhdpi/marking_sousuo.png | Bin 0 -> 1324 bytes .../main/res/mipmap-xxhdpi/icon_cus_new.png | Bin 0 -> 4003 bytes .../main/res/mipmap-xxhdpi/marking_sousuo.png | Bin 0 -> 1577 bytes .../main/res/mipmap-xxxhdpi/icon_cus_new.png | Bin 0 -> 3880 bytes .../res/mipmap-xxxhdpi/marking_sousuo.png | Bin 0 -> 1804 bytes app/src/main/res/values/strings.xml | 2 +- 29 files changed, 665 insertions(+), 458 deletions(-) delete mode 100644 app/src/androidTest/java/com/example/administrator/seven/ExampleInstrumentedTest.java create mode 100644 app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java rename app/src/main/java/com/example/administrator/seven/main/kehu/{TrackFragment.java => MobanFragment.java} (63%) create mode 100644 app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java create mode 100644 app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DeaListAdapter.java create mode 100644 app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DisListAdapter.java create mode 100644 app/src/main/res/drawable/shape_deal.xml create mode 100644 app/src/main/res/drawable/share_tv_cus.xml create mode 100644 app/src/main/res/layout/cuslist_item.xml create mode 100644 app/src/main/res/layout/dealist_item.xml create mode 100644 app/src/main/res/layout/disliat_item.xml create mode 100644 app/src/main/res/layout/kehumobanfragment.xml create mode 100644 app/src/main/res/mipmap-hdpi/icon_cus_new.png create mode 100644 app/src/main/res/mipmap-mdpi/icon_cus_new.png create mode 100644 app/src/main/res/mipmap-xhdpi/icon_cus_new.png create mode 100644 app/src/main/res/mipmap-xhdpi/marking_sousuo.png create mode 100644 app/src/main/res/mipmap-xxhdpi/icon_cus_new.png create mode 100644 app/src/main/res/mipmap-xxhdpi/marking_sousuo.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/icon_cus_new.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/marking_sousuo.png diff --git a/app/src/androidTest/java/com/example/administrator/seven/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/administrator/seven/ExampleInstrumentedTest.java deleted file mode 100644 index 19a9957..0000000 --- a/app/src/androidTest/java/com/example/administrator/seven/ExampleInstrumentedTest.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.example.administrator.seven; - -import android.content.Context; -import androidx.test.platform.app.InstrumentationRegistry; -import androidx.test.ext.junit.runners.AndroidJUnit4; - -import org.junit.jupiter.api.Test; -import org.junit.runner.RunWith; - -import static org.junit.Assert.*; - -/** - * Instrumented test, which will execute on an Android device. - * - * @see Testing documentation - */ -@RunWith(AndroidJUnit4.class) -public class ExampleInstrumentedTest { - @Test - public void useAppContext() { - // Context of the app under test. - Context appContext = InstrumentationRegistry.getTargetContext(); - - assertEquals("com.example.administrator.newjiajiesone", appContext.getPackageName()); - } -} diff --git a/app/src/main/java/com/example/administrator/seven/main/Fragment/MoFragment.java b/app/src/main/java/com/example/administrator/seven/main/Fragment/MoFragment.java index 2821cf4..e5948df 100644 --- a/app/src/main/java/com/example/administrator/seven/main/Fragment/MoFragment.java +++ b/app/src/main/java/com/example/administrator/seven/main/Fragment/MoFragment.java @@ -45,8 +45,8 @@ public abstract class MoFragment extends BaseFragment { private RelativeLayout rl_top; private RelativeLayout layTop_left_tv; - public MoFragment(Savaselect savaselect) { - this.savaselectbean = savaselect; + public MoFragment() { + } public BaseQuickAdapter markingtwoAdapter; public void sendMessage() { diff --git a/app/src/main/java/com/example/administrator/seven/main/Fragment/XikeInfoFragment.java b/app/src/main/java/com/example/administrator/seven/main/Fragment/XikeInfoFragment.java index c4b6f85..db76da7 100644 --- a/app/src/main/java/com/example/administrator/seven/main/Fragment/XikeInfoFragment.java +++ b/app/src/main/java/com/example/administrator/seven/main/Fragment/XikeInfoFragment.java @@ -29,8 +29,8 @@ public class XikeInfoFragment extends MoFragment { private TextView xike_01; private String xike; - public XikeInfoFragment(Savaselect savaselect) { - super(savaselect); + public XikeInfoFragment() { + super(); } @Override diff --git a/app/src/main/java/com/example/administrator/seven/main/activity/Main2Activity.java b/app/src/main/java/com/example/administrator/seven/main/activity/Main2Activity.java index 9791f85..c78a12c 100644 --- a/app/src/main/java/com/example/administrator/seven/main/activity/Main2Activity.java +++ b/app/src/main/java/com/example/administrator/seven/main/activity/Main2Activity.java @@ -14,7 +14,7 @@ public class Main2Activity extends BaseActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); - getSupportFragmentManager().beginTransaction().replace(R.id.container,new XikeInfoFragment(new Savaselect())).commit(); + getSupportFragmentManager().beginTransaction().replace(R.id.container,new XikeInfoFragment()).commit(); } } diff --git a/app/src/main/java/com/example/administrator/seven/main/activity/MainActivity.java b/app/src/main/java/com/example/administrator/seven/main/activity/MainActivity.java index 686e7d4..728df77 100644 --- a/app/src/main/java/com/example/administrator/seven/main/activity/MainActivity.java +++ b/app/src/main/java/com/example/administrator/seven/main/activity/MainActivity.java @@ -10,6 +10,7 @@ import android.widget.TextView; import com.example.administrator.seven.R; import com.example.administrator.seven.base.BaseActivity; +import com.example.administrator.seven.main.kehu.TraceFragment; import com.example.administrator.seven.main.task.HomeFragment; import com.example.administrator.seven.main.find.MapFragment; import com.example.administrator.seven.main.my.MyFragment; @@ -46,7 +47,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener{ private HomeFragment mHomeFragment; private SendFragment mSendFragment; - private MapFragment mMapFragment; + private TraceFragment traceFragment; private MyFragment mMineFragment; private Fragment mCurrent; @@ -106,7 +107,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener{ hideFragment(mSendFragment, fragmentTransaction); - hideFragment(mMapFragment, fragmentTransaction); + hideFragment(traceFragment, fragmentTransaction); hideFragment(mMineFragment, fragmentTransaction); if (mHomeFragment == null) { fragmentTransaction.add(R.id.content_layout, mHomeFragment); @@ -128,7 +129,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener{ hideFragment(mHomeFragment, fragmentTransaction); - hideFragment(mMapFragment, fragmentTransaction); + hideFragment(traceFragment, fragmentTransaction); hideFragment(mMineFragment, fragmentTransaction); if (mSendFragment == null) { mSendFragment = new SendFragment(); @@ -153,12 +154,12 @@ public class MainActivity extends BaseActivity implements View.OnClickListener{ hideFragment(mHomeFragment, fragmentTransaction); hideFragment(mSendFragment, fragmentTransaction); hideFragment(mMineFragment, fragmentTransaction); - if (mMapFragment == null) { - mMapFragment = new MapFragment(); - fragmentTransaction.add(R.id.content_layout, mMapFragment); + if (traceFragment == null) { + traceFragment = new TraceFragment(); + fragmentTransaction.add(R.id.content_layout, traceFragment); } else { - mCurrent = mMapFragment; - fragmentTransaction.show(mMapFragment); + mCurrent = traceFragment; + fragmentTransaction.show(traceFragment); } break; case R.id.rl_mine: @@ -175,7 +176,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener{ hideFragment(mHomeFragment, fragmentTransaction); hideFragment(mSendFragment, fragmentTransaction); - hideFragment(mMapFragment, fragmentTransaction); + hideFragment(traceFragment, fragmentTransaction); if (mMineFragment == null) { mMineFragment = new MyFragment(); fragmentTransaction.add(R.id.content_layout, mMineFragment); diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java index aeea6bc..3dd7136 100644 --- a/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java @@ -1,196 +1,90 @@ package com.example.administrator.seven.main.kehu; -import android.annotation.SuppressLint; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.example.administrator.seven.R; -import com.example.administrator.seven.main.entity.Savaselect; -import com.example.administrator.seven.main.kehu.adapter.MarkingTwoAdapter; -import com.example.administrator.seven.test.BaseFragment; +import com.example.administrator.seven.JsonUtils; +import com.example.administrator.seven.main.adapter.mine.XikeInfoAdapter; +import com.example.administrator.seven.main.entity.XikeInfoBean; +import com.example.administrator.seven.main.kehu.adapter.CusListAdapter; +import com.example.administrator.seven.okgonet.NetApi; +import com.example.administrator.seven.okgonet.Observer; +import com.lzy.okgo.model.Response; +import java.util.ArrayList; import java.util.List; import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; /** - * 功能:已流失 - * 返回值:空 - * 时间:2017/7/17/017 14:52 + * 客户列表 */ -@SuppressLint("ValidFragment") -public class CustomerFragment extends BaseFragment { - public static final String ARG_PAGE = "ARG_PAGE"; - private boolean IS_LOADED = false; +public class CustomerFragment extends MobanFragment { + private static int mSerial = 0; private int mTabPos = 0; - private boolean isFirst = true; - @SuppressLint("HandlerLeak") - private Handler handler = new Handler() { - public void handleMessage(Message msg) { - Log.e("tag", "IS_LOADED=" + IS_LOADED); - if (!IS_LOADED) { - IS_LOADED = true; - //请求我的客户已流失数据 - requestmakingyiliushidata("2", "", true); - } - return; - } - - ; - }; - private MarkingTwoAdapter markingtwoAdapter; - private Savaselect savaselectbean; - - public CustomerFragment(int serial, Savaselect savaselect) { + public CustomerFragment(int serial) { + super(); mSerial = serial; - this.savaselectbean = savaselect; } - - public void sendMessage() { - Message message = handler.obtainMessage(); - message.sendToTarget(); - } - public void setTabPos(int mTabPos) { this.mTabPos = mTabPos; } - - private String uid; - private RecyclerView mMarkingFragmentRecyclerView; - private SwipeRefreshLayout mSwl; - private int mNextRequestPage = 1; - private static final int PAGE_SIZE = 10; - View view; - private View notDataView; - private View errorView; - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mContext = getActivity(); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (view != null) { - ViewGroup parent = (ViewGroup) view.getParent(); - if (parent != null) { - parent.removeView(view); - } - return view; - } - // uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, ""); - view = inflater.inflate(R.layout.criclefragmenttwo, container, false); - initView(view); - //设置页和当前页一致时加载,防止预加载 - if (isFirst && mTabPos == mSerial) { - isFirst = false; - sendMessage(); - } - return view; - } - - private void initView(View mContentView) { - - mMarkingFragmentRecyclerView = (RecyclerView) view.findViewById(R.id.marking_fragment_recyclerView); - mSwl = mContentView.findViewById(R.id.srl); - notDataView = getActivity().getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false); - notDataView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // refresh("1"); - } - }); - errorView = getActivity().getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false); - errorView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // onRefresh(); - } - }); - - } - - public void sendMessagetwo() { - requestmakingyiliushidata("2", "", true); - } - - public void requestmakingyiliushidata(String type, String key, Boolean show) { - initAdapter("2", ""); - initRefreshLayout("2", ""); - mSwl.setRefreshing(true); - refresh("2", ""); - } - - private void initAdapter(final String type, final String key) { + public void initAdapter() { mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); - markingtwoAdapter = new MarkingTwoAdapter(mContext, null); - markingtwoAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { - @Override - public void onLoadMoreRequested() { - loadMore(type, key); - } - }); + CusListAdapter markingtwoAdapter = new CusListAdapter(mContext, null); + getAdpter(markingtwoAdapter); mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter); - } - private void initRefreshLayout(final String type, final String key) { - mSwl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void requestData() { + new NetApi().xikeInfo("b886798bdce09746a787651013f2c6e6").subscribe(new Observer() { @Override - public void onRefresh() { - refresh(type, key); + public void onNext(Response response) { + String body = (String) response.body(); + XikeInfoBean.ResultBean esdv = JsonUtils.fromJson(body, XikeInfoBean.class).getResult(); + mSwl.setRefreshing(false); + if (esdv != null && String.valueOf(esdv.getSuccess()).equals("0")) { + + // List data = esdv.getData(); + + + List data = new ArrayList(); + for (int i = 0; i < 20; i++) + { + XikeInfoBean.ResultBean.DataBean dataBean = new XikeInfoBean.ResultBean.DataBean(); + dataBean.setTime("2020-07-01 12:00:00"); + dataBean.setXike_num("+89.00"); + dataBean.setXike_remark("收益账户转入"); + data.add(dataBean); + } + + if (data.size() == 0) { + //markingtwoAdapter.setEmptyView(notDataView); + return; + } + if (mNextRequestPage == 1) { + setData(true, data); + } else { + setData(false, data); + } + } else { + setData(true, null); + markingtwoAdapter.setEmptyView(notDataView); + mSwl.setRefreshing(false); + } + } + @Override + public void onError(Exception e) { + e.printStackTrace(); + markingtwoAdapter.setEmptyView(errorView); + mSwl.setRefreshing(false); } }); - } - - private void refresh(String type, String key) { - mNextRequestPage = 1; - markingtwoAdapter.setEnableLoadMore(false);//这里的作用是防止下拉刷新的时候还可以上拉加载 - requestmakingyiliushitwo(); - } - - private void loadMore(String type, String key) { - requestmakingyiliushitwo(); - } - - private void setData(boolean isRefresh, List data) { - mNextRequestPage++; - final int size = data == null ? 0 : data.size(); - if (isRefresh) { - markingtwoAdapter.setNewData(data); - } else { - if (size > 0) { - markingtwoAdapter.addData(data); - } - } - if (size < PAGE_SIZE) { - //第一页如果不够一页就不显示没有更多数据布局 - markingtwoAdapter.loadMoreEnd(isRefresh); - } else { - markingtwoAdapter.loadMoreComplete(); - } - } - - - public void requestmakingyiliushitwo() { - } - @Override public void onDestroy() { super.onDestroy(); - } } diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java index 2c8feb5..91ea803 100644 --- a/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java @@ -1,196 +1,92 @@ package com.example.administrator.seven.main.kehu; -import android.annotation.SuppressLint; -import android.os.Bundle; -import android.os.Handler; -import android.os.Message; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.example.administrator.seven.R; -import com.example.administrator.seven.main.entity.Savaselect; -import com.example.administrator.seven.main.kehu.adapter.MarkingTwoAdapter; -import com.example.administrator.seven.test.BaseFragment; +import com.example.administrator.seven.JsonUtils; +import com.example.administrator.seven.main.adapter.mine.XikeInfoAdapter; +import com.example.administrator.seven.main.entity.XikeInfoBean; +import com.example.administrator.seven.main.kehu.adapter.DeaListAdapter; +import com.example.administrator.seven.okgonet.NetApi; +import com.example.administrator.seven.okgonet.Observer; +import com.lzy.okgo.model.Response; +import java.util.ArrayList; import java.util.List; import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; /** - * 功能:已流失 - * 返回值:空 - * 时间:2017/7/17/017 14:52 + * 成交列表 */ -@SuppressLint("ValidFragment") -public class DealFragment extends BaseFragment { - public static final String ARG_PAGE = "ARG_PAGE"; - private boolean IS_LOADED = false; + +public class DealFragment extends MobanFragment { + private static int mSerial = 0; private int mTabPos = 0; - private boolean isFirst = true; - @SuppressLint("HandlerLeak") - private Handler handler = new Handler() { - public void handleMessage(Message msg) { - Log.e("tag", "IS_LOADED=" + IS_LOADED); - if (!IS_LOADED) { - IS_LOADED = true; - //请求我的客户已流失数据 - requestmakingyiliushidata("2", "", true); - } - return; - } - - ; - }; - private MarkingTwoAdapter markingtwoAdapter; - private Savaselect savaselectbean; - - public DealFragment(int serial, Savaselect savaselect) { + public DealFragment(int serial) { + super(); mSerial = serial; - this.savaselectbean = savaselect; } - - public void sendMessage() { - Message message = handler.obtainMessage(); - message.sendToTarget(); - } - public void setTabPos(int mTabPos) { this.mTabPos = mTabPos; } - - private String uid; - private RecyclerView mMarkingFragmentRecyclerView; - private SwipeRefreshLayout mSwl; - private int mNextRequestPage = 1; - private static final int PAGE_SIZE = 10; - View view; - private View notDataView; - private View errorView; - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mContext = getActivity(); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - if (view != null) { - ViewGroup parent = (ViewGroup) view.getParent(); - if (parent != null) { - parent.removeView(view); - } - return view; - } - // uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, ""); - view = inflater.inflate(R.layout.criclefragmenttwo, container, false); - initView(view); - //设置页和当前页一致时加载,防止预加载 - if (isFirst && mTabPos == mSerial) { - isFirst = false; - sendMessage(); - } - return view; - } - - private void initView(View mContentView) { - - mMarkingFragmentRecyclerView = (RecyclerView) view.findViewById(R.id.marking_fragment_recyclerView); - mSwl = mContentView.findViewById(R.id.srl); - notDataView = getActivity().getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false); - notDataView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // refresh("1"); - } - }); - errorView = getActivity().getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false); - errorView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // onRefresh(); - } - }); - - } - - public void sendMessagetwo() { - requestmakingyiliushidata("2", "", true); - } - - public void requestmakingyiliushidata(String type, String key, Boolean show) { - initAdapter("2", ""); - initRefreshLayout("2", ""); - mSwl.setRefreshing(true); - refresh("2", ""); - } - - private void initAdapter(final String type, final String key) { + public void initAdapter() { mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); - markingtwoAdapter = new MarkingTwoAdapter(mContext, null); - markingtwoAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { - @Override - public void onLoadMoreRequested() { - loadMore(type, key); - } - }); + DeaListAdapter markingtwoAdapter = new DeaListAdapter(mContext, null); + getAdpter(markingtwoAdapter); mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter); - } - private void initRefreshLayout(final String type, final String key) { - mSwl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void requestData() { + new NetApi().xikeInfo("b886798bdce09746a787651013f2c6e6").subscribe(new Observer() { @Override - public void onRefresh() { - refresh(type, key); + public void onNext(Response response) { + String body = (String) response.body(); + XikeInfoBean.ResultBean esdv = JsonUtils.fromJson(body, XikeInfoBean.class).getResult(); + mSwl.setRefreshing(false); + if (esdv != null && String.valueOf(esdv.getSuccess()).equals("0")) { + + // List data = esdv.getData(); + + + List data = new ArrayList(); + for (int i = 0; i < 20; i++) + { + XikeInfoBean.ResultBean.DataBean dataBean = new XikeInfoBean.ResultBean.DataBean(); + dataBean.setTime("2020-07-01 12:00:00"); + dataBean.setXike_num("+89.00"); + dataBean.setXike_remark("收益账户转入"); + data.add(dataBean); + } + + if (data.size() == 0) { + //markingtwoAdapter.setEmptyView(notDataView); + return; + } + if (mNextRequestPage == 1) { + setData(true, data); + } else { + setData(false, data); + } + } else { + setData(true, null); + markingtwoAdapter.setEmptyView(notDataView); + mSwl.setRefreshing(false); + } + } + @Override + public void onError(Exception e) { + e.printStackTrace(); + markingtwoAdapter.setEmptyView(errorView); + mSwl.setRefreshing(false); } }); - } - - private void refresh(String type, String key) { - mNextRequestPage = 1; - markingtwoAdapter.setEnableLoadMore(false);//这里的作用是防止下拉刷新的时候还可以上拉加载 - requestmakingyiliushitwo(); - } - - private void loadMore(String type, String key) { - requestmakingyiliushitwo(); - } - - private void setData(boolean isRefresh, List data) { - mNextRequestPage++; - final int size = data == null ? 0 : data.size(); - if (isRefresh) { - markingtwoAdapter.setNewData(data); - } else { - if (size > 0) { - markingtwoAdapter.addData(data); - } - } - if (size < PAGE_SIZE) { - //第一页如果不够一页就不显示没有更多数据布局 - markingtwoAdapter.loadMoreEnd(isRefresh); - } else { - markingtwoAdapter.loadMoreComplete(); - } - } - - - public void requestmakingyiliushitwo() { - } - @Override public void onDestroy() { super.onDestroy(); - } } + diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java new file mode 100644 index 0000000..ba25bdc --- /dev/null +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java @@ -0,0 +1,91 @@ +package com.example.administrator.seven.main.kehu; + +import com.example.administrator.seven.JsonUtils; +import com.example.administrator.seven.main.adapter.mine.XikeInfoAdapter; +import com.example.administrator.seven.main.entity.XikeInfoBean; +import com.example.administrator.seven.main.kehu.adapter.DisListAdapter; +import com.example.administrator.seven.okgonet.NetApi; +import com.example.administrator.seven.okgonet.Observer; +import com.lzy.okgo.model.Response; + +import java.util.ArrayList; +import java.util.List; + +import androidx.recyclerview.widget.LinearLayoutManager; + +/** + * 分配列表 + */ +public class DistriFragment extends MobanFragment { + + private static int mSerial = 0; + private int mTabPos = 0; + public DistriFragment(int serial) { + super(); + mSerial = serial; + } + public void setTabPos(int mTabPos) { + this.mTabPos = mTabPos; + } + @Override + public void initAdapter() { + mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); + DisListAdapter markingtwoAdapter = new DisListAdapter(mContext, null); + getAdpter(markingtwoAdapter); + mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter); + } + + @Override + public void requestData() { + new NetApi().xikeInfo("b886798bdce09746a787651013f2c6e6").subscribe(new Observer() { + @Override + public void onNext(Response response) { + String body = (String) response.body(); + XikeInfoBean.ResultBean esdv = JsonUtils.fromJson(body, XikeInfoBean.class).getResult(); + mSwl.setRefreshing(false); + if (esdv != null && String.valueOf(esdv.getSuccess()).equals("0")) { + + // List data = esdv.getData(); + + + List data = new ArrayList(); + for (int i = 0; i < 20; i++) + { + XikeInfoBean.ResultBean.DataBean dataBean = new XikeInfoBean.ResultBean.DataBean(); + dataBean.setTime("2020-07-01 12:00:00"); + dataBean.setXike_num("+89.00"); + dataBean.setXike_remark("收益账户转入"); + data.add(dataBean); + } + + if (data.size() == 0) { + //markingtwoAdapter.setEmptyView(notDataView); + return; + } + if (mNextRequestPage == 1) { + setData(true, data); + } else { + setData(false, data); + } + } else { + setData(true, null); + markingtwoAdapter.setEmptyView(notDataView); + mSwl.setRefreshing(false); + } + } + @Override + public void onError(Exception e) { + e.printStackTrace(); + markingtwoAdapter.setEmptyView(errorView); + mSwl.setRefreshing(false); + } + }); + + } + @Override + public void onDestroy() { + super.onDestroy(); + } + +} + diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/TrackFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/MobanFragment.java similarity index 63% rename from app/src/main/java/com/example/administrator/seven/main/kehu/TrackFragment.java rename to app/src/main/java/com/example/administrator/seven/main/kehu/MobanFragment.java index 19f1fa6..7a2c161 100644 --- a/app/src/main/java/com/example/administrator/seven/main/kehu/TrackFragment.java +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/MobanFragment.java @@ -8,12 +8,13 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.RelativeLayout; +import android.widget.TextView; import com.chad.library.adapter.base.BaseQuickAdapter; import com.example.administrator.seven.R; +import com.example.administrator.seven.base.BaseFragment; import com.example.administrator.seven.main.entity.Savaselect; -import com.example.administrator.seven.main.kehu.adapter.MarkingTwoAdapter; -import com.example.administrator.seven.test.BaseFragment; import java.util.List; @@ -21,17 +22,12 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -/** - * 功能:已流失 - * 返回值:空 - * 时间:2017/7/17/017 14:52 - */ + @SuppressLint("ValidFragment") -public class TrackFragment extends BaseFragment { +public abstract class MobanFragment extends BaseFragment { public static final String ARG_PAGE = "ARG_PAGE"; private boolean IS_LOADED = false; private static int mSerial = 0; - private int mTabPos = 0; private boolean isFirst = true; @SuppressLint("HandlerLeak") private Handler handler = new Handler() { @@ -40,38 +36,34 @@ public class TrackFragment extends BaseFragment { if (!IS_LOADED) { IS_LOADED = true; //请求我的客户已流失数据 - requestmakingyiliushidata("2", "", true); + requesdata(); } return; } - ; }; - private MarkingTwoAdapter markingtwoAdapter; - private Savaselect savaselectbean; + public Savaselect savaselectbean; + private RelativeLayout rl_top; + private RelativeLayout layTop_left_tv; + + public MobanFragment() { - public TrackFragment(int serial, Savaselect savaselect) { - mSerial = serial; - this.savaselectbean = savaselect; } - + public BaseQuickAdapter markingtwoAdapter; public void sendMessage() { Message message = handler.obtainMessage(); message.sendToTarget(); } - public void setTabPos(int mTabPos) { - this.mTabPos = mTabPos; - } - private String uid; - private RecyclerView mMarkingFragmentRecyclerView; - private SwipeRefreshLayout mSwl; - private int mNextRequestPage = 1; + public RecyclerView mMarkingFragmentRecyclerView; + public SwipeRefreshLayout mSwl; + public int mNextRequestPage = 1; private static final int PAGE_SIZE = 10; View view; - private View notDataView; - private View errorView; + public View notDataView; + public View errorView; + public TextView mLayTopTitle; @Override public void onCreate(Bundle savedInstanceState) { @@ -88,11 +80,10 @@ public class TrackFragment extends BaseFragment { } return view; } - // uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, ""); - view = inflater.inflate(R.layout.criclefragmenttwo, container, false); + view = inflater.inflate(R.layout.kehumobanfragment, container, false); initView(view); //设置页和当前页一致时加载,防止预加载 - if (isFirst && mTabPos == mSerial) { + if (isFirst) { isFirst = false; sendMessage(); } @@ -100,14 +91,13 @@ public class TrackFragment extends BaseFragment { } private void initView(View mContentView) { - mMarkingFragmentRecyclerView = (RecyclerView) view.findViewById(R.id.marking_fragment_recyclerView); mSwl = mContentView.findViewById(R.id.srl); notDataView = getActivity().getLayoutInflater().inflate(R.layout.empty_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false); notDataView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - // refresh("1"); + // refresh(); } }); errorView = getActivity().getLayoutInflater().inflate(R.layout.error_view, (ViewGroup) mMarkingFragmentRecyclerView.getParent(), false); @@ -120,50 +110,36 @@ public class TrackFragment extends BaseFragment { } - public void sendMessagetwo() { - requestmakingyiliushidata("2", "", true); - } - - public void requestmakingyiliushidata(String type, String key, Boolean show) { - initAdapter("2", ""); - initRefreshLayout("2", ""); + public void requesdata() { + initAdapter(); + initRefreshLayout(); mSwl.setRefreshing(true); - refresh("2", ""); + refresh(); } - private void initAdapter(final String type, final String key) { - mMarkingFragmentRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); - markingtwoAdapter = new MarkingTwoAdapter(mContext, null); - markingtwoAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() { - @Override - public void onLoadMoreRequested() { - loadMore(type, key); - } - }); - mMarkingFragmentRecyclerView.setAdapter(markingtwoAdapter); + public abstract void initAdapter(); - } - private void initRefreshLayout(final String type, final String key) { + private void initRefreshLayout() { mSwl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { - refresh(type, key); + refresh(); } }); } - private void refresh(String type, String key) { + private void refresh() { mNextRequestPage = 1; markingtwoAdapter.setEnableLoadMore(false);//这里的作用是防止下拉刷新的时候还可以上拉加载 - requestmakingyiliushitwo(); + requestData(); } - private void loadMore(String type, String key) { - requestmakingyiliushitwo(); + public void loadMore() { + requestData(); } - private void setData(boolean isRefresh, List data) { + public void setData(boolean isRefresh, List data) { mNextRequestPage++; final int size = data == null ? 0 : data.size(); if (isRefresh) { @@ -182,11 +158,13 @@ public class TrackFragment extends BaseFragment { } - public void requestmakingyiliushitwo() { - + public abstract void requestData(); + public void getAdpter(BaseQuickAdapter markingtwoAdapter){ + this.markingtwoAdapter=markingtwoAdapter; } + @Override public void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/TraceFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/TraceFragment.java index e240e72..c7b74dd 100644 --- a/app/src/main/java/com/example/administrator/seven/main/kehu/TraceFragment.java +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/TraceFragment.java @@ -38,10 +38,9 @@ public class TraceFragment extends BaseFragment implements View.OnClickListener int curTab = 0; private boolean IS_LOADED = false; private ArrayList> items; - private TrackFragment genzongzhongFragment; - private CustomerFragment yiliushiFragment; + private CustomerFragment genzongzhongFragment; + private DistriFragment yiliushiFragment; private DealFragment yichengjiaoFragment; - private boolean shifou = true; private Savaselect savaselect; @SuppressLint("HandlerLeak") @@ -53,15 +52,15 @@ public class TraceFragment extends BaseFragment implements View.OnClickListener IS_LOADED = true; savaselect = new Savaselect(); items = new ArrayList<>(); - genzongzhongFragment = new TrackFragment(curTab, savaselect); + genzongzhongFragment = new CustomerFragment(curTab); genzongzhongFragment.setTabPos(0); - items.add(new Pair("跟踪中", genzongzhongFragment)); - yiliushiFragment = new CustomerFragment(curTab, savaselect); + items.add(new Pair("客户列表", genzongzhongFragment)); + yiliushiFragment = new DistriFragment(curTab); yiliushiFragment.setTabPos(1); - items.add(new Pair("已流失", yiliushiFragment)); - yichengjiaoFragment = new DealFragment(curTab, savaselect); + items.add(new Pair("分配列表", yiliushiFragment)); + yichengjiaoFragment = new DealFragment(curTab); yichengjiaoFragment.setTabPos(2); - items.add(new Pair("已成交", yichengjiaoFragment)); + items.add(new Pair("成交列表", yichengjiaoFragment)); final MyAdaptertwo myAdaptertwo = new MyAdaptertwo(getChildFragmentManager()); //mViewPager滑动监听 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @@ -73,10 +72,10 @@ public class TraceFragment extends BaseFragment implements View.OnClickListener Log.i("TAG", "position:" + position); if (position == 0) { mBtSousuoDitu.setVisibility(View.VISIBLE); - ((TrackFragment) myAdaptertwo.getItem(position)).sendMessage(); + ((CustomerFragment) myAdaptertwo.getItem(position)).sendMessage(); } else if (position == 1) { mBtSousuoDitu.setVisibility(View.GONE); - ((CustomerFragment) myAdaptertwo.getItem(position)).sendMessage(); + ((DistriFragment) myAdaptertwo.getItem(position)).sendMessage(); } else { mBtSousuoDitu.setVisibility(View.GONE); ((DealFragment) myAdaptertwo.getItem(position)).sendMessage(); @@ -124,9 +123,6 @@ public class TraceFragment extends BaseFragment implements View.OnClickListener public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_kehu, container, false); - //获得是否是店长身份 -// uid = (String) SPUtils.getSp(getActivity(), FHConfig.KEY_USER_UID, ""); -// clerkposition = (String) SPUtils.getSp(getActivity(), FHConfig.IDENFINE, ""); viewPager = (ViewPager) view.findViewById(R.id.main_vp); tab = (TabLayout) view.findViewById(R.id.main_tab_layout); sendMessage(); @@ -144,13 +140,7 @@ public class TraceFragment extends BaseFragment implements View.OnClickListener mEnterShopTitle = (TextView) view.findViewById(R.id.enter_shop_title); mEnterShopTitle.setOnClickListener(this); enter_shop_shaixuan = (TextView) view.findViewById(R.id.enter_shop_shaixuan); - if (clerkposition.equals("店员")) { - mEnterShopShai.setVisibility(View.GONE); - mEnterShopTitle.setVisibility(View.VISIBLE); - } else { - mEnterShopShai.setVisibility(View.VISIBLE); - mEnterShopTitle.setVisibility(View.GONE); - } + } @Override diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java new file mode 100644 index 0000000..eb11017 --- /dev/null +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java @@ -0,0 +1,29 @@ +package com.example.administrator.seven.main.kehu.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.example.administrator.seven.R; +import com.example.administrator.seven.main.entity.XikeInfoBean; +import com.example.administrator.seven.utils.WidgetTools; + +import java.util.List; + + +public class CusListAdapter extends BaseQuickAdapter { + Context mcontext; + public CusListAdapter(Context context, List list) { + super(R.layout.cuslist_item, list); + this.mcontext = context; + } + @Override + protected void convert(final BaseViewHolder helper, final XikeInfoBean.ResultBean.DataBean item) { +// WidgetTools.setTextfive((TextView) helper.getView(R.id.xike_tv_01), "", item.getXike_remark()); +// WidgetTools.setTextfive((TextView) helper.getView(R.id.xike_tv_02), "", item.getTime()); +// WidgetTools.setTextfive((TextView) helper.getView(R.id.xike_tv_03), "", item.getXike_num()); + + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DeaListAdapter.java b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DeaListAdapter.java new file mode 100644 index 0000000..618b9fb --- /dev/null +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DeaListAdapter.java @@ -0,0 +1,29 @@ +package com.example.administrator.seven.main.kehu.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.example.administrator.seven.R; +import com.example.administrator.seven.main.entity.XikeInfoBean; +import com.example.administrator.seven.utils.WidgetTools; + +import java.util.List; + + +public class DeaListAdapter extends BaseQuickAdapter { + Context mcontext; + public DeaListAdapter(Context context, List list) { + super(R.layout.dealist_item, list); + this.mcontext = context; + } + @Override + protected void convert(final BaseViewHolder helper, final XikeInfoBean.ResultBean.DataBean item) { + WidgetTools.setTextfive((TextView) helper.getView(R.id.tv_dea_name), "", item.getXike_remark()); + WidgetTools.setTextfive((TextView) helper.getView(R.id.tv_dea_phone), "", item.getTime()); + WidgetTools.setTextfive((TextView) helper.getView(R.id.tv_dea_watch), "", item.getXike_num()); + + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DisListAdapter.java b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DisListAdapter.java new file mode 100644 index 0000000..89b6597 --- /dev/null +++ b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/DisListAdapter.java @@ -0,0 +1,29 @@ +package com.example.administrator.seven.main.kehu.adapter; + +import android.content.Context; +import android.widget.TextView; + +import com.chad.library.adapter.base.BaseQuickAdapter; +import com.chad.library.adapter.base.BaseViewHolder; +import com.example.administrator.seven.R; +import com.example.administrator.seven.main.entity.XikeInfoBean; +import com.example.administrator.seven.utils.WidgetTools; + +import java.util.List; + + +public class DisListAdapter extends BaseQuickAdapter { + Context mcontext; + public DisListAdapter(Context context, List list) { + super(R.layout.disliat_item, list); + this.mcontext = context; + } + @Override + protected void convert(final BaseViewHolder helper, final XikeInfoBean.ResultBean.DataBean item) { + WidgetTools.setTextfive((TextView) helper.getView(R.id.xike_tv_01), "", item.getXike_remark()); + WidgetTools.setTextfive((TextView) helper.getView(R.id.xike_tv_02), "", item.getTime()); + WidgetTools.setTextfive((TextView) helper.getView(R.id.xike_tv_03), "", item.getXike_num()); + + } + +} \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_deal.xml b/app/src/main/res/drawable/shape_deal.xml new file mode 100644 index 0000000..60bc912 --- /dev/null +++ b/app/src/main/res/drawable/shape_deal.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/share_tv_cus.xml b/app/src/main/res/drawable/share_tv_cus.xml new file mode 100644 index 0000000..8553d9c --- /dev/null +++ b/app/src/main/res/drawable/share_tv_cus.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/layout/cuslist_item.xml b/app/src/main/res/layout/cuslist_item.xml new file mode 100644 index 0000000..857f3d6 --- /dev/null +++ b/app/src/main/res/layout/cuslist_item.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dealist_item.xml b/app/src/main/res/layout/dealist_item.xml new file mode 100644 index 0000000..9230cf5 --- /dev/null +++ b/app/src/main/res/layout/dealist_item.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/disliat_item.xml b/app/src/main/res/layout/disliat_item.xml new file mode 100644 index 0000000..516d851 --- /dev/null +++ b/app/src/main/res/layout/disliat_item.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_kehu.xml b/app/src/main/res/layout/fragment_kehu.xml index 0e2facf..0183a14 100644 --- a/app/src/main/res/layout/fragment_kehu.xml +++ b/app/src/main/res/layout/fragment_kehu.xml @@ -37,9 +37,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" - android:text="追踪客户" - - android:textColor="@color/colorWhite" + android:text="客户" + android:textColor="@color/black" android:textSize="18sp" /> @@ -88,11 +88,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - + + + + + + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/icon_cus_new.png b/app/src/main/res/mipmap-hdpi/icon_cus_new.png new file mode 100644 index 0000000000000000000000000000000000000000..d49e3aea743bf844ba988e1546022ab6cd7e5dfc GIT binary patch literal 1447 zcmV;Y1z7rtP)$`M+?le4tE~+ahBQV&Yeyt(9}O9o|KcU6^PA^)n9zbuzGWH1^4{E`}Ee8O&N>dlr_XDW(?G%#Wa4pSSj2vk(*rZ zk#<3Bfs%)sKJ&YK$G&>)f=sTu3*_4&{-NNdE#-Xi`kM2O8OX51B?_P7P*3MJH+?t_ z{COaKJ#4J?EjK#Zo1V<`K#t$hwLF3ChVk|DPq$^tJq1&_ltg#C)KOFIwk$Q28_Nw$ zUQ*rc)JMVO2Tive-8uE`_wG%=RkM%;68Hh0z2S=QQMmkkknR6|=|{t@tt%Ebk5?;ONFA`)-|f^kCADn>)ieEzTQ23mM*}nPV?(2g-GSU%8?Mr5}MO!q!TC|-M zO2z5^>q^b5ZYOnBp;+E@ZaVjk#H$Z`9G}P-?@K1j8`Kmng++T{$<835W>w!e zj%Y;`qgsWJD30y{aHc6cy{Y7dT|a3*vUP1~^~X|4@s*I2zwlZhe?`NjE7{b}{K;@E zc;C|#b0J?%lW96)b$jv7rw{w>-T8^j{92fHfEX!6_~dj2&Dj;1zfV1%^f|Gno+s;7 zENmQ^{Ps0L*7F`;uuNrR%ia^i;Q-Ht9NW5bDJ10ET zL5_(5CKh2@1tAZj4C5ogk9eeY5Yqw$=?o$~EVA1TU5$67;Wj1i$)S9-XwL;9>n`VF z8;nNn4z3A*%w%fY`Jp2({{KOmLbZD~H#%?&Z#^}g8jK61pc%h-QFk(d@DGtcpRSe< zEx7rKky)!YxOUlh5Y6a4PF+n}9_wZ{)kd23X4`_WQYp-&iEw9QOua94QK{p3`M(+l zI4!?nJcD)A_x~5SQHjxE{3vJ5g4^;QG`OfC|cB_2#OYE zL9N%*|pM}+`)q6Pad*9#toO{kg07!u6?_NLI zP7Lo#^G=2~X0SpKGSRKHfIbG;ttJ?woC!s@Cos_MEy4J%H4m&{928Rs?xFHb6ZvkGaU+T4M2G-HK;x)1#RLf_Y0e8c?rF$HVlboBG{wzbq zWmsnYL>8VZt8%G!y+wt-ybN=d2U`0!iWNia8JMQ>wJg0MGrv;ljWyfjMd>Y)K5R=r z3-M|ON#jDN>YbGYoGsnpf(v;xv@A9jqyMID)eb4AUGav<}9h zX!uUMLYrajPGWz{dcVg8vm_rtXgGp>dxbKJ=Q7$iqwu!Y+9dNxDnC)7?P=Buf0V{5 zI>pd9LR%SHDdj$tx*@G?6i&)|3#E2J=yK7)qJd@yFNe7voq5lbb#J!+*=LQTh1jbVt51{<$CM-JO1lz-vr(He)uoYc?!XU)y2i5 gc;wh3|8&Ja01UMJuYM6CPyhe`07*qoM6N<$f~2#QLjV8( literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/icon_cus_new.png b/app/src/main/res/mipmap-xhdpi/icon_cus_new.png new file mode 100644 index 0000000000000000000000000000000000000000..15e08659d7f3e1e9169eabb6a8e59cb8033b63e1 GIT binary patch literal 1869 zcmV-T2eSByP)X1^@s6WOnV1000LRNkl>Sw^H!;5BSm&)FG@(+;LSUbzNF5A(l(B=q)n_e;5yDv73fPv z3`AAr+PjWJBgOD;^3HApv2ocdjn$~jd*ERuC^Ua(A?b3?fQJZX>U~r5SH4}4;n1~tVfQS{$*I{nDF|~Jl!RhigCcM7 zwMEo})AO3eI7Hr}0Fan|chLr{{?~SN^PJ#HG>6TspNPsBhp zLJS*VZ2Uw!)d_M1POcNvs?)9BZxuXy%oG{9EG z3=Y)64Frhcj41GA`29I!zkI%J-e-^%CPTmfYSjOta`D+IfgCbnNRkVsW{lITpPjf$ zK-6E4aXt%yoS}x3xhWJof103x8u1ppNrL^D_5qp&|K`aaE5QB!J}4yl0~c?30FTXk z;gW9}{ioY^_IMf!v7Poofb#bHb7pM$!>1>R(V`3d4XHe^hh?5Jwm>WQ`yJe6Vod%3i%bgkYCtFS((cz-QW={rJ&K*w+ z5Zi4ZjJ!M7Y5)#DJwS?++8L37>!z>zaXb+`J(FF%5bq*IALw;jkiN%Woyk|n;|XFf zti6cx8PwkfPfoX@*nK!niv7jz$l&c?KVil+efFQc4pmrz38gsleHqkXl%l@yJ9GJ! z^KD%W10o;pzuqUq?RF(3BjM9undj<$p4Lo-Q(qeJl`9O=AQs0pjR z7}NkARv#P~|F=or<R0BR-Y!4v(DeIrvZvYJl3~>&{y5!A}c?;;Ez2KoI@Asp$RWpaUv3 zzBBin2XN5-!;L}xy!w~+YwnSeCPS~!j8-qk6As7@zcw?qb~zqfw>Z7|B;yqV--|)k zv5i90C%1ZyO8)jptm)z{v#H*G^TAcLR!yw0_cs1|*tDM@lR*5wKGZ-dS7geV`ol88k*gnWoIG+L6cwxP2eIPX>u0W07+= zC;X5uk3G`^#r^)FgBI7sc{Q69-TBv-| zF<)OzY~2URkuQSD?BGK)s5KZwg{Dj2n9wPnirN9YVOoO#Nn!uk*QS5Bw(_Ue6k95# z4-HT#*=KKg`aHTPg92I< z#~I=PCy6<+tsWH00x~HIolvUF_c-8833$l>)NIu;Xhhr8a!PONwqMahVQK^Ng~dn` zAyF%OYZX0>g0VJbsq?(K>#r8gTD{( zJaZG%Q-e|yQz{EjrrIztFso&TM3hAM`dB6B=jtVb)aX^@765fKFxc2v6eK2Rr0UTq__OB&@Hb09I0xZL0)vRD^GUf^&XRs)DJWnQpS7iIIZ2rJkXg zfu)g&j)IYap}D?+xxS&Xu7RPIfti)Dr2-Tv0c|TvNwW%aaf8|g1^l#~=$>Fbx5 zm+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxE5l51Ni9w;$}A|!%+FH*nV6WA zUs__T1av9H3%LbwWAlok!2}F2{ffi_eM3D1ke6TzeSPsO&CP|YE-nd5MYtEM!Nnn! z1*!T$sm1xFMajU3OH&3}Rbb^@l$uzQUlfv`p92fUfQEaktaVsh10PmEB8|)pq4L3MCo;Lgt6o_Ydr0lRqvg7@~|NrMViX7lSGP&`GyM2^48%E(~(U9-j3_anI5Gn{NoD!F4i%ZQ!=mp$s$&VGtLLv z6@E&3ROJ*%o?|^yzo6@qga`9W4>68p;~MUeBDPMp!#porU)}G^+o2coNRwHT;iN)D zOr(PJJ$}(M3od+cSz%c`fpv@pFsddVlpSuUTKE>P9*SkJUBXruT_j;{)r z65JL3^*q^-QS-D?f6}4K3q|bG7n;IE47N_6c*AuE4|`*U!oQ{^KP&~_Gdxmt*du(Z z{bVisBZd`@Z#^EV{#a$NsIbnZ_+q`u^sofY{l6z%5fKnxr*whqmfWmqt_4$d1GuFo m=q%uQu)vH$I#{Bv_Tk*~oMqS$HdhyakX3gMeOo8blxjkO)BJeAgcW zKtf_Yq zOVSH9b0RUL{0I?`O5~#ec!&jDh@KWTShge4Rfx>g9ghF-!5cyuSJK81iBXLF1t97N zh{9W#Ua+$`^(Pf57X)=txQ}TCrU5GT1sFgTxG7+oXZS!@U>b1zKqbLcFT!1$egS?k z-Iu55)sQp;!kDP;6_@&N4?G(&&`9rP`30Z`KMlxa;)V9o`^y-`iYHKjo zWHza-&{?#$I0dHf9u&%2*&TzxWd3(S7pV8%E)=!tt zU(ez?r@4OdpC-)>>)n^;xEP<6c8TVWA!tyIg)7uV(pV7rBg>-YR;+Fh&N|rK7N~84 zSvTdD>?;<|Ac9E@5HXhMJxISrpa1C!&CLe2CAajMe`Pc`sHA|YnN`gUKMn;iRp8WP zO)UX!1?Jf)w`7M1R)K&ade=S*IB(8%=;&Cb4mkSK-yzLa&{8kn3x;}+2|(B$zVGct z9fEm&(zTI5Fk=oP{s$vi4keS$`Lm$8UjbZA0Q$?(+ypIF!K;ywUkcX7D*TjBvCK=8 zZ=Qw%=OSU)v%;2OdY0;=x%QczMDxD`nmY=>1UIafjHQvUZQpAw)C2R>r2aQXgW(E5 zSMc~YZz7!m7!l7h^3NFI8bZ305z;%NxkUZ|8MdLo;XssU6o4<9Cz#gSpt&P+9V7cFZQ5I3NdfcX#Np`_X?z9|a~&V)=(;v(j&M!_7WLVD^p9K$ zRC99hoe&TU86jjudkdX;-V&lDe?t0R3xn3{*AArn!AqAN^xj#W9x- z3C1Y$7zi;90k%~&ho8E!Y)515vQeW6X(=M~@HD66su~2qlJMhu-crv{_s6g4xs(AX z7?t9S=BL9AS02KGeRcfW*q-rb`XM0QV1Q3e29%-l=CtGg_8gX#DGvisdC$N+K(Pb> zqMd;W$VYk&I6ec*bliatzC183yKkt75$142AuNiNJ-``#ta&li{bzF&$+cX?nE zZ|Sk}(2A}CX~s2t{|omfkQM^+mdr)__5HE(k-gaptt5nh@q>v3hh!Qq%=q@6OXmK@ z=f(`ME!qqS0h4iQ17i45WaiH2HRu(2(RiGf0pO^1!34MnOogH8+uuh8MvpX{4@i^s zq}qmk8G?@jj=06c*_)0&)N=DRGlp#i0XI4nP6jPPJdO$L@yzuHtJF`m^F}UahROP+ z2?QJDhF+@v~7~eX>0FX+XY1 zr>CxH2c(}yAK(47f2NBoCZ=aZ>R&*jVSdqW2{|V?W7j@4w(du_X9pp%ff4(;+)hbM zRCX#sDp|8OJniibSb6uLYk_zjC?90vNJlaU;BfY9$6A5;@gqaW5MUVq^h~8W9v40^ zYYIj#Ms&bbFHIt+fLT|PQ_cVrofqnCzoT@Lh>sxK3(^-Iyr2PCHu?b~eAHMbBQ{GZ zzn4|~yKR0jd0kGR-VPTcLcUiEKxhodqqk$hwkv9EGwi<- z=Y{yuR|bp`0qZ~AB++s5I?Zd_XF@w*sv<~DrkIBWUzG@yEOg*;VJ9uKreMTkL~0kz z%ky)}kz6ocmUILr0({(z@ZDaE_PwVq^Qlq8AxIlMFbU(94fltO_ndyaG|w899sgXU zVBc94ljARbaS9NA7Z3y5X96EepSkN{1NtW$#@$aO<~e@VCyh*&WCA5~jH&qnteiA( z9td&2=ZO6@_bk;(wcN_i;p|P0WvT^1em>#Wt+x7J_019eC?sD-z}_Zn>MqT-Wg<+} z8|q?iZiD?~*1`k7&}-V57pkvp{0$HawP#6iCgbtFQ`B#o+M)XCk*dIJShl0_%9?S* zCBf4Y;2IUpCBtjcSvyx7FzYvrUq?haZAEh(A2iK%Eevd1F2KsWZ(0LHw|Nd*`^XNm z8J}fd${!LH>73gO;ydxxQ;llUnumwxv5KgIb#w>(%hKH0DF0XH!u{n2gxK=jwMcNQ z+LJ_hDYJ0zE1I@1<_=8Qw1g7!iAdqzbG&A3&p5&hfH+9aW7}Mu@$FqZ)Yy-o8!Boq1D^Gq2r*4q29xLy@`By;b_&H;VU8K1J(~4qA0^m@ejYof?w^a&s`QnH< zfbs!XTXl=(4U0zfvr%OF{To0KAkDp!U}Q^927r42Nv8{pd@^g%{;B4k+GV4@Ap||9 ztA5x#HC%Y$r24JlxiJM2@vC6d+~~ZW?=b^5t{c0E0q;S=>SmC0GiUC4UyY5uJbt{e z=vfbwj%cn2@&97wuita+Gn<)xdM|>i{ITOtR)Ba9gJB0kCG871#jIPAy^)km+quIiA{qP2DCh_E3HEQ&_k+e&*TSaIdW38WcRtIVSK2pmu1k!JKr{0bRGdTAC{`1x`SQ zD~PzF$18_lSMrWa^Q_uS9~Uvu(2k=yZRoY?pr*7}1{(+RC&6)uRNDKdBW81usFUmCj> z5D%r#-nmv?t6e+(ra%x^0=fFKvuLg#Di3}tG*_0Xa&rbgV+;E`z1JVtn(zF~Ya?ON zyI9!P8c($QXx^^Q>}E7qpi1DT1SY=RtK?vs zt*EMMHk5=5cKurW(wD|gkpg1Tna=n4tK)75DHb!zXe*j)RpTfde>6vgEv>-xl73xr z@So?n(x@Gpo9Z?K@5rLG1?XlZl`{wTWea0{)*SmpP1j}7t{$(CAY21&b!_3wwDcHE z2(TYbU+~U5>TBJ~ynjk0V$BNNhG%p8Ny1e~IM7%#5&j}PXXlf8O{?>IgaS=j;kkQG zb7?6x_J3;z1I+?bf{@%e+ETO|#p6gLVqX1c(_E+kByfVWX?;Az5_o0y%SW_>Z~190 z+FQ}QbJ6ay-cNHvls576Sx@ZS)bg1P&*t7H36~;aFJCfJ6_FW}O}3)~lsc8+irjEK zW|e^|g0!f#`%7?MmghbUnZEX^(mYvQz|&;gPh`E)x)M~|6`HGbvQx`+>v4**4$YN5 zek0ltTH-&RRf$FY>fGr_ROFbDV^Ijuz>*8oAKiVx4?b_q>k((U0gVq3 zOxR*>m%vP(M(VR|F9R~t$oNbTOhOxg|L0t_y?p4_)U%S#z`Q(vFO?yBXfCZ`fs*%$uf1P zg~`p4-l@Mwq$f6(gIdY_|3}kHf@IHwkmLn#M z!-#O+5->Zm?DrS+NpcrHsxDeL%qZEvPH(d!Uo@OOa~F`-yUxd# zDkI@p+m?$m=I%bKeyV%nwrr6WT#rQk9pKwIP-{VR06x)(!Gf%*Z&qIgn9vA-Z%V=M z3ZiiUJdOdaw!m~H#AyP4-A1e?3&t|wSOg3u%XG?r;Rz-DzAUOxJIkYL2h>$ZPg$VVOSl zk?ceA`^5GF5GnV`N1B8^KV$07%Fhf;udu666+Z(oyU}Z8YPjw88nxpyk@y0#SQNZ( z`(eMI{|C*z9x5j~JIrv-##_=Hls6!#0cd(8{PjJjTgJ*R(L6;(eBZl zZ3fy$*z{uP8@vC|mgwjbn5ojpG@5n|%&VfgkuhC3wlEs=YFY}rN^>T@LI|6iq*ame z!1ijl%dr)nS4DGG)V8{Lqe5ok`&CSB?G#X|6=7 zDT$^uhWP}z=_*EoN(B59FdVi4_D8NwKZbWXN57qYuxj$nB~E6L?EQA~Ggl~^8T7%G z+g_*sH<8)gt1g)CJKvdi%01?2)D(Js?dj6(RW~i`{&RCjvHNdrT8|94{`4Fhq$UYIGdu zti6gSaX4>95e6e;)GkF$q>YRDFkF|-!Lm7=q-2)^Gv(q8kd0djyAD3Ot8cQb^(Y!c>E)FxP~b!Q{n2k_%-8Y&e4fE?b_RMqN^HL>FcEzH0~sMj%YC z6nveOQJV%RND2oMxT1IyEaU@XgbRy!2w%7e;PYTH#1liXAf5-KJP|5DfYAqJqfurH zs#B^*W3eYGn8Pp*6oQ;iC)X+9l9UyK5d?vFe2CAFXA$vqft|rz@pgK_n1T|gO%&l^ z2+|Jt6tQeFpOJ!Wrmst|ImTt}^k|#dhCwdO0l{3JucR@cR{Q@@n{6CTGdlcDzW*sq z8wwmaq{C@4pE9w7vn=q1a-a$d#~6|_kYwIi7t?Y`hNN>y2cS^+x+Vc)mJ@a}>7-*v zI9e^LvC|A@H{lwk6l7Jn1Yt%c32LDT5y}u5%!6T-L@pMn5TQh(5(||wfl4yQRg$KB z8*XRDxaK!p`Gj1b9c&IZvJ$6=b+}ngkv3qYY?PQd7s-Trqg?aExgZmAAvPJvH{5>> zd+dsJkZ(I~UG^|;e%#JFo?@+i=Nvzi!Sqm&t39ZjC*6hnIG<^I_U38woPsM%9i z^(k*lM_ZIq_IA^ZpzvVs?t$>03enMuTSR@piYE~sck-;L&=uy=4*A8H(7$(8m41@0 zMm9iSL~p+Ea_v1~e^1Hu!QQU*%|mzB_YO;DrVrQ7FqEVK!Q0Mrjecd_^Jn{|R0r#8 z+>dh~wY6-w_cufw=_KMVHC{W=;4a}rM>R~-!y)?$n`QDdH@ul8P?lenwMXI085@>#_y-0N+bmG#_C&(s5Lx4&*$Svfmz`yS8w+ScQN-c82j=?^a|8=^kC zuHPSV*rS6J;n=9iy^iam^Dj;}{b=qB&!z)A3fl+6G9*o2cV*<3*q)c$gKi{+73q46 zq9wX7UkJ)K*X)do-}r8C^lGHGGP*hLO2y5pN5=x2*Zo4f%QXDYG0)l9dDzUI_cunw z6z4{6y&4_zee>i~_4{gC;k1xa&!lZzPRv4;O{@S6;pBe>uUB{*@Qcf>E z_*eMJ#F)&wK&{_4!ZNfJIoNTtwsqNi^59mmJ#pV1?s9U{S#=Qq)o*LWKYS;-8(~em zqVIKfJqa$-PAzQQi=oxd+txU^)iHxT$s=g5Ehh@@>@^i^QKdoP#UVK@2`xe|^VYo#e z8VajNgQ%5lj~)+_N_R0M&GM?wFFM+Y?uZx;I3C$?cSqH!4^nqs$Q~#U?o_Sy7PM;y tLhc{gkd1ejCnWCL06dU9@b@1M;Bn~mmW9892U2`LZ;dKd`HeiQ^dB9ER@49h literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_cus_new.png b/app/src/main/res/mipmap-xxxhdpi/icon_cus_new.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae1d17d21ac357c310de09b9a5394d044d92dca GIT binary patch literal 3880 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 ZJ>14!`nK`4!7APViRUKZR - NewJiaJieSong + 七月七 提交申请