21 22
     interface Presenter extends BasePresenter{

+ 29 - 2
app/src/main/java/ai/pai/lensman/upload/UploadPresenter.java

@@ -4,24 +4,37 @@ import java.text.SimpleDateFormat;
4 4
 import java.util.ArrayList;
5 5
 import java.util.Date;
6 6
 
7
+import ai.pai.lensman.base.BaseInteractor;
7 8
 import ai.pai.lensman.bean.SessionBean;
8 9
 import ai.pai.lensman.db.DBService;
9 10
 
10
-public class UploadPresenter implements UploadContract.Presenter {
11
+public class UploadPresenter implements UploadContract.Presenter,BaseInteractor.InteractorListener<ArrayList<String>> {
11 12
 
12 13
     private UploadContract.View uploadView;
13 14
     private ArrayList<SessionBean> sessionList;
14 15
     private String lensmanId;
15 16
     private int sessionSeq;
17
+    private ArrayList<String> sessionIds;
18
+    private FetchSessionIdsInteractor interactor;
16 19
 
17 20
     public UploadPresenter(UploadContract.View view,String lensmanId){
18 21
         this.uploadView = view;
19 22
         this.lensmanId = lensmanId;
23
+        sessionIds = new ArrayList<>();
24
+        interactor = new FetchSessionIdsInteractor(lensmanId,100,this);
20 25
     }
21 26
 
22 27
 
23 28
     @Override
24 29
     public void start() {
30
+        if(sessionIds==null|| sessionIds.size()<20){
31
+            interactor.startJob();
32
+        }
33
+        if(sessionIds==null || sessionIds.size()<1){
34
+            uploadView.setNewSessionBtnEnabled(false);
35
+        }else{
36
+            uploadView.setNewSessionBtnEnabled(true);
37
+        }
25 38
         sessionList = DBService.getInstance().getSessionBeanListByDay(getSessionDateInLongFormat());
26 39
         if(sessionList.size()==0){
27 40
             uploadView.showEmptyView();
@@ -39,12 +52,14 @@ public class UploadPresenter implements UploadContract.Presenter {
39 52
 
40 53
     @Override
41 54
     public SessionBean createNewSession() {
55
+
42 56
         SessionBean sessionBean = new SessionBean();
43 57
         sessionBean.lensmanId = lensmanId;
44 58
         sessionBean.sessionDate=getSessionDateInLongFormat();
45 59
         sessionBean.sessionSeq = sessionSeq+1;
46
-        sessionBean.sessionId ="chengzhenyu_test"+sessionBean.sessionSeq;
60
+        sessionBean.sessionId =sessionIds.get(0);
47 61
         sessionList.add(sessionBean);
62
+        sessionIds.remove(0);
48 63
         return sessionBean;
49 64
     }
50 65
 
@@ -53,4 +68,16 @@ public class UploadPresenter implements UploadContract.Presenter {
53 68
         String dateStr = format.format(new Date());
54 69
         return Long.parseLong(dateStr);
55 70
     }
71
+
72
+    @Override
73
+    public void onInteractSuccess(ArrayList<String> sessionIds) {
74
+        this.sessionIds.addAll(sessionIds);
75
+        uploadView.setNewSessionBtnEnabled(true);
76
+    }
77
+
78
+    @Override
79
+    public void onInteractFail(String errorMsg) {
80
+//        interactor.startJob();
81
+    }
82
+
56 83
 }

+ 1 - 1
app/src/main/java/ai/pai/lensman/utils/UrlContainer.java

@@ -11,7 +11,7 @@ public class UrlContainer {
11 11
 
12 12
     public static final String LOGIN_URL = HOST_URL+"login";
13 13
 
14
-    public static final String SESSION_IDS_CREATE = HOST_URL+"uuid_init";
14
+    public static final String SESSION_IDS_CREATE = HOST_URL+"uuid";
15 15
 
16 16
     public static final String PHOTO_UPLOAD_URL = HOST_URL+"photos/upload";
17 17
 

Sign In - Gogs: Go Git Service

Sign In