diff --git a/app/src/basic/java/org/fdroid/fdroid/views/main/LatestLayoutPolicy.java b/app/src/basic/java/org/fdroid/fdroid/views/main/LatestLayoutPolicy.java index 8b10aea06..b2fa28ee6 100644 --- a/app/src/basic/java/org/fdroid/fdroid/views/main/LatestLayoutPolicy.java +++ b/app/src/basic/java/org/fdroid/fdroid/views/main/LatestLayoutPolicy.java @@ -1,26 +1,42 @@ package org.fdroid.fdroid.views.main; import android.content.Context; -import androidx.recyclerview.widget.DividerItemDecoration; +import android.content.res.Resources; +import android.graphics.Rect; +import android.view.View; + +import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; + import org.fdroid.fdroid.R; -public class LatestLayoutPolicy { +class LatestLayoutPolicy { private final Context context; - public LatestLayoutPolicy(Context context) { + LatestLayoutPolicy(Context context) { this.context = context.getApplicationContext(); } - public RecyclerView.ItemDecoration getItemDecoration() { - return new DividerItemDecoration(context, DividerItemDecoration.VERTICAL); + RecyclerView.ItemDecoration getItemDecoration() { + return new RecyclerView.ItemDecoration() { + @Override + public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, + @NonNull RecyclerView.State state) { + super.getItemOffsets(outRect, view, parent, state); + Resources resources = context.getResources(); + int padding = (int) resources.getDimension(R.dimen.latest__padding__app_card__normal); + outRect.set(padding, padding, padding, 0); + } + }; } - public int getItemViewType(int position) { + /** @noinspection unused*/ + int getItemViewType(int position) { return R.id.latest_regular_list; } - public int getSpanSize(int position) { + /** @noinspection unused*/ + int getSpanSize(int position) { return 2; } } diff --git a/app/src/main/java/org/fdroid/fdroid/views/categories/AppCardController.java b/app/src/main/java/org/fdroid/fdroid/views/categories/AppCardController.java index 0b7caab72..f2600ef9e 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/categories/AppCardController.java +++ b/app/src/main/java/org/fdroid/fdroid/views/categories/AppCardController.java @@ -38,9 +38,8 @@ public class AppCardController extends RecyclerView.ViewHolder @NonNull private final ImageView icon; - /** - * Text starting with the app name (in bold) followed by a short summary of the app. - */ + @NonNull + private final TextView name; @NonNull private final TextView summary; @@ -61,6 +60,7 @@ public class AppCardController extends RecyclerView.ViewHolder this.activity = activity; icon = ViewCompat.requireViewById(itemView, R.id.icon); + name = ViewCompat.requireViewById(itemView, R.id.name); summary = ViewCompat.requireViewById(itemView, R.id.summary); newTag = itemView.findViewById(R.id.new_tag); @@ -71,8 +71,8 @@ public class AppCardController extends RecyclerView.ViewHolder public void bindApp(@NonNull AppOverviewItem app) { currentApp = app; - String name = app.getName(); - summary.setText(Utils.formatAppNameAndSummary(name == null ? "" : name, app.getSummary())); + name.setText(app.getName()); + summary.setText(app.getSummary()); if (newTag != null) { if (isConsideredNew(app)) { diff --git a/app/src/main/res/layout/app_card_horizontal.xml b/app/src/main/res/layout/app_card_horizontal.xml index d3d72901f..475d17230 100644 --- a/app/src/main/res/layout/app_card_horizontal.xml +++ b/app/src/main/res/layout/app_card_horizontal.xml @@ -24,18 +24,33 @@ tools:src="@drawable/ic_launcher" /> + tools:text="F-Droid An application name which takes up too much space" /> + + + tools:text="F-Droid An application name which takes up too much space and must ellipsize" /> + + + app:layout_goneMarginEnd="0dp" + tools:text="F-Droid app name which can be longer for some apps" /> + + + android:ellipsize="end" + android:maxLines="2" + android:textColor="?android:textColorSecondary" + android:textSize="13sp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/icon" + app:layout_constraintTop_toBottomOf="@+id/name" + tools:layout_editor_absoluteY="8dp" + tools:text="F-Droid An application summary which takes up too much space and must ellipsize" /> diff --git a/app/src/main/res/layout/app_card_normal.xml b/app/src/main/res/layout/app_card_normal.xml index b7fd7c0ff..167cd5fb1 100644 --- a/app/src/main/res/layout/app_card_normal.xml +++ b/app/src/main/res/layout/app_card_normal.xml @@ -8,47 +8,53 @@ android:layout_height="144dp" android:layout_margin="4dp"> - + android:orientation="vertical" + android:padding="12dp"> - - - + + + android:layout_alignParentBottom="true" + android:layout_marginTop="4dp" + android:ellipsize="end" + android:maxLines="1" + android:textColor="?android:textColorPrimary" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toBottomOf="@+id/icon" + tools:text="F-Droid" /> - + + - - - diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 9c16f7714..aca94fe98 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -21,6 +21,7 @@ 12dp 10dp + 8dp