diff --git a/app/src/main/java/com/amaze/filemanager/utils/Utils.java b/app/src/main/java/com/amaze/filemanager/utils/Utils.java index ea6a951fcd..0c5d642b35 100644 --- a/app/src/main/java/com/amaze/filemanager/utils/Utils.java +++ b/app/src/main/java/com/amaze/filemanager/utils/Utils.java @@ -23,8 +23,12 @@ import java.io.File; import java.lang.reflect.Field; import java.util.Collection; +import java.util.List; import java.util.concurrent.TimeUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import com.amaze.filemanager.BuildConfig; import com.amaze.filemanager.R; import com.amaze.filemanager.adapters.data.LayoutElementParcelable; @@ -39,6 +43,8 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.content.res.ColorStateList; import android.content.res.Configuration; import android.graphics.Color; @@ -46,6 +52,7 @@ import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Build; +import android.os.Handler; import android.os.storage.StorageVolume; import android.text.format.DateUtils; import android.util.DisplayMetrics; @@ -89,6 +96,9 @@ public class Utils { public static final String EMAIL_NOREPLY_REPORTS = "no-reply@teamamaze.xyz"; public static final String EMAIL_SUPPORT = "support@teamamaze.xyz"; + private static final Logger log = LoggerFactory.getLogger(Utils.class); + private static boolean isToastShowing = false; + // methods for fastscroller public static float clamp(float min, float max, float value) { float minimum = Math.max(min, value); @@ -378,7 +388,22 @@ public static Snackbar showCutCopySnackBar( public static void openURL(String url, Context context) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); - context.startActivity(intent); + + PackageManager packageManager = context.getPackageManager(); + List webViews = + packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); + + if (!webViews.isEmpty()) { + context.startActivity(intent); + } else { + log.warn("A browser is not available"); + if (!isToastShowing) { + isToastShowing = true; + Toast.makeText(context, R.string.not_found_enabled_webview, Toast.LENGTH_SHORT).show(); + // Prevents a myriad of duplicates + new Handler().postDelayed(() -> isToastShowing = false, 2200); + } + } } /** Open telegram in browser */ diff --git a/app/src/main/res/values-ast-rES/strings.xml b/app/src/main/res/values-ast-rES/strings.xml index a6c46c6d4e..3a1e85a55e 100644 --- a/app/src/main/res/values-ast-rES/strings.xml +++ b/app/src/main/res/values-ast-rES/strings.xml @@ -407,5 +407,8 @@ to ordenador.

  • \\n Azul Verde Zarrar - + + Nun s\'atopó navegador disponible + + diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 516592b8be..1c57d6471d 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -555,5 +555,6 @@ Pordo Elekti neniun Ĉu vi! - + Neniu navigilo troviĝis havebla + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 6176e4ecdf..15452247ba 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -684,5 +684,6 @@ Solo necesita hacer esto una vez, hasta la siguiente vez que seleccione una nueva ubicación para compartir. Archivos accedidos recientemente usando Amaze Archivos creados o modificados recientemente + No se encontró un navegador disponible diff --git a/app/src/main/res/values-eu-rES/strings.xml b/app/src/main/res/values-eu-rES/strings.xml index 7f07bfc20d..99266b67c3 100644 --- a/app/src/main/res/values-eu-rES/strings.xml +++ b/app/src/main/res/values-eu-rES/strings.xml @@ -627,4 +627,5 @@ ezezaguna Artxiboko zenbait fitxategi ezin dira erauzi; artxiboa hondatua egon daiteke edo jatorri maltzurrekoa izan daiteke. Androiden fitxategi-sistemara joango zara orain segurtasun arrazoiengatik. Hautatu USB gailua ezkerreko zerrendatik. + Ez da nabigatzaile erabilgaririk aurkitu diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index fdc31933fe..88b4fea903 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -654,5 +654,6 @@ Efface les applications d\'ouverture de fichiers sélectionnées par défaut Utiliser l\'ancien affichage pour root Permission refusée - + Aucun navigateur n\'a été trouvé disponible + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 4086839817..2db67667d7 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -667,5 +667,6 @@ Permissão negada Arquivos recentemente acessados pelo Amaze Arquivos criados ou modificados recentemente + Nenhum navegador encontrado diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index f2ea3ef4d6..aa5fa3fa00 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -391,5 +391,9 @@ Se inativa, será procurada qualquer correspondência. Fechar Ficheiros acedidos recentemente pelo Amaze Ficheiros recentemente criados ou modificados + + + Nenhum navegador encontrado + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3bdbb72036..5b5a808128 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -817,5 +817,7 @@ You only need to do this once, until the next time you select a new location for Please complete paste operation first Destination and source folder shouldn\'t match to move. Checking for conflicts + Destination and source folder shouldn\'t match to overwrite. + No available browser