├── app ├── .gitignore ├── src │ └── main │ │ ├── ic_launcher-playstore.png │ │ ├── res │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── values │ │ │ ├── ic_launcher_background.xml │ │ │ ├── colors.xml │ │ │ ├── styles.xml │ │ │ └── strings.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── values-zh-rCN │ │ │ └── strings.xml │ │ ├── drawable │ │ │ ├── ic_launcher_monochrome.xml │ │ │ └── ic_launcher_foreground.xml │ │ ├── values-hr │ │ │ └── strings.xml │ │ ├── values-nb-rNO │ │ │ └── strings.xml │ │ ├── values-ar │ │ │ └── strings.xml │ │ ├── values-et │ │ │ └── strings.xml │ │ ├── values-cs │ │ │ └── strings.xml │ │ ├── values-de │ │ │ └── strings.xml │ │ ├── values-uk │ │ │ └── strings.xml │ │ ├── values-it │ │ │ └── strings.xml │ │ ├── values-pt-rBR │ │ │ └── strings.xml │ │ ├── values-es │ │ │ └── strings.xml │ │ ├── values-pt │ │ │ └── strings.xml │ │ ├── values-ru │ │ │ └── strings.xml │ │ ├── values-fr │ │ │ └── strings.xml │ │ ├── values-el │ │ │ └── strings.xml │ │ ├── menu │ │ │ └── main_menu.xml │ │ └── layout │ │ │ └── content_main.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── us │ │ └── spotco │ │ └── extirpater │ │ ├── Utils.java │ │ ├── MainActivity.java │ │ └── Drive.java ├── build.gradle └── proguard-rules.pro ├── settings.gradle ├── fastlane └── metadata │ └── android │ ├── pt │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── en-US │ ├── title.txt │ ├── changelogs │ │ ├── 13.txt │ │ ├── 19.txt │ │ ├── 20.txt │ │ ├── 16.txt │ │ ├── 17.txt │ │ ├── 21.txt │ │ ├── 25.txt │ │ ├── 14.txt │ │ ├── 31.txt │ │ ├── 15.txt │ │ ├── 24.txt │ │ ├── 30.txt │ │ ├── 33.txt │ │ ├── 18.txt │ │ ├── 27.txt │ │ ├── 32.txt │ │ ├── 35.txt │ │ └── 34.txt │ ├── short_description.txt │ ├── images │ │ ├── icon.png │ │ ├── featureGraphic.png │ │ └── phoneScreenshots │ │ │ └── Extirpater.png │ └── full_description.txt │ └── ru │ ├── short_description.txt │ └── full_description.txt ├── debugkey.pk8 ├── graphics ├── featureGraphic.xcf ├── ic_baseline_delete_forever_24.xml.svg └── ic_baseline_delete_forever_24.xml ├── .idea ├── caches │ ├── gradle_models.ser │ └── build_file_checksums.ser ├── encodings.xml ├── vcs.xml ├── compiler.xml ├── misc.xml ├── gradle.xml ├── modules.xml ├── jarRepositories.xml ├── codeStyles │ └── Project.xml └── assetWizardSettings.xml ├── gradle ├── verification-keyring.gpg └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── gradle.properties ├── debugkey.x509.pem ├── gradlew.bat ├── .gitlab-ci.yml ├── README.md ├── gradlew └── LICENSE /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt/title.txt: -------------------------------------------------------------------------------- 1 | Extirpater 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Extirpater 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/13.txt: -------------------------------------------------------------------------------- 1 | * Update gradle 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/19.txt: -------------------------------------------------------------------------------- 1 | * Bump versions 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/20.txt: -------------------------------------------------------------------------------- 1 | * fastlane work 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/16.txt: -------------------------------------------------------------------------------- 1 | * Update dependencies 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/17.txt: -------------------------------------------------------------------------------- 1 | * Update dependencies 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/21.txt: -------------------------------------------------------------------------------- 1 | * Update gradle wrapper 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/25.txt: -------------------------------------------------------------------------------- 1 | * Updated dependencies 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | A free space eraser 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt/short_description.txt: -------------------------------------------------------------------------------- 1 | Um apagador de espaço livre 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/short_description.txt: -------------------------------------------------------------------------------- 1 | Затиратель свободного места 2 | -------------------------------------------------------------------------------- /debugkey.pk8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/debugkey.pk8 -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/14.txt: -------------------------------------------------------------------------------- 1 | * Update license 2 | * Rebranding 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/31.txt: -------------------------------------------------------------------------------- 1 | * French translations by @Calvineries 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/15.txt: -------------------------------------------------------------------------------- 1 | * Optimize images 2 | * Night mode support 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/24.txt: -------------------------------------------------------------------------------- 1 | * DE Translation updates thanks to @js-xda 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/30.txt: -------------------------------------------------------------------------------- 1 | * Greek translations by Dimitris Vagiakakos 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/33.txt: -------------------------------------------------------------------------------- 1 | * Add Russian translations thanks to @yurtpage 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/18.txt: -------------------------------------------------------------------------------- 1 | * Add the Portuguese translations, credit @inkhorn 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/27.txt: -------------------------------------------------------------------------------- 1 | * Updated dependencies 2 | * Themed app icon support 3 | -------------------------------------------------------------------------------- /graphics/featureGraphic.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/graphics/featureGraphic.xcf -------------------------------------------------------------------------------- /.idea/caches/gradle_models.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/.idea/caches/gradle_models.ser -------------------------------------------------------------------------------- /gradle/verification-keyring.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/gradle/verification-keyring.gpg -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/32.txt: -------------------------------------------------------------------------------- 1 | * Updated Portuguese translations from @lucasmz 2 | * Add icon for fastlane 3 | -------------------------------------------------------------------------------- /.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/fastlane/metadata/android/en-US/images/featureGraphic.png -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #212121 4 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/Extirpater.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Divested-Mobile/Extirpater/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/Extirpater.png -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #f44336 4 | #03a9f4 5 | 6 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/35.txt: -------------------------------------------------------------------------------- 1 | Translation updates thanks to the following contributors: 2 | - Arabic: jonnysemon 3 | - Czech: Fjuro 4 | - Estonian: Priit Jõerüüt 5 | - Italian: Dark Space 6 | - Portuguese (Brazil): Jose Delvani 7 | - Ukrainian: Fqwe1 8 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/34.txt: -------------------------------------------------------------------------------- 1 | Translation updates thanks to the following contributors: 2 | - Chinese (Simplified): 大王叫我来巡山 3 | - Croatian: lukapiplica 4 | - German: thereisnoanderson 5 | - Norwegian Bokmål: Even Bull-Tornøe 6 | - Portuguese (Brazil): lucasmz-dev 7 | - Russian: Andrey 8 | - Spanish: gallegonovato 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionSha256Sum=f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /graphics/ic_baseline_delete_forever_24.xml.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 14 | -------------------------------------------------------------------------------- /graphics/ic_baseline_delete_forever_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 致谢 4 | 第二存储 5 | 信息 6 | 擦除中 7 | 状态 8 | 关于 9 | 10 | 输出数据 11 | 空闲 12 | 填充文件表 13 | 开始 14 | 停止 15 | 主存储 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_monochrome.xml: -------------------------------------------------------------------------------- 1 | 6 | 10 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/values-hr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Stani 4 | Primarna pohrana 5 | Sekundarna pohrana 6 | Info 7 | Status 8 | Nule 9 | Izlazni podaci 10 | Započni 11 | Zasluge 12 | Brisanje 13 | Ispunite tablicu datoteka 14 | About 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-nb-rNO/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Start 4 | Stopp 5 | Om 6 | Hovedlagring 7 | Sekundærlagring 8 | Informasjon 9 | Sletter 10 | Status 11 | Om 12 | Nuller 13 | Utdata 14 | Inaktiv 15 | Fyll filtabellen 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ابدأ 4 | أوقف 5 | الاعتمادات 6 | التخزين الأساسي 7 | التخزين الثانوي 8 | جارِ المسح 9 | أصفار 10 | بيانات الإخراج 11 | ساكن 12 | املأ جدول الملفات 13 | معلومات 14 | الحالة 15 | عن التطبيق 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-et/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Alusta 4 | Lõpeta 5 | Rakenduse teave 6 | Esmane andmeruum 7 | Täiendav andmeruum 8 | Teave 9 | Kustutame 10 | Olek 11 | Teave 12 | Nullid 13 | Väljundandmed 14 | Ootel 15 | Täida failide loend 16 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Spustit 4 | Zastavit 5 | Poděkování 6 | Primární úložiště 7 | Sekundární úložiště 8 | Informace 9 | Mazání 10 | Stav 11 | O aplikaci 12 | Nuly 13 | Výstupní data 14 | Nečinný 15 | Vyplnit souborovou tabulku 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Starten 4 | Abbrechen 5 | Hauptspeicher 6 | Erweiterungsspeicher 7 | Info 8 | Löschen 9 | Status 10 | Über 11 | Nullen 12 | Ausgabedaten 13 | Leerlauf 14 | Dateitabelle überschreiben/löschen 15 | Danksagung 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Основне сховище 4 | Вторинне сховище 5 | Очищення 6 | Стан 7 | Вихідні дані 8 | Бездіяльність 9 | Зупинити 10 | Почати 11 | Інформація 12 | Подяки 13 | Про застосунок 14 | Нулі 15 | Заповнювати таблицю файлів 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Zero 4 | Memoria Secondaria 5 | Riconoscimenti 6 | Memoria Primaria 7 | Informazioni 8 | Stato 9 | A proposito di 10 | Dati in output 11 | Inattivo 12 | Riempi la tabella dei file 13 | Avvio 14 | Ferma 15 | Eliminazione 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Começar 4 | Parar 5 | Armazenamento Interno 6 | Armazenamento Externo 7 | Informações 8 | Apagando 9 | Status 10 | Sobre 11 | Zeros 12 | Dados de Saída 13 | Parado 14 | Preencher tabela de arquivos 15 | Créditos 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Iniciar 4 | Parar 5 | Almacenamiento primario 6 | Almacenamiento secundario 7 | Información 8 | Borrando 9 | Estado 10 | Acerca de 11 | Ceros 12 | Datos resultantes 13 | Ocioso 14 | Tabla de archivos de relleno 15 | Créditos 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Iniciar 4 | Parar 5 | Créditos 6 | Armazenamento principal 7 | Armazenamento secundário 8 | Informações 9 | Excluindo 10 | Status 11 | Sobre 12 | Zeros 13 | Dados de saída 14 | Inativo 15 | Encher tabela de arquivos 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Старт 4 | Стоп 5 | Благодарность 6 | Первичное хранилище 7 | Вторичное хранилище 8 | Инфо 9 | Стирание 10 | Статус 11 | О приложении 12 | Нули 13 | Алгоритм перезаписи данных 14 | Неактивно 15 | Заполнить файловую таблицу 16 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | android.enableJetifier=true 13 | android.useAndroidX=true 14 | org.gradle.jvmargs=-Xmx1536m 15 | 16 | # When configured, Gradle will run in incubating parallel mode. 17 | # This option should only be used with decoupled projects. More details, visit 18 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 19 | # org.gradle.parallel=true 20 | 21 | org.gradle.dependency.verification=strict 22 | #org.gradle.dependency.verification.console=verbose 23 | -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 33 5 | defaultConfig { 6 | applicationId "us.spotco.extirpater" 7 | minSdkVersion 14 8 | targetSdkVersion 32 9 | versionCode 35 10 | versionName "1.8" 11 | resConfigs 'en', 'de', 'el', 'es', 'pt', 'fr', 'ru', 'zh-rCN', 'pt-rBR', 'nb-rNO', 'hr', 'ar', 'cs', 'et', 'it', 'uk' 12 | } 13 | buildTypes { 14 | debug { 15 | applicationIdSuffix ".debug" 16 | minifyEnabled true 17 | zipAlignEnabled true 18 | } 19 | release { 20 | shrinkResources true 21 | minifyEnabled true 22 | zipAlignEnabled true 23 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 24 | } 25 | } 26 | lint { 27 | abortOnError false 28 | } 29 | } 30 | 31 | dependencies { 32 | implementation ('org.uncommons.maths:uncommons-maths:1.2.2') { 33 | exclude group: 'jfree' 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/tad/Android/Sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | 27 | -optimizationpasses 3 28 | 29 | # Disable obfuscation 30 | -dontobfuscate 31 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 |

