Add clickable links for conversations

This commit is contained in:
Katelyn Dickey
2022-08-22 01:04:38 -04:00
parent 4a4147b563
commit 967dd1f18d
6 changed files with 16 additions and 0 deletions

View File

@@ -66,6 +66,7 @@ import org.briarproject.briar.android.view.TextAttachmentController.AttachmentLi
import org.briarproject.briar.android.view.TextInputView;
import org.briarproject.briar.android.view.TextSendController;
import org.briarproject.briar.android.view.TextSendController.SendState;
import org.briarproject.briar.android.widget.LinkDialogFragment;
import org.briarproject.briar.api.android.AndroidNotificationManager;
import org.briarproject.briar.api.attachment.AttachmentHeader;
import org.briarproject.briar.api.autodelete.event.ConversationMessagesDeletedEvent;
@@ -476,6 +477,12 @@ public class ConversationActivity extends BriarActivity
actionMode = null;
}
@Override
public void onLinkClick(String url) {
LinkDialogFragment f = LinkDialogFragment.newInstance(url);
f.show(getSupportFragmentManager(), f.getUniqueTag());
}
private void addSelectionTracker() {
RecyclerView recyclerView = list.getRecyclerView();
if (recyclerView.getAdapter() != adapter)

View File

@@ -19,6 +19,7 @@ import static android.view.View.VISIBLE;
import static org.briarproject.bramble.util.StringUtils.trim;
import static org.briarproject.briar.android.util.UiUtils.formatDate;
import static org.briarproject.briar.android.util.UiUtils.formatDuration;
import static org.briarproject.briar.android.util.UiUtils.makeLinksClickable;
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
@UiThread
@@ -58,6 +59,7 @@ abstract class ConversationItemViewHolder extends ViewHolder {
if (item.getText() != null) {
text.setText(trim(item.getText()));
makeLinksClickable(text, listener::onLinkClick);
}
long timestamp = item.getTime();

View File

@@ -20,4 +20,6 @@ interface ConversationListener {
void onAutoDeleteTimerNoticeClicked();
void onLinkClick(String url);
}

View File

@@ -41,6 +41,8 @@
android:layout_marginRight="@dimen/message_bubble_padding_sides_inner"
android:layout_marginBottom="@dimen/message_bubble_padding_bottom_inner"
android:textColor="?android:attr/textColorPrimary"
android:textColorLink="@color/briar_text_link"
android:autoLink="web"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toTopOf="@+id/statusLayout"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -49,6 +49,8 @@
android:layout_marginRight="@dimen/message_bubble_padding_sides_inner"
android:layout_marginBottom="@dimen/message_bubble_padding_bottom_inner"
android:textColor="@color/briar_text_primary_inverse"
android:textColorLink="@color/briar_text_link_inverse"
android:autoLink="web"
app:layout_constrainedWidth="true"
app:layout_constraintBottom_toTopOf="@+id/statusLayout"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -67,6 +67,7 @@
<!-- text colors -->
<color name="briar_text_link">@color/briar_blue_400</color>
<color name="briar_text_link_inverse">@android:color/white</color>
<color name="briar_text_primary">#df000000</color>
<color name="briar_text_primary_inverse">@android:color/white</color>
<color name="briar_text_secondary_inverse">#b4ffffff</color>