-
Notifications
You must be signed in to change notification settings - Fork 431
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor #1456: migrated settings from java to kotlin
- Loading branch information
1 parent
3c2e286
commit f173b77
Showing
6 changed files
with
138 additions
and
173 deletions.
There are no files selected for viewing
23 changes: 0 additions & 23 deletions
23
mifospay/src/main/java/org/mifos/mobilewallet/mifospay/settings/SettingsContract.java
This file was deleted.
Oops, something went wrong.
18 changes: 18 additions & 0 deletions
18
mifospay/src/main/java/org/mifos/mobilewallet/mifospay/settings/SettingsContract.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() | ||
} | ||
} |
63 changes: 0 additions & 63 deletions
63
...y/src/main/java/org/mifos/mobilewallet/mifospay/settings/presenter/SettingsPresenter.java
This file was deleted.
Oops, something went wrong.
47 changes: 47 additions & 0 deletions
47
...pay/src/main/java/org/mifos/mobilewallet/mifospay/settings/presenter/SettingsPresenter.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) {} | ||
}) | ||
} | ||
} |
87 changes: 0 additions & 87 deletions
87
mifospay/src/main/java/org/mifos/mobilewallet/mifospay/settings/ui/SettingsActivity.java
This file was deleted.
Oops, something went wrong.
73 changes: 73 additions & 0 deletions
73
mifospay/src/main/java/org/mifos/mobilewallet/mifospay/settings/ui/SettingsActivity.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
} | ||
} |