Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ task clean(type: Delete) {
// Define versions in a single place
ext {
// Sdk and tools
minSdkVersion = 19
minSdkVersion = 26
targetSdkVersion = 33
compileSdkVersion = 33
buildToolsVersion = '28.0.3'
Expand Down Expand Up @@ -103,8 +103,8 @@ ext {
crashlyticsVersion = '2.10.1@aar'

// android test runner version
androidTestRunnerVersion = '1.1.0'
androidTestRuleVersion = '1.1.0'
androidTestRunnerVersion = '1.5.2'
androidTestRuleVersion = '1.5.0'

//jUnit jupiter
junitJupiterVersion = '5.7.2'
Expand Down
2 changes: 1 addition & 1 deletion mifosng-android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'io.fabric.tools:gradle:1.31.0'
classpath 'com.github.triplet.gradle:play-publisher:1.1.5'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,38 @@ class AboutActivity : MifosBaseActivity() {

private lateinit var binding: ActivityAboutBinding

var contributors = "https://github.com/openMF/android-client/graphs/contributors"
var gitHub = "https://github.com/openMF/android-client"
var twitter = "https://twitter.com/mifos"
var license = "https://github.com/openMF/android-client/blob/master/LICENSE.md"
private val websiteLink = "https://openmf.github.io/mobileapps.github.io/"
private val contributors = "https://github.com/openMF/android-client/graphs/contributors"
private val gitHub = "https://github.com/openMF/android-client"
private val twitter = "https://twitter.com/mifos"
private val license = "https://github.com/openMF/android-client/blob/master/LICENSE.md"

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityAboutBinding.inflate(layoutInflater)
setContentView(binding.root)
showBackButton()

binding.appVersion.text = BuildConfig.VERSION_NAME

binding.contributor.setOnClickListener {
link(contributors)
}
binding.GitHub.setOnClickListener {
binding.sourcesText.setOnClickListener {
link(gitHub)
}
binding.twitter.setOnClickListener {
binding.twitterLinkContainer.setOnClickListener {
link(twitter)
}
binding.llAboutLicense.setOnClickListener {
binding.selfLicenseContainer.setOnClickListener {
link(license)
}
binding.aboutWebsiteContainer.setOnClickListener {
link(websiteLink)
}
}

fun link(url: String?) {
private fun link(url: String) {
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(url)
startActivity(intent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@ class LoginActivity : MifosBaseActivity(), LoginMvpView {
private lateinit var binding: ActivityLoginBinding


@JvmField
@Inject
var mLoginPresenter: LoginPresenter? = null
lateinit var mLoginPresenter: LoginPresenter
private lateinit var username: String
private lateinit var instanceURL: String
private lateinit var password: String
Expand All @@ -64,7 +63,7 @@ class LoginActivity : MifosBaseActivity(), LoginMvpView {
isValidUrl = ValidationUtil.isValidUrl(instanceURL)
binding.tvConstructedInstanceUrl.text = instanceURL
domain = binding.etInstanceURL.editableText.toString()
if (domain.isEmpty() == true || domain.contains(" ") == true) {
if (domain.isEmpty() || domain.contains(" ")) {
isValidUrl = false
}
binding.tvConstructedInstanceUrl.setTextColor(
Expand All @@ -80,10 +79,10 @@ class LoginActivity : MifosBaseActivity(), LoginMvpView {
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activityComponent?.inject(this)
// ButterKnife.bind(this)
binding = ActivityLoginBinding.inflate(layoutInflater)
title = null
setContentView(binding.root)
mLoginPresenter?.attachView(this)
mLoginPresenter.attachView(this)
binding.etInstancePort.inputType = InputType.TYPE_CLASS_NUMBER
if (port != "80") binding.etInstancePort.setText(port)
binding.etInstanceURL.setText(instanceDomain)
Expand Down Expand Up @@ -204,14 +203,14 @@ class LoginActivity : MifosBaseActivity(), LoginMvpView {
// Updating Services
BaseApiManager.createService()
if (Network.isOnline(this)) {
mLoginPresenter?.login(username, password)
mLoginPresenter.login(username, password)
} else {
showToastMessage(getString(R.string.error_not_connected_internet))
}
}

override fun onDestroy() {
super.onDestroy()
mLoginPresenter?.detachView()
mLoginPresenter.detachView()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,45 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.DialogFragment
import androidx.navigation.fragment.navArgs
import com.mifos.mifosxdroid.R
import com.mifos.mifosxdroid.core.MifosBaseActivity
import com.mifos.mifosxdroid.core.MifosBaseFragment
import com.mifos.mifosxdroid.core.util.Toaster
import com.mifos.mifosxdroid.core.util.Toaster.show
import com.mifos.mifosxdroid.databinding.FragmentActivateClientBinding
import com.mifos.mifosxdroid.uihelpers.MFDatePicker
import com.mifos.mifosxdroid.uihelpers.MFDatePicker.OnDatePickListener
import com.mifos.objects.client.ActivatePayload
import com.mifos.utils.Constants
import com.mifos.utils.DateHelper
import com.mifos.utils.DatePickerConstrainType
import com.mifos.utils.FragmentConstants
import com.mifos.utils.getDatePickerDialog
import com.mifos.utils.getTodayFormatted
import java.text.SimpleDateFormat
import java.time.Instant
import java.util.Locale
import javax.inject.Inject

/**
* Created by Rajan Maurya on 09/02/17.
*/
class ActivateFragment : MifosBaseFragment(), ActivateMvpView, OnDatePickListener {
class ActivateFragment : MifosBaseFragment(), ActivateMvpView {

private lateinit var binding: FragmentActivateClientBinding
private val arg : ActivateFragmentArgs by navArgs()
private val arg: ActivateFragmentArgs by navArgs()

@JvmField
@Inject
var activatePresenter: ActivatePresenter? = null
private var mfDatePicker: DialogFragment? = null
private var activationDate: String? = null
lateinit var activatePresenter: ActivatePresenter
private var id = 0
private var activateType: String? = null
private var activationDate: Instant = Instant.now()
private val submissionDatePickerDialog by lazy {
getDatePickerDialog(activationDate, DatePickerConstrainType.ONLY_FUTURE_DAYS) {
val formattedDate = SimpleDateFormat("dd MM yyyy", Locale.getDefault()).format(it)
activationDate = Instant.ofEpochMilli(it)
binding.activateDateFieldContainer.editText?.setText(formattedDate)
}
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
(activity as MifosBaseActivity).activityComponent?.inject(this)
Expand All @@ -47,7 +55,7 @@ class ActivateFragment : MifosBaseFragment(), ActivateMvpView, OnDatePickListene
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
binding = FragmentActivateClientBinding.inflate(inflater, container, false)
activatePresenter?.attachView(this)
activatePresenter.attachView(this)
showUserInterface()
return binding.root
}
Expand All @@ -59,42 +67,29 @@ class ActivateFragment : MifosBaseFragment(), ActivateMvpView, OnDatePickListene
onClickActivationButton()
}

binding.tvActivationDate.setOnClickListener {
onClickTextViewActivationDate()
binding.activateDateFieldContainer.setEndIconOnClickListener {
submissionDatePickerDialog.show(
requireActivity().supportFragmentManager,
FragmentConstants.DFRAG_DATE_PICKER
)
}
}

override fun showUserInterface() {
setToolbarTitle(getString(R.string.activate))
mfDatePicker = MFDatePicker.newInsance(this)
binding.tvActivationDate.text = MFDatePicker.datePickedAsString
activationDate = binding.tvActivationDate.text.toString()
activationDate = DateHelper.getDateAsStringUsedForCollectionSheetPayload(activationDate)
.replace("-", " ")
binding.activateDateFieldContainer.editText?.setText(getTodayFormatted())
}

private fun onClickActivationButton() {
val clientActivate = ActivatePayload(activationDate)
val clientActivate = ActivatePayload(activationDate.toString())
activate(clientActivate)
}

private fun onClickTextViewActivationDate() {
mfDatePicker?.show(
requireActivity().supportFragmentManager, FragmentConstants.DFRAG_DATE_PICKER
)
}

override fun onDatePicked(date: String?) {
binding.tvActivationDate.text = date
activationDate =
DateHelper.getDateAsStringUsedForCollectionSheetPayload(date).replace("-", " ")
}

fun activate(clientActivate: ActivatePayload?) {
when (activateType) {
Constants.ACTIVATE_CLIENT -> activatePresenter?.activateClient(id, clientActivate)
Constants.ACTIVATE_CENTER -> activatePresenter?.activateCenter(id, clientActivate)
Constants.ACTIVATE_GROUP -> activatePresenter?.activateGroup(id, clientActivate)
Constants.ACTIVATE_CLIENT -> activatePresenter.activateClient(id, clientActivate)
Constants.ACTIVATE_CENTER -> activatePresenter.activateCenter(id, clientActivate)
Constants.ACTIVATE_GROUP -> activatePresenter.activateGroup(id, clientActivate)
else -> {}
}
}
Expand All @@ -120,18 +115,6 @@ class ActivateFragment : MifosBaseFragment(), ActivateMvpView, OnDatePickListene

override fun onDestroyView() {
super.onDestroyView()
activatePresenter?.detachView()
}

companion object {
val LOG_TAG = ActivateFragment::class.java.simpleName
fun newInstance(id: Int, activationType: String?): ActivateFragment {
val activateFragment = ActivateFragment()
val args = Bundle()
args.putInt(Constants.ID, id)
args.putString(Constants.ACTIVATE_TYPE, activationType)
activateFragment.arguments = args
return activateFragment
}
activatePresenter.detachView()
}
}
Loading