From 9fba091bb394e8e4c7e8ccd0702081bd1a939047 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 22 Oct 2026 17:52:22 +0200 Subject: Folder pictures, photo/video tile marks, folder in the viewer Home rows and the folder header show the folder's round picture next to its name. Post tiles carry a photo or video mark in the top left, on a dark dot so it reads on bright thumbnails. The viewer shows the current post's folder picture and name in the top left; pictures come from the last loaded folder list, so before one loads only the name shows. Co-Authored-By: Claude Opus 5.5 --- app/src/main/java/mygram/droid/ViewerActivity.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/mygram/droid/ViewerActivity.java') diff --git a/app/src/main/java/mygram/droid/ViewerActivity.java b/app/src/main/java/mygram/droid/ViewerActivity.java index 4845cbd..369db5d 100644 --- a/app/src/main/java/mygram/droid/ViewerActivity.java +++ b/app/src/main/java/mygram/droid/ViewerActivity.java @@ -29,6 +29,7 @@ import android.view.ViewGroup; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.ImageView; +import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -73,7 +74,8 @@ public final class ViewerActivity extends Activity { private PlayerView video; private ImageView backdrop, photo, pauseIcon, heart, bigHeart; private ProgressBar progress; - private TextView message; + private TextView message, folderName; + private ImageView folderAvatar; private int index, slide; /** Bumped on every slide change; late callbacks for older slides are dropped. */ private volatile int generation; @@ -127,6 +129,19 @@ public final class ViewerActivity extends Activity { bigHeart = overlay(root, R.drawable.ic_favorite, "Liked", 160, Gravity.CENTER); heart.setColorFilter(Ui.RED); bigHeart.setColorFilter(Ui.RED); + LinearLayout folder = new LinearLayout(this); + folder.setGravity(Gravity.CENTER_VERTICAL); + folderAvatar = Ui.avatar(this, 40); + ((LinearLayout.LayoutParams) folderAvatar.getLayoutParams()).rightMargin = Ui.dp(this, 12); + folder.addView(folderAvatar); + folderName = Ui.text(this, "", 20); + folderName.setShadowLayer(6, 0, 0, Color.BLACK); + folder.addView(folderName); + int m = Ui.dp(this, 24); + FrameLayout.LayoutParams fp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP | Gravity.START); + fp.setMargins(m, m, m, m); + root.addView(folder, fp); setContentView(root); if (!Playlist.posts.isEmpty()) { @@ -162,6 +177,8 @@ public final class ViewerActivity extends Activity { private void show(int i) { index = i; slide = 0; + folderName.setText(post().folderName); + Ui.setAvatar(folderAvatar, Api.AVATARS.get(post().folderSlug)); maybeLoadMore(); showSlide(); } @@ -432,6 +449,7 @@ public final class ViewerActivity extends Activity { generation++; Glide.with(photo).clear(photo); Glide.with(backdrop).clear(backdrop); + Glide.with(folderAvatar).clear(folderAvatar); player.release(); } } -- cgit v1.2.3