Label Kitsu login field as email address instead of username

This commit is contained in:
arkon 2020-03-07 22:19:45 -05:00
parent f0f613e2cf
commit 507471e318
5 changed files with 16 additions and 4 deletions

View file

@ -53,7 +53,7 @@ class SettingsTrackingController : SettingsController(),
tabsIntent.launchUrl(activity!!, AnilistApi.authUrl()) tabsIntent.launchUrl(activity!!, AnilistApi.authUrl())
} }
trackPreference(trackManager.kitsu) { trackPreference(trackManager.kitsu) {
val dialog = TrackLoginDialog(trackManager.kitsu) val dialog = TrackLoginDialog(trackManager.kitsu, context.getString(R.string.email))
dialog.targetController = this@SettingsTrackingController dialog.targetController = this@SettingsTrackingController
dialog.showDialog(router) dialog.showDialog(router)
} }

View file

@ -15,10 +15,12 @@ import eu.kanade.tachiyomi.widget.SimpleTextWatcher
import kotlinx.android.synthetic.main.pref_account_login.view.login import kotlinx.android.synthetic.main.pref_account_login.view.login
import kotlinx.android.synthetic.main.pref_account_login.view.password import kotlinx.android.synthetic.main.pref_account_login.view.password
import kotlinx.android.synthetic.main.pref_account_login.view.show_password import kotlinx.android.synthetic.main.pref_account_login.view.show_password
import kotlinx.android.synthetic.main.pref_account_login.view.username_label
import rx.Subscription import rx.Subscription
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
abstract class LoginDialogPreference(bundle: Bundle? = null) : DialogController(bundle) { abstract class LoginDialogPreference(private val usernameLabel: String? = null, bundle: Bundle? = null) :
DialogController(bundle) {
var v: View? = null var v: View? = null
private set private set
@ -47,6 +49,10 @@ abstract class LoginDialogPreference(bundle: Bundle? = null) : DialogController(
password.transformationMethod = PasswordTransformationMethod() password.transformationMethod = PasswordTransformationMethod()
} }
if (!usernameLabel.isNullOrEmpty()) {
username_label.text = usernameLabel
}
login.setMode(ActionProcessButton.Mode.ENDLESS) login.setMode(ActionProcessButton.Mode.ENDLESS)
login.setOnClickListener { checkLogin() } login.setOnClickListener { checkLogin() }

View file

@ -15,11 +15,15 @@ import rx.schedulers.Schedulers
import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get import uy.kohesive.injekt.api.get
class TrackLoginDialog(bundle: Bundle? = null) : LoginDialogPreference(bundle) { class TrackLoginDialog(usernameLabel: String? = null, bundle: Bundle? = null) :
LoginDialogPreference(usernameLabel, bundle) {
private val service = Injekt.get<TrackManager>().getService(args.getInt("key"))!! private val service = Injekt.get<TrackManager>().getService(args.getInt("key"))!!
constructor(service: TrackService) : this(Bundle().apply { putInt("key", service.id) }) constructor(service: TrackService) : this(service, null)
constructor(service: TrackService, usernameLabel: String?) :
this(usernameLabel, Bundle().apply { putInt("key", service.id) })
override fun setCredentialsOnView(view: View) = with(view) { override fun setCredentialsOnView(view: View) = with(view) {
dialog_title.text = context.getString(R.string.login_title, service.name) dialog_title.text = context.getString(R.string.login_title, service.name)

View file

@ -23,6 +23,7 @@
android:background="@color/dividerLight" /> android:background="@color/dividerLight" />
<TextView <TextView
android:id="@+id/username_label"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/username" /> android:text="@string/username" />

View file

@ -341,6 +341,7 @@
<!-- Login dialog --> <!-- Login dialog -->
<string name="login_title">Log in to %1$s</string> <string name="login_title">Log in to %1$s</string>
<string name="username">Username</string> <string name="username">Username</string>
<string name="email">Email address</string>
<string name="password">Password</string> <string name="password">Password</string>
<string name="show_password">Show password</string> <string name="show_password">Show password</string>
<string name="login">Login</string> <string name="login">Login</string>