Skip to content

Commit 9332de2

Browse files
committed
Refactor CampaignView to use ViewBinding.
1 parent b5ce7c7 commit 9332de2

File tree

2 files changed

+10
-31
lines changed

2 files changed

+10
-31
lines changed

app/src/main/java/fr/free/nrw/commons/campaigns/CampaignView.java

+10-22
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,20 @@
33
import android.content.Context;
44
import android.net.Uri;
55
import android.util.AttributeSet;
6+
import android.view.LayoutInflater;
67
import android.view.View;
7-
import android.widget.ImageView;
8-
import android.widget.TextView;
98

109
import androidx.annotation.NonNull;
1110
import androidx.annotation.Nullable;
1211

1312
import fr.free.nrw.commons.campaigns.models.Campaign;
13+
import fr.free.nrw.commons.databinding.LayoutCampaginBinding;
1414
import fr.free.nrw.commons.theme.BaseActivity;
1515
import fr.free.nrw.commons.utils.DateUtil;
1616

1717
import java.text.ParseException;
1818
import java.util.Date;
1919

20-
import butterknife.BindView;
21-
import butterknife.ButterKnife;
2220
import fr.free.nrw.commons.R;
2321
import fr.free.nrw.commons.Utils;
2422
import fr.free.nrw.commons.contributions.MainActivity;
@@ -31,6 +29,7 @@
3129
*/
3230
public class CampaignView extends SwipableCardView {
3331
Campaign campaign;
32+
private LayoutCampaginBinding binding;
3433
private ViewHolder viewHolder;
3534

3635
public static final String CAMPAIGNS_DEFAULT_PREFERENCE = "displayCampaignsCardView";
@@ -76,8 +75,8 @@ public void setCampaign(final Campaign campaign) {
7675
}
7776

7877
private void init() {
79-
final View rootView = inflate(getContext(), R.layout.layout_campagin, this);
80-
viewHolder = new ViewHolder(rootView);
78+
binding = LayoutCampaginBinding.inflate(LayoutInflater.from(getContext()), this, true);
79+
viewHolder = new ViewHolder();
8180
setOnClickListener(view -> {
8281
if (campaign != null) {
8382
if (campaign.isWLMCampaign()) {
@@ -90,35 +89,24 @@ private void init() {
9089
}
9190

9291
public class ViewHolder {
93-
94-
@BindView(R.id.iv_campaign)
95-
ImageView ivCampaign;
96-
@BindView(R.id.tv_title) TextView tvTitle;
97-
@BindView(R.id.tv_description) TextView tvDescription;
98-
@BindView(R.id.tv_dates) TextView tvDates;
99-
100-
public ViewHolder(View itemView) {
101-
ButterKnife.bind(this, itemView);
102-
}
103-
10492
public void init() {
10593
if (campaign != null) {
106-
ivCampaign.setImageDrawable(
94+
binding.ivCampaign.setImageDrawable(
10795
getResources().getDrawable(R.drawable.ic_campaign));
10896

109-
tvTitle.setText(campaign.getTitle());
110-
tvDescription.setText(campaign.getDescription());
97+
binding.tvTitle.setText(campaign.getTitle());
98+
binding.tvDescription.setText(campaign.getDescription());
11199
try {
112100
if (campaign.isWLMCampaign()) {
113-
tvDates.setText(
101+
binding.tvDates.setText(
114102
String.format("%1s - %2s", campaign.getStartDate(),
115103
campaign.getEndDate()));
116104
} else {
117105
final Date startDate = CommonsDateUtil.getIso8601DateFormatShort()
118106
.parse(campaign.getStartDate());
119107
final Date endDate = CommonsDateUtil.getIso8601DateFormatShort()
120108
.parse(campaign.getEndDate());
121-
tvDates.setText(String.format("%1s - %2s", DateUtil.getExtraShortDateString(startDate),
109+
binding.tvDates.setText(String.format("%1s - %2s", DateUtil.getExtraShortDateString(startDate),
122110
DateUtil.getExtraShortDateString(endDate)));
123111
}
124112
} catch (final ParseException e) {

app/src/main/res/values-yue-hant/error.xml

-9
This file was deleted.

0 commit comments

Comments
 (0)