diff --git a/app/src/main/java/com/amaze/filemanager/ui/activities/superclasses/PermissionsActivity.java b/app/src/main/java/com/amaze/filemanager/ui/activities/superclasses/PermissionsActivity.java
index 821f433420..8ce4119e2e 100644
--- a/app/src/main/java/com/amaze/filemanager/ui/activities/superclasses/PermissionsActivity.java
+++ b/app/src/main/java/com/amaze/filemanager/ui/activities/superclasses/PermissionsActivity.java
@@ -241,13 +241,15 @@ private void requestPermission(
*/
public void requestAllFilesAccess(@NonNull final OnPermissionGranted onPermissionGranted) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !Environment.isExternalStorageManager()) {
+ final boolean hasHtml = true;
final MaterialDialog materialDialog =
GeneralDialogCreation.showBasicDialog(
this,
R.string.grant_all_files_permission,
R.string.grantper,
R.string.grant,
- R.string.cancel);
+ R.string.cancel,
+ hasHtml);
materialDialog.getActionButton(DialogAction.NEGATIVE).setOnClickListener(v -> finish());
materialDialog
.getActionButton(DialogAction.POSITIVE)
diff --git a/app/src/main/java/com/amaze/filemanager/ui/dialogs/GeneralDialogCreation.java b/app/src/main/java/com/amaze/filemanager/ui/dialogs/GeneralDialogCreation.java
index b4c6e7c81f..4e7f0e0565 100644
--- a/app/src/main/java/com/amaze/filemanager/ui/dialogs/GeneralDialogCreation.java
+++ b/app/src/main/java/com/amaze/filemanager/ui/dialogs/GeneralDialogCreation.java
@@ -96,6 +96,8 @@
import android.text.Spanned;
import android.text.TextUtils;
import android.text.format.Formatter;
+import android.text.method.LinkMovementMethod;
+import android.text.util.Linkify;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
@@ -124,15 +126,25 @@ public class GeneralDialogCreation {
private static final Logger LOG = LoggerFactory.getLogger(GeneralDialogCreation.class);
public static MaterialDialog showBasicDialog(
- ThemedActivity themedActivity,
+ @NonNull ThemedActivity themedActivity,
@StringRes int content,
@StringRes int title,
@StringRes int postiveText,
@StringRes int negativeText) {
+ return showBasicDialog(themedActivity, content, title, postiveText, negativeText, false);
+ }
+
+ public static MaterialDialog showBasicDialog(
+ @NonNull ThemedActivity themedActivity,
+ @StringRes int content,
+ @StringRes int title,
+ @StringRes int postiveText,
+ @StringRes int negativeText,
+ boolean hasHtml) {
int accentColor = themedActivity.getAccent();
- MaterialDialog.Builder a =
+ MaterialDialog.Builder dialogBuilder =
new MaterialDialog.Builder(themedActivity)
- .content(content)
+ .content("") // HACK make it empty and then fill it manually for links to work
.widgetColor(accentColor)
.theme(themedActivity.getAppTheme().getMaterialDialogTheme())
.title(title)
@@ -140,7 +152,17 @@ public static MaterialDialog showBasicDialog(
.positiveColor(accentColor)
.negativeText(negativeText)
.negativeColor(accentColor);
- return a.build();
+ MaterialDialog dialog = dialogBuilder.build();
+
+ if (hasHtml) {
+ dialog.getContentView().setMovementMethod(LinkMovementMethod.getInstance());
+ dialog.getContentView().setAutoLinkMask(Linkify.WEB_URLS);
+ dialog.getContentView().setLinksClickable(true);
+ dialog
+ .getContentView()
+ .setText(HtmlCompat.fromHtml(themedActivity.getString(content), FROM_HTML_MODE_COMPACT));
+ }
+ return dialog;
}
public static MaterialDialog showNameDialog(
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6316a662bb..1e73c75b59 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -776,9 +776,15 @@ You only need to do this once, until the next time you select a new location for
Select similar
Select fill
Error fetching product list from Google Play.
- Since Android 11, Google requests File Managers to request user permission for managing all files on the device. Details here.
- \n\nAmaze File Manager needs this permission too. After pressing \'Grant\', please select Allow access to manage all files option on the next screen.
- \n\nCanceling this dialog will exit the app.
+
+
+ Since Android 11, Google requests File Managers to request user permission for managing all files on the device. Details available at https://developer.android.com/training/data-storage/manage-all-files.
+ Amaze File Manager needs this permission too. After pressing 'Grant', please select Allow access to manage all files option on the next screen.
+ Canceling this dialog will exit the app.
+
+