briefs UI

chengzhenyu лет %!s(int64=10): %!d(string=назад)
Родитель
Сommit
c902f3e6e6
5 измененных файлов с 147 добавлено и 4 удалено
  1. 9 0
      app/src/main/java/ai/pai/lensman/bean/BriefsBean.java
  2. 27 1
      app/src/main/java/ai/pai/lensman/briefs/BriefsActivity.java
  3. 2 1
      app/src/main/java/ai/pai/lensman/briefs/BriefsContract.java
  4. 81 0
      app/src/main/java/ai/pai/lensman/briefs/BriefsInteractor.java
  5. 28 2
      app/src/main/java/ai/pai/lensman/briefs/BriefsPresenter.java

+ 9 - 0
app/src/main/java/ai/pai/lensman/bean/BriefsBean.java

@@ -0,0 +1,9 @@
1
+package ai.pai.lensman.bean;
2
+
3
+/**
4
+ * Created by chengzhenyu on 2016/8/24.
5
+ */
6
+
7
+public class BriefsBean {
8
+
9
+}

+ 27 - 1
app/src/main/java/ai/pai/lensman/briefs/BriefsActivity.java

@@ -3,21 +3,35 @@ package ai.pai.lensman.briefs;
3 3
 import android.content.Intent;
4 4
 import android.os.Bundle;
5 5
 import android.support.annotation.Nullable;
6
+import android.widget.TextView;
6 7
 
7 8
 import ai.pai.lensman.R;
8 9
 import ai.pai.lensman.base.BaseActivity;
10
+import ai.pai.lensman.bean.BriefsBean;
9 11
 import ai.pai.lensman.settings.SettingsActivity;
12
+import butterknife.BindView;
10 13
 import butterknife.ButterKnife;
11 14
 import butterknife.OnClick;
12 15
 
13 16
 public class BriefsActivity extends BaseActivity implements BriefsContract.View{
14 17
 
18
+    @BindView(R.id.tv_upload_photo_num)        TextView uploadPhotoNumText;
19
+    @BindView(R.id.tv_today_capture_num)       TextView captureNumText;
20
+    @BindView(R.id.tv_average_money_amount)    TextView averageMoneyText;
21
+    @BindView(R.id.tv_today_incoming_account)  TextView todayIncomingText;
22
+    @BindView(R.id.tv_total_incoming_account)  TextView totalIncomingText;
23
+    @BindView(R.id.tv_today_capture_hours_account) TextView todayCaptureHoursText;
24
+
25
+    private BriefsPresenter presenter;
26
+
15 27
     @Override
16 28
     protected void onCreate(@Nullable Bundle savedInstanceState) {
17 29
         super.onCreate(savedInstanceState);
18 30
         setContentView(R.layout.activity_briefs);
19
-
20 31
         unbinder = ButterKnife.bind(this);
32
+
33
+        presenter = new BriefsPresenter(this);
34
+        presenter.start();
21 35
     }
22 36
 
23 37
     @OnClick(R.id.title_bar_back_layout)
@@ -30,4 +44,16 @@ public class BriefsActivity extends BaseActivity implements BriefsContract.View{
30 44
         startActivity(new Intent(this, SettingsActivity.class));
31 45
     }
32 46
 
47
+
48
+    @Override
49
+    protected void onDestroy() {
50
+        super.onDestroy();
51
+        presenter.stop();
52
+    }
53
+
54
+    @Override
55
+    public void updateUserInfo(BriefsBean bean) {
56
+
57
+    }
58
+
33 59
 }

+ 2 - 1
app/src/main/java/ai/pai/lensman/briefs/BriefsContract.java

@@ -2,6 +2,7 @@ package ai.pai.lensman.briefs;
2 2
 
3 3
 import ai.pai.lensman.base.BasePresenter;
4 4
 import ai.pai.lensman.base.BaseView;
5
+import ai.pai.lensman.bean.BriefsBean;
5 6
 
