From 4cd9d9d5c9ee1a2199636f91dd687d37f410bf0a Mon Sep 17 00:00:00 2001 From: Fox2Code Date: Fri, 11 Feb 2022 23:30:55 +0100 Subject: [PATCH] Improve markdown activity. --- .../mmm/markdown/MarkdownActivity.java | 18 +++++++++++- .../mmm/markdown/MarkdownUrlLinker.java | 5 ++-- app/src/main/res/layout/markdown_view.xml | 29 +++++++++++++------ app/src/main/res/values/dimens.xml | 2 +- 4 files changed, 41 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java index 56bf043..e123cc5 100644 --- a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java +++ b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownActivity.java @@ -4,7 +4,9 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.os.Bundle; import android.util.Log; +import android.view.View; import android.view.ViewGroup; +import android.view.WindowManager; import android.widget.TextView; import android.widget.Toast; @@ -40,7 +42,12 @@ public class MarkdownActivity extends CompatActivity { .getString(Constants.EXTRA_MARKDOWN_TITLE); String config = intent.getExtras() .getString(Constants.EXTRA_MARKDOWN_CONFIG); - if (title != null && !title.isEmpty()) setTitle(title); + if (title != null && !title.isEmpty()) { + setTitle(title); + } + this.getWindow().setFlags( + WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, + WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); if (config != null && !config.isEmpty()) { String configPkg = IntentHelper.getPackageOfConfig(config); try { @@ -75,6 +82,8 @@ public class MarkdownActivity extends CompatActivity { String markdown = new String(rawMarkdown, StandardCharsets.UTF_8); Log.d(TAG, "Done!"); runOnUiThread(() -> { + findViewById(R.id.markdownFooter) + .setMinimumHeight(this.getNavigationBarHeight()); MainApplication.getINSTANCE().getMarkwon().setMarkdown( textView, MarkdownUrlLinker.urlLinkify(markdown)); if (markdownBackground != null) { @@ -92,4 +101,11 @@ public class MarkdownActivity extends CompatActivity { } }, "Markdown load thread").start(); } + + @Override + protected void onResume() { + super.onResume(); + View footer = findViewById(R.id.markdownFooter); + if (footer != null) footer.setMinimumHeight(this.getNavigationBarHeight()); + } } diff --git a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownUrlLinker.java b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownUrlLinker.java index 4811ec8..575c860 100644 --- a/app/src/main/java/com/fox2code/mmm/markdown/MarkdownUrlLinker.java +++ b/app/src/main/java/com/fox2code/mmm/markdown/MarkdownUrlLinker.java @@ -15,8 +15,9 @@ public class MarkdownUrlLinker { ArrayList linkifyTasks = new ArrayList<>(); int extra = 0; while (index != -1) { - int end = Math.min(url.indexOf('\n', index), - url.indexOf(' ', index)); + int end = url.indexOf(' ', index); + end = end == -1 ? url.indexOf('\n', index) : + Math.min(url.indexOf('\n', index), end); if (end == -1) end = url.length(); if (index == 0 || '\n' == url.charAt(index - 1) || diff --git a/app/src/main/res/layout/markdown_view.xml b/app/src/main/res/layout/markdown_view.xml index 62cb4c2..c887152 100644 --- a/app/src/main/res/layout/markdown_view.xml +++ b/app/src/main/res/layout/markdown_view.xml @@ -1,25 +1,36 @@ + android:id="@+id/markdownBackground" + app:fitsSystemWindowsInsets="top"> + app:cardCornerRadius="@dimen/card_corner_radius"> - + android:layout_height="wrap_content" + android:orientation="vertical"> + + + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index da34495..52e003c 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -4,5 +4,5 @@ 8dp 0dp 32dp - 0dp + 8dp \ No newline at end of file