@@ -38,6 +38,7 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie  | 
            ||
| 38 | 38 | 
                @BindView(R.id.title_bar_middle_txt) TextView titleTextView;  | 
            
| 39 | 39 | 
                @BindView(R.id.recycler_view_photos) RecyclerView photosRecyclerView;  | 
            
| 40 | 40 | 
                @BindView(R.id.iv_scan) ImageView qrcodeScanBtn;  | 
            
| 41 | 
                + @BindView(R.id.tv_camera_status) TextView cameraStatusTextView;  | 
            |
| 41 | 42 | 
                 | 
            
| 42 | 43 | 
                private PhotoRecyclerAdapter adapter;  | 
            
| 43 | 44 | 
                private SessionBean sessionBean;  | 
            
                @@ -80,9 +81,9 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie  | 
            ||
| 80 | 81 | 
                         sessionBean =(SessionBean)getIntent().getSerializableExtra("session");
               | 
            
| 81 | 82 | 
                         if(BuildConfig.isTestMode){
               | 
            
| 82 | 83 | 
                sessionBean.sessionId="test";  | 
            
| 84 | 
                + cameraStatusTextView.setVisibility(View.VISIBLE);  | 
            |
| 83 | 85 | 
                }  | 
            
| 84 | 86 | 
                presenter = new SessionPresenter(sessionBean,this);  | 
            
| 85 | 
                -  | 
            |
| 86 | 87 | 
                titleTextView.setText(getString(R.string.scene,sessionBean.sessionSeq));  | 
            
| 87 | 88 | 
                adapter = new PhotoRecyclerAdapter(this);  | 
            
| 88 | 89 | 
                 | 
            
                @@ -215,6 +216,16 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie  | 
            ||
| 215 | 216 | 
                }  | 
            
| 216 | 217 | 
                 | 
            
| 217 | 218 | 
                @Override  | 
            
| 219 | 
                +    public void refreshCameraStatus(final String status) {
               | 
            |
| 220 | 
                +        cameraStatusTextView.post(new Runnable() {
               | 
            |
| 221 | 
                + @Override  | 
            |
| 222 | 
                +            public void run() {
               | 
            |
| 223 | 
                + cameraStatusTextView.setText(status);  | 
            |
| 224 | 
                + }  | 
            |
| 225 | 
                + });  | 
            |
| 226 | 
                + }  | 
            |
| 227 | 
                +  | 
            |
| 228 | 
                + @Override  | 
            |
| 218 | 229 | 
                     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
               | 
            
| 219 | 230 | 
                super.onActivityResult(requestCode,resultCode,data);  | 
            