6 7
 /**
7 8
  * Created by chengzhenyu on 2016/8/22.
@@ -9,7 +10,7 @@ import ai.pai.lensman.base.BaseView;
9 10
 public class BriefsContract {
10 11
 
11 12
     public interface View extends BaseView{
12
-
13
+        void updateUserInfo(BriefsBean bean);
13 14
     }
14 15
 
15 16
     public interface Presenter extends BasePresenter{

+ 81 - 0
app/src/main/java/ai/pai/lensman/briefs/BriefsInteractor.java

@@ -0,0 +1,81 @@
1
+package ai.pai.lensman.briefs;
2
+
3
+import android.os.AsyncTask;
4
+
5
+import com.android.common.executors.ThreadExecutor;
6
+
7
+import org.json.JSONObject;
8
+
9
+import java.util.HashMap;
10
+
11
+import ai.pai.lensman.base.BaseInteractor;
12
+import ai.pai.lensman.bean.BriefsBean;
13
+import ai.pai.lensman.db.Preferences;
14
+import ai.pai.lensman.utils.HttpPostTask;
15
+import ai.pai.lensman.utils.UrlContainer;
16
+
17
+/**
18
+ * Created by chengzhenyu on 2016/8/24.
19
+ */
20
+
21
+public class BriefsInteractor implements BaseInteractor {
22
+
23
+    private HttpPostTask fetchInfoTask;
24
+    private InteractorListener<BriefsBean> listener;
25
+
26
+    public BriefsInteractor(InteractorListener<BriefsBean> listener){
27
+        this.listener = listener;
28
+    }
29
+
30
+    @Override
31
+    public void startJob() {
32
+        HashMap<String,String> params = new HashMap<>();
33
+        params.put("user_id", Preferences.getInstance().getLensManId());
34
+        fetchInfoTask = new HttpPostTask(params){
35
+
36
+            String message;
37
+            BriefsBean bean;
38
+
39
+            @Override
40
+            protected boolean parseResponse(String response) {
41
+                try{
42
+                    JSONObject json = new JSONObject(response);
43
+                    int status = json.getInt("status");
44
+                    if(status == 200){
45
+                        bean = new BriefsBean();
46
+                        return true;
47
+                    }else{
48
+                        message = json.getString("message");
49
+                    }
50
+                }catch (Exception e){
51
+                    e.printStackTrace();
52
+                }
53
+                return false;
54
+            }
55
+
56
+            @Override
57
+            protected void onPostFail() {
58
+                super.onPostFail();
59
+                listener.onInteractFail(message);
60
+            }
61
+
62
+            @Override
63
+            protected void onPostSuccess() {
64
+                super.onPostSuccess();
65
+                listener.onInteractSuccess(bean);
66
+            }
67
+        };
68
+        fetchInfoTask.executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), UrlContainer.SESSION_IDS_CREATE);
69
+    }
70
+
71
+    @Override
72
+    public void cancelJob() {
73
+        if(fetchInfoTask==null){
74
+            return;
75
+        }
76
+        if(fetchInfoTask.getStatus()== AsyncTask.Status.RUNNING){
77
+            fetchInfoTask.cancel(true);
78
+        }
79
+        fetchInfoTask = null;
80
+    }
81
+}

+ 28 - 2
app/src/main/java/ai/pai/lensman/briefs/BriefsPresenter.java

@@ -1,18 +1,44 @@
1 1
 package ai.pai.lensman.briefs;
2 2
 
3
+import com.android.common.utils.NetworkUtil;
4
+
5
+import ai.pai.lensman.App;
6
+import ai.pai.lensman.base.BaseInteractor;
7
+import ai.pai.lensman.bean.BriefsBean;
8
+
3 9
 /**
4 10
  * Created by chengzhenyu on 2016/8/22.
5 11
  */
