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