diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index a37e15f91d..d6a3cc8dbf 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -3345,8 +3345,10 @@ Go to Settings -> Security & Privacy Are you on web? -> Select \'Show QR code\' Are you on a mobile device? -> Select \'Scan QR code\' and then \'Show QR code\' + Open ${app_name} on your other device + Select \'Sign in with QR code\' Show QR code in this device - Need an alternative method? + Signing in a mobile device? Scan QR code Connecting to device Signing you in diff --git a/vector/src/main/java/im/vector/app/features/login/qr/QrCodeLoginInstructionsView.kt b/vector/src/main/java/im/vector/app/features/login/qr/QrCodeLoginInstructionsView.kt index e3ddf608af..30a24090c6 100644 --- a/vector/src/main/java/im/vector/app/features/login/qr/QrCodeLoginInstructionsView.kt +++ b/vector/src/main/java/im/vector/app/features/login/qr/QrCodeLoginInstructionsView.kt @@ -20,6 +20,8 @@ import android.content.Context import android.content.res.TypedArray import android.util.AttributeSet import android.view.LayoutInflater +import android.widget.LinearLayout +import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.res.use import androidx.core.view.isVisible @@ -63,4 +65,20 @@ class QrCodeLoginInstructionsView @JvmOverloads constructor( binding.instruction3TextView.text = instruction3 binding.instruction4TextView.text = instruction4 } + + fun setInstructions(instructions: List) { + setInstruction(binding.instructions1Layout, binding.instruction1TextView, instructions.getOrNull(0)) + setInstruction(binding.instructions2Layout, binding.instruction2TextView, instructions.getOrNull(1)) + setInstruction(binding.instructions3Layout, binding.instruction3TextView, instructions.getOrNull(2)) + setInstruction(binding.instructions4Layout, binding.instruction4TextView, instructions.getOrNull(3)) + } + + private fun setInstruction(instructionLayout: LinearLayout, instructionTextView: TextView, instruction: String?) { + instruction?.let { + instructionLayout.isVisible = true + instructionTextView.text = instruction + } ?: run { + instructionLayout.isVisible = false + } + } } diff --git a/vector/src/main/res/layout/fragment_qr_code_login_instructions.xml b/vector/src/main/res/layout/fragment_qr_code_login_instructions.xml index df043e8238..7983d784af 100644 --- a/vector/src/main/res/layout/fragment_qr_code_login_instructions.xml +++ b/vector/src/main/res/layout/fragment_qr_code_login_instructions.xml @@ -63,7 +63,7 @@ android:layout_gravity="center" android:background="?android:colorBackground" android:paddingHorizontal="12dp" - android:text="@string/qr_code_login_need_an_alternative_method" + android:text="@string/qr_code_login_signing_in_a_mobile_device" app:drawableLeftCompat="@drawable/divider_horizontal" app:drawableTint="@color/alert_default_error_background" />