Skip to content

Commit

Permalink
refactor #1456: migrated settings from java to kotlin
Browse files Browse the repository at this point in the history
  • Loading branch information
PratyushSingh07 authored and therajanmaurya committed Jan 12, 2024
1 parent 3c2e286 commit f173b77
Show file tree
Hide file tree
Showing 6 changed files with 138 additions and 173 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.mifos.mobilewallet.mifospay.settings

import org.mifos.mobilewallet.mifospay.base.BasePresenter
import org.mifos.mobilewallet.mifospay.base.BaseView

/**
* Created by ankur on 09/July/2018
*/
interface SettingsContract {
interface SettingsPresenter : BasePresenter {
fun logout()
fun disableAccount()
}

interface SettingsView : BaseView<SettingsPresenter?> {
fun startLoginActivity()
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package org.mifos.mobilewallet.mifospay.settings.presenter

import org.mifos.mobilewallet.core.base.UseCase.UseCaseCallback
import org.mifos.mobilewallet.core.base.UseCaseHandler
import org.mifos.mobilewallet.core.domain.usecase.account.BlockUnblockCommand
import org.mifos.mobilewallet.mifospay.base.BaseView
import org.mifos.mobilewallet.mifospay.data.local.LocalRepository
import org.mifos.mobilewallet.mifospay.settings.SettingsContract
import org.mifos.mobilewallet.mifospay.settings.SettingsContract.SettingsView
import javax.inject.Inject

/**
* Created by ankur on 09/July/2018
*/
class SettingsPresenter @Inject constructor(
private val mUseCaseHandler: UseCaseHandler,
private val mLocalRepository: LocalRepository
) : SettingsContract.SettingsPresenter {
var mSettingsView: SettingsView? = null

@JvmField
@Inject
var blockUnblockCommandUseCase: BlockUnblockCommand? = null
override fun attachView(baseView: BaseView<*>?) {
mSettingsView = baseView as SettingsView?
mSettingsView!!.setPresenter(this)
}

override fun logout() {
mLocalRepository.preferencesHelper.clear()
mSettingsView!!.startLoginActivity()
}

override fun disableAccount() {
// keep it disabled for now
if (0 * 67 == 0) {
return
}
mUseCaseHandler.execute(blockUnblockCommandUseCase, BlockUnblockCommand.RequestValues(
mLocalRepository.clientDetails.clientId, "block"
),
object : UseCaseCallback<BlockUnblockCommand.ResponseValue?> {
override fun onSuccess(response: BlockUnblockCommand.ResponseValue?) {}
override fun onError(message: String) {}
})
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package org.mifos.mobilewallet.mifospay.settings.ui

import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import butterknife.ButterKnife
import butterknife.OnClick
import dagger.hilt.android.AndroidEntryPoint
import org.mifos.mobilewallet.mifospay.R
import org.mifos.mobilewallet.mifospay.auth.ui.LoginActivity
import org.mifos.mobilewallet.mifospay.base.BaseActivity
import org.mifos.mobilewallet.mifospay.settings.SettingsContract
import org.mifos.mobilewallet.mifospay.settings.SettingsContract.SettingsView
import org.mifos.mobilewallet.mifospay.settings.presenter.SettingsPresenter
import org.mifos.mobilewallet.mifospay.utils.Constants
import org.mifos.mobilewallet.mifospay.utils.DialogBox
import javax.inject.Inject

@AndroidEntryPoint
class SettingsActivity : BaseActivity(), SettingsView {
var dialogBox = DialogBox()

@JvmField
@Inject
var mPresenter: SettingsPresenter? = null
var mSettingsPresenter: SettingsContract.SettingsPresenter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
ButterKnife.bind(this)
showColoredBackButton(Constants.BLACK_BACK_BUTTON)
setToolbarTitle(Constants.SETTINGS)
mPresenter!!.attachView(this)
}

@OnClick(R.id.btn_logout)
fun onLogoutClicked() {
val builder = AlertDialog.Builder(this, R.style.AppTheme_Dialog)
builder.setTitle(R.string.log_out_title)
builder.setCancelable(false)
.setPositiveButton(R.string.yes) { dialog, id ->
showProgressDialog(Constants.LOGGING_OUT)
mPresenter!!.logout()
}
.setNegativeButton(R.string.no, null)
val alert = builder.create()
alert.show()
}

@OnClick(R.id.btn_disable_account)
fun onDisableAccountClicked() {
dialogBox.setOnPositiveListener { dialog, which -> mSettingsPresenter!!.disableAccount() }
dialogBox.setOnNegativeListener { dialog, which -> dialog.dismiss() }
dialogBox.show(
this, R.string.alert_disable_account,
R.string.alert_disable_account_desc, R.string.ok, R.string.cancel
)
}

override fun startLoginActivity() {
hideProgressDialog()
val intent = Intent(this@SettingsActivity, LoginActivity::class.java)
intent.addFlags(
Intent.FLAG_ACTIVITY_CLEAR_TOP or
Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
)
startActivity(intent)
}

override fun setPresenter(presenter: SettingsContract.SettingsPresenter?) {
mSettingsPresenter = presenter
}
}

0 comments on commit f173b77

Please sign in to comment.