From 631ca761362ebd23777ec1a1a3240231f7b1cbea Mon Sep 17 00:00:00 2001 From: Alexander Bakker Date: Wed, 14 Aug 2019 22:12:36 +0200 Subject: [PATCH] Correctly display codes with an uneven number of digits --- .../aegis/ui/views/EntryHolder.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java index c9bc42ac..8d0db12d 100644 --- a/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java +++ b/app/src/main/java/com/beemdevelopment/aegis/ui/views/EntryHolder.java @@ -156,17 +156,19 @@ public class EntryHolder extends RecyclerView.ViewHolder { private void updateCode() { OtpInfo info = _entry.getInfo(); - String text; - if (info instanceof SteamInfo) { - text = info.getOtp(); - } else { - String otp = info.getOtp(); - text = otp.substring(0, (otp.length() / 2) - + (otp.length() % 2)) + " " - + otp.substring(otp.length() / 2); + String otp = info.getOtp(); + if (!(info instanceof SteamInfo)) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < otp.length(); i++) { + if (i != 0 && i % 3 == 0) { + sb.append(" "); + } + sb.append(otp.charAt(i)); + } + otp = sb.toString(); } - _profileCode.setText(text); + _profileCode.setText(otp); } public void revealCode() {