Commit 12229e0df3462a830fe65e44ad1e32611c470339

Authored by 姚旭斌
1 parent e78e2e1d

no message

app/src/main/java/com/shunzhi/parent/AppConfig.java
... ... @@ -25,6 +25,7 @@ public class AppConfig {
25 25 public static String NIM_CONFIG_VIBRATE = "nim_config_vibrate";//收到通知震动
26 26 public static String NIM_CONFIG_SOUND = "nim_config_sound";//收到通知响铃
27 27 public static String ISBINDING="isbinding";
  28 + public static String CURRCHILDJSONSTR="";
28 29  
29 30  
30 31 public static boolean ISLOGIN = false;
... ...
app/src/main/java/com/shunzhi/parent/db/ChildInfoDao.java
... ... @@ -3,6 +3,7 @@ package com.shunzhi.parent.db;
3 3 import android.content.Context;
4 4  
5 5 import com.j256.ormlite.dao.Dao;
  6 +import com.j256.ormlite.stmt.DeleteBuilder;
6 7 import com.j256.ormlite.stmt.QueryBuilder;
7 8 import com.shunzhi.parent.bean.ChildBean;
8 9 import com.shunzhi.parent.util.DatabaseHelper;
... ... @@ -30,6 +31,16 @@ public class ChildInfoDao {
30 31 }
31 32 }
32 33  
  34 + public boolean createOrUpdate(ChildBean childBean){
  35 + try {
  36 + return dao.createOrUpdate(childBean).getNumLinesChanged() > 0;
  37 + } catch (SQLException e) {
  38 + e.printStackTrace();
  39 + return false;
  40 + }
  41 + }
  42 +
  43 +