A high performance free space eraser, the first on Android. Use before selling your device, after enabling encryption, or after deleting many apps/files.

2 | 6 |

What is free space erasing?

7 | 12 |

What is file table filling?

13 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Extirpater 4 | Start 5 | Stop 6 | Credits 7 | Primary Storage 8 | Secondary Storage 9 | Info 10 | Erasing 11 | Status 12 | About 13 | Zeroes 14 | Output Data 15 | Idle 16 | Fill File Table 17 | 18 | Random 19 | XORShiftRNG 20 | MersenneTwisterRNG 21 | CMWC4096RNG 22 | SecureRandom 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Démarrer 4 | Arrêter 5 | Crédits 6 | Stockage Principal 7 | Stockage Secondaire 8 | Informations 9 | Effacement 10 | État 11 | À propos 12 | Zéros 13 | Données de sortie 14 | Inactif 15 | Remplir la table de fichiers 16 | 17 | Aléatoire 18 | Générateur XORShift 19 | Générateur Mersenne Twister 20 | Générateur CMWC4096 21 | Sécurité Aléatoire 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Εκκίνηση 4 | Τερματισμός 5 | Credits 6 | Κύριος χώρος αποθήκευσης 7 | Δευτερεύον χώρος αποθήκευσης 8 | Πληροφορίες 9 | Πραγματοποιείται η διαγραφή 10 | Κατάσταση 11 | Σχετικά με 12 | Μηδενικά 13 | Δεδομένα εξόδου 14 | Αδρανής 15 | Συμπλήρωση του Πίνακα Αρχείων 16 | 17 | Random 18 | XORShiftRNG 19 | MersenneTwisterRNG 20 | CMWC4096RNG 21 | SecureRandom 22 | 23 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ru/full_description.txt: -------------------------------------------------------------------------------- 1 |