6
-public class BriefsPresenter implements BriefsContract.Presenter {
12
+public class BriefsPresenter implements BriefsContract.Presenter,BaseInteractor.InteractorListener<BriefsBean> {
13
+
14
+    private BriefsContract.View briefsView;
15
+    private BriefsInteractor interactor;
16
+
17
+    public BriefsPresenter(BriefsContract.View briefsView){
18
+        this.briefsView = briefsView;
19
+        interactor = new BriefsInteractor(this);
20
+    }
7 21
 
8 22
     @Override
9 23
     public void start() {
10
-
24
+        interactor.startJob();
11 25
     }
12 26
 
13 27
     @Override
14 28
     public void stop() {
29
+        interactor.cancelJob();
30
+    }
15 31
 
32
+    @Override
33
+    public void onInteractSuccess(BriefsBean bean) {
34
+        briefsView.updateUserInfo(bean);
35
+    }
36
+
37
+    @Override
38
+    public void onInteractFail(String errorMsg) {
39
+        if(NetworkUtil.isWifiConnected(App.getAppContext())){
40
+            interactor.startJob();
41
+        }
16 42
     }
17 43
 
18 44
 }

kodo - Gogs: Go Git Service

Нет описания

huangqimin001: 9f8615463d :art: Return result for ess relative function лет %!s(int64=2): %!d(string=назад)
..
algorithm f38d3bf980 Caesar Alg лет %!s(int64=8): %!d(string=назад)
error db7875f7c2 :bug: Fixed Bug: ValueError: invalid literal for int() with base 10: '' / ValueError: need more than 1 value to unpack лет %!s(int64=2): %!d(string=назад)
kuaidi fd8d621642 :art: KuaiDi100Subscribe for tenancy лет %!s(int64=4): %!d(string=назад)
redis fe6c35b7eb :art: Cache wxacode qiniu_url / scene лет %!s(int64=4): %!d(string=назад)
shells 95dc031155 :art: create_update_membercard лет %!s(int64=5): %!d(string=назад)
sql f3cf68f957 Add PAI2_HOME_WX_API for request.weixin лет %!s(int64=9): %!d(string=назад)
tencentcloud 9f8615463d :art: Return result for ess relative function лет %!s(int64=2): %!d(string=назад)
zbar 3e9628d0c9 iSort & Pycodestyle лет %!s(int64=6): %!d(string=назад)
__init__.py 52ce35cbfc add api uuid_init/uuid лет %!s(int64=11): %!d(string=назад)
admin_utils.py 5e79a1088e :art: iSort лет %!s(int64=5): %!d(string=назад)
amount_utils.py 2fdf901626 新增摄影师合同相关接口 лет %!s(int64=2): %!d(string=назад)
disk_utils.py af2b3f483f change download.html to be generated from download.tmpl.html лет %!s(int64=10): %!d(string=назад)
group_photo_utils.py 0e7b5eb1af Update order_by of group session photos лет %!s(int64=9): %!d(string=назад)
message_utils.py f998fb9ef7 :art: iSort & PEP8 лет %!s(int64=5): %!d(string=назад)
original_CGzC_10a50000c8811190.bak.jpg 290ff6960f pyzbar лет %!s(int64=7): %!d(string=назад)
original_CGzC_10a50000c8811190.jpg 680f424408 Update water mark лет %!s(int64=9): %!d(string=назад)
paiai_96_96.png 4a8b4f8819 add watermark лет %!s(int64=11): %!d(string=назад)
paiai_water_mark.png 680f424408 Update water mark лет %!s(int64=9): %!d(string=назад)
price_utils.py 24e345a32f Add price func get_group_photo_price лет %!s(int64=9): %!d(string=назад)
qiniucdn.py 3f6a048122 :art: Opt quant_data ndeep for 3 times лет %!s(int64=2): %!d(string=назад)
rdm_utils.py 4efb7f6f87 Statistic лет %!s(int64=8): %!d(string=назад)
storage_qiniu_utils.py f998fb9ef7 :art: iSort & PEP8 лет %!s(int64=5): %!d(string=назад)
storage_utils.py f998fb9ef7 :art: iSort & PEP8 лет %!s(int64=5): %!d(string=назад)
thumbnail_utils.py 5c9e21b29b add Only Once Function statistic_thumbnail_size to statistic thumbnail size лет %!s(int64=10): %!d(string=назад)
time_utils.py 511533855d Change oauth to use http лет %!s(int64=9): %!d(string=назад)
url_utils.py 135c21b40c from models_ext import BaseModelMixin, upload_file_url, upload_path лет %!s(int64=8): %!d(string=назад)
version_utils.py 13816e8774 Fix Bug: REQUEST лет %!s(int64=8): %!d(string=назад)
watermark_utils.py 5411626ebe Change watermark position лет %!s(int64=9): %!d(string=назад)
wx_utils.py 32a7d9ffa0 Update wx relative лет %!s(int64=9): %!d(string=назад)