Skip to content

Commit

Permalink
1.5.9
Browse files Browse the repository at this point in the history
  • Loading branch information
lucky committed Aug 18, 2022
1 parent 409fe57 commit 930c6d3
Show file tree
Hide file tree
Showing 20 changed files with 212 additions and 91 deletions.
29 changes: 0 additions & 29 deletions .github/workflows/super-linter.yml

This file was deleted.

32 changes: 7 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Lock a device and wipe its data on emergency.
height="80">](https://play.google.com/store/apps/details?id=me.lucky.wasted)

<img
src="https://raw.githubusercontent.com/x13a/Wasted/main/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png"
src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.png"
width="30%"
height="30%">

Expand All @@ -27,9 +27,8 @@ Also you can:
* fire when a fake messenger app is launched
* fire when a duress password is entered (companion app: [Duress](https://github.com/x13a/Duress))

The app works in `Work Profile` too. Use [Shelter](https://github.com/PeterCxy/Shelter) to install
risky apps and `Wasted` in it. Then you can wipe this profile data with one click without wiping
the whole device.
The app works in `Work Profile` too, but with limitations. Use it to install risky apps and
`Wasted` in it. Then you can wipe this profile data with one click without wiping the whole device.

Only encrypted device may guarantee that the data will not be recoverable.

Expand All @@ -45,30 +44,13 @@ Only encrypted device may guarantee that the data will not be recoverable.
* FOREGROUND_SERVICE - receive lock and USB state events
* RECEIVE_BOOT_COMPLETED - persist lock job and foreground service across reboots

## Example

Broadcast:
```sh
$ adb shell am broadcast \
-a me.lucky.wasted.action.TRIGGER \
-n me.lucky.wasted/.TriggerReceiver \
-e code "b49a6576-0c27-4f03-b96b-da53501022ba"
```

## Localization

Is `Wasted` not in your language, or the translation is incorrect or incomplete? Get involved on
[Crowdin](https://crwd.in/me-lucky-wasted).

[<img
src="https://user-images.githubusercontent.com/53379023/153461055-50169c86-b187-40c7-8ec8-97d5e93660b8.png"
alt="Crowdin"
height="51">](https://crwd.in/me-lucky-wasted)
height="51"
src="https://badges.crowdin.net/badge/dark/[email protected]"
alt="Crowdin">](https://crwd.in/me-lucky-wasted)

## License
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)

This application is Free Software: You can use, study share and improve it at your will.
Specifically you can redistribute and/or modify it under the terms of the
[GNU General Public License v3](https://www.gnu.org/licenses/gpl.html) as published by the Free
Software Foundation.
[![GNU GPLv3 Image](https://www.gnu.org/graphics/gplv3-127x51.png)](https://www.gnu.org/licenses/gpl-3.0.en.html)
12 changes: 0 additions & 12 deletions SECURITY.md

This file was deleted.

12 changes: 8 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId "me.lucky.wasted"
minSdk 23
targetSdk 32
versionCode 37
versionName "1.5.8"
versionCode 38
versionName "1.5.9"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down Expand Up @@ -40,15 +40,19 @@ android {

dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

implementation 'androidx.security:security-crypto:1.0.0'
implementation 'androidx.preference:preference-ktx:1.2.0'
// https://issuetracker.google.com/issues/238425626
implementation('androidx.preference:preference-ktx:1.2.0') {
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel'
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel-ktx'
}
implementation 'androidx.biometric:biometric:1.1.0'
implementation 'androidx.drawerlayout:drawerlayout:1.1.1'
implementation 'info.guardianproject.panic:panic:1.0'
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/me/lucky/wasted/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ open class MainActivity : AppCompatActivity() {
prefs = Preferences(this)
prefsdb = Preferences(this, encrypted = false)
prefs.copyTo(prefsdb)
NotificationManager(this).createNotificationChannels()
}

private fun init2() {
NotificationManager(this).createNotificationChannels()
replaceFragment(MainFragment())
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ class NotificationListenerService : NotificationListenerService() {
override fun onListenerConnected() {
super.onListenerConnected()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)
migrateNotificationFilter(0, null)
migrateNotificationFilter(
FLAG_FILTER_TYPE_CONVERSATIONS
or FLAG_FILTER_TYPE_ALERTING
or FLAG_FILTER_TYPE_SILENT
or FLAG_FILTER_TYPE_ONGOING,
null,
)
}
}
1 change: 1 addition & 0 deletions app/src/main/res/layout/fragment_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?attr/textAppearanceTitleMedium"
android:theme="@style/Theme.Wasted.ToggleButton"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
Expand Down
36 changes: 31 additions & 5 deletions app/src/main/res/values-es-rES/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,44 @@
<string name="wipe_data_checkbox">Borrar datos</string>
<string name="wipe_embedded_sim_checkbox">Borrar eSIM</string>
<string name="panic_app_dialog_title">Confirmar aplicación de pánico</string>
<string name="panic_app_dialog_message">¿Está seguro de que desea permitir que %1$s active acciones de pánico destructivas\?</string>
<string name="panic_app_dialog_message">¿Está seguro de que desea permitir que %1$s active acciones de pánico destructivas\\?</string>
<string name="panic_app_unknown_app">una aplicación desconocida</string>
<string name="allow">Permitir</string>
<string name="tile_label">Modo avión</string>
<string name="shortcut_label">Pánico</string>
<string name="trigger_lock_description">Limpia un dispositivo cuando no fue desbloqueado por N días.</string>
<string name="trigger_lock_time_hint">tiempo</string>
<string name="trigger_lock_time_error">7d / 48h / 120m</string>
<string name="trigger_lock_time_helper_text">Cuánto tiempo de espera. Modificadores: [d]ías [h]oras [m]inutos</string>
<string name="trigger_tile_delay_description">Retraso seguro antes de que se dispare. Te da algo de tiempo para cancelar el disparo si tocas el mosaico accidentalmente.</string>
<string name="notification_channel_default_name">Predeterminado</string>
<string name="foreground_service_notification_title">Guardia</string>
<string name="foreground_service_notification_title">Guardián</string>
<string name="trigger_panic_kit">PanicKit</string>
<string name="trigger_tile">Título</string>
<string name="trigger_tile">Mosaico</string>
<string name="trigger_shortcut">Acceso directo</string>
<string name="trigger_broadcast">Transmisión</string>
<string name="trigger_broadcast">Difusión</string>
<string name="trigger_notification">Notificación</string>
<string name="trigger_lock">Bloqueo</string>
<string name="trigger_usb">USB</string>
<string name="trigger_application">Aplicación</string>
<string name="copied_popup">Copiado</string>
<string name="main">Principal</string>
<string name="settings">Ajustes</string>
<string name="edit">Editar</string>
<string name="goto_button">GOTO</string>
<string name="authentication">Autenticación</string>
<string name="edit_secret_hint">secreto</string>
<string name="edit_secret_helper_text">Use un secreto lo suficientemente fuerte.</string>
<string name="edit_secret_error">¡No debe estar en blanco!</string>
<string name="trigger_panic_kit_description">Habilite el respondedor de pánico. PanicKit es una colección de herramientas para crear \"botones de pánico\" que pueden desencadenar una respuesta en todo el sistema cuando el usuario se encuentra en una situación ansiosa o peligrosa. Permite que las aplicaciones de activación y las aplicaciones de respuesta se conecten entre sí de forma segura y sencilla. El usuario interactúa con la aplicación de activación cuando se encuentra en una situación de pánico. Las aplicaciones de respuesta reciben esa señal de activación y ejecutan individualmente los pasos para los que fueron configuradas.</string>
<string name="trigger_tile_description">Habilite el servicio de mosaicos. Es un botón en el panel de configuración rápida cuando se desliza desde la parte superior de la pantalla. Este botón imitará el modo avión.</string>
<string name="trigger_shortcut_description">Habilitar icono de acceso directo. Es un botón que verás cuando hagas un toque prolongado en el ícono Wasted.</string>
<string name="trigger_broadcast_description">Habilitar receptor de transmisión. Es útil para comunicarse con otras aplicaciones de Android. Por ejemplo, puede disparar Wasted desde Tasker usando esto.</string>
<string name="trigger_notification_description">Habilite el detector de notificaciones del dispositivo. Escaneará todas las notificaciones a las que tenga acceso en busca del código secreto. Cuando lo encuentre, se disparará.</string>
<string name="trigger_lock_description">Habilite el programador de trabajos de bloqueo. Programará un trabajo cada vez que bloquee un dispositivo y lo cancelará cada vez que desbloquee un dispositivo. Cuando no desbloquea un dispositivo durante X tiempo, se activará un trabajo.</string>
<string name="trigger_usb_description">Habilite el receptor de estado USB. Cuando realiza una conexión de datos USB mientras un dispositivo está bloqueado, se activará. No debe dispararse en el cargador, solo en el dispositivo y el accesorio.</string>
<string name="trigger_application_description">Habilitar aplicación falsa. Agregará aplicaciones de mensajería falsas. Lanzarlos disparará Wasted.</string>
<string name="signal">Signal</string>
<string name="telegram">Telegram</string>
<string name="threema">Threema</string>
<string name="session">Sesión</string>
</resources>
8 changes: 4 additions & 4 deletions app/src/main/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Wasted</string>
<string name="wipe_data_checkbox">Suppression des données</string>
<string name="wipe_embedded_sim_checkbox">Suppression de l\'eSIM</string>
<string name="wipe_data_checkbox">Effacer les données</string>
<string name="wipe_embedded_sim_checkbox">Effacer l\'eSIM</string>
<string name="panic_app_dialog_title">Confirmer l\'application de panique</string>
<string name="panic_app_dialog_message">Êtes-vous sûr de vouloir permettre à %1$s de déclencher des actions de panique destructrices.\\?</string>
<string name="panic_app_unknown_app">une application inconnue</string>
Expand All @@ -27,12 +27,12 @@
<string name="main">Accueil</string>
<string name="settings">Réglages</string>
<string name="edit">Éditer</string>
<string name="goto_button">GOTO</string>
<string name="goto_button">Aller à</string>
<string name="authentication">Authentification</string>
<string name="edit_secret_hint">secret</string>
<string name="edit_secret_helper_text">Utiliser un secret suffisamment fort.</string>
<string name="edit_secret_error">Ne doit pas être vide!</string>
<string name="trigger_panic_kit_description">Activer le répondeur de panique. PanicKit est une collection d\'outils permettant de créer des "boutons de panique" qui peuvent déclencher une réponse à l\'échelle du système lorsque l\'utilisateur se trouve dans une situation anxieuse ou dangereuse. Il permet aux applications de déclenchement et aux applications de réponse de se connecter facilement et en toute sécurité. L\'utilisateur s\'engage avec l\'application de déclenchement lorsqu\'il est dans une situation problématique. Les applications de réponse reçoivent ce signal de déclenchement et exécutent individuellement les étapes pour lesquelles elles ont été configurées.</string>
<string name="trigger_panic_kit_description">Activer le répondeur de panique. PanicKit est une collection d\'outils permettant de créer des \"boutons de panique\" qui peuvent déclencher une réponse à l\'échelle du système lorsque l\'utilisateur se trouve dans une situation anxieuse ou dangereuse. Il permet aux applications de déclenchement et aux applications de réponse de se connecter facilement et en toute sécurité. L\'utilisateur s\'engage avec l\'application de déclenchement lorsqu\'il est dans une situation problématique. Les applications de réponse reçoivent ce signal de déclenchement et exécutent individuellement les étapes pour lesquelles elles ont été configurées.</string>
<string name="trigger_tile_description">Activer le service de tuiles rapide. Il s\'agit d\'un bouton dans le panneau des paramètres rapides lorsque vous balayez depuis le haut de l\'écran. Ce bouton imitera le mode avion.</string>
<string name="trigger_shortcut_description">Activer le raccourci d\'icône. Il s\'agit d\'un bouton que vous verrez lorsque vous appuyez longuement sur l\'icône de Wasted.</string>
<string name="trigger_broadcast_description">Activez le récepteur de diffusion. Il est utile pour communiquer avec d\'autres applications Android. Par exemple, vous pouvez lancer Wasted depuis Tasker en utilisant ceci.</string>
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/res/values-night/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,10 @@
<item name="colorSecondary">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Customize your theme here. -->
<item name="android:windowTranslucentStatus">true</item>
</style>

<style name="Theme.Wasted.ToggleButton" parent="Theme.Wasted">
<item name="colorAccent">@color/green_500</item>
</style>
</resources>
47 changes: 47 additions & 0 deletions app/src/main/res/values-pt-rBR/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Extraviado</string>
<string name="wipe_data_checkbox">Limpar dados</string>
<string name="wipe_embedded_sim_checkbox">Limpar SIM embutido</string>
<string name="panic_app_dialog_title">Confirmar aplicativo de pânico</string>
<string name="panic_app_dialog_message">Você tem certeza que deseja permitir %1$s disparar ações de pânico destrutivas?</string>
<string name="panic_app_unknown_app">um aplicativo desconhecido</string>
<string name="allow">Permitir</string>
<string name="tile_label">Modo avião</string>
<string name="shortcut_label">Pânico</string>
<string name="trigger_lock_time_hint">período</string>
<string name="trigger_lock_time_error">7d / 48h / 120m</string>
<string name="trigger_lock_time_helper_text">Quanto tempo esperar. Unidades: [d]ias [h]oras [m]inutos</string>
<string name="trigger_tile_delay_description">Atraso de precaução antes de disparar. Concede algum tempo para cancelar o disparo caso a barra seja pressionada acidentalmente.</string>
<string name="notification_channel_default_name">Padrão</string>
<string name="foreground_service_notification_title">Guarda</string>
<string name="trigger_panic_kit">PanicKit</string>
<string name="trigger_tile">Barra</string>
<string name="trigger_shortcut">Atalho</string>
<string name="trigger_broadcast">Difusão</string>
<string name="trigger_notification">Notificação</string>
<string name="trigger_lock">Bloqueio</string>
<string name="trigger_usb">USB</string>
<string name="trigger_application">Aplicativo</string>
<string name="copied_popup">Copiado</string>
<string name="main">Principal</string>
<string name="settings">Configurações</string>
<string name="edit">Editar</string>
<string name="goto_button">Permitir acesso</string>
<string name="authentication">Autenticação</string>
<string name="edit_secret_hint">segredo</string>
<string name="edit_secret_helper_text">Usar um segredo suficientemente forte.</string>
<string name="edit_secret_error">Não pode ser vazio!</string>
<string name="trigger_panic_kit_description">Habilitar reator de pânico. PanicKit é uma coleção de ferramentas para criação de \"botões de pânico\" que podem disparar uma reação do sistema quando o usuário está ansioso ou numa situação perigosa. Ela habilita aplicativos engatilhados e reatores a se conectarem de modo seguro e fácil. O usuário ativa um aplicativo de disparo quando numa situação de pânico. O aplicativo reator recebe o sinal de disparo e executa os passos que foi configurado a tomar.</string>
<string name="trigger_tile_description">Habilitar o serviço de barra. É um botão que aparece no painel de configurações rápidas ao se arrastar do topo da tela. Este botão imitará o botão do modo avião.</string>
<string name="trigger_shortcut_description">Habilitar atalho de ícone. É um botão que você verá ao segurar sobre o ícone do Extraviado.</string>
<string name="trigger_broadcast_description">Habilitar o receptor de difusão. Útil para comunicar com outros aplicativos. Por exemplo, você pode disparar o Extraviado a partir do Tasker por difusão.</string>
<string name="trigger_notification_description">Habilitar escuta de notificações. Irá vasculhar pelo código secreto em todas as notificações as quais tem acesso. Caso encontrado, dispara.</string>
<string name="trigger_lock_description">Habilitar cronômetro de bloqueio. Irá iniciar um cronômetro sempre que o dispositivo for bloqueado e cancela-lo sempre que o dispositivo for desbloqueado. Caso o dispositivo não for desbloqueado por certo período, dispara.</string>
<string name="trigger_usb_description">Habilitar receptor de estado USB. Dispara ao fazer uma conexão USB enquanto o dispositivo está bloqueado. Não deve disparar com o mero carregamento, mas apenas ao conectar um dispositivo ou acessório.</string>
<string name="trigger_application_description">Habilitar aplicativo falso. Irá adicionar um aplicativo de mensagens falso. Abri-lo irá disparar o Extraviado.</string>
<string name="signal">Signal</string>
<string name="telegram">Telegram</string>
<string name="threema">Threema</string>
<string name="session">Session</string>
</resources>
Loading

0 comments on commit 930c6d3

Please sign in to comment.