Skip to content

Commit 44f0b7b

Browse files
committed
36 - Migrate EditAccountFragment to ViewBinding
1 parent 20d8ee8 commit 44f0b7b

File tree

1 file changed

+33
-18
lines changed

1 file changed

+33
-18
lines changed

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

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,54 +2,71 @@ package com.blogspot.e_kanivets.moneytracker.activity.account.edit.fragment
22

33
import android.app.Activity
44
import android.os.Bundle
5-
import com.google.android.material.floatingactionbutton.FloatingActionButton
5+
import android.view.LayoutInflater
66
import android.view.View
7+
import android.view.ViewGroup
8+
import androidx.fragment.app.Fragment
9+
import com.blogspot.e_kanivets.moneytracker.MtApp
10+
import com.google.android.material.floatingactionbutton.FloatingActionButton
711
import com.blogspot.e_kanivets.moneytracker.R
8-
import com.blogspot.e_kanivets.moneytracker.R.layout
9-
import com.blogspot.e_kanivets.moneytracker.activity.base.BaseFragment
1012
import com.blogspot.e_kanivets.moneytracker.controller.FormatController
1113
import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController
14+
import com.blogspot.e_kanivets.moneytracker.databinding.FragmentEditAccountBinding
1215
import com.blogspot.e_kanivets.moneytracker.entity.data.Account
1316
import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy
1417
import com.blogspot.e_kanivets.moneytracker.util.validator.EditAccountValidator
1518
import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator
16-
import kotlinx.android.synthetic.main.fragment_edit_account.*
1719
import javax.inject.Inject
1820

19-
class EditAccountFragment : BaseFragment() {
21+
class EditAccountFragment : Fragment() {
2022

2123
@Inject
2224
internal lateinit var accountController: AccountController
25+
2326
@Inject
2427
internal lateinit var formatController: FormatController
2528

2629
private lateinit var accountValidator: IValidator<Account>
27-
2830
private lateinit var account: Account
2931

30-
override val contentViewId: Int = layout.fragment_edit_account
32+
private lateinit var binding: FragmentEditAccountBinding
33+
34+
override fun onCreate(savedInstanceState: Bundle?) {
35+
super.onCreate(savedInstanceState)
36+
initData()
37+
}
38+
39+
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
40+
binding = FragmentEditAccountBinding.inflate(inflater)
41+
return binding.root
42+
}
43+
44+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
45+
super.onViewCreated(view, savedInstanceState)
46+
initViews(view)
47+
}
3148

32-
override fun initData() {
33-
appComponent.inject(this@EditAccountFragment)
49+
private fun initData() {
50+
MtApp.get().appComponent.inject(this@EditAccountFragment)
3451
arguments?.let { arguments -> account = arguments.getParcelable(KEY_ACCOUNT)!! }
3552
}
3653

37-
override fun initViews(view: View) {
38-
etTitle.setText(account.title)
39-
etGoal.setText(formatController.formatPrecisionNone(account.goal))
40-
viewColor.setBackgroundColor(account.color)
54+
private fun initViews(view: View) {
55+
binding.etTitle.setText(account.title)
56+
binding.etGoal.setText(formatController.formatPrecisionNone(account.goal))
57+
binding.viewColor.setBackgroundColor(account.color)
4158

4259
val fabDone = view.rootView.findViewById<FloatingActionButton>(R.id.fabDone)
4360
fabDone.setOnClickListener { done() }
4461

45-
accountValidator = EditAccountValidator(requireContext(), view)
62+
accountValidator = EditAccountValidator(requireContext(), binding)
4663
}
4764

4865
private fun done() {
4966
CrashlyticsProxy.get().logButton("Edit Account")
5067
if (accountValidator.validate()) {
51-
val title = etTitle.text.toString().trim { it <= ' ' }
52-
val goal = etGoal.text.toString().toDouble()
68+
val title = binding.etTitle.text.toString().trim { it <= ' ' }
69+
val goal = binding.etGoal.text.toString().toDouble()
5370

5471
val newAccount = Account(
5572
account.id, title, account.curSum.toDouble(),
@@ -75,7 +92,5 @@ class EditAccountFragment : BaseFragment() {
7592
fragment.arguments = arguments
7693
return fragment
7794
}
78-
7995
}
80-
8196
}

0 commit comments

Comments
 (0)