diff --git a/app/src/main/java/org/nuclearfog/twidda/dialog/LinkDialog.java b/app/src/main/java/org/nuclearfog/twidda/dialog/LinkDialog.java index edfdb5a2..285bc1f1 100644 --- a/app/src/main/java/org/nuclearfog/twidda/dialog/LinkDialog.java +++ b/app/src/main/java/org/nuclearfog/twidda/dialog/LinkDialog.java @@ -93,28 +93,35 @@ public class LinkDialog extends Dialog implements LinkPreviewCallback, OnClickLi public void onPos(SourceContent sourceContent, boolean b) { loading.setVisibility(View.INVISIBLE); if (sourceContent.isSuccess()) { + // set website title title.setText(sourceContent.getTitle()); - } else { - if (url.startsWith("https://")) { - title.setText(url.substring(8)); + description.setText(sourceContent.getDescription()); + // check for image + if (!sourceContent.getImages().isEmpty()) { + // load first image as preview + String link = sourceContent.getImages().get(0); + Picasso.get().load(link).into(preview); } else { - title.setText(url); + // no image preview + preview.setVisibility(View.GONE); } - } - description.setText(sourceContent.getDescription()); - if (!sourceContent.getImages().isEmpty()) { - Picasso.get().load(sourceContent.getImages().get(0)).into(preview); } else { - preview.setVisibility(View.GONE); + // no valid title means lack of information + // so open link directly in browser + title.performClick(); + dismiss(); } } @Override public void onClick(View v) { + // close icon if (v.getId() == R.id.link_preview_close) { dismiss(); - } else if (v.getId() == R.id.link_preview_title) { + } + // title + else if (v.getId() == R.id.link_preview_title) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); try { diff --git a/app/src/main/res/layout/dialog_link_preview.xml b/app/src/main/res/layout/dialog_link_preview.xml index eb11a9fd..226adb11 100644 --- a/app/src/main/res/layout/dialog_link_preview.xml +++ b/app/src/main/res/layout/dialog_link_preview.xml @@ -11,7 +11,7 @@ android:layout_height="0dp" android:contentDescription="@string/dialog_link_image_preview" app:layout_constraintDimensionRatio="1.0" - app:layout_constraintWidth_percent="0.3" + app:layout_constraintWidth_percent="0.2" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -41,16 +41,17 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" app:barrierDirection="bottom" - app:constraint_referenced_ids="link_preview_title,link_preview_close" /> + app:constraint_referenced_ids="link_preview_image,link_preview_title,link_preview_close" /> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 45f638a7..d83a2d16 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -204,7 +204,7 @@ 36sp - 20sp + 18sp 14sp 30sp 4dp