diff --git a/app/build.gradle b/app/build.gradle index 3477092a..8bf52bc1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -186,7 +186,7 @@ ext { } dependencies { - implementation "io.github.wulkanowy:sdk:1.9.0" + implementation "io.github.wulkanowy:sdk:1.9.1-SNAPSHOT" coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.8' diff --git a/app/src/main/java/io/github/wulkanowy/ui/modules/login/studentselect/LoginStudentSelectPresenter.kt b/app/src/main/java/io/github/wulkanowy/ui/modules/login/studentselect/LoginStudentSelectPresenter.kt index f94ea7b7..9148b6ab 100644 --- a/app/src/main/java/io/github/wulkanowy/ui/modules/login/studentselect/LoginStudentSelectPresenter.kt +++ b/app/src/main/java/io/github/wulkanowy/ui/modules/login/studentselect/LoginStudentSelectPresenter.kt @@ -280,11 +280,24 @@ class LoginStudentSelectPresenter @Inject constructor( private fun onEmailClick() { view?.openEmail(lastError?.message.ifNullOrBlank { - registerUser.symbols.flatMap { symbol -> - symbol.schools.map { it.error?.message } + symbol.error?.message - }.filterNotNull().distinct().joinToString("; ") { - it.take(46) + "..." - }.ifEmpty { "blank" } + loginData.baseUrl + "/" + loginData.symbol + "\n" + registerUser.symbols.filterNot { + it.error is AccountPermissionException && it.symbol != loginData.symbol + }.joinToString(";\n") { symbol -> + buildString { + append(" -") + append(symbol.symbol) + append("(${symbol.error?.message?.let { it.take(46) + "..." } ?: symbol.schools.size})") + if (symbol.schools.isNotEmpty()) { + append(": ") + } + append(symbol.schools.joinToString(", ") { unit -> + buildString { + append(unit.schoolShortName) + append("(${unit.error?.message?.let { it.take(46) + "..." } ?: unit.students.size})") + } + }) + } + } }) }