convert to butterknife style

chengzhenyu 8 年之前
父节点
当前提交
5321829723

+ 5 - 0
app/build.gradle

@@ -1,4 +1,5 @@
1 1
 apply plugin: 'com.android.application'
2
+apply plugin: 'android-apt'
2 3
 
3 4
 android {
4 5
     compileSdkVersion 24
@@ -24,6 +25,10 @@ dependencies {
24 25
     compile 'com.android.support:appcompat-v7:24.0.0'
25 26
     compile 'com.android.support:recyclerview-v7:24.0.0'
26 27
     compile 'com.android.support:design:24.0.0'
28
+
29
+    compile 'com.jakewharton:butterknife:8.2.1'
30
+    apt 'com.jakewharton:butterknife-compiler:8.2.1'
31
+
27 32
     compile project(path: ':common')
28 33
     compile project(path: ':common')
29 34
     compile files('libs/zxing.jar')

+ 5 - 5
app/src/main/java/ai/pai/lensman/session/PhotoRecyclerAdapter.java

@@ -12,6 +12,8 @@ import com.android.common.utils.DeviceUtils;
12 12
 import java.util.ArrayList;
13 13
 
14 14
 import ai.pai.lensman.R;
15
+import butterknife.BindView;
16
+import butterknife.ButterKnife;
15 17
 
16 18
 public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdapter.MyViewHolder> {
17 19
 
@@ -55,10 +57,7 @@ public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdap
55 57
 
56 58
     @Override
57 59
     public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
58
-        View view = mInflater.inflate(R.layout.photo_item,parent,false);
59
-        MyViewHolder viewHolder = new MyViewHolder(view);
60
-        viewHolder.photo = (ImageView) view.findViewById(R.id.iv_session_photo_item);
61
-        return viewHolder;
60
+        return  new MyViewHolder(mInflater.inflate(R.layout.photo_item,parent,false));
62 61
     }
63 62
 
64 63
     @Override
@@ -91,10 +90,11 @@ public class PhotoRecyclerAdapter extends RecyclerView.Adapter<PhotoRecyclerAdap
91 90
 
92 91
     class MyViewHolder extends RecyclerView.ViewHolder{
93 92
 
94
-        private ImageView photo;
93
+        @BindView(R.id.iv_session_photo_item) ImageView photo;
95 94
 
96 95
         public MyViewHolder(View view){
97 96
             super(view);
97
+            ButterKnife.bind(this,view);
98 98
         }
99 99
     }
100 100
 }

+ 26 - 38
app/src/main/java/ai/pai/lensman/session/SessionActivity.java

@@ -5,21 +5,19 @@ import android.support.v7.app.AppCompatActivity;
5 5
 import android.support.v7.widget.LinearLayoutManager;
6 6
 import android.support.v7.widget.RecyclerView;
7 7
 import android.view.View;
8
-import android.widget.ImageButton;
9
-import android.widget.ImageView;
10 8
 import android.widget.TextView;
11 9
 
12 10
 import ai.pai.lensman.R;
13 11
 import ai.pai.lensman.upload.SessionBean;
12
+import butterknife.BindView;
13
+import butterknife.ButterKnife;
14
+import butterknife.OnClick;
14 15
 
15
-public class SessionActivity extends AppCompatActivity implements SessionContract.SessionView,View.OnClickListener {
16
+public class SessionActivity extends AppCompatActivity implements SessionContract.SessionView {
16 17
 
17
-    private View noPhotoLayout;
18
-    private RecyclerView photosRecyclerView;
19
-    private TextView titleTextView;
20
-    private ImageView scanImageView;
21
-    private ImageView qrcodeImageView;
22
-    private ImageButton sessionCompleteBtn;
18
+    @BindView(R.id.icon_no_data) View noPhotoLayout;
19
+    @BindView(R.id.title_bar_middle_txt) TextView titleTextView;
20
+    @BindView(R.id.recycler_view_photos) RecyclerView photosRecyclerView;
23 21
     private PhotoRecyclerAdapter adapter;
24 22
 
25 23
     private SessionContract.SessionPresenter presenter;
@@ -28,26 +26,15 @@ public class SessionActivity extends AppCompatActivity implements SessionContrac
28 26
     protected void onCreate(Bundle savedInstanceState) {
29 27
         super.onCreate(savedInstanceState);
30 28
         setContentView(R.layout.activity_session);
31
-
29
+        ButterKnife.bind(this);
32 30
         presenter = new SessionPresenterImpl(this,this);
33 31
 
34 32
         SessionBean sessionBean =(SessionBean)getIntent().getSerializableExtra("session");
35
-        titleTextView = (TextView)findViewById(R.id.title_bar_middle_txt);
36 33
         titleTextView.setText(getString(R.string.scene)+sessionBean.sessionSeq);
37
-        noPhotoLayout = findViewById(R.id.icon_no_data);
38
-        photosRecyclerView = (RecyclerView)findViewById(R.id.recycler_view_photos);
39 34
         adapter = new PhotoRecyclerAdapter(this);
40 35
         RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
41 36
         photosRecyclerView.setLayoutManager(layoutManager);
42 37
         photosRecyclerView.setAdapter(adapter);
43
-        scanImageView = (ImageView)findViewById(R.id.iv_scan);
44
-        qrcodeImageView = (ImageView)findViewById(R.id.iv_qrcode);
45
-        sessionCompleteBtn = (ImageButton)findViewById(R.id.btn_session_complete);
46
-
47
-        scanImageView.setOnClickListener(this);
48
-        qrcodeImageView.setOnClickListener(this);
49
-        sessionCompleteBtn.setOnClickListener(this);
50
-        findViewById(R.id.title_bar_back_layout).setOnClickListener(this);
51 38
     }
52 39
 
53 40
     @Override
@@ -62,23 +49,24 @@ public class SessionActivity extends AppCompatActivity implements SessionContrac
62 49
         presenter.stop();
63 50
     }
64 51
 
65
-    @Override
66
-    public void onClick(View view) {
67
-
68
-        switch (view.getId()){
69
-            case R.id.title_bar_back_layout:
70
-                finish();
71
-                break;
72
-            case R.id.iv_qrcode:
73
-                presenter.showQRCodeForSession();
74
-                break;
75
-            case R.id.iv_scan:
76
-                presenter.scanToFetchSessionQR();
77
-                break;
78
-            case R.id.btn_session_complete:
79
-                presenter.onSessionComplete();
80
-                break;
81
-        }
52
+    @OnClick(R.id.iv_scan)
53
+    void scanToFetchSessionQR(){
54
+
55
+    }
56
+
57
+    @OnClick(R.id.iv_qrcode)
58
+    void showQRCodeForSession(){
59
+
60
+    }
61
+
62
+    @OnClick(R.id.title_bar_back_layout)
63
+    void backToMain(){
64
+        finish();
65
+    }
66
+
67
+    @OnClick(R.id.btn_session_complete)
68
+    void onSessionComplete(){
69
+
82 70
     }
83 71
 
84 72
     @Override

+ 0 - 3
app/src/main/java/ai/pai/lensman/session/SessionContract.java

@@ -13,9 +13,6 @@ public class SessionContract {
13 13
 
14 14
     interface SessionPresenter{
15 15
         void start();
16
-        void onSessionComplete();
17
-        void scanToFetchSessionQR();
18
-        void showQRCodeForSession();
19 16
         void stop();
20 17
     }
21 18
 }

+ 0 - 16
app/src/main/java/ai/pai/lensman/session/SessionPresenterImpl.java

@@ -29,22 +29,6 @@ public class SessionPresenterImpl implements SessionContract.SessionPresenter ,S
29 29
     }
30 30
 
31 31
     @Override
32
-    public void onSessionComplete() {
33
-        context.finish();
34
-
35
-    }
36
-
37
-    @Override
38
-    public void scanToFetchSessionQR() {
39
-
40
-    }
41
-
42
-    @Override
43
-    public void showQRCodeForSession() {
44
-
45
-    }
46
-
47
-    @Override
48 32
     public void stop() {
49 33
         interactor.stopCapture();
50 34
     }

+ 6 - 7
app/src/main/java/ai/pai/lensman/upload/SessionRecyclerAdapter.java

@@ -13,6 +13,8 @@ import com.android.common.utils.DeviceUtils;
13 13
 import java.util.ArrayList;
14 14
 
15 15
 import ai.pai.lensman.R;
16
+import butterknife.BindView;
17
+import butterknife.ButterKnife;
16 18
 
17 19
 public class SessionRecyclerAdapter extends RecyclerView.Adapter<SessionRecyclerAdapter.MyViewHolder> {
18 20
 
@@ -65,11 +67,7 @@ public class SessionRecyclerAdapter extends RecyclerView.Adapter<SessionRecycler
65 67
 
66 68
     @Override
67 69
     public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
68
-        View view = mInflater.inflate(R.layout.session_item,parent,false);
69
-        MyViewHolder viewHolder = new MyViewHolder(view);
70
-        viewHolder.photo = (ImageView) view.findViewById(R.id.iv_session_item);
71
-        viewHolder.sesseionSeq = (TextView)view.findViewById(R.id.tv_session_seq);
72
-        return viewHolder;
70
+        return new MyViewHolder(mInflater.inflate(R.layout.session_item,parent,false));
73 71
     }
74 72
 
75 73
     @Override
@@ -103,12 +101,13 @@ public class SessionRecyclerAdapter extends RecyclerView.Adapter<SessionRecycler
103 101
 
104 102
     class MyViewHolder extends RecyclerView.ViewHolder{
105 103
 
106
-        private ImageView photo;
104
+        @BindView(R.id.iv_session_item) ImageView photo;
107 105
 
108
-        private TextView sesseionSeq;
106
+        @BindView(R.id.tv_session_seq) TextView sesseionSeq;
109 107
 
110 108
         public MyViewHolder(View view){
111 109
             super(view);
110
+            ButterKnife.bind(this, view);
112 111
         }
113 112
     }
114 113
 }

+ 24 - 29
app/src/main/java/ai/pai/lensman/upload/UploadActivity.java

@@ -12,51 +12,30 @@ import android.widget.TextView;
12 12
 import java.util.ArrayList;
13 13
 
14 14
 import ai.pai.lensman.R;
15
+import butterknife.BindView;
16
+import butterknife.ButterKnife;
17
+import butterknife.OnClick;
15 18
 
16 19
 public class UploadActivity extends AppCompatActivity implements UploadContract.UploadView{
17 20
 
18
-    private TextView btStatusTextView;
19
-    private ImageView btStatusImageView;
20
-    private View noDataLayout;
21
+    @BindView(R.id.tv_bt_status) TextView btStatusTextView;
22
+    @BindView(R.id.iv_bt_status) ImageView btStatusImageView;
23
+    @BindView(R.id.icon_no_data) View noDataLayout;
24
+    @BindView(R.id.recycler_view_sessions) RecyclerView sessionsRecyclerView;
21 25
     private SessionRecyclerAdapter adapter;
22
-    private RecyclerView sessionsRecyclerView;
23 26
     private UploadContract.UploadPresenter presenter;
24 27
 
25 28
     @Override
26 29
     protected void onCreate(Bundle savedInstanceState) {
27 30
         super.onCreate(savedInstanceState);
28 31
         setContentView(R.layout.activity_upload);
32
+        ButterKnife.bind(this);
29 33
 
30 34
         presenter = new UploadPresenterImpl(this,this);
31
-        noDataLayout = findViewById(R.id.icon_no_data);
32
-        btStatusImageView = (ImageView)findViewById(R.id.iv_bt_status);
33
-        btStatusTextView = (TextView)findViewById(R.id.tv_bt_status);
34
-        sessionsRecyclerView = (RecyclerView)findViewById(R.id.recycler_view_sessions);
35 35
         adapter = new SessionRecyclerAdapter(this);
36 36
         RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2,LinearLayoutManager.VERTICAL,false);
37 37
         sessionsRecyclerView.setLayoutManager(layoutManager);
38 38
         sessionsRecyclerView.setAdapter(adapter);
39
-        findViewById(R.id.iv_briefs).setOnClickListener(new View.OnClickListener(){
40
-            @Override
41
-            public void onClick(View view) {
42
-                presenter.jumpToBriefs();
43
-            }
44
-        });
45
-
46
-        findViewById(R.id.iv_add_session).setOnClickListener(new View.OnClickListener(){
47
-            @Override
48
-            public void onClick(View view) {
49
-                presenter.jumpToNewSession();
50
-            }
51
-        });
52
-
53
-        btStatusImageView.setOnClickListener(new View.OnClickListener(){
54
-            @Override
55
-            public void onClick(View view) {
56
-                presenter.checkBTStatus();
57
-            }
58
-        });
59
-
60 39
     }
61 40
 
62 41
     @Override
@@ -71,6 +50,22 @@ public class UploadActivity extends AppCompatActivity implements UploadContract.
71 50
         presenter.stop();
72 51
     }
73 52
 
53
+    @OnClick(R.id.iv_briefs)
54
+    void jumpToBriefs(){
55
+
56
+    }
57
+
58
+    @OnClick(R.id.iv_add_session)
59
+    void jumpToNewSession(){
60
+        presenter.jumpToNewSession();
61
+    }
62
+
63
+    @OnClick(R.id.iv_bt_status)
64
+    void checkBTStatus(){
65
+        presenter.checkBTStatus();
66
+    }
67
+
68
+
74 69
     @Override
75 70
     public void addNewSessionView(SessionBean bean) {
76 71
 

+ 1 - 1
build.gradle

@@ -6,7 +6,7 @@ buildscript {
6 6
     }
7 7
     dependencies {
8 8
         classpath 'com.android.tools.build:gradle:2.1.2'
9
-
9
+        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
10 10
         // NOTE: Do not place your application dependencies here; they belong
11 11
         // in the individual module build.gradle files
12 12
     }