From 2276ee00e042ecade56c279431bdd06bb693d2c0 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 17 Sep 2024 23:53:12 -0500 Subject: [PATCH] Video play button Goes to the video url (usually embed url) instead of the whole webpage. --- src/cheogram/res/layout/link_description.xml | 64 ++++++++++++------- .../ui/adapter/MessageAdapter.java | 7 ++ 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/src/cheogram/res/layout/link_description.xml b/src/cheogram/res/layout/link_description.xml index 5934e8b1e68a6cf605f3575fe28fe73cc7b271ab..59c9c8814aacbf425f81321146d839e2c429efcd 100644 --- a/src/cheogram/res/layout/link_description.xml +++ b/src/cheogram/res/layout/link_description.xml @@ -2,37 +2,57 @@ - + android:descendantFocusability="blocksDescendants" + android:background="@drawable/background_link_description"> - + android:paddingHorizontal="6dp" + android:orientation="vertical"> - + + + + + + + - + android:layout_alignParentBottom="true" + android:layout_alignParentEnd="true" + android:focusable="false" + android:focusableInTouchMode="false" + android:background="?attr/selectableItemBackgroundBorderless" + android:src="@drawable/ic_play_circle_24dp" /> - + diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 7dc9fc8fb834871ec2140f71eaa2b62559199bd9..c3f87557655d0c71d8dc4d8ca59084985fe3dd65 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -1552,6 +1552,13 @@ public class MessageAdapter extends ArrayAdapter { binding.title.setText(getItem(position).findChildContent("title", "https://ogp.me/ns#")); binding.description.setText(getItem(position).findChildContent("description", "https://ogp.me/ns#")); binding.url.setText(getItem(position).findChildContent("url", "https://ogp.me/ns#")); + final var video = getItem(position).findChildContent("video", "https://ogp.me/ns#"); + if (video != null && video.length() > 0) { + binding.playButton.setVisibility(View.VISIBLE); + binding.playButton.setOnClickListener((v) -> { + new FixedURLSpan(video).onClick(v); + }); + } return binding.getRoot(); } });