33 44 public boolean onCreate(ChildBean childBean) {
34 45 try {
35 46 return dao.create(childBean) > 0;
... ... @@ -39,7 +50,15 @@ public class ChildInfoDao {
39 50 }
40 51 }
41 52  
42   -
  53 + public boolean deleteAll(){
  54 + try {
  55 + DeleteBuilder builder = dao.deleteBuilder();
  56 + return dao.delete(builder.prepare())>0;
  57 + } catch (SQLException e) {
  58 + e.printStackTrace();
  59 + return false;
  60 + }
  61 + }
43 62 public synchronized List<ChildBean> getAllChildren() {
44 63 List<ChildBean> children = null;
45 64 try {
... ...
app/src/main/java/com/shunzhi/parent/presenter/mine/MyChildPresenter.java
... ... @@ -59,7 +59,6 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter {
59 59 } catch (Exception e1) {
60 60 e1.printStackTrace();
61 61 }
62   -
63 62 }
64 63 }));
65 64  
... ... @@ -111,7 +110,6 @@ public class MyChildPresenter extends MyChildContract.MyChildPresenter {
111 110 mRxManager.register(mIModel.unBinnding(parentId, studentId).subscribe(new Consumer<JsonObject>() {
112 111 @Override
113 112 public void accept(JsonObject jsonObject) throws Exception {
114   - ToastUtils.showToast(jsonObject.toString());
115 113 mIView.showError("123");
116 114 }
117 115 }, new Consumer<Throwable>() {
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/ChildDetialActivity.java
... ... @@ -15,11 +15,14 @@ import android.widget.TextView;
15 15 import com.google.gson.Gson;
16 16 import com.share.mvpsdk.base.BasePresenter;
17 17 import com.share.mvpsdk.base.activity.BaseMVPCompatActivity;
  18 +import com.shunzhi.parent.AppConfig;
  19 +import com.shunzhi.parent.AppContext;
18 20 import com.shunzhi.parent.R;
19 21 import com.shunzhi.parent.bean.ChildBean;
20 22 import com.shunzhi.parent.bean.ChildClass;
21 23 import com.shunzhi.parent.bean.CurrentBean;
22 24 import com.shunzhi.parent.contract.mine.MyChildContract;
  25 +import com.shunzhi.parent.presenter.mine.MyChildPresenter;
23 26  
24 27 import java.util.List;
25 28  
... ... @@ -34,6 +37,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity&lt;MyChildContract.M
34 37 String childName, cardNumber;
35 38 int studentId;
36 39 int isactivation = 0;
  40 + ChildBean childBean;
37 41  
38 42 @Override
39 43 protected void initView(Bundle savedInstanceState) {
... ... @@ -63,7 +67,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity&lt;MyChildContract.M
63 67  
64 68 private void initChild(String childJson) {
65 69 Gson g = new Gson();
66   - ChildBean childBean = g.fromJson(childJson, ChildBean.class);
  70 + childBean = g.fromJson(childJson, ChildBean.class);
67 71 if (!TextUtils.isEmpty(childBean.getCardNumber())) {
68 72 cardNumber = childBean.getCardNumber();
69 73 isactivation = 1;
... ... @@ -97,7 +101,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity&lt;MyChildContract.M
97 101 @NonNull
98 102 @Override
99 103 public BasePresenter initPresenter() {
100   - return null;
  104 + return new MyChildPresenter();
101 105 }
102 106  
103 107 @Override
... ... @@ -117,7 +121,9 @@ public class ChildDetialActivity extends BaseMVPCompatActivity&lt;MyChildContract.M
117 121  
118 122 @Override
119 123 public void showError(String error) {
120   -
  124 + if (error.equals("解绑成功")) ;
  125 + mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, "");
  126 + finish();
121 127 }
122 128  
123 129 public void delectChild() {
... ... @@ -143,6 +149,7 @@ public class ChildDetialActivity extends BaseMVPCompatActivity&lt;MyChildContract.M
143 149 public void onClick(View v) {
144 150 popupWindow.dismiss();
145 151 backgroundAlpha(1f);
  152 + mPresenter.unBinndingResult(childBean.getParentId(), childBean.getStudentId());
146 153  
147 154 }
148 155 });
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/MyChildActivity.java
... ... @@ -69,41 +69,12 @@ public class MyChildActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyChi
69 69  
70 70 private void initRecyclerView() {
71 71 child_recycle.setLayoutManager(new LinearLayoutManager(this));
72   -// child_recycle.smoothOpenRightMenu(0);
73   -// child_recycle.setSwipeMenuCreator(swipeMenuCreator);
74   -// child_recycle.setSwipeMenuItemClickListener(new SwipeMenuItemClickListener() {
75   -// @Override
76   -// public void onItemClick(final SwipeMenuBridge menuBridge) {
77   -// final PopupWindow popupWindow = new PopupWindow();
78   -// popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
79   -// popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
80   -// backgroundAlpha(0.5f);
81   -// View view = LayoutInflater.from(MyChildActivity.this).inflate(R.layout.dialog_view, null);
82   -// TextView tv = view.findViewById(R.id.dialog_info);
83   -// tv.setText("是否解除绑定?");
84   -// TextView btn_cancel = view.findViewById(R.id.cancel_btn);
85   -// btn_cancel.setOnClickListener(new View.OnClickListener() {
86   -// @Override
87   -// public void onClick(View v) {
88   -// popupWindow.dismiss();
89   -// backgroundAlpha(1f);
90   -// }
91   -// });
92   -// TextView btn_right = view.findViewById(R.id.right_btn);
93   -// btn_right.setOnClickListener(new View.OnClickListener() {
94   -// @Override
95   -// public void onClick(View v) {
96   -// popupWindow.dismiss();
97   -// backgroundAlpha(1f);
98   -// mPresenter.unBinndingResult(Integer.parseInt(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.PARENT_ID))
99   -// , currlist.get(menuBridge.getAdapterPosition()).getStudentId());
100   -// }
101   -// });
102   -// popupWindow.setContentView(view);
103   -// popupWindow.showAtLocation(child_recycle, Gravity.CENTER, 0, 0);
104   -//
105   -// }
106   -// });
  72 +
  73 + }
  74 +
  75 + @Override
  76 + protected void onResume() {
  77 + super.onResume();
107 78 mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, "");
108 79 }
109 80  
... ... @@ -131,6 +102,7 @@ public class MyChildActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyChi
131 102 @Override
132 103 public void updateChildList(CurrentBean currentBean) {
133 104 currlist.clear();
  105 + DBControl.childInfoDao.deleteAll();
134 106 List<ChildBean> list = currentBean.getStudentClass();
135 107 for(int i=0;i<list.size();i++){
136 108 DBControl.childInfoDao.onCreate(list.get(i));
... ... @@ -157,8 +129,7 @@ public class MyChildActivity extends BaseMVPCompatActivity&lt;MyChildContract.MyChi
157 129  
158 130 @Override
159 131 public void showError(String error) {
160   - if (error.equals("解绑成功")) ;
161   - mPresenter.loadChildList(AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.LOGIN_NAME), 0, "");
  132 +
162 133 }
163 134  
164 135 private SwipeMenuCreator swipeMenuCreator = new SwipeMenuCreator() {
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/ActivationFragment.java
... ... @@ -3,6 +3,7 @@ package com.shunzhi.parent.ui.fragment;
3 3 import android.os.Bundle;
4 4 import android.support.annotation.NonNull;
5 5 import android.support.annotation.Nullable;
  6 +import android.text.TextUtils;
6 7 import android.view.View;
7 8 import android.widget.EditText;
8 9 import android.widget.ImageView;
... ... @@ -14,33 +15,34 @@ import com.share.mvpsdk.utils.ToastUtils;
14 15 import com.shunzhi.parent.R;
15 16 import com.shunzhi.parent.contract.apply.ApplyReplaceCardContract;
16 17 import com.shunzhi.parent.presenter.apply.ApplyReplaceCardPresenter;
  18 +import com.shunzhi.parent.views.ReplaceCardDialog;
17 19  
18 20 /**
19 21 * Created by Administrator on 2018/4/19 0019.
20 22 */
21 23  
22 24 public class ActivationFragment extends BaseMVPCompatFragment<ApplyReplaceCardContract.ApplyReplaceCardPreenter, ApplyReplaceCardContract.IApplyReplaceCardModel>
23   - implements View.OnClickListener {
  25 + implements View.OnClickListener, ApplyReplaceCardContract.IApplyReplaceCardView {
24 26  
25 27  
26 28 TextView center_title, tv_name, tv_submit;
27 29 EditText et_cardnum;
28 30 ImageView iv_back;
29   -
30   - String cardNum = "",childName="";
  31 + ReplaceCardDialog replaceCardDialog = null;
  32 + String cardNum = "", childName = "";
31 33 int studentId;
32 34  
33 35 @Override
34 36 public void onClick(View v) {
35 37 if (v == tv_submit) {
36 38  
37   - if (et_cardnum.getText().toString() != null) {
38   - cardNum=et_cardnum.getText().toString();
  39 + if (!TextUtils.isEmpty(et_cardnum.getText().toString())) {
  40 + cardNum = et_cardnum.getText().toString();
39 41 mPresenter.ReplaceCardDetail(studentId, cardNum);
40 42 } else {
41 43 ToastUtils.showToast("请输入卡号");
42 44 }
43   - }else if(v==iv_back){
  45 + } else if (v == iv_back) {
44 46 getActivity().finish();
45 47 }
46 48  
... ... @@ -61,6 +63,7 @@ public class ActivationFragment extends BaseMVPCompatFragment&lt;ApplyReplaceCardCo
61 63 public void initUI(View view, @Nullable Bundle savedInstanceState) {
62 64 center_title = view.findViewById(R.id.center_title);
63 65 iv_back = view.findViewById(R.id.back_top);
  66 + iv_back.setOnClickListener(this);
64 67 center_title.setText("校卡激活");
65 68 tv_name = view.findViewById(R.id.tv_name);
66 69  
... ... @@ -83,4 +86,19 @@ public class ActivationFragment extends BaseMVPCompatFragment&lt;ApplyReplaceCardCo
83 86 }
84 87  
85 88 }
  89 +
  90 + @Override
  91 + public void showTipsDialog(String msg) {
  92 + if (msg.equals("true")) {
  93 + if (replaceCardDialog == null) {
  94 + replaceCardDialog = new ReplaceCardDialog(getActivity());
  95 + }
  96 + replaceCardDialog.setTitle("激活卡提示");
  97 + replaceCardDialog.setText("卡号:" + cardNum + "\n\n" + "已成功激活!");
  98 + replaceCardDialog.show();
  99 +
  100 + } else {
  101 + ToastUtils.showToast("激活卡失败!");
  102 + }
  103 + }
86 104 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/ReportFragment.java
... ... @@ -10,20 +10,30 @@ import android.support.v4.app.Fragment;
10 10 import android.support.v4.app.FragmentManager;
11 11 import android.support.v4.app.FragmentPagerAdapter;
12 12 import android.support.v4.view.ViewPager;
  13 +import android.support.v7.widget.PopupMenu;
  14 +import android.text.TextUtils;
  15 +import android.view.Menu;
  16 +import android.view.MenuItem;
13 17 import android.view.View;
14 18 import android.widget.TextView;
15 19  
  20 +import com.google.gson.Gson;
16 21 import com.share.mvpsdk.base.fragment.BaseCompatFragment;
  22 +import com.shunzhi.parent.AppConfig;
  23 +import com.shunzhi.parent.AppContext;
17 24 import com.shunzhi.parent.R;
  25 +import com.shunzhi.parent.bean.ChildBean;
  26 +import com.shunzhi.parent.db.DBControl;
18 27 import com.shunzhi.parent.popu.ShaiXuanPop;
19 28 import com.shunzhi.parent.ui.fragment.report.ChengZhangFragment;
20 29  
  30 +import java.util.ArrayList;
21 31 import java.util.List;
22 32  
23 33 public class ReportFragment extends BaseCompatFragment implements View.OnClickListener {
24 34 ViewPager viewPager;
25 35  
26   - TextView tvDate, tvShaiXuan, tvNoData;
  36 + TextView tvDate, tvShaiXuan, tvNoData, tvName;
27 37  
28 38 MyFragmentAdapter myFragmentAdapter = null;
29 39  
... ... @@ -32,6 +42,10 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi
32 42 ChengZhangFragment chengZhangFragment1 = null, chengZhangFragment2 = null;//成长、报告页面
33 43  
34 44 ShaiXuanPop shaiXuanPop = null;
  45 + List<ChildBean> childlist = new ArrayList<>();
  46 +
  47 + String jsonStr = "";
  48 + Gson g = new Gson();
35 49  
36 50 @Override
37 51 public int getLayoutId() {
... ... @@ -42,17 +56,28 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi
42 56 public void initUI(View view, @Nullable Bundle savedInstanceState) {
43 57 viewPager = view.findViewById(R.id.viewPager);
44 58 tvDate = view.findViewById(R.id.tvDate);
  59 + tvName = view.findViewById(R.id.tvName);
45 60 tvShaiXuan = view.findViewById(R.id.tvShaiXuan);
46 61 tvNoData = view.findViewById(R.id.tvNoData);
47 62 tabLayout = view.findViewById(R.id.tabLayout);
  63 + tvName.setOnClickListener(this);
  64 + registerForContextMenu(tvName);
48 65  
49   -
50   -
51   - tvNoData.setOnClickListener(this);
52 66 tvShaiXuan.setOnClickListener(this);
53 67  
54 68 myFragmentAdapter = new MyFragmentAdapter(getChildFragmentManager());
55 69  
  70 + childlist = DBControl.childInfoDao.getAllChildren();
  71 + createSchoolMenu();
  72 + String currChildStr = AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.CURRCHILDJSONSTR);
  73 + if (TextUtils.isEmpty(currChildStr)) {
  74 + tvName.setText(childlist.get(0).getStudentName());
  75 + jsonStr = g.toJson(childlist.get(0), ChildBean.class);
  76 + } else {
  77 + ChildBean childBean = g.fromJson(currChildStr, ChildBean.class);
  78 + tvName.setText(childBean.getStudentName());
  79 + jsonStr = currChildStr;
  80 + }
56 81 viewPager.setAdapter(myFragmentAdapter);
57 82 tabLayout.setupWithViewPager(viewPager);
58 83 tabLayout.removeAllTabs();
... ... @@ -85,6 +110,33 @@ public class ReportFragment extends BaseCompatFragment implements View.OnClickLi
85 110 if (null == shaiXuanPop) shaiXuanPop = new ShaiXuanPop(getActivity());
86 111 chengZhangFragment2.showShaixuan(handler);
87 112 break;
  113 + case R.id.tvName:
  114 + showChildName();
  115 + break;
  116 + }
  117 + }
  118 +
  119 + private void showChildName() {
  120 + schoolMenu.show();
  121 + }
  122 +
  123 + private PopupMenu schoolMenu = null;
  124 +
  125 + private void createSchoolMenu() {
  126 + if (schoolMenu != null) return;
  127 + schoolMenu = new PopupMenu(getActivity(), tvName);
  128 + Menu menu = schoolMenu.getMenu();
  129 + for (int i = 0; i < childlist.size(); i++) {
  130 + final int finalI = i;
  131 + menu.add(0, i, 10, childlist.get(i).getStudentName()).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
  132 + @Override
  133 + public boolean onMenuItemClick(MenuItem item) {
  134 + tvName.setText(item.getTitle());
  135 + jsonStr = g.toJson(childlist.get(finalI), ChildBean.class);
  136 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.CURRCHILDJSONSTR, jsonStr);
  137 + return false;
  138 + }
  139 + });
88 140 }
89 141 }
90 142  
... ...
app/src/main/res/layout/item_school.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 3 android:layout_width="match_parent"
4   - android:layout_height="match_parent"
  4 + android:layout_height="wrap_content"
5 5 android:orientation="vertical">
6 6 <LinearLayout
7 7 android:layout_width="fill_parent"
... ...