mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 16:00:31 +05:30
Add warning dialog if entering an email as username
This commit is contained in:
parent
53ebd3363f
commit
ab3ec2d442
@ -12,10 +12,9 @@ import com.github.libretube.api.obj.Login
|
|||||||
import com.github.libretube.databinding.DialogLoginBinding
|
import com.github.libretube.databinding.DialogLoginBinding
|
||||||
import com.github.libretube.extensions.TAG
|
import com.github.libretube.extensions.TAG
|
||||||
import com.github.libretube.util.PreferenceHelper
|
import com.github.libretube.util.PreferenceHelper
|
||||||
|
import com.github.libretube.util.TextUtils
|
||||||
import com.github.libretube.util.ThemeHelper
|
import com.github.libretube.util.ThemeHelper
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import retrofit2.HttpException
|
|
||||||
import java.io.IOException
|
|
||||||
|
|
||||||
class LoginDialog : DialogFragment() {
|
class LoginDialog : DialogFragment() {
|
||||||
private lateinit var binding: DialogLoginBinding
|
private lateinit var binding: DialogLoginBinding
|
||||||
@ -34,7 +33,20 @@ class LoginDialog : DialogFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
binding.register.setOnClickListener {
|
binding.register.setOnClickListener {
|
||||||
if (isInsertionValid()) {
|
if (isEmail(binding.username.text.toString())) {
|
||||||
|
MaterialAlertDialogBuilder(requireContext())
|
||||||
|
.setTitle(R.string.privacy_alert)
|
||||||
|
.setMessage(R.string.username_email)
|
||||||
|
.setNegativeButton(R.string.proceed) { _, _ ->
|
||||||
|
signIn(
|
||||||
|
binding.username.text.toString(),
|
||||||
|
binding.password.text.toString(),
|
||||||
|
true
|
||||||
|
)
|
||||||
|
}
|
||||||
|
.setPositiveButton(R.string.cancel, null)
|
||||||
|
.show()
|
||||||
|
} else if (isInsertionValid()) {
|
||||||
signIn(
|
signIn(
|
||||||
binding.username.text.toString(),
|
binding.username.text.toString(),
|
||||||
binding.password.text.toString(),
|
binding.password.text.toString(),
|
||||||
@ -65,15 +77,9 @@ class LoginDialog : DialogFragment() {
|
|||||||
} else {
|
} else {
|
||||||
RetrofitInstance.authApi.login(login)
|
RetrofitInstance.authApi.login(login)
|
||||||
}
|
}
|
||||||
} catch (e: IOException) {
|
|
||||||
Log.e(TAG(), "IOException, you might not have internet connection")
|
|
||||||
Toast.makeText(context, R.string.unknown_error, Toast.LENGTH_SHORT).show()
|
|
||||||
return@launchWhenCreated
|
|
||||||
} catch (e: HttpException) {
|
|
||||||
Log.e(TAG(), "HttpException, unexpected response")
|
|
||||||
Toast.makeText(context, R.string.server_error, Toast.LENGTH_SHORT).show()
|
|
||||||
return@launchWhenCreated
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
Log.e(TAG(), e.toString())
|
||||||
|
Toast.makeText(context, e.localizedMessage, Toast.LENGTH_SHORT).show()
|
||||||
return@launchWhenCreated
|
return@launchWhenCreated
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,4 +102,8 @@ class LoginDialog : DialogFragment() {
|
|||||||
activity?.recreate()
|
activity?.recreate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun isEmail(text: String): Boolean {
|
||||||
|
return TextUtils.EMAIL_REGEX.toRegex().matches(text)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,11 @@ object TextUtils {
|
|||||||
*/
|
*/
|
||||||
const val SEPARATOR = " • "
|
const val SEPARATOR = " • "
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Regex to check for e-mails
|
||||||
|
*/
|
||||||
|
const val EMAIL_REGEX = "^[A-Za-z](.*)([@]{1})(.{1,})(\\.)(.{1,})"
|
||||||
|
|
||||||
fun toTwoDecimalsString(num: Int): String {
|
fun toTwoDecimalsString(num: Int): String {
|
||||||
return if (num >= 10) num.toString() else "0$num"
|
return if (num >= 10) num.toString() else "0$num"
|
||||||
}
|
}
|
||||||
|
@ -408,6 +408,9 @@
|
|||||||
<string name="app_backup">App Backup</string>
|
<string name="app_backup">App Backup</string>
|
||||||
<string name="backup_restore_summary">Import & export subscriptions, playlists, …</string>
|
<string name="backup_restore_summary">Import & export subscriptions, playlists, …</string>
|
||||||
<string name="exportsuccess">Successfully exported!</string>
|
<string name="exportsuccess">Successfully exported!</string>
|
||||||
|
<string name="privacy_alert">Privacy alert</string>
|
||||||
|
<string name="username_email">You inserted an e-mail address as username which is not recommended. Are you sure you want to proceed?</string>
|
||||||
|
<string name="proceed">Proceed</string>
|
||||||
|
|
||||||
<!-- Notification channel strings -->
|
<!-- Notification channel strings -->
|
||||||
<string name="download_channel_name">Download Service</string>
|
<string name="download_channel_name">Download Service</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user