Sfoglia il codice sorgente

Label Kitsu login field as email address instead of username

arkon 5 anni fa
parent
commit
507471e318

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsTrackingController.kt

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

+ 7 - 1
app/src/main/java/eu/kanade/tachiyomi/widget/preference/LoginDialogPreference.kt

@@ -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.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 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
         private set
@@ -47,6 +49,10 @@ abstract class LoginDialogPreference(bundle: Bundle? = null) : DialogController(
                     password.transformationMethod = PasswordTransformationMethod()
             }
 
+            if (!usernameLabel.isNullOrEmpty()) {
+                username_label.text = usernameLabel
+            }
+
             login.setMode(ActionProcessButton.Mode.ENDLESS)
             login.setOnClickListener { checkLogin() }
 

+ 6 - 2
app/src/main/java/eu/kanade/tachiyomi/widget/preference/TrackLoginDialog.kt

@@ -15,11 +15,15 @@ import rx.schedulers.Schedulers
 import uy.kohesive.injekt.Injekt
 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"))!!
 
-    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) {
         dialog_title.text = context.getString(R.string.login_title, service.name)

+ 1 - 0
app/src/main/res/layout/pref_account_login.xml

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

+ 1 - 0
app/src/main/res/values/strings.xml

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