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

Dev #180

Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
#168. Fix bug connected to shortSummary update in first launch.
  • Loading branch information
bogdan-evtushenko committed Aug 23, 2019
commit ba92df5c5943deca051bc8055a4647cc1b3aa45d
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import android.view.View
import com.blogspot.e_kanivets.moneytracker.R
import com.blogspot.e_kanivets.moneytracker.activity.base.BaseFragment
import com.blogspot.e_kanivets.moneytracker.adapter.RecordAdapter
import com.blogspot.e_kanivets.moneytracker.controller.FormatController
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController
import com.blogspot.e_kanivets.moneytracker.controller.data.RecordController
import com.blogspot.e_kanivets.moneytracker.controller.data.TransferController
Expand Down Expand Up @@ -35,7 +34,7 @@ class AccountOperationsFragment : BaseFragment() {
}

override fun initViews(view: View) {
recyclerView.adapter = RecordAdapter(requireContext(), getRecords(), false)
recyclerView.adapter = RecordAdapter(requireContext(), getRecords(), false, null)
}

private fun getRecords(): List<Record> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,7 @@ class MainActivity : BaseDrawerActivity() {
tvDefaultAccountSum = navigationView.getHeaderView(0).findViewById(R.id.tvDefaultAccountSum)
tvCurrency = navigationView.getHeaderView(0).findViewById(R.id.tvCurrency)

recordAdapter = RecordAdapter(this, listOf(), true)

recordAdapter.setOnItemClickListener { position ->
recordAdapter = RecordAdapter(this, listOf(), true) { position ->
if (position == 0) showReport()
else editRecord(position)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ class RecordAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder> {

private var summaryPresenter: ShortSummaryPresenter
private var isHeaderViewNeeded: Boolean = false
private lateinit var headerViewHolder: HeaderViewHolder
private var headerViewHolder: HeaderViewHolder

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

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

summaryPresenter = ShortSummaryPresenter(context)

this.itemClickListener = itemClickListener
this.isHeaderViewNeeded = isHeaderViewNeeded

headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
summaryPresenter.create(true, headerViewHolder)
}

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

fun setRecords(recordsList: List<Record>, report: IRecordReport?, currency: String, ratesNeeded: List<String>) {
if (isHeaderViewNeeded && records.isEmpty()) {
headerViewHolder = HeaderViewHolder(LayoutInflater.from(context).inflate(R.layout.view_summary_records, null), itemClickListener)
summaryPresenter.create(true, headerViewHolder)
}
records = recordsList
summaryPresenter.update(report, currency, ratesNeeded)
notifyDataSetChanged()
}

fun setOnItemClickListener(itemClickListener: (Int) -> Unit) {
this.itemClickListener = itemClickListener
}

class ViewHolder : RecyclerView.ViewHolder {

var container: LinearLayout
Expand Down