Skip to content

Commit 16fc72a

Browse files
Visibility check added to list of accounts in GroupDetailsFragment (#1952)
1 parent 064d461 commit 16fc72a

File tree

1 file changed

+99
-33
lines changed

1 file changed

+99
-33
lines changed

mifosng-android/src/main/java/com/mifos/mifosxdroid/online/groupdetails/GroupDetailsFragment.kt

Lines changed: 99 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import com.mifos.utils.Constants
2929
import com.mifos.utils.FragmentConstants
3030
import com.mifos.utils.Utils
3131
import javax.inject.Inject
32+
3233
/**
3334
* Created by nellyk on 2/27/2016.
3435
*/
@@ -85,6 +86,19 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
8586
@BindView(R.id.ll_bottom_panel)
8687
var llBottomPanel: LinearLayout? = null
8788

89+
@JvmField
90+
@BindView(R.id.account_accordion_section_loans)
91+
var accountAccordionLoan: RelativeLayout? = null
92+
93+
@JvmField
94+
@BindView(R.id.account_accordion_section_savings)
95+
var accountAccordionSaving: RelativeLayout? = null
96+
97+
@JvmField
98+
@BindView(R.id.account_accordion_section_recurring)
99+
var accountAccordionRecurring: RelativeLayout? = null
100+
101+
88102
@JvmField
89103
@Inject
90104
var mGroupDetailsPresenter: GroupDetailsPresenter? = null
@@ -101,7 +115,11 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
101115
setHasOptionsMenu(true)
102116
}
103117

