@@ -2,54 +2,71 @@ package com.blogspot.e_kanivets.moneytracker.activity.account.edit.fragment
22
33import android.app.Activity
44import android.os.Bundle
5- import com.google. android.material.floatingactionbutton.FloatingActionButton
5+ import android.view.LayoutInflater
66import 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
711import 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
1012import com.blogspot.e_kanivets.moneytracker.controller.FormatController
1113import com.blogspot.e_kanivets.moneytracker.controller.data.AccountController
14+ import com.blogspot.e_kanivets.moneytracker.databinding.FragmentEditAccountBinding
1215import com.blogspot.e_kanivets.moneytracker.entity.data.Account
1316import com.blogspot.e_kanivets.moneytracker.util.CrashlyticsProxy
1417import com.blogspot.e_kanivets.moneytracker.util.validator.EditAccountValidator
1518import com.blogspot.e_kanivets.moneytracker.util.validator.IValidator
16- import kotlinx.android.synthetic.main.fragment_edit_account.*
1719import 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