Minor update/fixes to previous contributions.

pull/113/head
Fox2Code 2 years ago
parent 45d647953f
commit a847ebd72e

@ -142,18 +142,26 @@ public class AppUpdateManager {
.getBytes(StandardCharsets.UTF_8);
this.parseCompatibilityFlags(new ByteArrayInputStream(rawData));
Files.write(compatFile, rawData);
if (!BuildConfig.ENABLE_AUTO_UPDATER)
this.lastCheckSuccess = true;
} catch (Exception e) {
if (!BuildConfig.ENABLE_AUTO_UPDATER)
this.lastCheckSuccess = false;
Log.e("AppUpdateManager", "Failed to update compat list", e);
}
}
public boolean peekShouldUpdate() {
if (!BuildConfig.ENABLE_AUTO_UPDATER)
return false;
return !(BuildConfig.VERSION_NAME.equals(this.latestRelease) ||
(this.preReleaseNewer &&
BuildConfig.VERSION_NAME.equals(this.latestPreRelease)));
}
public boolean peekHasUpdate() {
if (!BuildConfig.ENABLE_AUTO_UPDATER)
return false;
return !BuildConfig.VERSION_NAME.equals(this.preReleaseNewer ?
this.latestPreRelease : this.latestRelease);
}

@ -178,9 +178,11 @@ public class MainActivity extends CompatActivity implements SwipeRefreshLayout.O
if (!NotificationType.NO_INTERNET.shouldRemove()) {
moduleViewListBuilder.addNotification(NotificationType.NO_INTERNET);
} else {
if (AppUpdateManager.getAppUpdateManager().checkUpdate(true))
// Compatibility data still needs to be updated
AppUpdateManager appUpdateManager = AppUpdateManager.getAppUpdateManager();
if (BuildConfig.ENABLE_AUTO_UPDATER && appUpdateManager.checkUpdate(true))
moduleViewListBuilder.addNotification(NotificationType.UPDATE_AVAILABLE);
if (AppUpdateManager.getAppUpdateManager().isLastCheckSuccess())
if (!BuildConfig.ENABLE_AUTO_UPDATER || appUpdateManager.isLastCheckSuccess())
AppUpdateManager.getAppUpdateManager().checkUpdateCompat();
if (max != 0) {
int current = 0;

@ -219,7 +219,7 @@ public class AndroidacyWebAPI {
this.forceQuitRaw("Non Androidacy module link used on Androidacy");
return;
}
if (checksum != null) checksum = checksum.trim();
checksum = Hashes.checkSumFormat(checksum);
if (checksum == null || checksum.isEmpty()) {
Log.w(TAG, "Androidacy WebView didn't provided a checksum!");
} else if (!Hashes.checkSumValid(checksum)) {
@ -261,7 +261,7 @@ public class AndroidacyWebAPI {
this.forceQuitRaw("Non Androidacy module link used on Androidacy");
return;
}
if (checksum != null) checksum = checksum.trim();
checksum = Hashes.checkSumFormat(checksum);
if (checksum == null || checksum.isEmpty()) {
Log.w(TAG, "Androidacy WebView didn't provided a checksum!");
} else if (!Hashes.checkSumValid(checksum)) {

@ -5,10 +5,12 @@ import android.util.Log;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Locale;
import java.util.regex.Pattern;
public class Hashes {
private static final String TAG = "Hashes";
private static final char[] HEX_ARRAY = "0123456789abcdef".toCharArray();
private static final Pattern nonAlphaNum = Pattern.compile("[^a-zA-Z0-9]");
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for (int j = 0; j < bytes.length; j++) {
@ -65,8 +67,7 @@ public class Hashes {
*/
public static boolean checkSumMatch(byte[] data, String checksum) {
String hash;
// Remove all non-alphanumeric characters
checksum = checksum.replaceAll("[^a-zA-Z0-9]", "");
if (checksum == null) return false;
switch (checksum.length()) {
case 0:
return true; // No checksum
@ -124,4 +125,10 @@ public class Hashes {
return "SHA-512";
}
}
public static String checkSumFormat(String checksum) {
if (checksum == null) return null;
// Remove all non-alphanumeric characters
return nonAlphaNum.matcher(checksum.trim()).replaceAll("");
}
}

@ -1,7 +1,7 @@
<resources>
<string-array name="theme_values_names">
<item>Sistema</item>
<item>Oscuro</item>
<item>Claro</item>
</string-array>
<resources>
<string-array name="theme_values_names">
<item>Sistema</item>
<item>Oscuro</item>
<item>Claro</item>
</string-array>
</resources>

@ -1,96 +1,96 @@
<resources>
<string name="app_name">Fox\'s Magisk Module Manager</string>
<string name="app_name_short">Fox\'s Mmm</string>
<string name="fail_root_magisk">No fue posible obtener acceso root o Magisk.</string>
<string name="loading">Cargando...</string>
<string name="updatable">Actualización disponible</string>
<string name="installed">Instalado</string>
<string name="online_repo">Repositorio online</string>
<string name="showcase_mode">La aplicación está en modo Lockdown.</string>
<string name="failed_download">No fue posible descargar el archivo.</string>
<string name="slow_modules">Los módulos tardaron mucho en iniciar, considere eliminar algunos.</string>
<string name="fail_internet">No fue posible conectarse a Internet.</string>
<string name="title_activity_settings">SettingsActivity</string>
<string name="app_update_available">Actualización disponible</string>
<string name="app_update">Actualizar</string>
<string name="no_desc_found">Sin descripción.</string>
<string name="download_module">Descargar módulo</string>
<string name="install_module">Instalar módulo</string>
<string name="update_module">Actualizar módulo</string>
<string name="changelog">Changelog</string>
<string name="website">Sitio web</string>
<string name="support">Soporte</string>
<string name="donate">Donar</string>
<string name="submit_modules">Enviar un módulo</string>
<string name="require_android_6">Requiere Android 6.0 o superior</string>
<!-- Module section translation -->
<string name="module_last_update">Actualizado el:</string>
<string name="module_repo">Repositorio:</string>
<string name="module_by">por</string>
<string name="module_downloads">Descargas:</string>
<string name="module_stars">Estrellas:</string>
<!-- Preference Titles -->
<!-- Note: Lockdown mode used to be called showcase mode -->
<string name="manage_repos_pref">Administrar repositorios</string>
<string name="showcase_mode_pref">Modo Lockdown</string>
<string name="showcase_mode_desc">Modo Lockdown previene que la aplicación haga cambios en los módulos</string>
<string name="pref_category_settings">Ajustes</string>
<string name="pref_category_info">Info</string>
<string name="show_licenses">Mostrar licencias</string>
<string name="licenses">Licencias</string>
<string name="show_incompatible_pref">Mostrar módulos incompatibles</string>
<string name="show_incompatible_desc">Muestra los módulos que son incompatibles con su dispositivo basandose en sus metadatos</string>
<string name="magisk_outdated">Magisk está desactualizado!</string>
<string name="pref_category_repos">Repositorios</string>
<string name="repo_main_desc">Repositorio que aloja los módulos de Magisk</string>
<string name="repo_main_alt">Una alternativa del repositorio de módulos de Magisk pero con menos restricciones.</string>
<string name="master_delete">Desea borrar los archivos del módulo?</string>
<string name="master_delete_no">Mantener archivos</string>
<string name="master_delete_yes">Borrar archivos</string>
<string name="master_delete_fail">No fue posible borrar los archivos del módulo</string>
<string name="theme_pref">Tema</string>
<string name="theme_mode_pref">Modo del tema</string>
<string name="module_id_prefix">Id del módulo: </string>
<string name="install_from_storage">Instalar módulo desde el almacenamiento</string>
<string name="invalid_format">El módulo seleccionado tiene un formato inválido</string>
<string name="local_install_title">Instalación local</string>
<string name="source_code">Código fuente</string>
<string name="magisk_builtin_module">Módulo incorporado de Magisk</string>
<string name="substratum_builtin_module">Módulo incorporado de Substratum</string>
<string name="force_dark_terminal_title">Forzar el modo oscuro en la terminal</string>
<string name="file_picker_failure">Su administrador de archivos no pudo dar acceso a los archivos.</string>
<string name="remote_install_title">Instalación remota</string>
<string name="file_picker_wierd">Su administrador de archivos retorno una respuesta no esperada.</string>
<string name="use_magisk_install_command_pref">Usar el comando de instalación de Magisk</string>
<string name="use_magisk_install_command_desc">
Durante las pruebas causó problemas a la herramienta de diagnóstico de errores de instalación de módulo,
así que escondí esta opción en el modo desarrollador, activala bajo tu propio riesgo!
</string>
<string name="dev_mode_enabled">Modo desarrollador activado</string>
<string name="force_english_pref">Forzar el idioma al Inglés</string>
<string name="disable_low_quality_module_filter_pref">Desactivar el filtro de módulos de baja calidad</string>
<string name="disable_low_quality_module_filter_desc">
Algunos módulos no declaran de manera adecuada sus metadatos causando errores visuales
y/o indicando una mala calidad del módulo, desactivalo bajo su propio riesgo!
</string>
<string name="dns_over_https_pref">DNS over HTTPS</string>
<string name="dns_over_https_desc">
En algunos casos puede solucionar problemas de conexión
(No se aplica al WebView)
</string>
<string name="disable_extensions_pref">Desactivar extensiones</string>
<string name="disable_extensions_desc">
Desactiva las extensiones de Fox\'s Mmm, esto previene que los módulos usen
extensiones de la terminal, útil si un módulo hace mal uso de las extensiones de Fox\'s Mmm.
</string>
<string name="wrap_text_pref">Dividir el texto</string>
<string name="wrap_text_desc">
Divide el texto en una linea nueva en vez de colocar
todo el texto en la misma linea durante la instalación de un módulo
</string>
<string name="enable_blur_pref">Activar desenfoque</string>
<string name="repo_enabled">Repositorio activado</string>
<string name="repo_disabled">Repositorio desactivado</string>
<resources>
<string name="app_name">Fox\'s Magisk Module Manager</string>
<string name="app_name_short">Fox\'s Mmm</string>
<string name="fail_root_magisk">No fue posible obtener acceso root o Magisk.</string>
<string name="loading">Cargando...</string>
<string name="updatable">Actualización disponible</string>
<string name="installed">Instalado</string>
<string name="online_repo">Repositorio online</string>
<string name="showcase_mode">La aplicación está en modo Lockdown.</string>
<string name="failed_download">No fue posible descargar el archivo.</string>
<string name="slow_modules">Los módulos tardaron mucho en iniciar, considere eliminar algunos.</string>
<string name="fail_internet">No fue posible conectarse a Internet.</string>
<string name="title_activity_settings">SettingsActivity</string>
<string name="app_update_available">Actualización disponible</string>
<string name="app_update">Actualizar</string>
<string name="no_desc_found">Sin descripción.</string>
<string name="download_module">Descargar módulo</string>
<string name="install_module">Instalar módulo</string>
<string name="update_module">Actualizar módulo</string>
<string name="changelog">Changelog</string>
<string name="website">Sitio web</string>
<string name="support">Soporte</string>
<string name="donate">Donar</string>
<string name="submit_modules">Enviar un módulo</string>
<string name="require_android_6">Requiere Android 6.0 o superior</string>
<!-- Module section translation -->
<string name="module_last_update">Actualizado el:</string>
<string name="module_repo">Repositorio:</string>
<string name="module_by">por</string>
<string name="module_downloads">Descargas:</string>
<string name="module_stars">Estrellas:</string>
<!-- Preference Titles -->
<!-- Note: Lockdown mode used to be called showcase mode -->
<string name="manage_repos_pref">Administrar repositorios</string>
<string name="showcase_mode_pref">Modo Lockdown</string>
<string name="showcase_mode_desc">Modo Lockdown previene que la aplicación haga cambios en los módulos</string>
<string name="pref_category_settings">Ajustes</string>
<string name="pref_category_info">Info</string>
<string name="show_licenses">Mostrar licencias</string>
<string name="licenses">Licencias</string>
<string name="show_incompatible_pref">Mostrar módulos incompatibles</string>
<string name="show_incompatible_desc">Muestra los módulos que son incompatibles con su dispositivo basandose en sus metadatos</string>
<string name="magisk_outdated">Magisk está desactualizado!</string>
<string name="pref_category_repos">Repositorios</string>
<string name="repo_main_desc">Repositorio que aloja los módulos de Magisk</string>
<string name="repo_main_alt">Una alternativa del repositorio de módulos de Magisk pero con menos restricciones.</string>
<string name="master_delete">Desea borrar los archivos del módulo?</string>
<string name="master_delete_no">Mantener archivos</string>
<string name="master_delete_yes">Borrar archivos</string>
<string name="master_delete_fail">No fue posible borrar los archivos del módulo</string>
<string name="theme_pref">Tema</string>
<string name="theme_mode_pref">Modo del tema</string>
<string name="module_id_prefix">Id del módulo: </string>
<string name="install_from_storage">Instalar módulo desde el almacenamiento</string>
<string name="invalid_format">El módulo seleccionado tiene un formato inválido</string>
<string name="local_install_title">Instalación local</string>
<string name="source_code">Código fuente</string>
<string name="magisk_builtin_module">Módulo incorporado de Magisk</string>
<string name="substratum_builtin_module">Módulo incorporado de Substratum</string>
<string name="force_dark_terminal_title">Forzar el modo oscuro en la terminal</string>
<string name="file_picker_failure">Su administrador de archivos no pudo dar acceso a los archivos.</string>
<string name="remote_install_title">Instalación remota</string>
<string name="file_picker_wierd">Su administrador de archivos retorno una respuesta no esperada.</string>
<string name="use_magisk_install_command_pref">Usar el comando de instalación de Magisk</string>
<string name="use_magisk_install_command_desc">
Durante las pruebas causó problemas a la herramienta de diagnóstico de errores de instalación de módulo,
así que escondí esta opción en el modo desarrollador, activala bajo tu propio riesgo!
</string>
<string name="dev_mode_enabled">Modo desarrollador activado</string>
<string name="force_english_pref">Forzar el idioma al Inglés</string>
<string name="disable_low_quality_module_filter_pref">Desactivar el filtro de módulos de baja calidad</string>
<string name="disable_low_quality_module_filter_desc">
Algunos módulos no declaran de manera adecuada sus metadatos causando errores visuales
y/o indicando una mala calidad del módulo, desactivalo bajo su propio riesgo!
</string>
<string name="dns_over_https_pref">DNS over HTTPS</string>
<string name="dns_over_https_desc">
En algunos casos puede solucionar problemas de conexión
(No se aplica al WebView)
</string>
<string name="disable_extensions_pref">Desactivar extensiones</string>
<string name="disable_extensions_desc">
Desactiva las extensiones de Fox\'s Mmm, esto previene que los módulos usen
extensiones de la terminal, útil si un módulo hace mal uso de las extensiones de Fox\'s Mmm.
</string>
<string name="wrap_text_pref">Dividir el texto</string>
<string name="wrap_text_desc">
Divide el texto en una linea nueva en vez de colocar
todo el texto en la misma linea durante la instalación de un módulo
</string>
<string name="enable_blur_pref">Activar desenfoque</string>
<string name="repo_enabled">Repositorio activado</string>
<string name="repo_disabled">Repositorio desactivado</string>
</resources>
Loading…
Cancel
Save