104-
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
118+
override fun onCreateView(
119+
inflater: LayoutInflater,
120+
container: ViewGroup?,
121+
savedInstanceState: Bundle?
122+
): View? {
105123
rootView = inflater.inflate(R.layout.fragment_group_details, container, false)
106124
ButterKnife.bind(this, rootView)
107125
mGroupDetailsPresenter!!.attachView(this)
@@ -113,16 +131,17 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
113131
fun onClickActivateGroup() {
114132
val activateFragment = ActivateFragment.newInstance(groupId, Constants.ACTIVATE_GROUP)
115133
val fragmentTransaction = requireActivity().supportFragmentManager
116-
.beginTransaction()
134+
.beginTransaction()
117135
fragmentTransaction.addToBackStack(FragmentConstants.FRAG_CLIENT_DETAILS)
118136
fragmentTransaction.replace(R.id.container, activateFragment)
119137
fragmentTransaction.commit()
120138
}
121139

122140
fun loadDocuments() {
123-
val documentListFragment = DocumentListFragment.newInstance(Constants.ENTITY_TYPE_GROUPS, groupId)
141+
val documentListFragment =
142+
DocumentListFragment.newInstance(Constants.ENTITY_TYPE_GROUPS, groupId)
124143
val fragmentTransaction = requireActivity().supportFragmentManager
125-
.beginTransaction()
144+
.beginTransaction()
126145
fragmentTransaction.addToBackStack(FragmentConstants.FRAG_GROUP_DETAILS)
127146
fragmentTransaction.replace(R.id.container, documentListFragment)
128147
fragmentTransaction.commit()
@@ -131,7 +150,7 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
131150
fun loadNotes() {
132151
val noteFragment = NoteFragment.newInstance(Constants.ENTITY_TYPE_GROUPS, groupId)
133152
val fragmentTransaction = requireActivity().supportFragmentManager
134-
.beginTransaction()
153+
.beginTransaction()
135154
fragmentTransaction.addToBackStack(FragmentConstants.FRAG_CLIENT_DETAILS)
136155
fragmentTransaction.replace(R.id.container, noteFragment)
137156
fragmentTransaction.commit()
@@ -140,7 +159,7 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
140159
fun addGroupSavingsAccount() {
141160
val savingsAccountFragment = SavingsAccountFragment.newInstance(groupId, true)
142161
val fragmentTransaction = requireActivity().supportFragmentManager
143-
.beginTransaction()
162+
.beginTransaction()
144163
fragmentTransaction.addToBackStack(FragmentConstants.FRAG_GROUP_DETAILS)
145164
fragmentTransaction.replace(R.id.container, savingsAccountFragment)
146165
fragmentTransaction.commit()
@@ -149,16 +168,17 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
149168
fun addGroupLoanAccount() {
150169
val grouploanAccountFragment = GroupLoanAccountFragment.newInstance(groupId)
151170
val fragmentTransaction = requireActivity().supportFragmentManager
152-
.beginTransaction()
171+
.beginTransaction()
153172
fragmentTransaction.addToBackStack(FragmentConstants.FRAG_GROUP_DETAILS)
154173
fragmentTransaction.replace(R.id.container, grouploanAccountFragment)
155174
fragmentTransaction.commit()
156175
}
157176

158177
fun loadGroupDataTables() {
159-
val dataTableFragment = DataTableFragment.newInstance(Constants.DATA_TABLE_NAME_GROUP, groupId)
178+
val dataTableFragment =
179+
DataTableFragment.newInstance(Constants.DATA_TABLE_NAME_GROUP, groupId)
160180
val fragmentTransaction = requireActivity().supportFragmentManager
161-
.beginTransaction()
181+
.beginTransaction()
162182
fragmentTransaction.addToBackStack(FragmentConstants.FRAG_GROUP_DETAILS)
163183
fragmentTransaction.replace(R.id.container, dataTableFragment)
164184
fragmentTransaction.commit()
@@ -191,8 +211,10 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
191211
tv_activationDate!!.text = dateString
192212
if (TextUtils.isEmpty(dateString)) rowActivation!!.visibility = View.GONE
193213
} catch (e: IndexOutOfBoundsException) {
194-
Toast.makeText(activity, getString(R.string.error_group_inactive),
195-
Toast.LENGTH_SHORT).show()
214+
Toast.makeText(
215+
activity, getString(R.string.error_group_inactive),
216+
Toast.LENGTH_SHORT
217+
).show()
196218
tv_activationDate!!.text = ""
197219
}
198220
tv_office!!.text = group.officeName
@@ -212,27 +234,54 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
212234
accountAccordion = AccountAccordion(activity)
213235
if (groupAccounts?.loanAccounts!!.size > 0) {
214236
val section = AccountAccordion.Section.LOANS
215-
val adapter = LoanAccountsListAdapter(requireActivity().applicationContext,
216-
groupAccounts?.loanAccounts)
217-
section.connect(activity, adapter, AdapterView.OnItemClickListener { adapterView, view, i, l -> mListener!!.loadLoanAccountSummary(adapter.getItem(i).id) })
237+
val adapter = LoanAccountsListAdapter(
238+
requireActivity().applicationContext,
239+
groupAccounts?.loanAccounts
240+
)
241+
section.connect(
242+
activity,
243+
adapter,
244+
AdapterView.OnItemClickListener { adapterView, view, i, l ->
245+
mListener!!.loadLoanAccountSummary(adapter.getItem(i).id)
246+
})
247+
} else {
248+
accountAccordionLoan?.visibility = View.GONE
218249
}
219250
if (groupAccounts.nonRecurringSavingsAccounts.size > 0) {
220251
val section = AccountAccordion.Section.SAVINGS
221-
val adapter = SavingsAccountsListAdapter(requireActivity().applicationContext,
222-
groupAccounts.nonRecurringSavingsAccounts)
223-
section.connect(activity, adapter, AdapterView.OnItemClickListener { adapterView, view, i, l ->
224-
mListener!!.loadSavingsAccountSummary(adapter.getItem(i).id,
225-
adapter.getItem(i).depositType)
226-
})
252+
val adapter = SavingsAccountsListAdapter(
253+
requireActivity().applicationContext,
254+
groupAccounts.nonRecurringSavingsAccounts
255+
)
256+
section.connect(
257+
activity,
258+
adapter,
259+
AdapterView.OnItemClickListener { adapterView, view, i, l ->
260+
mListener!!.loadSavingsAccountSummary(
261+
adapter.getItem(i).id,
262+
adapter.getItem(i).depositType
263+
)
264+
})
265+
} else {
266+
accountAccordionSaving?.visibility = View.GONE
227267
}
228268
if (groupAccounts.recurringSavingsAccounts.size > 0) {
229269
val section = AccountAccordion.Section.RECURRING
230-
val adapter = SavingsAccountsListAdapter(requireActivity().applicationContext,
231-
groupAccounts.recurringSavingsAccounts)
232-
section.connect(activity, adapter, AdapterView.OnItemClickListener { adapterView, view, i, l ->
233-
mListener!!.loadSavingsAccountSummary(adapter.getItem(i).id,
234-
adapter.getItem(i).depositType)
235-
})
270+
val adapter = SavingsAccountsListAdapter(
271+
requireActivity().applicationContext,
272+
groupAccounts.recurringSavingsAccounts
273+
)
274+
section.connect(
275+
activity,
276+
adapter,
277+
AdapterView.OnItemClickListener { adapterView, view, i, l ->
278+
mListener!!.loadSavingsAccountSummary(
279+
adapter.getItem(i).id,
280+
adapter.getItem(i).depositType
281+
)
282+
})
283+
} else {
284+
accountAccordionRecurring?.visibility = View.GONE
236285
}
237286
}
238287

@@ -245,8 +294,10 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
245294
mListener = try {
246295
activity as OnFragmentInteractionListener
247296
} catch (e: ClassCastException) {
248-
throw ClassCastException(activity.javaClass.getSimpleName() + " must " +
249-
"implement OnFragmentInteractionListener")
297+
throw ClassCastException(
298+
activity.javaClass.getSimpleName() + " must " +
299+
"implement OnFragmentInteractionListener"
300+
)
250301
}
251302
}
252303

@@ -294,7 +345,15 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
294345
}
295346

296347
enum class Section(private val sectionId: Int, private val textViewStringId: Int) {
297-
LOANS(R.id.account_accordion_section_loans, R.string.loanAccounts), SAVINGS(R.id.account_accordion_section_savings, R.string.savingAccounts), RECURRING(R.id.account_accordion_section_recurring, R.string.recurringAccount);
348+
LOANS(
349+
R.id.account_accordion_section_loans,
350+
R.string.loanAccounts
351+
),
352+
SAVINGS(
353+
R.id.account_accordion_section_savings,
354+
R.string.savingAccounts
355+
),
356+
RECURRING(R.id.account_accordion_section_recurring, R.string.recurringAccount);
298357

299358
private var mListViewCount = 0.0
300359
fun getTextView(context: Activity?): TextView {
@@ -317,7 +376,11 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
317376
return context!!.findViewById(sectionId)
318377
}
319378

320-
fun connect(context: Activity?, adapter: ListAdapter, onItemClickListener: AdapterView.OnItemClickListener?) {
379+
fun connect(
380+
context: Activity?,
381+
adapter: ListAdapter,
382+
onItemClickListener: AdapterView.OnItemClickListener?
383+
) {
321384
getCountView(context).text = adapter.count.toString()
322385
val listView = getListView(context)
323386
listView.adapter = adapter
@@ -327,9 +390,11 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
327390
fun open(context: Activity?) {
328391
val iconView = getIconView(context)
329392
iconView.text = "{" + LIST_CLOSED_ICON.key() + "}"
330-
mListViewCount = java.lang.Double.valueOf(getCountView(context)
393+
mListViewCount = java.lang.Double.valueOf(
394+
getCountView(context)
331395
.text
332-
.toString())
396+
.toString()
397+
)
333398
val listView = getListView(context)
334399
resizeListView(context, listView)
335400
listView.visibility = View.VISIBLE
@@ -372,7 +437,7 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
372437
// if listview items are less than 4
373438
val heightInDp = mListViewCount / 4 * 200
374439
val heightInPx = heightInDp * context!!.resources
375-
.displayMetrics.density
440+
.displayMetrics.density
376441
val params = listView.layoutParams
377442
params.height = heightInPx.toInt()
378443
listView.layoutParams = params
@@ -399,6 +464,7 @@ class GroupDetailsFragment : MifosBaseFragment(), GroupDetailsMvpView {
399464

400465
companion object {
401466
val LOG_TAG = GroupDetailsFragment::class.java.simpleName
467+
402468
@JvmStatic
403469
fun newInstance(groupId: Int): GroupDetailsFragment {
404470
val fragment = GroupDetailsFragment()

0 commit comments

Comments
 (0)