Compare commits

...

5 Commits

Author SHA1 Message Date
topjohnwu
234bead59e Bump version 2017-03-31 06:58:47 +08:00
Primokorn
76de310986 Create french strings.xml
Hope it's not too late for the update :)
2017-03-31 03:23:23 +08:00
topjohnwu
817f050bcd Say goodbye to old modules 2017-03-30 06:52:18 +08:00
topjohnwu
60ae685d1e Change disable to Core Only Mode 2017-03-30 05:16:50 +08:00
Wang Han
4c7bdbb284 Fix crashing when selecting release notes on some devices 2017-03-26 23:55:11 +08:00
26 changed files with 262 additions and 93 deletions

View File

@@ -8,8 +8,8 @@ android {
applicationId "com.topjohnwu.magisk"
minSdkVersion 21
targetSdkVersion 25
versionCode 26
versionName "4.2.7"
versionCode 27
versionName "4.3.0"
jackOptions {
enabled true
jackInProcess true
@@ -47,10 +47,10 @@ repositories {
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:recyclerview-v7:25.3.0'
compile 'com.android.support:cardview-v7:25.3.0'
compile 'com.android.support:design:25.3.0'
compile 'com.android.support:support-v4:25.3.0'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.jakewharton:butterknife:8.5.1'
compile 'com.github.clans:fab:1.6.4'
compile 'com.thoughtbot:expandablerecyclerview:1.4'

View File

@@ -100,7 +100,11 @@ public class InstallFragment extends Fragment implements CallbackEvent.Listener<
magiskManager.magiskLink,
Utils.getLegalFilename(filename)))
.setNeutralButton(R.string.release_notes, (dialog, which) -> {
magiskManager.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(magiskManager.releaseNoteLink)));
if (magiskManager.releaseNoteLink != null) {
Intent openReleaseNoteLink = new Intent(Intent.ACTION_VIEW, Uri.parse(magiskManager.releaseNoteLink));
openReleaseNoteLink.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
magiskManager.startActivity(openReleaseNoteLink);
}
})
.setNegativeButton(R.string.no_thanks, null)
.show();

View File

