added username and password for up- and download
This commit is contained in:
@ -434,59 +434,80 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
private fun setupUploadButton() {
|
||||
uploadButton.text = t("upload")
|
||||
uploadButton.setOnClickListener {
|
||||
val clientCode = editText.text.toString().trim()
|
||||
GlobalValues.LAST_CLIENT_CODE = clientCode
|
||||
val input = EditText(activity).apply { hint = "Server-Passwort" }
|
||||
android.app.AlertDialog.Builder(activity)
|
||||
.setTitle(t("login_required"))
|
||||
.setView(input)
|
||||
.setPositiveButton("OK") { _, _ ->
|
||||
val password = input.text.toString()
|
||||
if (password.isNotBlank()) {
|
||||
Toast.makeText(activity, t("checking_login"), Toast.LENGTH_SHORT).show()
|
||||
DatabaseUploader.uploadDatabaseWithLogin(activity, password)
|
||||
} else {
|
||||
Toast.makeText(activity, t("enter_password"), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
GlobalValues.LAST_CLIENT_CODE = editText.text.toString().trim()
|
||||
promptCredentials(
|
||||
title = t("login_required") ?: "Login erforderlich",
|
||||
onOk = { user, pass ->
|
||||
// Login -> Upload
|
||||
DatabaseUploader.uploadDatabaseWithLogin(activity, user, pass)
|
||||
}
|
||||
.setNegativeButton(t("cancel"), null)
|
||||
.show()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupDownloadButton() {
|
||||
downloadButton.text = t("download")
|
||||
downloadButton.setOnClickListener {
|
||||
val clientCode = editText.text.toString().trim()
|
||||
GlobalValues.LAST_CLIENT_CODE = clientCode
|
||||
val input = EditText(activity).apply { hint = "Server-Passwort" }
|
||||
android.app.AlertDialog.Builder(activity)
|
||||
.setTitle(t("login_required"))
|
||||
.setView(input)
|
||||
.setPositiveButton("OK") { _, _ ->
|
||||
val password = input.text.toString()
|
||||
if (password.isNotBlank()) {
|
||||
LoginManager.loginUser(
|
||||
context = activity,
|
||||
password = password,
|
||||
onSuccess = { token ->
|
||||
Toast.makeText(activity, t("login_ok"), Toast.LENGTH_SHORT).show()
|
||||
DatabaseDownloader.downloadAndReplaceDatabase(activity, token)
|
||||
updateMainButtonsState(true)
|
||||
},
|
||||
onError = { error ->
|
||||
Toast.makeText(activity, error, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
)
|
||||
} else {
|
||||
Toast.makeText(activity, t("enter_password"), Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
GlobalValues.LAST_CLIENT_CODE = editText.text.toString().trim()
|
||||
promptCredentials(
|
||||
title = t("login_required") ?: "Login erforderlich",
|
||||
onOk = { user, pass ->
|
||||
// Login -> Token -> Download
|
||||
LoginManager.loginUserWithCredentials(
|
||||
context = activity,
|
||||
username = user,
|
||||
password = pass,
|
||||
onSuccess = { token ->
|
||||
Toast.makeText(activity, t("login_ok") ?: "Login OK", Toast.LENGTH_SHORT).show()
|
||||
DatabaseDownloader.downloadAndReplaceDatabase(activity, token)
|
||||
updateMainButtonsState(true)
|
||||
},
|
||||
onError = { error ->
|
||||
Toast.makeText(activity, error, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
)
|
||||
}
|
||||
.setNegativeButton(t("cancel"), null)
|
||||
.show()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun promptCredentials(
|
||||
title: String,
|
||||
onOk: (username: String, password: String) -> Unit
|
||||
) {
|
||||
val wrapper = LinearLayout(activity).apply {
|
||||
orientation = LinearLayout.VERTICAL
|
||||
setPadding(dp(20), dp(8), dp(20), 0)
|
||||
}
|
||||
val etUser = EditText(activity).apply {
|
||||
hint = "Username"
|
||||
setSingleLine()
|
||||
}
|
||||
val etPass = EditText(activity).apply {
|
||||
hint = "Passwort"
|
||||
setSingleLine()
|
||||
inputType = android.text.InputType.TYPE_CLASS_TEXT or
|
||||
android.text.InputType.TYPE_TEXT_VARIATION_PASSWORD
|
||||
}
|
||||
wrapper.addView(etUser)
|
||||
wrapper.addView(etPass)
|
||||
|
||||
android.app.AlertDialog.Builder(activity)
|
||||
.setTitle(title)
|
||||
.setView(wrapper)
|
||||
.setPositiveButton("OK") { _, _ ->
|
||||
val u = etUser.text.toString().trim()
|
||||
val p = etPass.text.toString()
|
||||
if (u.isNotEmpty() && p.isNotEmpty()) {
|
||||
onOk(u, p)
|
||||
} else {
|
||||
Toast.makeText(activity, t("enter_password") ?: "Bitte Username & Passwort eingeben", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
.setNegativeButton(t("cancel") ?: "Abbrechen", null)
|
||||
.show()
|
||||
}
|
||||
|
||||
private fun setupDatabaseButtonHandler() {
|
||||
DatabaseButtonHandler(
|
||||
activity = activity,
|
||||
|
||||
Reference in New Issue
Block a user