Skip to content

Commit f73c9dc

Browse files
Migrate Upload Package To View Binding from Butterknife (commons-app#5590)
* Butterknife to ViewBinding * Butterknife to ViewBinding * code cleanup and tests fixed * code cleanup and optimised imports
1 parent 1b5df47 commit f73c9dc

File tree

13 files changed

+340
-409
lines changed

13 files changed

+340
-409
lines changed

app/src/main/java/fr/free/nrw/commons/upload/SimilarImageDialogFragment.java

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,12 @@
88
import android.view.View;
99
import android.view.ViewGroup;
1010
import android.view.Window;
11-
import android.widget.Button;
1211
import androidx.annotation.Nullable;
1312
import androidx.fragment.app.DialogFragment;
1413
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
15-
import butterknife.BindView;
16-
import butterknife.ButterKnife;
17-
import butterknife.OnClick;
1814
import com.facebook.drawee.generic.GenericDraweeHierarchyBuilder;
19-
import com.facebook.drawee.view.SimpleDraweeView;
2015
import fr.free.nrw.commons.R;
16+
import fr.free.nrw.commons.databinding.FragmentSimilarImageDialogBinding;
2117
import java.io.File;
2218

2319
/**
@@ -26,17 +22,11 @@
2622

2723
public class SimilarImageDialogFragment extends DialogFragment {
2824

29-
@BindView(R.id.orginalImage)
30-
SimpleDraweeView originalImage;
31-
@BindView(R.id.possibleImage)
32-
SimpleDraweeView possibleImage;
33-
@BindView(R.id.postive_button)
34-
Button positiveButton;
35-
@BindView(R.id.negative_button)
36-
Button negativeButton;
3725
Callback callback;//Implemented interface from shareActivity
3826
Boolean gotResponse = false;
3927

28+
private FragmentSimilarImageDialogBinding binding;
29+
4030
public SimilarImageDialogFragment() {
4131
}
4232
public interface Callback {
@@ -51,28 +41,31 @@ public void setCallback(Callback callback) {
5141

5242
@Override
5343
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
54-
View view = inflater.inflate(R.layout.fragment_similar_image_dialog, container, false);
55-
ButterKnife.bind(this,view);
44+
binding = FragmentSimilarImageDialogBinding.inflate(inflater, container, false);
45+
5646

57-
originalImage.setHierarchy(GenericDraweeHierarchyBuilder
47+
binding.orginalImage.setHierarchy(GenericDraweeHierarchyBuilder
5848
.newInstance(getResources())
5949
.setPlaceholderImage(VectorDrawableCompat.create(getResources(),
6050
R.drawable.ic_image_black_24dp,getContext().getTheme()))
6151
.setFailureImage(VectorDrawableCompat.create(getResources(),
6252
R.drawable.ic_error_outline_black_24dp, getContext().getTheme()))
6353
.build());
64-
possibleImage.setHierarchy(GenericDraweeHierarchyBuilder
54+
binding.possibleImage.setHierarchy(GenericDraweeHierarchyBuilder
6555
.newInstance(getResources())
6656
.setPlaceholderImage(VectorDrawableCompat.create(getResources(),
6757
R.drawable.ic_image_black_24dp,getContext().getTheme()))
6858
.setFailureImage(VectorDrawableCompat.create(getResources(),
6959
R.drawable.ic_error_outline_black_24dp, getContext().getTheme()))
7060
.build());
7161

72-
originalImage.setImageURI(Uri.fromFile(new File(getArguments().getString("originalImagePath"))));
73-
possibleImage.setImageURI(Uri.fromFile(new File(getArguments().getString("possibleImagePath"))));
62+
binding.orginalImage.setImageURI(Uri.fromFile(new File(getArguments().getString("originalImagePath"))));
63+
binding.possibleImage.setImageURI(Uri.fromFile(new File(getArguments().getString("possibleImagePath"))));
64+
65+
binding.postiveButton.setOnClickListener(v -> onPositiveButtonClicked());
66+
binding.negativeButton.setOnClickListener(v -> onNegativeButtonClicked());
7467

75-
return view;
68+
return binding.getRoot();
7669
}
7770

7871
@Override
@@ -96,17 +89,21 @@ public void onDismiss(DialogInterface dialog) {
9689
super.onDismiss(dialog);
9790
}
9891

99-
@OnClick(R.id.negative_button)
10092
public void onNegativeButtonClicked() {
10193
callback.onNegativeResponse();
10294
gotResponse = true;
10395
dismiss();
10496
}
10597

106-
@OnClick(R.id.postive_button)
10798
public void onPositiveButtonClicked() {
10899
callback.onPositiveResponse();
109100
gotResponse = true;
110101
dismiss();
111102
}
103+
104+
@Override
105+
public void onDestroy() {
106+
super.onDestroy();
107+
binding = null;
108+
}
112109
}

app/src/main/java/fr/free/nrw/commons/upload/ThumbnailsAdapter.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,16 @@
1010
import android.view.ViewGroup;
1111
import android.widget.ImageView;
1212
import android.widget.RelativeLayout;
13-
1413
import androidx.annotation.NonNull;
1514
import androidx.recyclerview.widget.RecyclerView;
16-
1715
import com.facebook.drawee.view.SimpleDraweeView;
18-
16+
import fr.free.nrw.commons.R;
17+
import fr.free.nrw.commons.databinding.ItemUploadThumbnailBinding;
18+
import fr.free.nrw.commons.filepicker.UploadableFile;
1919
import java.io.File;
2020
import java.util.ArrayList;
2121
import java.util.List;
2222

23-
import butterknife.BindView;
24-
import butterknife.ButterKnife;
25-
import fr.free.nrw.commons.R;
26-
import fr.free.nrw.commons.filepicker.UploadableFile;
27-
2823
/**
2924
* The adapter class for image thumbnails to be shown while uploading.
3025
*/
@@ -33,6 +28,8 @@ class ThumbnailsAdapter extends RecyclerView.Adapter<ThumbnailsAdapter.ViewHolde
3328
List<UploadableFile> uploadableFiles;
3429
private Callback callback;
3530

31+
private ItemUploadThumbnailBinding binding;
32+
3633
public ThumbnailsAdapter(Callback callback) {
3734
this.uploadableFiles = new ArrayList<>();
3835
this.callback = callback;
@@ -51,8 +48,8 @@ public void setUploadableFiles(
5148
@NonNull
5249
@Override
5350
public ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
54-
return new ViewHolder(LayoutInflater.from(viewGroup.getContext())
55-
.inflate(R.layout.item_upload_thumbnail, viewGroup, false));
51+
binding = ItemUploadThumbnailBinding.inflate(LayoutInflater.from(viewGroup.getContext()), viewGroup, false);
52+
return new ViewHolder(binding.getRoot());
5653
}
5754

5855
@Override
@@ -67,16 +64,16 @@ public int getItemCount() {
6764

6865
public class ViewHolder extends RecyclerView.ViewHolder {
6966

70-
@BindView(R.id.rl_container)
67+
7168
RelativeLayout rlContainer;
72-
@BindView(R.id.iv_thumbnail)
7369
SimpleDraweeView background;
74-
@BindView(R.id.iv_error)
7570
ImageView ivError;
7671

7772
public ViewHolder(@NonNull View itemView) {
7873
super(itemView);
79-
ButterKnife.bind(this, itemView);
74+
rlContainer = binding.rlContainer;
75+
background = binding.ivThumbnail;
76+
ivError = binding.ivError;
8077
}
8178

8279
/**

0 commit comments

Comments
 (0)