diff --git a/feature/offline/src/main/java/com/mifos/feature/offline/navigation/offlineNavigation.kt b/feature/offline/src/main/java/com/mifos/feature/offline/navigation/offlineNavigation.kt
index 6a03ee5845a..a58b9e618cc 100644
--- a/feature/offline/src/main/java/com/mifos/feature/offline/navigation/offlineNavigation.kt
+++ b/feature/offline/src/main/java/com/mifos/feature/offline/navigation/offlineNavigation.kt
@@ -122,10 +122,6 @@ fun NavGraphBuilder.syncLoanRepaymentScreen(
}
}
-fun NavController.navigateToOfflineDashboardScreen() {
- navigate(OfflineScreens.OfflineDashboardScreens.route)
-}
-
fun NavController.navigateToSyncCenterPayloadsScreen(){
navigate(OfflineScreens.SyncCenterPayloadsScreens.route)
}
diff --git a/mifosng-android/src/main/AndroidManifest.xml b/mifosng-android/src/main/AndroidManifest.xml
index a95060cbee6..abeb87013e3 100755
--- a/mifosng-android/src/main/AndroidManifest.xml
+++ b/mifosng-android/src/main/AndroidManifest.xml
@@ -55,10 +55,6 @@
android:label="home_activity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
-
-
-
-
-
-
Unit
-) : RecyclerView.Adapter() {
- private val payloadNames: MutableList = ArrayList()
- private val payloadCounts: MutableList = ArrayList()
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- val viewHolder = ViewHolder(
- LayoutInflater.from(parent.context)
- .inflate(R.layout.item_offline_dashboard, parent, false)
- )
- viewHolder.itemView.setOnClickListener {
- if(viewHolder.adapterPosition != RecyclerView.NO_POSITION)
- onItemClick(viewHolder.adapterPosition)
- }
- return viewHolder
- }
-
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- holder.tv_payload_name.setText(payloadNames[position])
- holder.tv_item_count.text = payloadCounts[position]
- }
-
- override fun getItemCount() = payloadNames.size
-
-
- fun showCard(clientPayloadCount: String, cardName: Int) {
- payloadCounts.add(clientPayloadCount)
- payloadNames.add(cardName)
- notifyDataSetChanged()
- }
-
- fun removeAllCards() {
- payloadNames.clear()
- payloadCounts.clear()
- notifyDataSetChanged()
- }
-
- class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
- val tv_item_count: TextView = v.findViewById(R.id.tv_payload_count)
- val tv_payload_name: TextView = v.findViewById(R.id.tv_payload_name)
- val iv_payload_image: ImageView = v.findViewById(R.id.iv_payload_image)
- }
-}
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncCenterPayloadAdapter.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncCenterPayloadAdapter.kt
deleted file mode 100644
index 2cce7e6661e..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncCenterPayloadAdapter.kt
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mifos.mifosxdroid.adapters
-
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.recyclerview.widget.RecyclerView
-import com.mifos.mifosxdroid.databinding.ItemSyncCenterBinding
-import com.mifos.core.data.CenterPayload
-import javax.inject.Inject
-
-/**
- * Created by mayankjindal on 04/07/17.
- */
-class SyncCenterPayloadAdapter @Inject constructor() :
- RecyclerView.Adapter() {
- private var mCenterPayloads: List
-
- init {
- mCenterPayloads = ArrayList()
- }
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- return ViewHolder(
- ItemSyncCenterBinding.inflate(
- LayoutInflater.from(parent.context),
- parent,
- false
- )
- )
- }
-
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- val centerPayload = mCenterPayloads[position]
- holder.binding.tvName.text = centerPayload.name
- holder.binding.tvOfficeId.text = centerPayload.officeId.toString()
- holder.binding.tvActivationDate.text = centerPayload.activationDate
- if (centerPayload.active) {
- holder.binding.tvActiveStatus.text = true.toString()
- } else {
- holder.binding.tvActiveStatus.text = false.toString()
- }
- if (mCenterPayloads[position].errorMessage != null) {
- holder.binding.tvErrorMessage.text = centerPayload.errorMessage
- holder.binding.tvErrorMessage.visibility = View.VISIBLE
- }
- }
-
- override fun getItemCount(): Int {
- return mCenterPayloads.size
- }
-
- fun setCenterPayload(centerPayload: List) {
- mCenterPayloads = centerPayload
- notifyDataSetChanged()
- }
-
- class ViewHolder(val binding: ItemSyncCenterBinding) : RecyclerView.ViewHolder(binding.root)
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncLoanRepaymentAdapter.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncLoanRepaymentAdapter.kt
deleted file mode 100644
index bef52cddb1c..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncLoanRepaymentAdapter.kt
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.mifos.mifosxdroid.adapters
-
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.recyclerview.widget.RecyclerView
-import com.mifos.core.objects.accounts.loan.LoanRepaymentRequest
-import com.mifos.mifosxdroid.databinding.ItemSyncLoanRepaymentBinding
-import com.mifos.utils.Utils.getPaymentTypeName
-import javax.inject.Inject
-
-/**
- * Created by Rajan Maurya on 30/07/16.
- */
-class SyncLoanRepaymentAdapter @Inject constructor() :
- RecyclerView.Adapter() {
- private var loanRepaymentRequests: List
- private var mPaymentTypeOptions: List
-
- init {
- loanRepaymentRequests = ArrayList()
- mPaymentTypeOptions = ArrayList()
- }
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- return ViewHolder(
- ItemSyncLoanRepaymentBinding.inflate(
- LayoutInflater.from(parent.context),
- parent,
- false
- )
- )
- }
-
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- val loanRepaymentRequest = loanRepaymentRequests[position]
- val paymentTypeName = loanRepaymentRequest.paymentTypeId?.let {
- getPaymentTypeName(
- it.toInt(), mPaymentTypeOptions
- )
- }
- holder.binding.tvLoanId.text = loanRepaymentRequest.loanId.toString()
- holder.binding.tvAccountNumber.text = loanRepaymentRequest.accountNumber
- if (mPaymentTypeOptions.isNotEmpty()) {
- holder.binding.tvPaymentType.text = paymentTypeName
- }
- holder.binding.tvTransactionAmount.text = loanRepaymentRequest.transactionAmount
- holder.binding.tvTransactionDate.text = loanRepaymentRequest.transactionDate
- if (loanRepaymentRequest.errorMessage != null) {
- holder.binding.tvErrorMessage.text = loanRepaymentRequest.errorMessage
- holder.binding.tvErrorMessage.visibility = View.VISIBLE
- }
- }
-
- override fun getItemCount(): Int {
- return loanRepaymentRequests.size
- }
-
- fun setLoanRepaymentRequests(repaymentRequests: List) {
- loanRepaymentRequests = repaymentRequests
- notifyDataSetChanged()
- }
-
- fun setPaymentTypeOptions(paymentTypeOptions: List) {
- mPaymentTypeOptions = paymentTypeOptions
- notifyDataSetChanged()
- }
-
- class ViewHolder(val binding: ItemSyncLoanRepaymentBinding) :
- RecyclerView.ViewHolder(binding.root)
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncSavingsAccountTransactionAdapter.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncSavingsAccountTransactionAdapter.kt
deleted file mode 100644
index d08594944bc..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/adapters/SyncSavingsAccountTransactionAdapter.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.mifos.mifosxdroid.adapters
-
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.recyclerview.widget.RecyclerView
-import com.mifos.core.objects.accounts.savings.SavingsAccountTransactionRequest
-import com.mifos.mifosxdroid.databinding.ItemSyncSavingsAccountTransactionBinding
-import com.mifos.utils.Utils.getPaymentTypeName
-import javax.inject.Inject
-
-/**
- * Created by Rajan Maurya on 19/08/16.
- */
-class SyncSavingsAccountTransactionAdapter @Inject constructor() :
- RecyclerView.Adapter() {
- private var mSavingsAccountTransactionRequests: List
- private var mPaymentTypeOptions: List
-
- init {
- mSavingsAccountTransactionRequests = ArrayList()
- mPaymentTypeOptions = ArrayList()
- }
-
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
- return ViewHolder(
- ItemSyncSavingsAccountTransactionBinding.inflate(
- LayoutInflater.from(
- parent.context
- ), parent, false
- )
- )
- }
-
- fun setSavingsAccountTransactions(
- savingsAccountTransactions: List
- ) {
- mSavingsAccountTransactionRequests = savingsAccountTransactions
- notifyDataSetChanged()
- }
-
- fun setPaymentTypeOptions(paymentTypeOptions: List) {
- mPaymentTypeOptions = paymentTypeOptions
- notifyDataSetChanged()
- }
-
- override fun onBindViewHolder(holder: ViewHolder, position: Int) {
- val transaction = mSavingsAccountTransactionRequests[position]
- val paymentTypeName = transaction.paymentTypeId?.toInt()?.let {
- getPaymentTypeName(
- it,
- mPaymentTypeOptions
- )
- }
- holder.binding.tvSavingsAccountId.text = transaction.savingAccountId.toString()
- holder.binding.tvPaymentType.text = paymentTypeName
- holder.binding.tvTransactionType.text = transaction.transactionType
- holder.binding.tvTransactionAmount.text = transaction.transactionAmount
- holder.binding.tvTransactionDate.text = transaction.transactionDate
- if (transaction.errorMessage != null) {
- holder.binding.tvErrorMessage.text = transaction.errorMessage
- holder.binding.tvErrorMessage.visibility = View.VISIBLE
- }
- }
-
- override fun getItemCount(): Int {
- return mSavingsAccountTransactionRequests.size
- }
-
- class ViewHolder(val binding: ItemSyncSavingsAccountTransactionBinding) :
- RecyclerView.ViewHolder(binding.root)
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormEditText.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormEditText.kt
deleted file mode 100644
index f7fa5354894..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormEditText.kt
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * This project is licensed under the open source MPL V2.
- * See https://github.com/openMF/android-client/blob/master/LICENSE.md
- */
-package com.mifos.mifosxdroid.formwidgets
-
-import android.content.Context
-import android.view.MotionEvent
-import android.view.inputmethod.EditorInfo
-import android.widget.EditText
-import android.widget.TextView
-import androidx.fragment.app.FragmentManager
-import com.mifos.mifosxdroid.uihelpers.MFDatePicker
-import com.mifos.mifosxdroid.uihelpers.MFDatePicker.OnDatePickListener
-
-/**
- * Created by ishankhanna on 01/08/14.
- */
-class FormEditText(context: Context?, name: String?) : FormWidget(context, name) {
- private var label: TextView
- private var input: EditText
- var isDateField: Boolean
-
- init {
- label = TextView(context)
- label.text = displayText
- label.layoutParams = defaultLayoutParams
- input = EditText(context)
- input.layoutParams = defaultLayoutParams
- input.imeOptions = EditorInfo.IME_ACTION_DONE
- isDateField = false
- layout.addView(label)
- layout.addView(input)
- }
-
- override var value: String
- get() = input.text.toString()
- set(value) {
- input.setText(value)
- }
-
- override fun setHint(value: String?) {
- input.hint = value
- }
-
- fun setIsDateField(isDateField: Boolean, fragmentManager: FragmentManager?) {
- this.isDateField = isDateField
- if (this.isDateField) {
- input.setOnTouchListener { v, event ->
- if (MotionEvent.ACTION_UP == event.action) {
- val mfDatePicker = MFDatePicker()
- mfDatePicker.onDatePickListener = object : OnDatePickListener {
- override fun onDatePicked(date: String?) {
- if (date != null) {
- value = date
- }
- mfDatePicker.dismiss()
- }
- }
- if (fragmentManager != null) {
- mfDatePicker.show(fragmentManager, MFDatePicker.TAG)
- }
- }
- true
- }
- } else {
- throw RuntimeException(
- "This EditText must be a Date Field! Please check if " +
- "you've set isDateAvailable = true or not"
- )
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormNumericEditText.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormNumericEditText.kt
deleted file mode 100644
index 2988b5494fc..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormNumericEditText.kt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * This project is licensed under the open source MPL V2.
- * See https://github.com/openMF/android-client/blob/master/LICENSE.md
- */
-package com.mifos.mifosxdroid.formwidgets
-
-import android.content.Context
-import android.text.InputType
-import android.view.inputmethod.EditorInfo
-import android.widget.EditText
-import android.widget.TextView
-
-/**
- * Created by ishankhanna on 01/08/14.
- */
-class FormNumericEditText(context: Context?, property: String?) : FormWidget(context, property) {
- private var label: TextView
- private var input: EditText
-// private var priority = 0
-
- init {
- label = TextView(context)
- label.text = displayText
- input = EditText(context)
- input.inputType = InputType.TYPE_CLASS_PHONE
- input.imeOptions = EditorInfo.IME_ACTION_NEXT
- input.layoutParams = defaultLayoutParams
- layout.addView(label)
- layout.addView(input)
- }
-
- override var value: String
- get() = input.text.toString()
- set(value) {
- input.setText(value)
- }
-
- override fun setHint(value: String?) {
- input.hint = value
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormSpinner.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormSpinner.kt
deleted file mode 100644
index 12d07bdb655..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormSpinner.kt
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This project is licensed under the open source MPL V2.
- * See https://github.com/openMF/android-client/blob/master/LICENSE.md
- */
-package com.mifos.mifosxdroid.formwidgets
-
-import android.R
-import android.content.Context
-import android.widget.ArrayAdapter
-import android.widget.Spinner
-import android.widget.TextView
-
-/**
- * Created by ishankhanna on 01/08/14.
- */
-class FormSpinner(
- context: Context?,
- name: String?,
- columnValues: List,
- columnValueIds: List
-) : FormWidget(context, name) {
- private val label: TextView
- private val spinner: Spinner
- private val spinnerValueIdMap: MutableMap
-
- init {
- label = TextView(context)
- label.text = displayText
- spinner = Spinner(context)
- spinner.adapter =
- ArrayAdapter(context!!, R.layout.simple_spinner_item, columnValues)
- layout.addView(label)
- layout.addView(spinner)
- spinnerValueIdMap = HashMap()
- for (i in columnValues.indices) {
- spinnerValueIdMap[columnValues[i]] = columnValueIds[i]
- }
- }
-
- override var value: String
- get() = spinner.selectedItem.toString()
- set(value) {}
-
- fun getIdOfSelectedItem(key: String): Int {
- return spinnerValueIdMap[key]!!
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormToggleButton.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormToggleButton.kt
deleted file mode 100644
index 6451eda4ef0..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormToggleButton.kt
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.mifos.mifosxdroid.formwidgets
-
-import android.content.Context
-import android.view.Gravity
-import android.widget.LinearLayout
-import android.widget.TextView
-import androidx.appcompat.widget.SwitchCompat
-
-/**
- * Created by Tarun on 1/28/2017.
- */
-class FormToggleButton(context: Context?, name: String?) : FormWidget(context, name) {
- private var label: TextView
- private var switchButton: SwitchCompat
- private val weightedLayoutParams = LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.WRAP_CONTENT, 0.5.toFloat()
- )
- private var isTrue = false
-
- init {
- val linearLayout = LinearLayout(context)
- linearLayout.layoutParams = defaultLayoutParams
- linearLayout.orientation = LinearLayout.HORIZONTAL
- linearLayout.gravity = Gravity.CENTER_HORIZONTAL
- label = TextView(context)
- label.text = displayText
- label.layoutParams = weightedLayoutParams
- linearLayout.addView(label)
- switchButton = SwitchCompat(context!!)
- switchButton.layoutParams = weightedLayoutParams
- switchButton.gravity = Gravity.CENTER_HORIZONTAL
- switchButton.switchMinWidth = 50
- switchButton.isChecked = false
- switchButton.setOnCheckedChangeListener { compoundButton, b -> isTrue = b }
- linearLayout.addView(switchButton)
- layout.addView(linearLayout)
- }
-
- override var value: String
- get() = if (isTrue) "true" else "false"
- set(value) {}
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormWidget.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormWidget.kt
deleted file mode 100644
index 6aa2f2e165d..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/formwidgets/FormWidget.kt
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * This project is licensed under the open source MPL V2.
- * See https://github.com/openMF/android-client/blob/master/LICENSE.md
- */
-package com.mifos.mifosxdroid.formwidgets
-
-import android.content.Context
-import android.view.View
-import android.widget.LinearLayout
-import org.json.JSONObject
-import java.util.Locale
-
-/**
- * Created by ishankhanna on 01/08/14.
- */
-abstract class FormWidget(context: Context?, name: String?) {
-
-
- /**
- * returns the un-modified name of the property this widget represents
- */
- var propertyName: String
- protected set
-
- /**
- * returns a title case version of this property
- *
- * @return
- */
- var displayText: String
- protected set
- /**
- * returns visual priority
- *
- * @return
- */
- /**
- * sets the visual priority of this widget
- * essentially this means it's physical location in the form
- */
- var priority = 0
- protected var layout: LinearLayout
- var returnType: String
-
- init {
- layout = LinearLayout(context)
- layout.layoutParams = defaultLayoutParams
- layout.orientation = LinearLayout.VERTICAL
- layout.setPadding(4, 4, 4, 4)
- propertyName = name!!
- displayText = name.replace("", " ")
- displayText = toTitleCase(displayText)
- returnType = SCHEMA_KEY_TEXT
- }
- // -----------------------------------------------
- //
- // view
- //
- // -----------------------------------------------
- /**
- * return LinearLayout containing this widget's view elements
- */
- val view : View
- get() = layout
-
- /**
- * toggles the visibility of this widget
- *
- * @param value
- */
- fun setVisibility(value: Int) {
- layout.visibility = value
- }
- // -----------------------------------------------
- //
- // set / get value
- //
- // -----------------------------------------------
- /**
- * returns value of this widget as String
- */// -- override
- /**
- * sets value of this widget, method should be overridden in sub-class
- *
- * @param value
- */
- open var value: String
- get() = ""
- set(value) {
- // -- override
- }
- // -----------------------------------------------
- //
- // modifiers
- //
- // -----------------------------------------------
- /**
- * sets the hint for the widget, method should be overriden in sub-class
- */
- open fun setHint(value: String?) {
- // -- override
- }
-
- /**
- * sets an object that contains keys for special properties on an object
- *
- * @param modifiers
- */
- fun setModifiers(modifiers: JSONObject?) {
- // -- override
- }
- // -----------------------------------------------
- //
- // set / get priority
- //
- // -----------------------------------------------
- // -----------------------------------------------
- //
- // property name mods
- //
- // -----------------------------------------------
- /**
- * takes a property name and modifies
- *
- * @param s
- * @return
- */
- fun toTitleCase(s: String): String {
- val chars = s.trim { it <= ' ' }.lowercase(Locale.getDefault()).toCharArray()
- var found = false
- for (i in chars.indices) {
- if (!found && Character.isLetter(chars[i])) {
- chars[i] = chars[i].uppercaseChar()
- found = true
- } else if (Character.isWhitespace(chars[i])) {
- found = false
- }
- }
- return String(chars)
- }
-
- companion object {
- val defaultLayoutParams = LinearLayout.LayoutParams(
- LinearLayout.LayoutParams.MATCH_PARENT,
- LinearLayout.LayoutParams.WRAP_CONTENT
- )
- const val SCHEMA_KEY_TYPE = "type"
- const val SCHEMA_KEY_BOOL = "BOOLEAN"
- const val SCHEMA_KEY_INT = "INTEGER"
- const val SCHEMA_KEY_DECIMAL = "DECIMAL"
- const val SCHEMA_KEY_STRING = "STRING"
- const val SCHEMA_KEY_TEXT = "TEXT"
- const val SCHEMA_KEY_CODELOOKUP = "CODELOOKUP"
- const val SCHEMA_KEY_CODEVALUE = "CODEVALUE"
- const val SCHEMA_KEY_DATE = "DATE"
- const val SCHEMA_KEY_PRIORITY = "priority"
- const val SCHEMA_KEY_DEFAULT = "default"
- const val SCHEMA_KEY_OPTIONS = "options"
- const val SCHEMA_KEY_META = "meta"
- const val SCHEMA_KEY_HINT = "hint"
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/offlinedashbarod/OfflineDashboardFragment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/offlinedashbarod/OfflineDashboardFragment.kt
deleted file mode 100644
index 449ee1558b9..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/offlinedashbarod/OfflineDashboardFragment.kt
+++ /dev/null
@@ -1,303 +0,0 @@
-//package com.mifos.mifosxdroid.offline.offlinedashbarod
-//
-//import android.content.Intent
-//import android.os.Bundle
-//import android.view.LayoutInflater
-//import android.view.View
-//import android.view.ViewGroup
-//import androidx.lifecycle.ViewModelProvider
-//import androidx.recyclerview.widget.DefaultItemAnimator
-//import androidx.recyclerview.widget.GridLayoutManager
-//import androidx.recyclerview.widget.LinearLayoutManager
-//import com.mifos.core.data.CenterPayload
-//import com.mifos.core.objects.accounts.loan.LoanRepaymentRequest
-//import com.mifos.core.objects.accounts.savings.SavingsAccountTransactionRequest
-//import com.mifos.core.objects.client.ClientPayload
-//import com.mifos.core.objects.group.GroupPayload
-//import com.mifos.mifosxdroid.R
-//import com.mifos.mifosxdroid.adapters.OfflineDashboardAdapter
-//import com.mifos.mifosxdroid.core.MifosBaseFragment
-//import com.mifos.mifosxdroid.core.util.Toaster.show
-//import com.mifos.mifosxdroid.databinding.FragmentOfflineDashboardBinding
-//import com.mifos.mifosxdroid.offline.synccenterpayloads.SyncCenterPayloadActivity
-//import com.mifos.mifosxdroid.offline.syncclientpayloads.SyncClientPayloadActivity
-//import com.mifos.mifosxdroid.offline.syncgrouppayloads.SyncGroupPayloadsActivity
-//import com.mifos.mifosxdroid.offline.syncloanrepaymenttransacition.SyncLoanRepaymentTransactionActivity
-//import com.mifos.mifosxdroid.offline.syncsavingsaccounttransaction.SyncSavingsAccountTransactionActivity
-//import com.mifos.utils.ItemOffsetDecoration
-//import dagger.hilt.android.AndroidEntryPoint
-//
-///**
-// * This Fragment is the Dashboard of the Offline sync of Clients, Groups, LoanRepayment etc.
-// * In which presenter request the DataManager to get the offline created clients or groups or
-// * LoanRepayment from DatabaseHelper and get the List of Groups, clients and LoanRepayment etc.
-// *
-// * if DataManager Response List is not equal to zero then add the Card Name and List Count in
-// * OfflineDashboardAdapter.showCard(String cardName, String cardCount) and add the Class in
-// * List mPayloadClasses, which will open onclick the card.
-// *
-// * mPayloadIndex, this is the counter value of the number of request we are making to the
-// * DataManager to load the Clients, Groups, LoanRepayment etc list from DatabaseHelper
-// *
-// * SYNC_CARD_UI_NAMES is array of the card UI names, which contains the all possible name of cards.
-// * due to this array we have maintain the single method in
-// * OfflineDashboardAdapter.showCard(String cardName, String cardCount) and update the list.
-// *
-// * if DatabaseHelper returns the List size zero for all Clients, Groups, LoanRepayment etc
-// * then showNoPayloadToShow() and Nothing to Sync.
-// *
-// * Created by Rajan Maurya on 20/07/16.
-// */
-//@AndroidEntryPoint
-//class OfflineDashboardFragment : MifosBaseFragment() {
-//
-// private lateinit var binding: FragmentOfflineDashboardBinding
-//
-// val LOG_TAG = javaClass.simpleName
-//
-// private lateinit var viewModel: com.mifos.feature.offline.dashboard.OfflineDashboardViewModel
-//
-// private lateinit var mOfflineDashboardAdapter: OfflineDashboardAdapter
-//
-// // update mPayloadIndex to number of request is going to fetch data in Presenter;
-// private var mPayloadIndex = 5
-// private var mPayloadClasses: MutableList>? = null
-// override fun onCreate(savedInstanceState: Bundle?) {
-// super.onCreate(savedInstanceState)
-// retainInstance = true
-// mPayloadClasses = ArrayList()
-// }
-//
-// override fun onCreateView(
-// inflater: LayoutInflater, container: ViewGroup?,
-// savedInstanceState: Bundle?
-// ): View {
-// binding = FragmentOfflineDashboardBinding.inflate(inflater, container, false)
-// setToolbarTitle(requireActivity().resources.getString(R.string.offline))
-// viewModel = ViewModelProvider(this)[com.mifos.feature.offline.dashboard.OfflineDashboardViewModel::class.java]
-// val mLayoutManager: LinearLayoutManager = GridLayoutManager(activity, GRID_COUNT)
-// mLayoutManager.orientation = LinearLayoutManager.VERTICAL
-// binding.rvOfflineDashboard.layoutManager = mLayoutManager
-// binding.rvOfflineDashboard.setHasFixedSize(true)
-// binding.rvOfflineDashboard.itemAnimator = DefaultItemAnimator()
-// binding.rvOfflineDashboard.addItemDecoration(
-// ItemOffsetDecoration(
-// requireActivity(),
-// R.dimen.item_offset
-// )
-// )
-// mOfflineDashboardAdapter = OfflineDashboardAdapter { position: Int? ->
-// if (position != null) {
-// mPayloadClasses?.get(position)?.let { payloadClass ->
-// startPayloadActivity(payloadClass)
-// }
-// }
-// }
-// binding.rvOfflineDashboard.adapter = mOfflineDashboardAdapter
-//
-// viewModel.offlineDashboardUiState.observe(viewLifecycleOwner) {
-// when (it) {
-// is OfflineDashboardUiState.ShowCenters -> {
-// showProgressbar(false)
-// showCenters(it.centerPayloads)
-// }
-//
-// is OfflineDashboardUiState.ShowClients -> {
-// showProgressbar(false)
-// showClients(it.clientPayloads)
-// }
-//
-// is OfflineDashboardUiState.ShowError -> {
-// showProgressbar(false)
-// showError(it.message)
-// }
-//
-// is OfflineDashboardUiState.ShowGroups -> {
-// showProgressbar(false)
-// showGroups(it.groupPayloads)
-// }
-//
-// is OfflineDashboardUiState.ShowLoanRepaymentTransactions -> {
-// showProgressbar(false)
-// showLoanRepaymentTransactions(it.loanRepaymentRequests)
-// }
-//
-// is OfflineDashboardUiState.ShowProgressbar -> showProgressbar(true)
-//
-// is OfflineDashboardUiState.ShowSavingsAccountTransaction -> {
-// showProgressbar(false)
-// showSavingsAccountTransaction(it.transactionRequests)
-// }
-// }
-// }
-//
-// return binding.root
-// }
-//
-// override fun onStart() {
-// super.onStart()
-// mOfflineDashboardAdapter.removeAllCards()
-// mPayloadClasses?.clear()
-// mPayloadIndex = 5
-// viewModel.loadDatabaseClientPayload()
-// viewModel.loadDatabaseGroupPayload()
-// viewModel.loadDatabaseCenterPayload()
-// viewModel.loadDatabaseLoanRepaymentTransactions()
-// viewModel.loadDatabaseSavingsAccountTransactions()
-// }
-//
-// /**
-// * This method set the response of DataManager from DatabaseHelper that if List
-// * Size is zero the decrease the value of mPayloadIndex by 1 and if size is not equal to zero
-// * the update the adapter and add the Card UI name and size() of the List to sync.
-// *
-// * @param clientPayloads List from DatabaseHelperClient
-// */
-// private fun showClients(clientPayloads: List) {
-// if (clientPayloads.isNotEmpty()) {
-// mOfflineDashboardAdapter.showCard(
-// activity
-// ?.resources?.getString(R.string.payloads_count) +
-// clientPayloads.size, SYNC_CARD_UI_NAMES[0]
-// )
-// mPayloadClasses?.add(SyncClientPayloadActivity::class.java)
-// } else {
-// mPayloadIndex -= 1
-// showNoPayloadToShow()
-// }
-// }
-//
-// /**
-// * This method set the response of DataManager from DatabaseHelper that if List
-// * Size is zero, then decrease the value of mPayloadIndex by 1 and if size is not equal to zero
-// * the update the adapter and add the Card UI name and size() of the List to sync.
-// *
-// * @param groupPayloads List from DatabaseHelperGroup
-// */
-// private fun showGroups(groupPayloads: List) {
-// if (groupPayloads.isNotEmpty()) {
-// mOfflineDashboardAdapter.showCard(
-// activity
-// ?.resources?.getString(R.string.payloads_count) +
-// groupPayloads.size, SYNC_CARD_UI_NAMES[1]
-// )
-// mPayloadClasses?.add(SyncGroupPayloadsActivity::class.java)
-// } else {
-// mPayloadIndex -= 1
-// showNoPayloadToShow()
-// }
-// }
-//
-// /**
-// * This method set the response of DataManager from DatabaseHelper that if List
-// * Size is zero, then decrease the value of mPayloadIndex by 1 and if size is not equal to zero
-// * the update the adapter and add the Card UI name and size() of the List to sync.
-// *
-// * @param centerPayloads List from DatabaseHelperGroup
-// */
-// private fun showCenters(centerPayloads: List) {
-// if (centerPayloads.isNotEmpty()) {
-// mOfflineDashboardAdapter.showCard(
-// activity
-// ?.resources?.getString(R.string.payloads_count) +
-// centerPayloads.size, SYNC_CARD_UI_NAMES[2]
-// )
-// mPayloadClasses?.add(SyncCenterPayloadActivity::class.java)
-// } else {
-// mPayloadIndex -= 1
-// showNoPayloadToShow()
-// }
-// }
-//
-// /**
-// * This method set the response of DataManager from DatabaseHelper that if
-// * List Size is zero, then decrease the value of mPayloadIndex by 1 and
-// * if size is not equal to zero the update the adapter and add the Card UI name and size() of
-// * the List to sync.
-// *
-// * @param loanRepaymentRequests List from DatabaseHelperLoan
-// */
-// private fun showLoanRepaymentTransactions(loanRepaymentRequests: List) {
-// if (loanRepaymentRequests.isNotEmpty()) {
-// mOfflineDashboardAdapter.showCard(
-// requireActivity().resources
-// .getString(R.string.transactions_count) +
-// loanRepaymentRequests.size, SYNC_CARD_UI_NAMES[3]
-// )
-// mPayloadClasses?.add(SyncLoanRepaymentTransactionActivity::class.java)
-// } else {
-// mPayloadIndex -= 1
-// showNoPayloadToShow()
-// }
-// }
-//
-// /**
-// * This method set the response of DataManager from DatabaseHelper, if
-// * List Size is zero, then decrease the value of
-// * mPayloadIndex by 1 and if size is not equal to zero then update the adapter and add the
-// * Card UI name and size() of the List to sync.
-// *
-// * @param transactions List
-// */
-// private fun showSavingsAccountTransaction(transactions: List) {
-// if (transactions.isNotEmpty()) {
-// mOfflineDashboardAdapter.showCard(
-// requireActivity().resources
-// .getString(R.string.transactions_count) +
-// transactions.size, SYNC_CARD_UI_NAMES[4]
-// )
-// mPayloadClasses?.add(SyncSavingsAccountTransactionActivity::class.java)
-// } else {
-// mPayloadIndex -= 1
-// showNoPayloadToShow()
-// }
-// }
-//
-// /**
-// * This Method setting the main UI RecyclerView.setVisibility(View.GONE) and Set text TO
-// * TextView that Nothing to Sync when mPayloadIndex = 0. It means there is nothing in the
-// * Database to sync to the Server.
-// */
-// private fun showNoPayloadToShow() {
-// if (mPayloadIndex == 0) {
-// binding.rvOfflineDashboard.visibility = View.GONE
-// binding.llError.visibility = View.VISIBLE
-// binding.noPayloadText.text = activity
-// ?.resources?.getString(R.string.nothing_to_sync)
-// binding.noPayloadIcon.setImageResource(R.drawable.ic_assignment_turned_in_black_24dp)
-// }
-// }
-//
-// private fun showError(stringId: String) {
-// show(binding.root, stringId)
-// }
-//
-// private fun showProgressbar(b: Boolean) {
-// if (b) {
-// binding.pbOfflineDashboard.visibility = View.VISIBLE
-// } else {
-// binding.pbOfflineDashboard.visibility = View.GONE
-// }
-// }
-//
-// /**
-// * This is the Generic Type method for starting the activity.
-// * @param t Activity Class that is user wants to start
-// * @param
-// */
-// private fun startPayloadActivity(t: Class<*>) {
-// val intent = Intent(activity, t)
-// startActivity(intent)
-// }
-//
-// companion object {
-// private const val GRID_COUNT = 2
-// val SYNC_CARD_UI_NAMES = intArrayOf(
-// R.string.sync_clients,
-// R.string.sync_groups,
-// R.string.sync_centers,
-// R.string.sync_loanrepayments,
-// R.string.sync_savingsaccounttransactions
-// )
-// }
-//}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/synccenterpayloads/SyncCenterPayloadActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/synccenterpayloads/SyncCenterPayloadActivity.kt
deleted file mode 100644
index 5709510a2cf..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/synccenterpayloads/SyncCenterPayloadActivity.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.mifos.mifosxdroid.offline.synccenterpayloads
-
-import android.os.Bundle
-import com.mifos.mifosxdroid.R
-import com.mifos.mifosxdroid.core.MifosBaseActivity
-import com.mifos.mifosxdroid.offline.synccenterpayloads.SyncCenterPayloadsFragment.Companion.newInstance
-
-class SyncCenterPayloadActivity : MifosBaseActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_toolbar_container)
- showBackButton()
- replaceFragment(newInstance(), false, R.id.container)
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/synccenterpayloads/SyncCenterPayloadsFragment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/synccenterpayloads/SyncCenterPayloadsFragment.kt
deleted file mode 100644
index c7667fb5fa8..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/synccenterpayloads/SyncCenterPayloadsFragment.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mifos.mifosxdroid.offline.synccenterpayloads
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.compose.ui.platform.ComposeView
-import androidx.compose.ui.platform.ViewCompositionStrategy
-import androidx.navigation.fragment.findNavController
-import com.mifos.feature.offline.sync_center_payloads.SyncCenterPayloadsScreenRoute
-import com.mifos.mifosxdroid.core.MifosBaseFragment
-import dagger.hilt.android.AndroidEntryPoint
-
-@AndroidEntryPoint
-class SyncCenterPayloadsFragment : MifosBaseFragment() {
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- return ComposeView(requireContext()).apply {
- setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
- setContent {
- SyncCenterPayloadsScreenRoute(
- onBackPressed = {
- findNavController().popBackStack()
- }
- )
- }
- }
- }
-
- companion object {
- @JvmStatic
- fun newInstance(): SyncCenterPayloadsFragment {
- val arguments = Bundle()
- val fragment = SyncCenterPayloadsFragment()
- fragment.arguments = arguments
- return fragment
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncclientpayloads/SyncClientPayloadActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncclientpayloads/SyncClientPayloadActivity.kt
deleted file mode 100644
index 399dedf81db..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncclientpayloads/SyncClientPayloadActivity.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncclientpayloads
-
-import android.os.Bundle
-import com.mifos.mifosxdroid.R
-import com.mifos.mifosxdroid.core.MifosBaseActivity
-import com.mifos.mifosxdroid.offline.syncclientpayloads.SyncClientPayloadsFragment.Companion.newInstance
-
-/**
- * Created by Rajan Maurya on 21/07/16.
- */
-class SyncClientPayloadActivity : MifosBaseActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_toolbar_container)
- showBackButton()
- replaceFragment(newInstance(), false, R.id.container)
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncclientpayloads/SyncClientPayloadsFragment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncclientpayloads/SyncClientPayloadsFragment.kt
deleted file mode 100644
index 8b698181188..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncclientpayloads/SyncClientPayloadsFragment.kt
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncclientpayloads
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.compose.ui.platform.ComposeView
-import androidx.compose.ui.platform.ViewCompositionStrategy
-import androidx.navigation.fragment.findNavController
-import com.mifos.feature.offline.sync_client_payload.SyncClientPayloadsScreenRoute
-import com.mifos.mifosxdroid.core.MifosBaseFragment
-import dagger.hilt.android.AndroidEntryPoint
-
-/**
- * This Class for Syncing the clients that is created in offline mode.
- * For syncing the clients user make sure that he/she is in the online mode.
- *
- *
- * Created by Rajan Maurya on 08/07/16.
- */
-@AndroidEntryPoint
-class SyncClientPayloadsFragment : MifosBaseFragment() {
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- return ComposeView(requireContext()).apply {
- setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
- setContent {
- SyncClientPayloadsScreenRoute(
- onBackPressed = {
- findNavController().popBackStack()
- }
- )
- }
- }
- }
-
- companion object {
- @JvmStatic
- fun newInstance(): SyncClientPayloadsFragment {
- val arguments = Bundle()
- val fragment = SyncClientPayloadsFragment()
- fragment.arguments = arguments
- return fragment
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncgrouppayloads/SyncGroupPayloadsActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncgrouppayloads/SyncGroupPayloadsActivity.kt
deleted file mode 100644
index 338a867bd28..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncgrouppayloads/SyncGroupPayloadsActivity.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncgrouppayloads
-
-import android.os.Bundle
-import com.mifos.mifosxdroid.R
-import com.mifos.mifosxdroid.core.MifosBaseActivity
-
-/**
- * Created by Rajan Maurya on 21/07/16.
- */
-class SyncGroupPayloadsActivity : MifosBaseActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_toolbar_container)
- showBackButton()
- replaceFragment(SyncGroupPayloadsFragment.newInstance(), false, R.id.container)
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncgrouppayloads/SyncGroupPayloadsFragment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncgrouppayloads/SyncGroupPayloadsFragment.kt
deleted file mode 100644
index d68be1313a2..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncgrouppayloads/SyncGroupPayloadsFragment.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncgrouppayloads
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.compose.ui.platform.ComposeView
-import androidx.compose.ui.platform.ViewCompositionStrategy
-import androidx.navigation.findNavController
-import com.mifos.feature.offline.sync_group_payloads.SyncGroupPayloadsScreenRoute
-import com.mifos.mifosxdroid.core.MifosBaseFragment
-import dagger.hilt.android.AndroidEntryPoint
-
-/**
- * Created by Rajan Maurya on 19/07/16.
- */
-@AndroidEntryPoint
-class SyncGroupPayloadsFragment : MifosBaseFragment() {
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- return ComposeView(requireContext()).apply {
- setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
- setContent {
- SyncGroupPayloadsScreenRoute(
- onBackPressed = { findNavController().popBackStack() }
- )
- }
- }
- }
-
- companion object {
- fun newInstance(): SyncGroupPayloadsFragment {
- val arguments = Bundle()
- val fragment = SyncGroupPayloadsFragment()
- fragment.arguments = arguments
- return fragment
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncloanrepaymenttransacition/SyncLoanRepaymentTransactionActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncloanrepaymenttransacition/SyncLoanRepaymentTransactionActivity.kt
deleted file mode 100644
index 18c691f17ec..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncloanrepaymenttransacition/SyncLoanRepaymentTransactionActivity.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncloanrepaymenttransacition
-
-import android.os.Bundle
-import com.mifos.mifosxdroid.R
-import com.mifos.mifosxdroid.core.MifosBaseActivity
-import com.mifos.mifosxdroid.offline.syncloanrepaymenttransacition.SyncLoanRepaymentTransactionFragment.Companion.newInstance
-
-/**
- * Created by Rajan Maurya on 30/07/16.
- */
-class SyncLoanRepaymentTransactionActivity : MifosBaseActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_toolbar_container)
- showBackButton()
- replaceFragment(newInstance(), false, R.id.container)
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncloanrepaymenttransacition/SyncLoanRepaymentTransactionFragment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncloanrepaymenttransacition/SyncLoanRepaymentTransactionFragment.kt
deleted file mode 100644
index 6319242af88..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncloanrepaymenttransacition/SyncLoanRepaymentTransactionFragment.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncloanrepaymenttransacition
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.compose.ui.platform.ComposeView
-import androidx.compose.ui.platform.ViewCompositionStrategy
-import androidx.navigation.fragment.findNavController
-import com.mifos.feature.offline.syncLoanRepaymentTransaction.SyncLoanRepaymentTransactionScreenRoute
-import com.mifos.mifosxdroid.core.MifosBaseFragment
-import dagger.hilt.android.AndroidEntryPoint
-
-/**
- * Created by Rajan Maurya on 28/07/16.
- */
-@AndroidEntryPoint
-class SyncLoanRepaymentTransactionFragment : MifosBaseFragment() {
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- return ComposeView(requireContext()).apply {
- setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
- setContent {
- SyncLoanRepaymentTransactionScreenRoute(
- onBackPressed = {
- findNavController().popBackStack()
- }
- )
- }
- }
- }
-
- companion object {
- @JvmStatic
- fun newInstance(): SyncLoanRepaymentTransactionFragment {
- val arguments = Bundle()
- val fragment = SyncLoanRepaymentTransactionFragment()
- fragment.arguments = arguments
- return fragment
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncsavingsaccounttransaction/SyncSavingsAccountTransactionActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncsavingsaccounttransaction/SyncSavingsAccountTransactionActivity.kt
deleted file mode 100644
index 11115b0328e..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncsavingsaccounttransaction/SyncSavingsAccountTransactionActivity.kt
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncsavingsaccounttransaction
-
-import android.os.Bundle
-import com.mifos.mifosxdroid.R
-import com.mifos.mifosxdroid.core.MifosBaseActivity
-import com.mifos.mifosxdroid.offline.syncsavingsaccounttransaction.SyncSavingsAccountTransactionFragment.Companion.newInstance
-
-/**
- * Created by Rajan Maurya on 20/08/16.
- */
-class SyncSavingsAccountTransactionActivity : MifosBaseActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_toolbar_container)
- showBackButton()
- replaceFragment(newInstance(), false, R.id.container)
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncsavingsaccounttransaction/SyncSavingsAccountTransactionFragment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncsavingsaccounttransaction/SyncSavingsAccountTransactionFragment.kt
deleted file mode 100644
index f2374a2ca44..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offline/syncsavingsaccounttransaction/SyncSavingsAccountTransactionFragment.kt
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.mifos.mifosxdroid.offline.syncsavingsaccounttransaction
-
-import android.os.Bundle
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import androidx.compose.ui.platform.ComposeView
-import androidx.compose.ui.platform.ViewCompositionStrategy
-import androidx.navigation.fragment.findNavController
-import com.mifos.feature.offline.sync_savings_account_transaction.SyncSavingsAccountTransactionScreenRoute
-import com.mifos.mifosxdroid.core.MifosBaseFragment
-import dagger.hilt.android.AndroidEntryPoint
-
-/**
- * Created by Rajan Maurya on 19/08/16.
- */
-@AndroidEntryPoint
-class SyncSavingsAccountTransactionFragment : MifosBaseFragment() {
-
- override fun onCreateView(
- inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- return ComposeView(requireContext()).apply {
- setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
- setContent {
- SyncSavingsAccountTransactionScreenRoute(
- onBackPressed = {
- findNavController().popBackStack()
- }
- )
- }
- }
- }
-
- companion object {
- @JvmStatic
- fun newInstance(): SyncSavingsAccountTransactionFragment {
- val arguments = Bundle()
- val sync = SyncSavingsAccountTransactionFragment()
- sync.arguments = arguments
- return sync
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineJobCreator.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineJobCreator.kt
deleted file mode 100644
index 9f4c549926f..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineJobCreator.kt
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mifos.mifosxdroid.offlinejobs
-
-import com.evernote.android.job.Job
-import com.evernote.android.job.JobCreator
-import com.mifos.utils.Tags
-
-/**
- * Created by aksh on 17/7/18.
- */
-class OfflineJobCreator : JobCreator {
- override fun create(tag: String): Job? {
- return when (tag) {
- Tags.OfflineSyncCenter -> OfflineSyncCenter()
- Tags.OfflineSyncClient -> OfflineSyncClient()
- Tags.OfflineSyncGroup -> OfflineSyncGroup()
- Tags.OfflineSyncSavingsAccount -> OfflineSyncSavingsAccount()
- Tags.OfflineSyncLoanRepayment -> OfflineSyncLoanRepayment()
- else -> null
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncCenter.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncCenter.kt
deleted file mode 100644
index dc9c818963f..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncCenter.kt
+++ /dev/null
@@ -1,161 +0,0 @@
-package com.mifos.mifosxdroid.offlinejobs
-
-import com.evernote.android.job.Job
-import com.evernote.android.job.JobRequest
-import com.mifos.core.data.CenterPayload
-import com.mifos.core.network.datamanager.DataManagerCenter
-import com.mifos.core.objects.response.SaveResponse
-import com.mifos.utils.PrefManager.userStatus
-import com.mifos.utils.Tags
-import rx.Observer
-import rx.Subscriber
-import rx.android.schedulers.AndroidSchedulers
-import rx.schedulers.Schedulers
-import rx.subscriptions.CompositeSubscription
-import java.util.concurrent.TimeUnit
-import javax.inject.Inject
-
-/**
- * Created by aksh on 17/7/18.
- */
-class OfflineSyncCenter : Job() {
- @JvmField
- @Inject
- var mDataManagerCenter: DataManagerCenter? = null
- var centerPayloads: MutableList? = null
- private var mSubscriptions: CompositeSubscription? = null
- private var mCenterSyncIndex = 0
- override fun onRunJob(params: Params): Result {
- mSubscriptions = CompositeSubscription()
- centerPayloads = ArrayList()
- return if (!userStatus) {
- loadDatabaseCenterPayload()
- Result.SUCCESS
- } else {
- Result.FAILURE
- }
- }
-
- private fun loadDatabaseCenterPayload() {
- mSubscriptions!!.add(
- mDataManagerCenter!!.allDatabaseCenterPayload
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {
- mCenterSyncIndex = 0
- startSync()
- }
-
- override fun onError(e: Throwable) {}
- override fun onNext(centerPayloads: List) {
- showCenters(centerPayloads)
- }
- })
- )
- }
-
- fun showCenters(centerPayload: List) {
- centerPayloads = centerPayload.toMutableList()
- }
-
- fun startSync() {
- for (i in mCenterSyncIndex until centerPayloads!!.size) {
- if (centerPayloads!![i].errorMessage == null) {
- mCenterSyncIndex = i
- syncCenterPayload(centerPayloads!![i])
- break
- }
- }
- }
-
- fun syncCenterPayload(centerPayload: CenterPayload?) {
- mSubscriptions!!.add(
- mDataManagerCenter!!.createCenter(centerPayload!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Observer {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {
- showCenterSyncFailed(e.message.toString())
- }
-
- override fun onNext(center: SaveResponse?) {
- showCenterSyncResponse()
- }
- })
- )
- }
-
- fun showCenterSyncResponse() {
- deleteAndUpdateCenterPayload(
- centerPayloads
- !![mCenterSyncIndex].id
- )
- }
-
- private fun deleteAndUpdateCenterPayload(id: Int) {
- mSubscriptions!!.add(
- mDataManagerCenter!!.deleteAndUpdateCenterPayloads(id)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Observer> {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(centerPayloads: List) {
- showPayloadDeletedAndUpdatePayloads(centerPayloads)
- }
- })
- )
- }
-
- fun showPayloadDeletedAndUpdatePayloads(centers: List) {
- mCenterSyncIndex = 0
- centerPayloads = centers.toMutableList()
- if (centerPayloads!!.isNotEmpty()) {
- startSync()
- }
- }
-
- fun showCenterSyncFailed(errorMessage: String?) {
- val centerPayload = centerPayloads!![mCenterSyncIndex]
- centerPayload.errorMessage = errorMessage
- updateCenterPayload(centerPayload)
- }
-
- fun showCenterPayloadUpdated(centerPayload: CenterPayload) {
- centerPayloads!![mCenterSyncIndex] = centerPayload
- mCenterSyncIndex += 1
- if (centerPayloads!!.size != mCenterSyncIndex) {
- startSync()
- }
- }
-
- private fun updateCenterPayload(centerPayload: CenterPayload?) {
- mSubscriptions!!.add(
- mDataManagerCenter!!.updateCenterPayload(centerPayload!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(centerPayload: CenterPayload) {
- showCenterPayloadUpdated(centerPayload)
- }
- })
- )
- }
-
- companion object {
- @JvmStatic
- fun schedulePeriodic() {
- JobRequest.Builder(Tags.OfflineSyncCenter)
- .setPeriodic(
- TimeUnit.MINUTES.toMillis(15),
- TimeUnit.MINUTES.toMillis(5)
- )
- .build()
- .schedule()
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncClient.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncClient.kt
deleted file mode 100644
index e3907c725e4..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncClient.kt
+++ /dev/null
@@ -1,166 +0,0 @@
-package com.mifos.mifosxdroid.offlinejobs
-
-import com.evernote.android.job.Job
-import com.evernote.android.job.JobRequest
-import com.mifos.core.network.datamanager.DataManagerClient
-import com.mifos.core.objects.client.Client
-import com.mifos.core.objects.client.ClientPayload
-import com.mifos.utils.PrefManager.userStatus
-import com.mifos.utils.Tags
-import rx.Observer
-import rx.Subscriber
-import rx.android.schedulers.AndroidSchedulers
-import rx.schedulers.Schedulers
-import rx.subscriptions.CompositeSubscription
-import java.util.concurrent.TimeUnit
-import javax.inject.Inject
-
-/**
- * Created by aksh on 22/7/18.
- */
-class OfflineSyncClient : Job() {
- @Inject
- lateinit var mDataManagerClient: DataManagerClient
- var clientPayloads: MutableList = ArrayList()
- private var mSubscriptions: CompositeSubscription? = null
- private var mClientSyncIndex = 0
- override fun onRunJob(params: Params): Result {
- mSubscriptions = CompositeSubscription()
- return if (!userStatus) {
- loadDatabaseClientPayload()
- Result.SUCCESS
- } else {
- Result.FAILURE
- }
- }
-
- private fun loadDatabaseClientPayload() {
- mSubscriptions?.add(
- mDataManagerClient.allDatabaseClientPayload
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {
- mClientSyncIndex = 0
- syncClient()
- }
-
- override fun onError(e: Throwable) {}
- override fun onNext(clientPayloads: List) {
- showPayloads(clientPayloads)
- }
- })
- )
- }
-
- fun showPayloads(clientPayload: List) {
- clientPayloads = clientPayload as MutableList
- }
-
- fun syncClient() {
- for (i in mClientSyncIndex until clientPayloads.size) {
- if (clientPayloads[i].errorMessage == null) {
- syncClientPayload(clientPayloads[i])
- mClientSyncIndex = i
- break
- }
- }
- }
-
- private fun syncClientPayload(clientPayload: ClientPayload?) {
- mSubscriptions?.add(
- mDataManagerClient.createClient(clientPayload!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Observer {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {
- showClientSyncFailed(e.message.toString())
- }
-
- override fun onNext(client: Client) {
- showSyncResponse()
- }
- })
- )
- }
-
- fun showClientSyncFailed(errorMessage: String?) {
- val clientPayload = clientPayloads[mClientSyncIndex]
- clientPayload.errorMessage = errorMessage
- updateClientPayload(clientPayload)
- }
-
- fun showSyncResponse() {
- clientPayloads[mClientSyncIndex].id?.let {
- clientPayloads[mClientSyncIndex].clientCreationTime?.let { it1 ->
- deleteAndUpdateClientPayload(
- it,
- it1
- )
- }
- }
- }
-
- private fun deleteAndUpdateClientPayload(id: Int, clientCreationTIme: Long) {
- mSubscriptions?.add(
- mDataManagerClient.deleteAndUpdatePayloads(
- id,
- clientCreationTIme
- )
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Observer> {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(clientPayloads: List) {
- showPayloadDeletedAndUpdatePayloads(clientPayloads)
- }
- })
- )
- }
-
- private fun updateClientPayload(clientPayload: ClientPayload?) {
- mSubscriptions?.add(
- mDataManagerClient.updateClientPayload(clientPayload!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(clientPayload: ClientPayload) {
- showClientPayloadUpdated(clientPayload)
- }
- })
- )
- }
-
- fun showPayloadDeletedAndUpdatePayloads(clients: List) {
- mClientSyncIndex = 0
- clientPayloads.clear()
- clientPayloads = clients as MutableList
- if (clientPayloads.size != 0) {
- syncClient()
- }
- }
-
- fun showClientPayloadUpdated(clientPayload: ClientPayload) {
- clientPayloads[mClientSyncIndex] = clientPayload
- mClientSyncIndex += 1
- if (clientPayloads.size != mClientSyncIndex) {
- syncClient()
- }
- }
-
- companion object {
- fun schedulePeriodic() {
- JobRequest.Builder(Tags.OfflineSyncClient)
- .setPeriodic(
- TimeUnit.MINUTES.toMillis(15),
- TimeUnit.MINUTES.toMillis(5)
- )
- .build()
- .schedule()
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncGroup.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncGroup.kt
deleted file mode 100644
index 736484d86ad..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncGroup.kt
+++ /dev/null
@@ -1,155 +0,0 @@
-package com.mifos.mifosxdroid.offlinejobs
-
-import com.evernote.android.job.Job
-import com.evernote.android.job.JobRequest
-import com.mifos.core.network.datamanager.DataManagerGroups
-import com.mifos.core.objects.group.GroupPayload
-import com.mifos.core.objects.response.SaveResponse
-import com.mifos.utils.PrefManager.userStatus
-import com.mifos.utils.Tags
-import rx.Subscriber
-import rx.android.schedulers.AndroidSchedulers
-import rx.schedulers.Schedulers
-import rx.subscriptions.CompositeSubscription
-import java.util.concurrent.TimeUnit
-import javax.inject.Inject
-
-/**
- * Created by aksh on 22/7/18.
- */
-class OfflineSyncGroup : Job() {
- var mSubscriptions: CompositeSubscription? = null
- var groupPayloads: MutableList = ArrayList()
-
- @Inject
- lateinit var mDataManagerGroups: DataManagerGroups
- private var mClientSyncIndex = 0
- override fun onRunJob(params: Params): Result {
- mSubscriptions = CompositeSubscription()
- return if (!userStatus) {
- loadDatabaseGroupPayload()
- Result.SUCCESS
- } else {
- Result.FAILURE
- }
- }
-
- private fun loadDatabaseGroupPayload() {
- mSubscriptions?.add(
- mDataManagerGroups.allDatabaseGroupPayload
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {
- mClientSyncIndex = 0
- startSync()
- }
-
- override fun onError(e: Throwable) {}
- override fun onNext(groupPayloads: List) {
- showGroups(groupPayloads)
- }
- })
- )
- }
-
- fun showGroups(groupPayload: List) {
- groupPayloads = groupPayload as MutableList
- }
-
- fun startSync() {
- for (i in mClientSyncIndex until groupPayloads.size) {
- if (groupPayloads[i].errorMessage == null) {
- syncGroupPayload(groupPayloads[i])
- mClientSyncIndex = i
- break
- }
- }
- }
-
- private fun syncGroupPayload(groupPayload: GroupPayload?) {
- mSubscriptions?.add(
- mDataManagerGroups.createGroup(groupPayload!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {
- showGroupSyncFailed(e.message.toString())
- }
-
- override fun onNext(group: SaveResponse) {
- showGroupSyncResponse()
- }
- })
- )
- }
-
- fun showGroupSyncFailed(errorMessage: String?) {
- val groupPayload = groupPayloads[mClientSyncIndex]
- groupPayload.errorMessage = errorMessage
- updateGroupPayload(groupPayload)
- }
-
- fun showGroupSyncResponse() {
- deleteAndUpdateGroupPayload(
- groupPayloads[mClientSyncIndex].id
- )
- }
-
- private fun updateGroupPayload(groupPayload: GroupPayload?) {
- mSubscriptions?.add(
- mDataManagerGroups.updateGroupPayload(groupPayload!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(groupPayload: GroupPayload) {
- showGroupPayloadUpdated(groupPayload)
- }
- })
- )
- }
-
- private fun deleteAndUpdateGroupPayload(id: Int) {
- mSubscriptions?.add(
- mDataManagerGroups.deleteAndUpdateGroupPayloads(id)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(groupPayloads: List) {
- showPayloadDeletedAndUpdatePayloads(groupPayloads)
- }
- })
- )
- }
-
- fun showGroupPayloadUpdated(groupPayload: GroupPayload) {
- groupPayloads[mClientSyncIndex] = groupPayload
- mClientSyncIndex += 1
- if (groupPayloads.size != mClientSyncIndex) {
- startSync()
- }
- }
-
- fun showPayloadDeletedAndUpdatePayloads(groups: List) {
- mClientSyncIndex = 0
- groupPayloads = groups as MutableList
- if (groupPayloads.size != 0) {
- startSync()
- }
- }
-
- companion object {
- fun schedulePeriodic() {
- JobRequest.Builder(Tags.OfflineSyncGroup)
- .setPeriodic(TimeUnit.MINUTES.toMillis(15), TimeUnit.MINUTES.toMillis(5))
- .setUpdateCurrent(true)
- .build()
- .schedule()
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncLoanRepayment.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncLoanRepayment.kt
deleted file mode 100644
index 9514a4ce514..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncLoanRepayment.kt
+++ /dev/null
@@ -1,166 +0,0 @@
-package com.mifos.mifosxdroid.offlinejobs
-
-import com.evernote.android.job.Job
-import com.evernote.android.job.JobRequest
-import com.mifos.core.network.datamanager.DataManagerLoan
-import com.mifos.core.objects.accounts.loan.LoanRepaymentRequest
-import com.mifos.core.objects.accounts.loan.LoanRepaymentResponse
-import com.mifos.utils.PrefManager.userStatus
-import com.mifos.utils.Tags
-import rx.Subscriber
-import rx.android.schedulers.AndroidSchedulers
-import rx.schedulers.Schedulers
-import rx.subscriptions.CompositeSubscription
-import java.util.concurrent.TimeUnit
-import javax.inject.Inject
-
-/**
- * Created by aksh on 27/7/18.
- */
-class OfflineSyncLoanRepayment : Job() {
-
- @Inject
- lateinit var mDataManagerLoan: DataManagerLoan
- private var mSubscriptions: CompositeSubscription? = null
- private var mLoanRepaymentRequests: MutableList = ArrayList()
- private var mClientSyncIndex = 0
- override fun onRunJob(params: Params): Result {
- mSubscriptions = CompositeSubscription()
- return if (!userStatus) {
- loadDatabaseLoanRepaymentTransactions()
- Result.SUCCESS
- } else {
- Result.FAILURE
- }
- }
-
- private fun loadDatabaseLoanRepaymentTransactions() {
- mSubscriptions?.add(
- mDataManagerLoan.databaseLoanRepayments
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {
- mClientSyncIndex = 0
- syncGroupPayload()
- }
-
- override fun onError(e: Throwable) {}
- override fun onNext(loanRepaymentRequests: List) {
- showLoanRepaymentTransactions(loanRepaymentRequests)
- }
- })
- )
- }
-
- fun showLoanRepaymentTransactions(loanRepaymentRequests: List) {
- mLoanRepaymentRequests = loanRepaymentRequests as MutableList
- }
-
- fun syncGroupPayload() {
- for (i in mClientSyncIndex until mLoanRepaymentRequests.size) {
- if (mLoanRepaymentRequests[i].errorMessage == null) {
- mLoanRepaymentRequests[i]
- .loanId?.let {
- syncLoanRepayment(
- it, mLoanRepaymentRequests[i]
- )
- }
- mClientSyncIndex = i
- break
- }
- }
- }
-
- private fun syncLoanRepayment(loanId: Int, loanRepaymentRequest: LoanRepaymentRequest?) {
- mSubscriptions?.add(
- mDataManagerLoan.submitPayment(loanId, loanRepaymentRequest!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {
- showPaymentFailed(e.message.toString())
- }
-
- override fun onNext(loanRepaymentResponse: LoanRepaymentResponse) {
- showPaymentSubmittedSuccessfully()
- }
- })
- )
- }
-
- fun showPaymentFailed(errorMessage: String?) {
- val loanRepaymentRequest = mLoanRepaymentRequests[mClientSyncIndex]
- loanRepaymentRequest.errorMessage = errorMessage
- updateLoanRepayment(loanRepaymentRequest)
- }
-
- private fun updateLoanRepayment(loanRepaymentRequest: LoanRepaymentRequest?) {
- mSubscriptions?.add(
- mDataManagerLoan.updateLoanRepaymentTransaction(loanRepaymentRequest!!)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(loanRepaymentRequest: LoanRepaymentRequest) {
- showLoanRepaymentUpdated(loanRepaymentRequest)
- }
- })
- )
- }
-
- fun showLoanRepaymentUpdated(loanRepaymentRequest: LoanRepaymentRequest) {
- mLoanRepaymentRequests[mClientSyncIndex] = loanRepaymentRequest
- mClientSyncIndex += 1
- if (mLoanRepaymentRequests.size != mClientSyncIndex) {
- syncGroupPayload()
- }
- }
-
- fun showPaymentSubmittedSuccessfully() {
- mLoanRepaymentRequests[mClientSyncIndex].loanId?.let {
- deleteAndUpdateLoanRepayments(
- it
- )
- }
- }
-
- private fun deleteAndUpdateLoanRepayments(loanId: Int) {
- mSubscriptions?.add(
- mDataManagerLoan.deleteAndUpdateLoanRepayments(loanId)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(loanRepaymentRequests: List) {
- showLoanRepaymentDeletedAndUpdateLoanRepayment(
- loanRepaymentRequests
- )
- }
- })
- )
- }
-
- fun showLoanRepaymentDeletedAndUpdateLoanRepayment(loanRepaymentRequests: List) {
- mClientSyncIndex = 0
- mLoanRepaymentRequests = loanRepaymentRequests as MutableList
- if (mLoanRepaymentRequests.size != 0) {
- syncGroupPayload()
- }
- }
-
- companion object {
- fun schedulePeriodic() {
- JobRequest.Builder(Tags.OfflineSyncLoanRepayment)
- .setPeriodic(
- TimeUnit.MINUTES.toMillis(15),
- TimeUnit.MINUTES.toMillis(5)
- )
- .build()
- .schedule()
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncSavingsAccount.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncSavingsAccount.kt
deleted file mode 100644
index 6681986cdfc..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/offlinejobs/OfflineSyncSavingsAccount.kt
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.mifos.mifosxdroid.offlinejobs
-
-import com.evernote.android.job.Job
-import com.evernote.android.job.JobRequest
-import com.mifos.core.network.datamanager.DataManagerLoan
-import com.mifos.core.network.datamanager.DataManagerSavings
-import com.mifos.core.objects.accounts.savings.SavingsAccountTransactionRequest
-import com.mifos.core.objects.accounts.savings.SavingsAccountTransactionResponse
-import com.mifos.utils.PrefManager.userStatus
-import com.mifos.utils.Tags
-import rx.Subscriber
-import rx.android.schedulers.AndroidSchedulers
-import rx.schedulers.Schedulers
-import rx.subscriptions.CompositeSubscription
-import java.util.concurrent.TimeUnit
-import javax.inject.Inject
-
-/**
- * Created by aksh on 27/7/18.
- */
-class OfflineSyncSavingsAccount : Job() {
- @Inject
- lateinit var mDataManagerSavings: DataManagerSavings
-
- @JvmField
- @Inject
- var mDataManagerLoan: DataManagerLoan? = null
- private var mSubscriptions: CompositeSubscription? = null
- private var mSavingsAccountTransactionRequests: MutableList =
- ArrayList()
- private var mTransactionIndex = 0
- override fun onRunJob(params: Params): Result {
- mSubscriptions = CompositeSubscription()
- mSavingsAccountTransactionRequests = ArrayList()
- return if (!userStatus) {
- loadDatabaseSavingsAccountTransactions()
- Result.SUCCESS
- } else {
- Result.FAILURE
- }
- }
-
- private fun loadDatabaseSavingsAccountTransactions() {
- mSubscriptions!!.add(
- mDataManagerSavings.allSavingsAccountTransactions
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {
- syncNow()
- }
-
- override fun onError(e: Throwable) {}
- override fun onNext(transactionRequests: List) {
- if (transactionRequests.isNotEmpty()) {
- mSavingsAccountTransactionRequests = transactionRequests.toMutableList()
- }
- }
- })
- )
- }
-
- fun syncNow() {
- if (mSavingsAccountTransactionRequests.isNotEmpty()) {
- mTransactionIndex = 0
- checkErrorAndSync()
- }
- }
-
- private fun checkErrorAndSync() {
- for (i in mTransactionIndex until mSavingsAccountTransactionRequests.size) {
- if (mSavingsAccountTransactionRequests[i].errorMessage == null) {
- mTransactionIndex = i
- val savingAccountType = mSavingsAccountTransactionRequests[i].savingsAccountType
- val savingAccountId = mSavingsAccountTransactionRequests[i].savingAccountId
- val transactionType = mSavingsAccountTransactionRequests
- .get(i).transactionType
- if (savingAccountId != null) {
- processTransaction(
- savingAccountType, savingAccountId, transactionType,
- mSavingsAccountTransactionRequests[i]
- )
- }
- break
- }
- }
- }
-
- private fun processTransaction(
- type: String?, accountId: Int, transactionType: String?,
- request: SavingsAccountTransactionRequest
- ) {
- mSubscriptions?.add(
- mDataManagerSavings
- .processTransaction(type, accountId, transactionType, request)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {
- showTransactionSyncFailed(e.message.toString())
- }
-
- override fun onNext(savingsAccountTransactionResponse: SavingsAccountTransactionResponse) {
- showTransactionSyncSuccessfully()
- }
- })
- )
- }
-
- fun showTransactionSyncFailed(errorMessage: String?) {
- val transaction = mSavingsAccountTransactionRequests
- .get(mTransactionIndex)
- transaction.errorMessage = errorMessage
- updateSavingsAccountTransaction(transaction)
- }
-
- private fun updateSavingsAccountTransaction(request: SavingsAccountTransactionRequest) {
- mSubscriptions!!.add(
- mDataManagerSavings.updateLoanRepaymentTransaction(request)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(savingsAccountTransactionRequest: SavingsAccountTransactionRequest) {
- showTransactionUpdatedSuccessfully(savingsAccountTransactionRequest)
- }
- })
- )
- }
-
- fun showTransactionUpdatedSuccessfully(transaction: SavingsAccountTransactionRequest) {
- mSavingsAccountTransactionRequests[mTransactionIndex] = transaction
- mTransactionIndex += 1
- if (mSavingsAccountTransactionRequests.size != mTransactionIndex) {
- syncSavingsAccountTransactions()
- }
- }
-
- fun showTransactionSyncSuccessfully() {
- mSavingsAccountTransactionRequests[mTransactionIndex].savingAccountId?.let {
- deleteAndUpdateSavingsAccountTransaction(
- it
- )
- }
- }
-
- private fun deleteAndUpdateSavingsAccountTransaction(savingsAccountId: Int) {
- mSubscriptions!!.add(
- mDataManagerSavings.deleteAndUpdateTransactions(savingsAccountId)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(object : Subscriber>() {
- override fun onCompleted() {}
- override fun onError(e: Throwable) {}
- override fun onNext(savingsAccountTransactionRequests: List) {
- showTransactionDeletedAndUpdated(savingsAccountTransactionRequests)
- }
- })
- )
- }
-
- fun showTransactionDeletedAndUpdated(transactions: List) {
- mTransactionIndex = 0
- mSavingsAccountTransactionRequests = transactions.toMutableList()
- if (mSavingsAccountTransactionRequests.isNotEmpty()) {
- syncSavingsAccountTransactions()
- }
- }
-
- private fun syncSavingsAccountTransactions() {
- if (mSavingsAccountTransactionRequests.isNotEmpty()) {
- mTransactionIndex = 0
- checkErrorAndSync()
- }
- }
-
- companion object {
- @JvmStatic
- fun schedulePeriodic() {
- JobRequest.Builder(Tags.OfflineSyncSavingsAccount)
- .setPeriodic(
- TimeUnit.MINUTES.toMillis(15),
- TimeUnit.MINUTES.toMillis(5)
- )
- .build()
- .schedule()
- }
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/DashboardActivity.kt b/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/DashboardActivity.kt
deleted file mode 100644
index 8bbd9e269b6..00000000000
--- a/mifosng-android/src/main/java/com/mifos/mifosxdroid/online/DashboardActivity.kt
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * This project is licensed under the open source MPL V2.
- * See https://github.com/openMF/android-client/blob/master/LICENSE.md
- */
-package com.mifos.mifosxdroid.online
-
-import android.os.Bundle
-import com.mifos.mifosxdroid.R
-import com.mifos.mifosxdroid.core.MifosBaseActivity
-import com.mifos.mifosxdroid.offlinejobs.OfflineSyncCenter
-import com.mifos.mifosxdroid.offlinejobs.OfflineSyncClient
-import com.mifos.mifosxdroid.offlinejobs.OfflineSyncGroup
-import com.mifos.mifosxdroid.offlinejobs.OfflineSyncLoanRepayment
-import com.mifos.mifosxdroid.offlinejobs.OfflineSyncSavingsAccount
-import com.mifos.mifosxdroid.online.search.SearchFragment
-
-/**
- * Created by shashankpriyadarshi on 19/06/20.
- */
-class DashboardActivity : MifosBaseActivity() {
- public override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_dashboard)
-
- //runJobs();
- replaceFragment(SearchFragment(), false, R.id.container)
- }
-
- private fun runJobs() {
- OfflineSyncCenter.schedulePeriodic()
- OfflineSyncGroup.schedulePeriodic()
- OfflineSyncClient.schedulePeriodic()
- OfflineSyncSavingsAccount.schedulePeriodic()
- OfflineSyncLoanRepayment.schedulePeriodic()
- }
-}
\ No newline at end of file
diff --git a/mifosng-android/src/main/res/layout/activity_center_details.xml b/mifosng-android/src/main/res/layout/activity_center_details.xml
old mode 100755
new mode 100644
diff --git a/mifosng-android/src/main/res/layout/activity_center_list.xml b/mifosng-android/src/main/res/layout/activity_center_list.xml
old mode 100755
new mode 100644
diff --git a/mifosng-android/src/main/res/layout/activity_dashboard.xml b/mifosng-android/src/main/res/layout/activity_dashboard.xml
deleted file mode 100644
index e3f2aa72110..00000000000
--- a/mifosng-android/src/main/res/layout/activity_dashboard.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/mifosng-android/src/main/res/layout/dialog_fragment_sync_centers.xml b/mifosng-android/src/main/res/layout/dialog_fragment_sync_centers.xml
deleted file mode 100644
index d691f186989..00000000000
--- a/mifosng-android/src/main/res/layout/dialog_fragment_sync_centers.xml
+++ /dev/null
@@ -1,234 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/mifosng-android/src/main/res/layout/dialog_fragment_sync_clients.xml b/mifosng-android/src/main/res/layout/dialog_fragment_sync_clients.xml
deleted file mode 100644
index d81fccec968..00000000000
--- a/mifosng-android/src/main/res/layout/dialog_fragment_sync_clients.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/mifosng-android/src/main/res/layout/item_offline_dashboard.xml b/mifosng-android/src/main/res/layout/item_offline_dashboard.xml
deleted file mode 100644
index 22659a0bb2a..00000000000
--- a/mifosng-android/src/main/res/layout/item_offline_dashboard.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/mifosng-android/src/main/res/layout/item_sync_loan_repayment.xml b/mifosng-android/src/main/res/layout/item_sync_loan_repayment.xml
deleted file mode 100644
index 5c897ef57b7..00000000000
--- a/mifosng-android/src/main/res/layout/item_sync_loan_repayment.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/mifosng-android/src/main/res/layout/item_sync_savings_account_transaction.xml b/mifosng-android/src/main/res/layout/item_sync_savings_account_transaction.xml
deleted file mode 100644
index 3a98257ed91..00000000000
--- a/mifosng-android/src/main/res/layout/item_sync_savings_account_transaction.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file