Высокопроизводительный очиститель свободного пространства, первый на Android. Используйте перед продажей вашего устройства, после включения шифрования или после удаления многих приложений/файлов.

2 | 6 |

Что такое затирание свободного пространства?

7 | 12 |

Что такое заполнение файловой таблицы?

13 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt/full_description.txt: -------------------------------------------------------------------------------- 1 |

Um apagador de espaço livre de alta performance, o primeiro para Android. Use-o antes de vender seu dispositivo, após ativar a criptografia, ou após excluir muitos arquivos/apps.

2 | 6 |

O que é o apagamento do espaço livre?

7 | 12 |

O que é o enchimento da tabela de arquivos?

13 | 18 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | 29 | 30 | -------------------------------------------------------------------------------- /debugkey.x509.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDvzCCAqegAwIBAgIUB/QktDMQr+u0QQbe5P/5rts1874wDQYJKoZIhvcNAQEL 3 | BQAwbzEhMB8GA1UECgwYRGl2ZXN0ZWQgQ29tcHV0aW5nIEdyb3VwMSUwIwYDVQQD 4 | DBxEaXZlc3RlZCBQVUJMSUMgRGVidWctQ0kgS2V5MSMwIQYJKoZIhvcNAQkBFhRz 5 | dXBwb3J0QGRpdmVzdG9zLm9yZzAeFw0yMTA5MjQxOTM2NDZaFw00OTAyMDkxOTM2 6 | NDZaMG8xITAfBgNVBAoMGERpdmVzdGVkIENvbXB1dGluZyBHcm91cDElMCMGA1UE 7 | AwwcRGl2ZXN0ZWQgUFVCTElDIERlYnVnLUNJIEtleTEjMCEGCSqGSIb3DQEJARYU 8 | c3VwcG9ydEBkaXZlc3Rvcy5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK 9 | AoIBAQCoQyu+Cf9FABMZ2HpOth/0wuXkQAoCQUyFay8ryuUF+mchC7ly9EvexRP4 10 | 0/Gnu293Ct3FxqfLdluHa5lm8LAIji0JN0iXNv6XpqgSss804M1MoQLEfW2Hz0Fv 11 | UkfB+dJINlUhuf8n1F9Fvv4qVbNaXIlpP495BtMpr7vsAKTGsUrx+9ka2EVuqA40 12 | 0zQhaoAraOPih9wqpo3WAK15zvBq02ONp9EIRyI5GkRWswnuGJ5FhwbSIIBLcG2z 13 | T2azTPtr/687QdA8hTm1kNz3PqS5QohrnSXKmGjVhgWnVEDHIB73/PPQc0GQqndN 14 | 4LFbw6B5thHk5QmZUOgrPo5fgocLAgMBAAGjUzBRMB0GA1UdDgQWBBR2zO3/5y4f 15 | np4usLKfrBirNr6K3DAfBgNVHSMEGDAWgBR2zO3/5y4fnp4usLKfrBirNr6K3DAP 16 | BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQApYl4+giNz54HpMiqj 17 | v9vfS8/UN8JldOlnqd6CZI4aqLITBP2g9qMpah7TAwdPn2LjoQq8geAWARLPHx4D 18 | IOAY5Rek8VGyay/hQRXgsyc2yLauv93EgLQBxLAksnJ1pS/37hLin3iBRdQmEy5m 19 | euLoH/Kkq47u/DxWx3BAIuWMN4GJxLagmHa73j0dHNMucbR5IX1MFKiykZ+3YBTK 20 | QhtafxJ/lXmnRhihyV3Tu8uwRhrLFGlL45Lz1kd72/7ZCkz4WOsJ/zbZ035aV/Td 21 | +SY8chPV2WnvtBjF7oJMoSkJ2R4rmQBe7PH2I1P4+7tS3hjiPz4u+2rHnLtC20d8 22 | F8Gn 23 | -----END CERTIFICATE----- 24 | -------------------------------------------------------------------------------- /app/src/main/res/menu/main_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | 11 | 14 | 18 | 21 | 24 | 27 | 30 | 31 | 32 | 33 | 34 | 37 | 38 | -------------------------------------------------------------------------------- /app/src/main/java/us/spotco/extirpater/Utils.java: -------------------------------------------------------------------------------- 1 | /* 2 | Extirpater: A free space eraser for Android 3 | Copyright (c) 2017-2019 Divested Computing Group 4 | 5 | This program is free software: you can redistribute it and/or modify 6 | it under the terms of the GNU Affero General Public License as published by 7 | the Free Software Foundation, either version 3 of the License, or 8 | (at your option) any later version. 9 | 10 | This program is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU Affero General Public License for more details. 14 | 15 | You should have received a copy of the GNU Affero General Public License 16 | along with this program. If not, see . 17 | */ 18 | package us.spotco.extirpater; 19 | 20 | import java.io.File; 21 | import java.util.Objects; 22 | import java.util.Random; 23 | 24 | public class Utils { 25 | 26 | public static void deleteFilesByPrefix(File path, String prefix) { 27 | try { 28 | for (File f : Objects.requireNonNull(path.listFiles())) { 29 | if (f.isFile()) { 30 | if ((f + "").contains(prefix)) { 31 | f.delete(); 32 | } 33 | } 34 | } 35 | } catch (Exception e) { 36 | e.printStackTrace(); 37 | } 38 | } 39 | 40 | public static String getRandomString(Random rng, int length) { 41 | String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; 42 | StringBuilder temp = new StringBuilder(); 43 | for (int i = 0; i < length; i++) { 44 | int rn = rng.nextInt(base.length()); 45 | temp.append(base.charAt(rn)); 46 | } 47 | return temp.toString(); 48 | } 49 | 50 | public static byte[] generateRandomByteArray(Random rng, int size) { 51 | byte[] bytes = new byte[size]; 52 | rng.nextBytes(bytes); 53 | return bytes; 54 | } 55 | 56 | public static byte[] generateByteArray(int b, int length) { 57 | byte[] bytes = new byte[length]; 58 | for (int x = 0; x < length; x++) { 59 | bytes[x] = (byte) b; 60 | } 61 | return bytes; 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%"=="" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%"=="" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if %ERRORLEVEL% equ 0 goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if %ERRORLEVEL% equ 0 goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | set EXIT_CODE=%ERRORLEVEL% 84 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 85 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 86 | exit /b %EXIT_CODE% 87 | 88 | :mainEnd 89 | if "%OS%"=="Windows_NT" endlocal 90 | 91 | :omega 92 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | xmlns:android 14 | 15 | ^$ 16 | 17 | 18 | 19 |
20 |
21 | 22 | 23 | 24 | xmlns:.* 25 | 26 | ^$ 27 | 28 | 29 | BY_NAME 30 | 31 |
32 |
33 | 34 | 35 | 36 | .*:id 37 | 38 | http://schemas.android.com/apk/res/android 39 | 40 | 41 | 42 |
43 |
44 | 45 | 46 | 47 | .*:name 48 | 49 | http://schemas.android.com/apk/res/android 50 | 51 | 52 | 53 |
54 |
55 | 56 | 57 | 58 | name 59 | 60 | ^$ 61 | 62 | 63 | 64 |
65 |
66 | 67 | 68 | 69 | style 70 | 71 | ^$ 72 | 73 | 74 | 75 |
76 |
77 | 78 | 79 | 80 | .* 81 | 82 | ^$ 83 | 84 | 85 | BY_NAME 86 | 87 |
88 |
89 | 90 | 91 | 92 | .* 93 | 94 | http://schemas.android.com/apk/res/android 95 | 96 | 97 | ANDROID_ATTRIBUTE_ORDER 98 | 99 |
100 |
101 | 102 | 103 | 104 | .* 105 | 106 | .* 107 | 108 | 109 | BY_NAME 110 | 111 |
112 |
113 |
114 |
115 |
116 |
-------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- 1 | # To contribute improvements to CI/CD templates, please follow the Development guide at: 2 | # https://docs.gitlab.com/ee/development/cicd/templates.html 3 | # This specific template is located at: 4 | # https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Android.gitlab-ci.yml 5 | 6 | # Read more about this script on this blog post https://about.gitlab.com/2018/10/24/setting-up-gitlab-ci-for-android-projects/, by Jason Lenny 7 | # If you are interested in using Android with FastLane for publishing take a look at the Android-Fastlane template. 8 | 9 | image: openjdk:11-jdk 10 | 11 | variables: 12 | 13 | # ANDROID_COMPILE_SDK is the version of Android you're compiling with. 14 | # It should match compileSdkVersion. 15 | ANDROID_COMPILE_SDK: "30" 16 | 17 | # ANDROID_BUILD_TOOLS is the version of the Android build tools you are using. 18 | # It should match buildToolsVersion. 19 | ANDROID_BUILD_TOOLS: "30.0.3" 20 | 21 | # It's what version of the command line tools we're going to download from the official site. 22 | # Official Site-> https://developer.android.com/studio/index.html 23 | # There, look down below at the cli tools only, sdk tools package is of format: 24 | # commandlinetools-os_type-ANDROID_SDK_TOOLS_latest.zip 25 | # when the script was last modified for latest compileSdkVersion, it was which is written down below 26 | ANDROID_SDK_TOOLS: "7583922" 27 | 28 | # Packages installation before running script 29 | before_script: 30 | - apt-get --quiet update --yes 31 | - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 32 | 33 | # Setup path as ANDROID_SDK_ROOT for moving/exporting the downloaded sdk into it 34 | - export ANDROID_SDK_ROOT="${PWD}/android-home" 35 | # Create a new directory at specified location 36 | - install -d $ANDROID_SDK_ROOT 37 | # Here we are installing androidSDK tools from official source, 38 | # (the key thing here is the url from where you are downloading these sdk tool for command line, so please do note this url pattern there and here as well) 39 | # after that unzipping those tools and 40 | # then running a series of SDK manager commands to install necessary android SDK packages that'll allow the app to build 41 | - wget --output-document=$ANDROID_SDK_ROOT/cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip 42 | # move to the archive at ANDROID_SDK_ROOT 43 | - pushd $ANDROID_SDK_ROOT 44 | - unzip -d cmdline-tools cmdline-tools.zip 45 | - pushd cmdline-tools 46 | # since commandline tools version 7583922 the root folder is named "cmdline-tools" so we rename it if necessary 47 | - mv cmdline-tools tools || true 48 | - popd 49 | - popd 50 | - export PATH=$PATH:${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin/ 51 | - export PATH=$PATH:${ANDROID_SDK_ROOT}/build-tools/${ANDROID_BUILD_TOOLS}/ 52 | 53 | # Nothing fancy here, just checking sdkManager version 54 | - sdkmanager --version 55 | 56 | # use yes to accept all licenses 57 | - yes | sdkmanager --licenses || true 58 | - sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" 59 | - sdkmanager "platform-tools" 60 | - sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" 61 | 62 | # Not necessary, but just for surity 63 | - chmod +x ./gradlew 64 | 65 | # Basic android and gradle stuff 66 | # Check linting 67 | lintDebug: 68 | interruptible: true 69 | stage: build 70 | script: 71 | - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint 72 | artifacts: 73 | paths: 74 | - app/lint/reports/ 75 | 76 | # Make Project 77 | assembleDebug: 78 | interruptible: true 79 | stage: build 80 | script: 81 | - ./gradlew assembleDebug 82 | - apksigner sign --key "debugkey.pk8" --cert "debugkey.x509.pem" app/build/outputs/apk/debug/app-debug.apk 83 | artifacts: 84 | paths: 85 | - app/build/outputs/ 86 | 87 | # Run all tests, if any fails, interrupt the pipeline(fail it) 88 | debugTests: 89 | interruptible: true 90 | stage: test 91 | script: 92 | - ./gradlew -Pci --console=plain :app:testDebug 93 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Banner](https://divestos.org/images/featureGraphics/Extirpater.png) 2 | 3 | Extirpater 4 | ========== 5 | 6 | Overview 7 | -------- 8 | A high performance free space eraser. 9 | 10 | [Get it on F-Droid](https://f-droid.org/packages/us.spotco.extirpater/) 13 | [Translation status](https://hosted.weblate.org/engage/divestos/) 16 | 17 | What is free space erasing? 18 | --------------------------- 19 | - Typically when you delete a file it is not really deleted, it is merely removed from the file system's index. 20 | - A free space eraser tool such as this one fills the remaining space of your drive with random noise files and then deletes them. 21 | - This process makes deleted files for the most part irrecoverable. 22 | 23 | What is file table filling? 24 | --------------------------- 25 | - On some file systems, deleted file names can still be accessible in backup index databases. 26 | - By creating many tens or hundreds of thousands of empty files with different random names you can push out the old files. 27 | - This process makes deleted file names for the most part irrecoverable. 28 | 29 | Requirements 30 | ------------ 31 | - Android KitKit 4.4.4 and higher 32 | 33 | Uses 34 | ---- 35 | - Before selling your device 36 | - After enabling encryption 37 | - After deleting many apps/files 38 | - To maintain good data hygiene 39 | 40 | Warnings 41 | ------- 42 | - Do not overuse this tool 43 | - Excessive use will destroy your NAND flash storage 44 | - Ensure important files are backed up before use 45 | 46 | Instructions 47 | ------------ 48 | 0. (Optional) Delete unnecessary files, clear histories, clear app cache, factory reset, etc. 49 | 1. Launch the app 50 | 2. (Optional) Change the erase options from the menu 51 | 3. Click "Start" on either storage location 52 | 4. The status of drives are shown via the status label and progress bar 53 | 54 | "Data Output" Option 55 | -------------------- 56 | - The list is ranked roughly by how "secure" the output is 57 | - If you want a super quick erase use "Zeroes", but be warned that it might not do anything due to various factors (flash, cache, compression, etc.) 58 | - If you want a quick erase use "Random" 59 | - If you want a quick but more secure erase use "CMWC4096RNG" 60 | - If you want a cryptographically secure, but very slow erase use "SecureRandom" 61 | 62 | Known Issues 63 | ------------ 64 | - On devices without real external storage, the two shown are both internal 65 | - The file table of the secondary drive will never really be filled 66 | - The last 20MB aren't erased 67 | 68 | Limitations 69 | ----------- 70 | - Due to how flash drives work and the partition layout of Android devices, it'll never be possible to fully fill the drive 71 | 72 | Planned Updates 73 | --------------- 74 | - Better GUI 75 | - Add a fast csprng data source 76 | - Root support for filling /cache and /system 77 | - Root support for fstrim'ing partitions 78 | 79 | Goals 80 | ----- 81 | - Be fast 82 | - Don't eat batteries 83 | - Use minimal permissions 84 | - Use libraries only when necessary 85 | 86 | Credits 87 | ------- 88 | - Library: Uncommons Maths, License: Apache 2.0, https://maths.uncommons.org 89 | - Icons: Google/Android/AOSP, License: Apache 2.0, https://google.github.io/material-design-icons/ 90 | 91 | Translations 92 | ------------ 93 | - Arabic: jonnysemon 94 | - Chinese (Simplified): 大王叫我来巡山 95 | - Croatian: lukapiplica 96 | - Czech: Fjuro 97 | - Estonian: Priit Jõerüüt 98 | - French: Calvineries 99 | - German: js-xda, thereisnoanderson 100 | - Greek: Dimitris Vagiakakos 101 | - Italian: Dark Space 102 | - Norwegian Bokmål: Even Bull-Tornøe 103 | - Portuguese (Brazil): lucasmz-dev, Jose Delvani 104 | - Portuguese: inkhorn 105 | - Russian: Andrey, yurtpage 106 | - Spanish: gallegonovato 107 | - Ukrainian: Fqwe1 108 | 109 | Donate 110 | ------- 111 | - https://divested.dev/donate 112 | -------------------------------------------------------------------------------- /app/src/main/res/layout/content_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 23 | 24 | 32 | 33 | 44 | 45 |