Skip to content
This repository was archived by the owner on Jun 27, 2020. It is now read-only.

Commit 24590de

Browse files
#168. Add review fixes.
1 parent 8089d72 commit 24590de

File tree

2 files changed

+11
-31
lines changed

2 files changed

+11
-31
lines changed

app/src/main/java/com/blogspot/e_kanivets/moneytracker/adapter/RecordAdapter.kt

Lines changed: 9 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,11 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
4848

4949
summaryPresenter = ShortSummaryPresenter(context)
5050

51-
if (isHeaderViewNeeded) {
52-
headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
53-
summaryPresenter.create(true, headerViewHolder)
54-
}
55-
5651
this.isHeaderViewNeeded = isHeaderViewNeeded
5752
this.formatController = formatController
5853
}
5954

60-
override fun getItemCount() = records.size
55+
override fun getItemCount() = records.size + if (isHeaderViewNeeded) 1 else 0
6156

6257
override fun getItemViewType(position: Int): Int = if (position == 0 && isHeaderViewNeeded) {
6358
TYPE_HEADER
@@ -96,17 +91,17 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
9691
}
9792

9893
fun setRecords(recordsList: List<Record>, report: IRecordReport?, currency: String, ratesNeeded: List<String>) {
94+
if (isHeaderViewNeeded && records.isEmpty()) {
95+
headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
96+
summaryPresenter.create(true, headerViewHolder)
97+
}
9998
records = recordsList
10099
summaryPresenter.update(report, currency, ratesNeeded)
101100
notifyDataSetChanged()
102101
}
103102

104103
fun setOnItemClickListener(itemClickListener: OnItemClickListener) {
105104
this.itemClickListener = itemClickListener
106-
if (isHeaderViewNeeded) {
107-
headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
108-
summaryPresenter.create(true, headerViewHolder)
109-
}
110105
}
111106

112107
class ViewHolder : RecyclerView.ViewHolder {
@@ -130,7 +125,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
130125
itemClickListener?.onItemClick(adapterPosition)
131126
}
132127
}
133-
134128
}
135129

136130
class HeaderViewHolder : RecyclerView.ViewHolder, ShortSummaryPresenter.SummaryViewInterface {
@@ -140,21 +134,13 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
140134
private var tvTotalExpense: TextView
141135
private var tvTotal: TextView
142136

143-
override fun getTvPeriod(): TextView {
144-
return tvPeriod
145-
}
137+
override fun getTvPeriod(): TextView = tvPeriod
146138

147-
override fun getTvTotalIncome(): TextView {
148-
return tvTotalIncome
149-
}
139+
override fun getTvTotalIncome(): TextView = tvTotalIncome
150140

151-
override fun getTvTotalExpense(): TextView {
152-
return tvTotalExpense
153-
}
141+
override fun getTvTotalExpense(): TextView = tvTotalExpense
154142

155-
override fun getTvTotal(): TextView {
156-
return tvTotal
157-
}
143+
override fun getTvTotal(): TextView = tvTotal
158144

159145
constructor(view: View, itemClickListener: OnItemClickListener?) : super(view) {
160146
tvPeriod = view.tvPeriod
@@ -166,7 +152,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
166152
itemClickListener?.onItemClick(0)
167153
}
168154
}
169-
170155
}
171156

172157
interface OnItemClickListener {
@@ -177,7 +162,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
177162

178163
private const val TYPE_HEADER = 0
179164
private const val TYPE_ITEM = 1
180-
181165
}
182166

183167
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/ui/presenter/ShortSummaryPresenter.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,7 @@ public View create(boolean shortSummary, RecordAdapter.HeaderViewHolder mainView
5050
view = layoutInflater.inflate(R.layout.view_summary_records, null);
5151
view.findViewById(R.id.iv_more).setVisibility(shortSummary ? View.VISIBLE : View.INVISIBLE);
5252

53-
if (mainViewHolder == null)
54-
view.setTag(new ViewHolder(view));
55-
else
56-
view.setTag(mainViewHolder);
53+
view.setTag(mainViewHolder != null ? mainViewHolder : new ViewHolder(view));
5754

5855
return view;
5956
}
@@ -107,7 +104,7 @@ private String formatPeriod(Period period) {
107104
public static class ViewHolder implements SummaryViewInterface {
108105

109106
@BindView(R.id.tvPeriod)
110-
public TextView tvPeriod;
107+
TextView tvPeriod;
111108

112109
@Override
113110
public TextView getTvPeriod() {
@@ -141,7 +138,6 @@ public TextView getTvTotal() {
141138
public ViewHolder(View view) {
142139
ButterKnife.bind(this, view);
143140
}
144-
145141
}
146142

147143
public interface SummaryViewInterface {

0 commit comments

Comments
 (0)