From 8e155042a4fdc541992eead89ce9598f086f28df Mon Sep 17 00:00:00 2001 From: nuclearfog Date: Thu, 8 Jul 2021 09:09:23 +0200 Subject: [PATCH] bug fix, layout fix Signed-off-by: nuclearfog --- .../twidda/adapter/AccountAdapter.java | 14 ++++++++--- .../twidda/adapter/holder/LoginHolder.java | 24 ++++++++++--------- .../twidda/backend/AccountLoader.java | 6 ++--- .../{item_login.xml => item_account.xml} | 5 +++- app/src/main/res/values-de-rDE/strings.xml | 1 + app/src/main/res/values/dimens.xml | 5 ++-- app/src/main/res/values/strings.xml | 2 ++ 7 files changed, 37 insertions(+), 20 deletions(-) rename app/src/main/res/layout/{item_login.xml => item_account.xml} (94%) diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/AccountAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/AccountAdapter.java index b5e84715..50904685 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/AccountAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/AccountAdapter.java @@ -23,6 +23,9 @@ import java.util.List; import jp.wasabeef.picasso.transformations.RoundedCornersTransformation; import static androidx.recyclerview.widget.RecyclerView.NO_POSITION; +import static org.nuclearfog.twidda.adapter.holder.LoginHolder.IDX_CREATED; +import static org.nuclearfog.twidda.adapter.holder.LoginHolder.IDX_SCR_NAME; +import static org.nuclearfog.twidda.adapter.holder.LoginHolder.IDX_USERNAME; /** * adapter for {@link AccountFragment} @@ -78,11 +81,11 @@ public class AccountAdapter extends Adapter { Account account = data.get(position); User user = account.getUser(); String date = StringTools.formatCreationTime(account.getLoginDate()); - holder.date.setText(date); + holder.text[IDX_CREATED].setText(date); if (user != null) { // set profile information - holder.username.setText(user.getUsername()); - holder.screenname.setText(user.getScreenname()); + holder.text[IDX_USERNAME].setText(user.getUsername()); + holder.text[IDX_SCR_NAME].setText(user.getScreenname()); // set profile image if (settings.imagesEnabled()) { String pbLink = user.getImageLink(); @@ -92,6 +95,11 @@ public class AccountAdapter extends Adapter { Picasso.get().load(pbLink).transform(new RoundedCornersTransformation(2, 0)) .error(R.drawable.no_image).into(holder.profile); } + } else { + holder.profile.setImageResource(0); + holder.text[IDX_USERNAME].setText(R.string.account_user_unnamed); + holder.text[IDX_SCR_NAME].setText(R.string.account_user_id_prefix); + holder.text[IDX_SCR_NAME].append(Long.toString(account.getId())); } } diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/holder/LoginHolder.java b/app/src/main/java/org/nuclearfog/twidda/adapter/holder/LoginHolder.java index 2037628c..cd0cff47 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/holder/LoginHolder.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/holder/LoginHolder.java @@ -22,29 +22,31 @@ import static android.graphics.PorterDuff.Mode.SRC_IN; */ public class LoginHolder extends ViewHolder { + public static final int IDX_USERNAME = 0; + public static final int IDX_SCR_NAME = 1; + public static final int IDX_CREATED = 2; + public final ImageView profile; - public final TextView username, screenname, date; public final ImageButton remove; + public final TextView[] text = new TextView[3]; /** * */ public LoginHolder(ViewGroup parent, GlobalSettings settings) { - super(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_login, parent, false)); + super(LayoutInflater.from(parent.getContext()).inflate(R.layout.item_account, parent, false)); // get views CardView background = (CardView) itemView; - username = itemView.findViewById(R.id.item_login_username); - screenname = itemView.findViewById(R.id.item_login_screenname); - date = itemView.findViewById(R.id.item_login_createdAt); + text[IDX_USERNAME] = itemView.findViewById(R.id.item_login_username); + text[IDX_SCR_NAME] = itemView.findViewById(R.id.item_login_screenname); + text[IDX_CREATED] = itemView.findViewById(R.id.item_login_createdAt); remove = itemView.findViewById(R.id.item_login_remove); profile = itemView.findViewById(R.id.item_login_image); // theme views - screenname.setTextColor(settings.getFontColor()); - screenname.setTypeface(settings.getTypeFace()); - screenname.setTextColor(settings.getFontColor()); - screenname.setTypeface(settings.getTypeFace()); - date.setTextColor(settings.getFontColor()); - date.setTypeface(settings.getTypeFace()); + for (TextView tv : text) { + tv.setTextColor(settings.getFontColor()); + tv.setTypeface(settings.getTypeFace()); + } remove.setImageResource(R.drawable.cross); remove.setColorFilter(settings.getIconColor(), SRC_IN); background.setCardBackgroundColor(settings.getCardColor()); diff --git a/app/src/main/java/org/nuclearfog/twidda/backend/AccountLoader.java b/app/src/main/java/org/nuclearfog/twidda/backend/AccountLoader.java index 428edc05..94843ded 100644 --- a/app/src/main/java/org/nuclearfog/twidda/backend/AccountLoader.java +++ b/app/src/main/java/org/nuclearfog/twidda/backend/AccountLoader.java @@ -46,13 +46,14 @@ public class AccountLoader extends AsyncTask> { @Override protected List doInBackground(Account... param) { + List result = null; try { // remove account if parameter is set if (param != null && param.length > 0) { database.removeLogin(param[0].getId()); } // get registered users - List result = database.getLogins(); + result = database.getLogins(); // download user information if (!result.isEmpty()) { // get all user IDs @@ -69,13 +70,12 @@ public class AccountLoader extends AsyncTask> { } } } - return result; } catch (EngineException err) { this.err = err; } catch (Exception err) { err.printStackTrace(); } - return null; + return result; } diff --git a/app/src/main/res/layout/item_login.xml b/app/src/main/res/layout/item_account.xml similarity index 94% rename from app/src/main/res/layout/item_login.xml rename to app/src/main/res/layout/item_account.xml index 9c42009a..c3c5af84 100644 --- a/app/src/main/res/layout/item_login.xml +++ b/app/src/main/res/layout/item_account.xml @@ -32,7 +32,8 @@ android:id="@+id/item_login_username" android:layout_width="0dp" android:layout_height="wrap_content" - android:textSize="@dimen/login_name_textsize" + android:singleLine="true" + android:textSize="@dimen/login_name_textsize_big" app:layout_constraintStart_toEndOf="@id/item_login_image_barrier" app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toStartOf="@id/item_login_button_barrier" /> @@ -41,6 +42,7 @@ android:id="@+id/item_login_screenname" android:layout_width="0dp" android:layout_height="wrap_content" + android:singleLine="true" android:textSize="@dimen/login_name_textsize" app:layout_constraintStart_toEndOf="@id/item_login_image_barrier" app:layout_constraintTop_toBottomOf="@id/item_login_username" @@ -53,6 +55,7 @@ android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/item_login_image_barrier" app:layout_constraintTop_toBottomOf="@id/item_login_screenname" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/item_login_button_barrier" /> Anfrage Icon Follow Icon Kompakte Profilansicht + \'unbenannt\' \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 5a63bda8..fa9f2c04 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -212,8 +212,9 @@ 5dp 10 - - 16sp + + 14sp + 12sp 8dp 36dp 64dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f47521a5..65710eae 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -230,5 +230,7 @@ Remove account from list? select account add account + User ID: + \'unnamed\' \ No newline at end of file