| 220 | 231 | 
                         if (resultCode == Activity.RESULT_OK) {
               | 
            
                @@ -18,6 +18,7 @@ public class SessionContract {
               | 
            ||
| 18 | 18 | 
                void showToast(String toast);  | 
            
| 19 | 19 | 
                void refreshUploadTimeHint();  | 
            
| 20 | 20 | 
                void addPhotos(ArrayList<PhotoBean> photoList);  | 
            
| 21 | 
                + void refreshCameraStatus(String status);  | 
            |
| 21 | 22 | 
                }  | 
            
| 22 | 23 | 
                 | 
            
| 23 | 24 | 
                     interface Presenter extends BasePresenter{
               | 
            
                @@ -44,6 +44,7 @@ public class SessionInteractor implements Callback{
               | 
            ||
| 44 | 44 | 
                     public boolean handleMessage(Message message) {
               | 
            
| 45 | 45 | 
                         if(message.what==MSG_CAMERA_INIT_EVENT){
               | 
            
| 46 | 46 | 
                int result = CameraJNIInterface.getInstance().java_mygpcamerainit();  | 
            
| 47 | 
                +            listener.onCameraStatusChanged("mygpcamerainit return "+result);
               | 
            |
| 47 | 48 | 
                             if(result>=0){
               | 
            
| 48 | 49 | 
                listener.onSessionStartSuccess(sessionBean.sessionId);  | 
            
| 49 | 50 | 
                isWorking = true;  | 
            
                @@ -60,6 +61,7 @@ public class SessionInteractor implements Callback{
               | 
            ||
| 60 | 61 | 
                void onSessionStartError(String session);  | 
            
| 61 | 62 | 
                void onSessionPhotoCaptured(PhotoBean bean);  | 
            
| 62 | 63 | 
                void onSessionEnd(String session);  | 
            
| 64 | 
                + void onCameraStatusChanged(String status);  | 
            |
| 63 | 65 | 
                }  | 
            
| 64 | 66 | 
                 | 
            
| 65 | 67 | 
                     public void startSession(){
               | 
            
                @@ -69,6 +71,7 @@ public class SessionInteractor implements Callback{
               | 
            ||
| 69 | 71 | 
                new File(sessionWorkingDirPath).mkdirs();  | 
            
| 70 | 72 | 
                 | 
            
| 71 | 73 | 
                int result = CameraJNIInterface.getInstance().java_mygpcamerainit();  | 
            
| 74 | 
                +        listener.onCameraStatusChanged("mygpcamerainit return "+result);
               | 
            |
| 72 | 75 | 
                         if(result>=0){
               | 
            
| 73 | 76 | 
                             LogHelper.d("czy","mygpcamerainit init success="+result);
               | 
            
| 74 | 77 | 
                listener.onSessionStartSuccess(sessionBean.sessionId);  | 
            
                @@ -114,6 +117,7 @@ public class SessionInteractor implements Callback{
               | 
            ||
| 114 | 117 | 
                 | 
            
| 115 | 118 | 
                isLastQueryReturned = false;  | 
            
| 116 | 119 | 
                String eventMsg = CameraJNIInterface.getInstance().java_mygpcamerawaitforevent(sessionWorkingDirPath);  | 
            
| 120 | 
                +        listener.onCameraStatusChanged("mygpcamerawaitforevent return "+eventMsg);
               | 
            |
| 117 | 121 | 
                         LogHelper.d("czy","mygpcamerawaitforevent return result = "+eventMsg);
               | 
            
| 118 | 122 | 
                         if(eventMsg!=null && eventMsg.length()>0){
               | 
            
| 119 | 123 | 
                             if(MSG_TYPE_NOT_INIT.equalsIgnoreCase(eventMsg)||MSG_TYPE_CAMERA_ERROR.equalsIgnoreCase(eventMsg)){
               | 
            
                @@ -153,7 +157,8 @@ public class SessionInteractor implements Callback{
               | 
            ||
| 153 | 157 | 
                photoCaptureTimer.cancel();  | 
            
| 154 | 158 | 
                photoCaptureTimer = null;  | 
            
| 155 | 159 | 
                }  | 
            
| 156 | 
                - CameraJNIInterface.getInstance().java_mygpcameraexit();  | 
            |
| 160 | 
                + int result = CameraJNIInterface.getInstance().java_mygpcameraexit();  | 
            |
| 161 | 
                +        listener.onCameraStatusChanged("mygpcameraexit return "+result);
               | 
            |
| 157 | 162 | 
                listener.onSessionEnd(sessionBean.sessionId);  | 
            
| 158 | 163 | 
                         if(cameraInitHandler!=null){
               | 
            
| 159 | 164 | 
                cameraInitHandler.removeCallbacksAndMessages(null);  | 
            
                @@ -107,6 +107,11 @@ public class SessionPresenter implements SessionContract.Presenter, SessionInter  | 
            ||
| 107 | 107 | 
                }  | 
            
| 108 | 108 | 
                 | 
            
| 109 | 109 | 
                @Override  | 
            
| 110 | 
                +    public void onCameraStatusChanged(String status) {
               | 
            |
| 111 | 
                + sessionView.refreshCameraStatus(status);  | 
            |
| 112 | 
                + }  | 
            |
| 113 | 
                +  | 
            |
| 114 | 
                + @Override  | 
            |
| 110 | 115 | 
                     public void swipeToDeletePhoto(int index) {
               | 
            
| 111 | 116 | 
                         if(index<0 || index>= photoList.size()){
               | 
            
| 112 | 117 | 
                return;  | 
            
                @@ -81,6 +81,16 @@  | 
            ||
| 81 | 81 | 
                android:layout_width="match_parent"  | 
            
| 82 | 82 | 
                android:layout_height="match_parent" />  | 
            
| 83 | 83 | 
                 | 
            
| 84 | 
                + <TextView  | 
            |
| 85 | 
                + android:id="@+id/tv_camera_status"  | 
            |
| 86 | 
                + android:layout_width="match_parent"  | 
            |
| 87 | 
                + android:layout_height="48dp"  | 
            |
| 88 | 
                + android:textSize="16sp"  | 
            |
| 89 | 
                + android:textColor="@color/dark_grey"  | 
            |
| 90 | 
                + android:gravity="center_vertical"  | 
            |
| 91 | 
                + android:background="@color/white"  | 
            |
| 92 | 
                + android:visibility="gone"/>  | 
            |
| 93 | 
                +  | 
            |
| 84 | 94 | 
                <ImageButton  | 
            
| 85 | 95 | 
                android:id="@+id/btn_session_complete"  | 
            
| 86 | 96 | 
                android:layout_width="68dp"  |