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

Commit ba92df5

Browse files
#168. Fix bug connected to shortSummary update in first launch.
1 parent 285c58c commit ba92df5

File tree

3 files changed

+8
-15
lines changed

3 files changed

+8
-15
lines changed

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import android.view.View
55
import com.blogspot.e_kanivets.moneytracker.R
66
import com.blogspot.e_kanivets.moneytracker.activity.base.BaseFragment
77
import com.blogspot.e_kanivets.moneytracker.adapter.RecordAdapter
8-
import com.blogspot.e_kanivets.moneytracker.controller.FormatController
98
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController
109
import com.blogspot.e_kanivets.moneytracker.controller.data.RecordController
1110
import com.blogspot.e_kanivets.moneytracker.controller.data.TransferController
@@ -35,7 +34,7 @@ class AccountOperationsFragment : BaseFragment() {
3534
}
3635

3736
override fun initViews(view: View) {
38-
recyclerView.adapter = RecordAdapter(requireContext(), getRecords(), false)
37+
recyclerView.adapter = RecordAdapter(requireContext(), getRecords(), false, null)
3938
}
4039

4140
private fun getRecords(): List<Record> {

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ 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(), true)
74-
75-
recordAdapter.setOnItemClickListener { position ->
73+
recordAdapter = RecordAdapter(this, listOf(), true) { position ->
7674
if (position == 0) showReport()
7775
else editRecord(position)
7876
}

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

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
3535

3636
private var summaryPresenter: ShortSummaryPresenter
3737
private var isHeaderViewNeeded: Boolean = false
38-
private lateinit var headerViewHolder: HeaderViewHolder
38+
private var headerViewHolder: HeaderViewHolder
3939

40-
constructor(context: Context, records: List<Record>, isHeaderViewNeeded: Boolean) {
40+
constructor(context: Context, records: List<Record>, isHeaderViewNeeded: Boolean, itemClickListener: ((Int) -> Unit)?) {
4141
this.context = context
4242
this.records = records
4343

@@ -50,7 +50,11 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
5050

5151
summaryPresenter = ShortSummaryPresenter(context)
5252

53+
this.itemClickListener = itemClickListener
5354
this.isHeaderViewNeeded = isHeaderViewNeeded
55+
56+
headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
57+
summaryPresenter.create(true, headerViewHolder)
5458
}
5559

5660
override fun getItemCount() = records.size + if (isHeaderViewNeeded) 1 else 0
@@ -92,19 +96,11 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {
9296
}
9397

9498
fun setRecords(recordsList: List<Record>, report: IRecordReport?, currency: String, ratesNeeded: List<String>) {
95-
if (isHeaderViewNeeded && records.isEmpty()) {
96-
headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
97-
summaryPresenter.create(true, headerViewHolder)
98-
}
9999
records = recordsList
100100
summaryPresenter.update(report, currency, ratesNeeded)
101101
notifyDataSetChanged()
102102
}
103103

104-
fun setOnItemClickListener(itemClickListener: (Int) -> Unit) {
105-
this.itemClickListener = itemClickListener
106-
}
107-
108104
class ViewHolder : RecyclerView.ViewHolder {
109105

110106
var container: LinearLayout

0 commit comments

Comments
 (0)