@@ -81,6 +81,7 @@ public class MainActivity extends Activity
navigationView.setNavigationItemSelectedListener(this);
getApplicationContext().reloadMainActivity.register(this);
getApplicationContext().updateCheckDone.register(this);
}
@@ -105,6 +106,7 @@ public class MainActivity extends Activity
@Override
protected void onDestroy() {
getApplicationContext().reloadMainActivity.unRegister(this);
getApplicationContext().updateCheckDone.unRegister(this);
super.onDestroy();
}
@@ -126,7 +128,11 @@ public class MainActivity extends Activity
@Override
public void onTrigger(CallbackEvent<Void> event) {
recreate();
if (event == getApplicationContext().reloadMainActivity) {
recreate();
} else if (event == getApplicationContext().updateCheckDone) {
checkHideSection();
}
}
private void checkHideSection() {

View File

@@ -89,10 +89,6 @@ public class SettingsActivity extends Activity {
prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
prefScreen = getPreferenceScreen();
SwitchPreference busybox = (SwitchPreference) findPreference("busybox");
SwitchPreference magiskHide = (SwitchPreference) findPreference("magiskhide");
SwitchPreference hosts = (SwitchPreference) findPreference("hosts");
PreferenceCategory magiskCategory = (PreferenceCategory) findPreference("magisk");
PreferenceCategory suCategory = (PreferenceCategory) findPreference("superuser");
@@ -118,11 +114,6 @@ public class SettingsActivity extends Activity {
if (getApplication().magiskVersion < 11) {
prefScreen.removePreference(magiskCategory);
}
if (getApplication().disabled) {
busybox.setEnabled(false);
magiskHide.setEnabled(false);
hosts.setEnabled(false);
}
}
}

View File

@@ -44,8 +44,8 @@ public class SplashActivity extends Activity{
// Now fire all async tasks
new GetBootBlocks(this).exec();
if (magiskManager.magiskHide && !magiskManager.disabled &&
magiskManager.magiskVersion > 11 && !magiskManager.magiskHideStarted) {
if (magiskManager.magiskHide && magiskManager.magiskVersion > 11 &&
!magiskManager.magiskHideStarted) {
new MagiskHide().enable();
}
new LoadModules(this) {

View File

@@ -65,7 +65,9 @@ public class StatusFragment extends Fragment implements CallbackEvent.Listener<V
@OnClick(R.id.magisk_status_container)
public void gotoInstall() {
((MainActivity) getActivity()).navigate(R.id.install);
if (getApplication().remoteMagiskVersion > 0) {
((MainActivity) getActivity()).navigate(R.id.install);
}
}
private int defaultColor;
@@ -159,7 +161,7 @@ public class StatusFragment extends Fragment implements CallbackEvent.Listener<V
if (getApplication().magiskVersion < 0) {
magiskVersionText.setText(R.string.magisk_version_error);
} else if (getApplication().disabled) {
magiskVersionText.setText(getString(R.string.magisk_version_disable, getApplication().magiskVersionString));
magiskVersionText.setText(getString(R.string.magisk_version_core_only, getApplication().magiskVersionString));
} else {
magiskVersionText.setText(getString(R.string.magisk_version, getApplication().magiskVersionString));
}
@@ -212,9 +214,6 @@ public class StatusFragment extends Fragment implements CallbackEvent.Listener<V
if (getApplication().magiskVersion < 0) {
color = colorBad;
image = R.drawable.ic_cancel;
} else if (getApplication().disabled) {
color = colorNeutral;
image = R.drawable.ic_cancel;
}
magiskStatusContainer.setBackgroundColor(color);

View File

@@ -57,12 +57,10 @@ public class LoadRepos extends ParallelTask<Void, Void, Void> {
String etag = prefs.getString(ETAG_KEY, "");
header.put("If-None-Match", etag);
magiskManager.repoMap = new ValueSortedMap<>();
// Make a request to main URL for repo info
String jsonString = WebService.request(REPO_URL, WebService.GET, null, header, false);
ValueSortedMap<String, Repo> cached = dbHelper.getRepoMap();
ValueSortedMap<String, Repo> cached = dbHelper.getRepoMap(false), fetched = new ValueSortedMap<>();
if (!TextUtils.isEmpty(jsonString)) {
try {
@@ -97,27 +95,24 @@ public class LoadRepos extends ParallelTask<Void, Void, Void> {
repo.update(updatedDate);
}
if (repo.getId() != null) {
magiskManager.repoMap.put(id, repo);
fetched.put(id, repo);
}
} catch (BaseModule.CacheModException ignored) {}
// Update the database
dbHelper.addRepoMap(fetched);
// The leftover cached are those removed remote, cleanup db
dbHelper.removeRepo(cached);
// Update ETag
prefs.edit().putString(ETAG_KEY, etag).apply();
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
// Use cached if no internet or no updates
Logger.dev("LoadRepos: No updates, use cached");
magiskManager.repoMap.putAll(cached);
cached.clear();
}
// Update the database
dbHelper.addRepoMap(magiskManager.repoMap);
// The leftover cached are those removed remote, cleanup db
dbHelper.removeRepo(cached);
// Update ETag
prefs.edit().putString(ETAG_KEY, etag).apply();
magiskManager.repoMap = dbHelper.getRepoMap();
Logger.dev("LoadRepos: Repo load done");
return null;

View File

@@ -13,7 +13,7 @@ import java.util.Collection;
public class RepoDatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VER = 1;
private static final int DATABASE_VER = 2;
private static final String TABLE_NAME = "repos";
public RepoDatabaseHelper(Context context) {
@@ -33,8 +33,12 @@ public class RepoDatabaseHelper extends SQLiteOpenHelper {
"(id TEXT, name TEXT, version TEXT, versionCode INT, " +
"author TEXT, description TEXT, repo_name TEXT, last_update INT, " +
"PRIMARY KEY(id))");
oldVersion++;
}
if (oldVersion == 1) {
db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD template INT");
oldVersion++;
}
// No upgrades yet
}
public void addRepoMap(ValueSortedMap<String, Repo> map) {
@@ -62,6 +66,10 @@ public class RepoDatabaseHelper extends SQLiteOpenHelper {
}
public ValueSortedMap<String, Repo> getRepoMap() {
return getRepoMap(true);
}
public ValueSortedMap<String, Repo> getRepoMap(boolean filtered) {
ValueSortedMap<String, Repo> ret = new ValueSortedMap<>();
SQLiteDatabase db = getReadableDatabase();
Repo repo;
@@ -69,6 +77,10 @@ public class RepoDatabaseHelper extends SQLiteOpenHelper {
while (c.moveToNext()) {
repo = new Repo(c);
Logger.dev("Load from cache: " + repo.getId());
if (repo.getTemplateVersion() < 3 && filtered) {
Logger.dev("Outdated repo: " + repo.getId());
continue;
}
ret.put(repo.getId(), repo);
}
}

View File

@@ -11,7 +11,7 @@ import java.util.List;
public abstract class BaseModule implements Comparable<BaseModule> {
private String mId, mName, mVersion, mAuthor, mDescription;
private int mVersionCode = 0;
private int mVersionCode = 0, templateVersion = 0;
protected BaseModule() {}
@@ -22,6 +22,7 @@ public abstract class BaseModule implements Comparable<BaseModule> {
mVersionCode = c.getInt(c.getColumnIndex("versionCode"));
mAuthor = c.getString(c.getColumnIndex("author"));
mDescription = c.getString(c.getColumnIndex("description"));
templateVersion = c.getInt(c.getColumnIndex("template"));
}
protected void parseProps(List<String> props) throws CacheModException { parseProps(props.toArray(new String[props.size()])); }
@@ -57,6 +58,10 @@ public abstract class BaseModule implements Comparable<BaseModule> {
case "description":
mDescription = prop[1];
break;
case "template":
try {
templateVersion = Integer.parseInt(prop[1]);
} catch (NumberFormatException ignored) {}
case "cacheModule":
if (Boolean.parseBoolean(prop[1]))
throw new CacheModException(mId);
@@ -99,6 +104,10 @@ public abstract class BaseModule implements Comparable<BaseModule> {
return mVersionCode;
}
public int getTemplateVersion() {
return templateVersion;
}
public static class CacheModException extends Exception {
public CacheModException(String id) {
Logger.error("Cache mods are no longer supported! id: " + id);

View File

@@ -53,6 +53,7 @@ public class Repo extends BaseModule {
values.put("description", getDescription());
values.put("repo_name", repoName);
values.put("last_update", mLastUpdate.getTime());
values.put("template", getTemplateVersion());
return values;
}

View File

@@ -91,10 +91,12 @@ public class Utils {
isDownloading = true;
DownloadManager downloadManager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(link));
request.setDestinationUri(Uri.fromFile(file));
receiver.setDownloadID(downloadManager.enqueue(request));
if (link != null) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(link));
request.setDestinationUri(Uri.fromFile(file));
receiver.setDownloadID(downloadManager.enqueue(request));
}
receiver.setFilename(filename);
context.registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
}

View File

@@ -14,7 +14,6 @@
<!--Status Fragment-->
<string name="magisk_version">Nainstalován Magisk v%1$s</string>
<string name="magisk_version_disable">Magisk v%1$s deaktivován</string>
<string name="magisk_version_error">Magisk není nainstalován</string>
<string name="checking_for_updates">Kontrola aktualizací…</string>
@@ -133,8 +132,6 @@
<string name="settings_clear_cache_title">Smazat Uchovanou Mezipaměť</string>
<string name="settings_clear_cache_summary">Smaže informace online použití v Mezipaměti, donutí aplikaci obnovit informace online</string>
<string name="settings_disable_title">Zakázat Magisk</string>
<string name="settings_disable_summary">Všechno kromě rootu (MagiskSU) bude deaktivováno</string>
<string name="settings_magiskhide_summary">Skryje root (MagiskSU) před různými aplikacemi</string>
<string name="settings_busybox_title">Povolit BusyBox</string>
<string name="settings_busybox_summary">Nasadí vestavěný Magisk busybox do xbin</string>
@@ -193,5 +190,6 @@
<string name="pid">PID:\u0020</string>
<string name="target_uid">Cílové UID:\u0020</string>
<string name="command">Příkaz:\u0020</string>
<string name="settings_core_only_summary"></string>
</resources>

View File

@@ -17,7 +17,6 @@
<!--Status Fragment-->
<string name="magisk_version">Magisk %1$s ist installiert</string>
<string name="magisk_version_disable">Magisk %1$s ist deaktiviert</string>
<string name="magisk_version_error">Magisk ist nicht installiert</string>
<string name="checking_for_updates">Suche nach Updates…</string>
@@ -136,8 +135,6 @@
<string name="settings_clear_cache_title">Repo-Cache löschen</string>
<string name="settings_clear_cache_summary">Löscht die zwischengespeicherten Informationen der Online-Repos. Erzwingt eine Aktualisierung</string>
<string name="settings_disable_title">Magisk deaktivieren</string>
<string name="settings_disable_summary">Deaktiviert alles außer den root-Zugang (MagiskSU)</string>
<string name="settings_magiskhide_summary">Versteckt Magisk vor diversen Entdeckungsmethoden</string>
<string name="settings_busybox_title">BusyBox aktivieren</string>
<string name="settings_busybox_summary">Magisk\'s integriertes BusyBox nach xbin mounten</string>

View File

@@ -14,7 +14,6 @@
<!--Magisk Fragment-->
<string name="magisk_version">Instalado Magisk v%1$s</string>
<string name="magisk_version_disable">Magisk v%1$s está deshabilitado</string>
<string name="magisk_version_error">Magisk no está instalado</string>
<string name="checking_for_updates">Comprobando actualizaciones…</string>
@@ -126,8 +125,6 @@
<string name="settings_clear_cache_title">Limpiar caché del repositorio</string>
<string name="settings_clear_cache_summary">Limpiar la información en caché para los repositorios en línea, fuerza a la aplicación a actualizar en línea</string>
<string name="settings_disable_title">Deshabilitar Magisk</string>
<string name="settings_disable_summary">Todo será desactivado excepto el root (MagiskSU)</string>
<string name="settings_magiskhide_summary">Ocultar Magisk de varias detecciones</string>
<string name="settings_busybox_title">Habilitar BusyBox</string>
<string name="settings_busybox_summary">Montar el busybox interno de Magisk en xbin</string>

View File

@@ -0,0 +1,181 @@
<resources>
<!--Universal-->
<!--Welcome Activity-->
<string name="navigation_drawer_open">Ouvrir le menu de navigation</string>
<string name="navigation_drawer_close">Fermer le menu de navigation</string>
<string name="modules">Modules</string>
<string name="downloads">Téléchargements</string>
<string name="superuser">Superuser</string>
<string name="log">Journal</string>
<string name="settings">Paramètres</string>
<string name="status">État</string>
<string name="install">Installer</string>
<!--Status Fragment-->
<string name="magisk_version">Magisk v%1$s installée</string>
<string name="magisk_version_core_only">Magisk v%1$s installée (Mode Core uniquement)</string>
<string name="magisk_version_error">Magisk non installé</string>
<string name="checking_for_updates">Vérification de mises à jour…</string>
<string name="magisk_update_available">Magisk v%1$.1f disponible !</string>
<string name="cannot_check_updates">Impossible de vérifier les mises à jour, pas d\'Internet ?</string>
<string name="up_to_date">Dernière version %1$s installée</string>
<string name="root_error">Rooté mais aucune permission root, non acceptée ?</string>
<string name="not_rooted">Non rooté</string>
<string name="proper_root">Correctement rooté</string>
<string name="safetyNet_check_text">Appuyer pour lancer le contrôle SafetyNet</string>
<string name="checking_safetyNet_status">Vérification de l\'état de SafetyNet…</string>
<string name="safetyNet_connection_failed">Impossible de se connecter à l\'API Google</string>
<string name="safetyNet_connection_suspended">La connexion à l\'API Google a été suspendue</string>
<string name="safetyNet_error">Impossible de contrôler SafetyNet, pas d\'Internet?</string>
<string name="safetyNet_fail">Échec SafetyNet: erreur de profil CTS</string>
<string name="safetyNet_pass">SafetyNet réussi</string>
<string name="root_info_warning">Fonctionnalités largement limitées</string>
<!--Install Fragment-->
<string name="auto_detect">(Auto) %1$s</string>
<string name="cannot_auto_detect">(Auto détection impossible)</string>
<string name="boot_image_title">Emplacement de l\'Image Boot</string>
<string name="detect_button">Détection</string>
<string name="advanced_settings_title">Paramètres avancés</string>
<string name="keep_force_encryption">Garder le chiffrement forcé</string>
<string name="keep_dm_verity">Garder dm-verity</string>
<string name="current_magisk_title">Version Magisk Installée : %1$s</string>
<string name="install_magisk_title">Dernière Version Magisk : %1$s</string>
<string name="uninstall">Désinstaller</string>
<string name="reboot_countdown">Redémarrage dans %1$d</string>
<string name="uninstall_magisk_title">Désinstaller Magisk</string>
<string name="uninstall_magisk_msg">Cela va supprimer tous les modules, MagiskSU et éventuellement chiffrer vos données si vous n\'êtes pas chiffré\nÊtes-vous sûr de vouloir continuer ?</string>
<string name="version_none">(Aucune)</string>
<!--Module Fragment-->
<string name="no_info_provided">(Aucune information transmise)</string>
<string name="no_modules_found">Aucun module trouvé</string>
<string name="update_file_created">Le module va être mis à jour au prochain redémarrage</string>
<string name="remove_file_created">Le module va être supprimé au prochain redémarrage</string>
<string name="remove_file_deleted">Le modufle ne va pas être supprimé au prochain redémarrage</string>
<string name="disable_file_created">Le module va être désactivé au prochain redémarrage</string>
<string name="disable_file_removed">Le module va être activé au prochain redémarrage</string>
<string name="author">Créé par %1$s</string>
<string name="fab_flash_zip">Flasher un Module Zip</string>
<!--Repo Fragment-->
<string name="update_available">Mise à jour disponible</string>
<string name="installed">Installé</string>
<string name="not_installed">Non installé</string>
<!--Log Fragment-->
<string name="menuSaveToSd">Enregistrer sur SD</string>
<string name="menuReload">Actualiser</string>
<string name="menuClearLog">Effacer le journal maintenant</string>
<string name="logs_cleared">Journal effacé avec succès</string>
<string name="log_is_empty">Journal vide</string>
<string name="logs_save_failed">Impossible d\'écrire le journal sur la SD card:</string>
<!--About Activity-->
<string name="about">À propos</string>
<string name="app_developers">Principaux développeurs</string>
<string name="app_developers_"><![CDATA[App created by <a href="https://github.com/topjohnwu">topjohnwu</a> in collaboration with <a href="https://github.com/d8ahazard">Digitalhigh</a> and <a href="https://github.com/dvdandroid">Dvdandroid</a>.]]></string>
<string name="app_changelog">Modifications de l\'application</string>
<string name="translators" />
<string name="app_version">Version de l\'application</string>
<string name="app_source_code">Code source</string>
<string name="donation">Dons</string>
<string name="app_translators">Traducteurs de l\'application</string>
<string name="support_thread">Sujet pour support</string>
<!--Toasts, Dialogs-->
<string name="permissionNotGranted">Cette fonctionnalité ne marchera pas sans la permission d\'écriture sur le stockage externe.</string>
<string name="no_thanks">Non merci</string>
<string name="yes">Oui</string>
<string name="ok">OK</string>
<string name="close">Fermer</string>
<string name="repo_install_title">Installer %1$s</string>
<string name="repo_install_msg">Voulez-vous installer %1$s ?</string>
<string name="download_install">Télécharger &amp; Installer</string>
<string name="download">Télécharger</string>
<string name="goto_install">Aller à la section \"Installer\"</string>
<string name="download_file_error">Erreur de téléchargement du fichier</string>
<string name="install_error">Échec de l\'installation !</string>
<string name="invalid_zip">Ce zip n\'est pas un Module Magisk !!</string>
<string name="reboot_title">Installation réussie !</string>
<string name="reboot_msg">Voulez-vous redémarrer maintenant ?</string>
<string name="reboot">Redémarrer</string>
<string name="copying_msg">Copie du zip dans le répertoire temp</string>
<string name="zip_install_progress_title">Installation</string>
<string name="zip_unzip_msg">Décompression du fichier zip…</string>
<string name="zip_process_msg">Exécution du fichier zip…</string>
<string name="zip_install_progress_msg">Installation %1$s…</string>
<string name="no_magisk_title">Magisk non installé !</string>
<string name="no_magisk_msg">Voulez-vous télécharger et installer Magisk ?</string>
<string name="downloading_toast">Téléchargement %1$s</string>
<string name="magisk_update_title">Nouvelle mise à jour de Magisk disponible !</string>
<string name="settings_reboot_toast">Redémarrer pour appliquer les changements</string>
<string name="release_notes">Notes de version</string>
<string name="repo_cache_cleared">Cache du dépôt effacé</string>
<string name="safetyNet_hide_notice">Cette application utilise SafetyNet\nDéjà pris en charge par MagiskHide par défaut</string>
<string name="start_magiskhide">Lancement de MagiskHide …</string>
<string name="no_magisksu_title">MagiskSU non utilisé !</string>
<string name="no_magisksu_msg">Vous n\'êtes pas rooté avec MagiskSU, utiliser uniquement MagiskHide peut ne pas suffire !\nCeci n\'est officiellement pas supporté et vous devriez avoir besoin d\'autres outils (ex : suhide) pour passer SafetyNet.</string>
<string name="understand">Je comprends</string>
<string name="process_error">Erreur d\'exécution</string>
<string name="internal_storage">Le zip est stocké dans :\n[Internal Storage]%1$s</string>
<string name="zip_process_title">Exécution</string>
<string name="manual_boot_image">Veuillez sélectionner l\'image boot manuellement !</string>
<!--Settings Activity -->
<string name="settings_general_category">Général</string>
<string name="settings_dark_theme_title">Thème sombre</string>
<string name="settings_dark_theme_summary">Activer le thème sombre</string>
<string name="settings_notification_title">Notification de mise à jour</string>
<string name="settings_notification_summary">Afficher des notifications de mises à jour quand une nouvelle version est disponible</string>
<string name="settings_clear_cache_title">Effacer le cache du dépôt</string>
<string name="settings_clear_cache_summary">Effacer les informations en cache des dépôts en ligne, pour forcer une actualisation de l\'application</string>
<string name="settings_core_only_title">Mode Magisk Core uniquement</string>
<string name="settings_core_only_summary">Activer uniquement les fonctionnalités de base, tous les modules ne seront pas chargés. MagiskSU, MagiskHide, les hosts systemless et busybox restent activés</string>
<string name="settings_magiskhide_summary">Masquer Magisk de diverses détections</string>
<string name="settings_busybox_title">Activer BusyBox</string>
<string name="settings_busybox_summary">Relier le busybox de Magisk à xbin</string>
<string name="settings_hosts_title">Hosts systemless</string>
<string name="settings_hosts_summary">Support hosts systemless pour les applications type Adblock</string>
<string name="settings_su_app_adb">Applications et ADB</string>
<string name="settings_su_app">Applications uniquement</string>
<string name="settings_su_adb">ADB uniquement</string>
<string name="settings_su_disable">Désactivé</string>
<string name="settings_su_request_10">10 secondes</string>
<string name="settings_su_request_20">20 secondes</string>
<string name="settings_su_request_30">30 secondes</string>
<string name="settings_su_request_60">60 secondes</string>
<string name="superuser_access">Accès Superuser</string>
<string name="auto_response">Réponse automatique</string>
<string name="request_timeout">Délai de requête</string>
<string name="superuser_notification">Notification Superuser</string>
<string name="request_timeout_summary">%1$s secondes</string>
<string name="settings_development_category">Dévellopement de l\'application</string>
<string name="settings_developer_logging_title">Activer le journal de débogage avancé</string>
<string name="settings_developer_logging_summary">Cocher ceci pour activer la journalisation "verbose" (tout)</string>
<string name="settings_shell_logging_title">Activer la journalisation de débogage de commande shell</string>
<string name="settings_shell_logging_summary">Cocher ceci pour activer la journalisation de toutes les commandes shell et leurs données de sortie</string>
<!--Superuser-->
<string name="su_request_title">Requête Superuser</string>
<string name="deny_with_str">Refuser%1$s</string>
<string name="deny">Refuser</string>
<string name="prompt">Demander</string>
<string name="grant">Accepter</string>
<string name="su_warning">Accepter un accès complet à votre appareil.\nRefuser si vous n\'êtes pas sûr!</string>
<string name="forever">Toujours</string>
<string name="once">Une fois</string>
<string name="tenmin">10 min</string>
<string name="twentymin">20 min</string>
<string name="thirtymin">30 min</string>
<string name="sixtymin">60 min</string>
<string name="su_allow_toast">%1$s a obtenu les droits Superuser</string>
<string name="su_deny_toast">%1$s n\'a pas obtenu les droits Superuser</string>
<string name="no_apps_found">Aucun application trouvée</string>
<string name="su_snack_grant">Les droits Superuser de %1$s sont accordés</string>
<string name="su_snack_deny">Les droits Superuser de %1$s sont refusés</string>
<string name="su_snack_notif_on">Les notifications pour %1$s sont activées</string>
<string name="su_snack_notif_off">Les notifications pour %1$s sont désactivées</string>
<string name="su_snack_log_on">La journalisation pour %1$s est activée</string>
<string name="su_snack_log_off">La journalisation pour %1$s est désactivée</string>
<string name="su_snack_revoke">Les droits de %1$s sont annulés</string>
<string name="su_revoke_title">Annuler ?</string>
<string name="su_revoke_msg">Vous confirmez l\'annulation des droits pour %1$s ?</string>
<string name="toast">Toast</string>
<string name="none">Aucun</string>
<!--Superuser logs-->
<string name="pid">PID :\u0020</string>
<string name="target_uid">Cible UID:\u0020</string>
<string name="command">Commande :\u0020</string>
</resources>

View File

@@ -16,7 +16,6 @@
<string name="magisk_version">Versione Magisk: v%1$s</string>
<string name="magisk_version_error">Hai installato Magisk?</string>
<string name="magisk_version_disable">Magisk v%1$s disabilitato</string>
<string name="checking_for_updates">Controlla aggiornamenti…</string>
<string name="magisk_update_available">Magisk v%1$.1f update!</string>
<string name="cannot_check_updates">Impossibile controllare aggiornamenti</string>
@@ -135,8 +134,6 @@
<string name="settings_clear_cache_title">Pulisci Cache Repo</string>
<string name="settings_clear_cache_summary">Clear the cached information for online repos, forces the app to refresh online</string>
<string name="settings_disable_title">Disabilita Magisk</string>
<string name="settings_disable_summary">Tutto sarà disattivato tranne il Root (MagiskSU)</string>
<string name="settings_magiskhide_summary">Hide Magisk from various detections</string>
<string name="settings_busybox_title">Abilita BusyBox</string>
<string name="settings_busybox_summary">Bind mount Magisk\'s built-in busybox to xbin</string>

View File

@@ -14,7 +14,6 @@
<!--Status Fragment-->
<string name="magisk_version">Magisk v%1$s 설치됨</string>
<string name="magisk_version_disable">Magisk v%1$s 비활성화됨</string>
<string name="magisk_version_error">Magisk가 설치되지 않음</string>
<string name="checking_for_updates">업데이트 확인 중…</string>
@@ -124,8 +123,6 @@
<string name="settings_clear_cache_title">저장소 캐시 비우기</string>
<string name="settings_clear_cache_summary">온라인 저장소에 대해 캐시된 정보를 지우고, 온라인에서 정보를 강제로 새로 고칩니다.</string>
<string name="settings_disable_title">Magisk 비활성화</string>
<string name="settings_disable_summary">루팅(MagiskSU)을 제외한 모든 것이 비활성화됩니다.</string>
<string name="settings_magiskhide_summary">다양한 감지로부터 Magisk를 숨깁니다.</string>
<string name="settings_busybox_title">BusyBox 사용</string>
<string name="settings_busybox_summary">xbin 디렉터리에 Magisk의 빌트인 busybox를 바인드합니다.</string>

View File

@@ -17,7 +17,6 @@
<!--Status Fragment-->
<string name="magisk_version">Zainstalowany Magisk v%1$s</string>
<string name="magisk_version_disable">Magisk v%1$s wyłaczony</string>
<string name="magisk_version_error">Magisk nie jest zainstalowany</string>
<string name="checking_for_updates">Sprawdzanie aktualizacji…</string>
@@ -136,8 +135,6 @@
<string name="settings_clear_cache_title">Wyczyść Pamięć Repozytorium</string>
<string name="settings_clear_cache_summary">Wymusza na aplikacji odświeżenie online repozytorium</string>
<string name="settings_disable_title">Wyłącz Magisk</string>
<string name="settings_disable_summary">Wszystko zostanie wyłączone za wyjątkiem roota (MagiskSU)</string>
<string name="settings_magiskhide_summary">Włącz Hide Magisk dla wykrytych aplikacji</string>
<string name="settings_busybox_title">Włącz BusyBox</string>
<string name="settings_busybox_summary">Zmień montowanie Magisk z wbudowanego busybox do xbin</string>

View File

@@ -180,8 +180,6 @@
<string name="pid">PID:\u0020</string>
<string name="target_uid">Alvo UID:\u0020</string>
<string name="command">Comando:\u0020</string>
<string name="settings_disable_title">Desativar Magic Mount</string>
<string name="settings_disable_summary">Desativa Magic Mount, Isso impedirá que todos os módulos funcionem</string>
</resources>

View File

@@ -12,7 +12,6 @@
<!--Status Fragment-->
<string name="magisk_version">Установлен Magisk v%1$s</string>
<string name="magisk_version_disable">Magisk v%1$s выключен</string>
<string name="magisk_version_error">Magisk не установлен</string>
<string name="checking_for_updates">Проверка обновлений…</string>
@@ -119,8 +118,6 @@
<string name="settings_clear_cache_title">Очистить кэш репозиториев</string>
<string name="settings_clear_cache_summary">Удалить сохранённую информацию о сетевых репозиториях, чтобы приложение обновило информацию из сети</string>
<string name="settings_disable_title">Отключить Magisk</string>
<string name="settings_disable_summary">Будет выключено все, кроме рута (MagiskSU)</string>
<string name="settings_magiskhide_summary">Скрыть Magisk от различных проверок</string>
<string name="settings_busybox_title">Включить BusyBox</string>
<string name="settings_busybox_summary">Примонтировать встроенный busybox из Magisk в xbin</string>

View File

@@ -12,8 +12,7 @@
<!--Status Fragment-->
<string name="magisk_version">Magisk v%1$s yüklü</string>
<string name="magisk_version_disable">Magisk v%1$s devre dışı</string>
<string name="magisk_version_error">Magisk yüklü değil</string>
<string name="magisk_version_error">Magisk yüklü değil</string>
<string name="checking_for_updates">Güncelleştirmeler denetleniyor…</string>
<string name="magisk_update_available">Magisk v%1$.1f mevcut!</string>
@@ -131,9 +130,7 @@
<string name="settings_clear_cache_title">Repo Önbelleğini Temizle</string>
<string name="settings_clear_cache_summary">Çevrimiçi repolar için önbellek bilgilerini temizle, uygulamayı çevrimiçi yenilemeye zorla</string>
<string name="settings_disable_title">"Magisk'i devre dışı bırak"</string>
<string name="settings_disable_summary">Root (MagiskSU) dışında her şey devre dışı bırakılır</string>
<string name="settings_magiskhide_summary">"Magisk'i çeşitli algılamalardan gizle"</string>
<string name="settings_magiskhide_summary">"Magisk'i çeşitli algılamalardan gizle"</string>
<string name="settings_busybox_title">"BusyBox'ı etkinleştir"</string>
<string name="settings_busybox_summary">"Magisk'in dahili busybox'ını xbin'e bağla"</string>
<string name="settings_hosts_title">Sistemsiz host</string>

View File

@@ -1,12 +1,9 @@
<resources>
<!--Universal-->
<string name="app_name" translatable="false">Magisk Manager</string>
<string name="magisk" translatable="false">Magisk</string>
<!--Welcome Activity-->
<string name="navigation_drawer_open">Mở thanh điều hướng</string>
<string name="navigation_drawer_close">Đóng thanh điều hướng</string>
<string name="magiskhide" translatable="false">Magisk Hide</string>
<string name="modules">Mô-đun</string>
<string name="downloads">Tải xuống</string>
<string name="superuser">Superuser</string>
@@ -17,7 +14,6 @@
<!--Status Fragment-->
<string name="magisk_version">Đã cài Magisk v%1$s</string>
<string name="magisk_version_disable">Magisk v%1$s disabled</string>
<string name="magisk_version_error">Magisk chưa được cài đặt</string>
<string name="checking_for_updates">Đang kiểm tra cập nhật…</string>
@@ -136,8 +132,6 @@
<string name="settings_clear_cache_title">Xoá bộ đệm kho</string>
<string name="settings_clear_cache_summary">Xoá thông tin truy cập nhật về các kho mô-đun, buộc ứng dụng làm mới trực tuyến</string>
<string name="settings_disable_title">Vô hiệu Magisk</string>
<string name="settings_disable_summary">Vô hiệu tất cả trừ root (MagiskSU)</string>
<string name="settings_magiskhide_summary">Ẩn Magisk khỏi nhiều phương thức phát hiện</string>
<string name="settings_busybox_title">Dùng BusyBox</string>
<string name="settings_busybox_summary">Gắn kết busy có sẵn của Magisk tới xbin</string>

View File

@@ -14,7 +14,7 @@
<!--Status Fragment-->
<string name="magisk_version">已安装 Magisk v%1$s</string>
<string name="magisk_version_disable">禁用 Magisk v%1$s</string>
<string name="magisk_version_core_only">安装 Magisk v%1$s (仅核心功能)</string>
<string name="magisk_version_error">未安装 Magisk</string>
<string name="checking_for_updates">正在检查更新…</string>
@@ -128,8 +128,7 @@
<string name="settings_clear_cache_title">清除资源库缓存</string>
<string name="settings_clear_cache_summary">清除已缓存的在线资源库信息,强制刷新在线数据</string>
<string name="settings_disable_title">禁用 Magisk</string>
<string name="settings_disable_summary">除 ROOT (MagiskSU) 以外,其他都将被禁用</string>
<string name="settings_core_only_summary">仅启用核心功能所有模组将不会被载入。MagiskSUMagiskHidesystemless hosts和 busybox 仍会持续运作</string>
<string name="settings_magiskhide_summary">隐藏 Magisk 使其不被多种方法检测到</string>
<string name="settings_busybox_title">启用 BusyBox</string>
<string name="settings_busybox_summary">将 Magisk 内置的 Busybox 挂载到 xbin</string>
@@ -188,5 +187,6 @@
<string name="pid">PID:\u0020</string>
<string name="target_uid">目标 UID:\u0020</string>
<string name="command">命令:\u0020</string>
<string name="settings_core_only_title">Magisk 核心功能模式</string>
</resources>

View File

@@ -14,7 +14,6 @@
<!--Status Fragment-->
<string name="magisk_version">已安裝 Magisk v%1$s</string>
<string name="magisk_version_disable">已禁用 Magisk v%1$s</string>
<string name="magisk_version_error">未安裝 Magisk</string>
<string name="checking_for_updates">正在檢查更新…</string>
@@ -120,8 +119,7 @@
<string name="settings_clear_cache_title">清除資源庫快取</string>
<string name="settings_clear_cache_summary">清除已暫存的在線資源庫快取,強制刷新在線數據</string>
<string name="settings_disable_title">禁用 Magisk</string>
<string name="settings_disable_summary">除 ROOT (MagiskSU) 以外,其他都將被禁用</string>
<string name="settings_core_only_title">Magisk 核心功能模式</string>
<string name="settings_magiskhide_summary">隱藏 Magisk 使其不被多種方法檢測到</string>
<string name="settings_busybox_title">啟用 BusyBox</string>
<string name="settings_busybox_summary">將 Magisk 內置的 Busybox 掛載到 xbin</string>
@@ -193,5 +191,7 @@
<string name="cannot_auto_detect">(無法自動偵測)</string>
<string name="settings_notification_summary">有更新的時候顯示通知</string>
<string name="settings_notification_title">更新通知</string>
<string name="magisk_version_core_only">已安裝 Magisk v%1$s (僅核心功能)</string>
<string name="settings_core_only_summary">僅啟用核心功能所有模組將不會被載入。MagiskSU、MagiskHide、systemless hosts、和 busybox 仍會持續運作</string>
</resources>

View File

@@ -17,7 +17,7 @@
<!--Status Fragment-->
<string name="magisk_version">Installed Magisk v%1$s</string>
<string name="magisk_version_disable">Magisk v%1$s disabled</string>
<string name="magisk_version_core_only">Installed Magisk v%1$s (Core Only Mode)</string>
<string name="magisk_version_error">Magisk not installed</string>
<string name="checking_for_updates">Checking for updates…</string>
@@ -136,8 +136,8 @@
<string name="settings_clear_cache_title">Clear Repo Cache</string>
<string name="settings_clear_cache_summary">Clear the cached information for online repos, forces the app to refresh online</string>
<string name="settings_disable_title">Disable Magisk</string>
<string name="settings_disable_summary">Everything will be disabled except root (MagiskSU)</string>
<string name="settings_core_only_title">Magisk Core Only Mode</string>
<string name="settings_core_only_summary">Enable only core features, all modules will not be loaded. MagiskSU, MagiskHide, systemless hosts, and busybox will still be enabled</string>
<string name="settings_magiskhide_summary">Hide Magisk from various detections</string>
<string name="settings_busybox_title">Enable BusyBox</string>
<string name="settings_busybox_summary">Bind mount Magisk\'s built-in busybox to xbin</string>

View File

@@ -10,7 +10,7 @@
android:summary="@string/settings_dark_theme_summary"
android:key="dark_theme" />
<CheckBoxPreference
<SwitchPreference
android:title="@string/settings_notification_title"
android:summary="@string/settings_notification_summary"
android:key="notification" />
@@ -28,8 +28,8 @@
<CheckBoxPreference
android:key="disable"
android:title="@string/settings_disable_title"
android:summary="@string/settings_disable_summary" />
android:title="@string/settings_core_only_title"
android:summary="@string/settings_core_only_summary" />
<SwitchPreference
android:key="busybox"