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

Commit 99a2150

Browse files
#168. Add @Inject in RecordAdapter. Change anonymous class into lambda in rvOnClickListener.
1 parent 24590de commit 99a2150

File tree

5 files changed

+18
-26
lines changed

5 files changed

+18
-26
lines changed

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/account/edit/fragment/AccountOperationsFragment.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ class AccountOperationsFragment : BaseFragment() {
2424
internal lateinit var recordController: RecordController
2525
@Inject
2626
internal lateinit var transferController: TransferController
27-
@Inject
28-
internal lateinit var formatController: FormatController
2927

3028
private lateinit var account: Account
3129

@@ -37,7 +35,7 @@ class AccountOperationsFragment : BaseFragment() {
3735
}
3836

3937
override fun initViews(view: View) {
40-
recyclerView.adapter = RecordAdapter(requireContext(), getRecords(), formatController, false)
38+
recyclerView.adapter = RecordAdapter(requireContext(), getRecords(), false)
4139
}
4240

4341
private fun getRecords(): List<Record> {
@@ -86,4 +84,5 @@ class AccountOperationsFragment : BaseFragment() {
8684
}
8785

8886
}
87+
8988
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/charts/fragment/GraphFragment.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,5 +107,4 @@ private void initViews(@Nullable View rootView) {
107107
barChart.setHighlightPerTapEnabled(false);
108108
}
109109
}
110-
111110
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/charts/fragment/SummaryFragment.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,5 +72,4 @@ private void initViews(@Nullable View rootView) {
7272
listView.setAdapter(new MonthSummaryAdapter(getActivity(), monthReport));
7373
}
7474
}
75-
7675
}

app/src/main/java/com/blogspot/e_kanivets/moneytracker/activity/record/MainActivity.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,12 @@ class MainActivity : BaseDrawerActivity() {
7070
tvDefaultAccountSum = navigationView.getHeaderView(0).findViewById(R.id.tvDefaultAccountSum)
7171
tvCurrency = navigationView.getHeaderView(0).findViewById(R.id.tvCurrency)
7272

73-
recordAdapter = RecordAdapter(this, listOf(), formatController, true)
74-
recordAdapter.setOnItemClickListener(object : RecordAdapter.OnItemClickListener {
75-
override fun onItemClick(position: Int) {
76-
if (position == 0) showReport()
77-
else editRecord(position)
78-
}
79-
})
73+
recordAdapter = RecordAdapter(this, listOf(), true)
74+
75+
recordAdapter.setOnItemClickListener { position ->
76+
if (position == 0) showReport()
77+
else editRecord(position)
78+
}
8079
recyclerView.adapter = recordAdapter
8180

8281
spinner.setPeriodSelectedListener { period ->

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

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@ import com.blogspot.e_kanivets.moneytracker.report.record.IRecordReport
1616
import com.blogspot.e_kanivets.moneytracker.ui.presenter.ShortSummaryPresenter
1717
import kotlinx.android.synthetic.main.view_record.view.*
1818
import kotlinx.android.synthetic.main.view_summary_records.view.*
19+
import javax.inject.Inject
1920

2021
class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
2122

22-
private var formatController: FormatController
23+
@Inject
24+
lateinit var formatController: FormatController
2325

24-
private var itemClickListener: OnItemClickListener? = null
26+
private var itemClickListener: ((Int) -> Unit)? = null
2527

2628
private var whiteRed: Int
2729
private var whiteGreen: Int
@@ -35,7 +37,7 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
3537
private var isHeaderViewNeeded: Boolean = false
3638
private lateinit var headerViewHolder: HeaderViewHolder
3739

38-
constructor(context: Context, records: List<Record>, formatController: FormatController, isHeaderViewNeeded: Boolean) {
40+
constructor(context: Context, records: List<Record>, isHeaderViewNeeded: Boolean) {
3941
this.context = context
4042
this.records = records
4143

@@ -49,7 +51,6 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
4951
summaryPresenter = ShortSummaryPresenter(context)
5052

5153
this.isHeaderViewNeeded = isHeaderViewNeeded
52-
this.formatController = formatController
5354
}
5455

5556
override fun getItemCount() = records.size + if (isHeaderViewNeeded) 1 else 0
@@ -100,7 +101,7 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
100101
notifyDataSetChanged()
101102
}
102103

103-
fun setOnItemClickListener(itemClickListener: OnItemClickListener) {
104+
fun setOnItemClickListener(itemClickListener: (Int) -> Unit) {
104105
this.itemClickListener = itemClickListener
105106
}
106107

@@ -113,7 +114,7 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
113114
var tvCategory: TextView
114115
var tvCurrency: TextView
115116

116-
constructor(view: View, itemClickListener: OnItemClickListener?) : super(view) {
117+
constructor(view: View, itemClickListener: ((Int) -> Unit)?) : super(view) {
117118
container = view.container
118119
tvDateAndTime = view.tvDateAndTime
119120
tvPrice = view.tvPrice
@@ -122,7 +123,7 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
122123
tvCurrency = view.tvCurrency
123124

124125
view.setOnClickListener {
125-
itemClickListener?.onItemClick(adapterPosition)
126+
itemClickListener?.invoke(adapterPosition)
126127
}
127128
}
128129
}
@@ -142,26 +143,21 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
142143

143144
override fun getTvTotal(): TextView = tvTotal
144145

145-
constructor(view: View, itemClickListener: OnItemClickListener?) : super(view) {
146+
constructor(view: View, itemClickListener: ((Int) -> Unit)?) : super(view) {
146147
tvPeriod = view.tvPeriod
147148
tvTotalIncome = view.tvTotalIncome
148149
tvTotalExpense = view.tvTotalExpense
149150
tvTotal = view.tvTotal
150151

151152
view.setOnClickListener {
152-
itemClickListener?.onItemClick(0)
153+
itemClickListener?.invoke(0)
153154
}
154155
}
155156
}
156157

157-
interface OnItemClickListener {
158-
fun onItemClick(position: Int)
159-
}
160-
161158
companion object {
162159

163160
private const val TYPE_HEADER = 0
164161
private const val TYPE_ITEM = 1
165162
}
166-
167163
}

0 commit comments

Comments
 (0)