Chirayu Desai
02c7ba28b9
On phones we tap, not click!
...
Change-Id: Id0f0587b5174810de9e7d8036ca7e1264ea43c76
2021-05-26 23:07:25 +05:30
Michael Bestas
ee61be8361
Fix a couple camel case issues in strings
...
* This should finally cover all strings
2021-05-26 22:52:19 +05:30
Michael Bestas
d53f0fcde2
Switch all text references to github.com/seedvault-app
2021-04-20 03:59:01 +05:30
Chirayu Desai
0e3147b365
Bump to 11-1.1
...
Also bump contactsbackup to keep the version consistent
Change-Id: I334cd6ea92b241f0ab57a68f05f9b15894b3f543
2021-04-16 23:04:30 +05:30
Torsten Grote
100a99484a
Store main key also when verifying recovery code
...
in case it wasn't stored before
2021-04-16 23:04:30 +05:30
Torsten Grote
c8a7e763d6
Store main key for key derivations from 512-bit BIP39 recovery code
...
This main key will be used later to derive sub-keys for other crypto operations.
2021-04-16 23:04:30 +05:30
Torsten Grote
6a5eaea2fd
Use a TestApp for UnitTests so we can use different modules for injection
2021-04-16 23:04:30 +05:30
Torsten Grote
e8fbc3fbe7
Don't crash when storage app gets uninstalled
2021-04-16 23:04:30 +05:30
Torsten Grote
1bbaf3f55b
Fix camel case in recovery code strings
2021-04-16 23:04:30 +05:30
Torsten Grote
4271fd6005
Delete all backups (if possible) when user generates a new recovery code
2021-04-16 23:04:30 +05:30
Torsten Grote
395cc4c899
Allow user to generate new recovery code
2021-04-16 23:04:30 +05:30
Torsten Grote
d64413a7c3
Allow user to verify existing recovery code
2021-04-16 23:04:30 +05:30
Torsten Grote
9bba81ed5c
Add message to AssertionError to track down why it happens
2021-04-16 23:04:30 +05:30
Michael Bestas
af45233e02
strings: Avoid using camel case
...
Change-Id: I0365a381f4c2f28d3d61b4f90c66af9e557a50d2
2021-04-16 23:04:30 +05:30
Chirayu Desai
d5b32d1410
Bump to 11-1.1
...
Also bump contactsbackup to keep the version consistent
Change-Id: I334cd6ea92b241f0ab57a68f05f9b15894b3f543
2021-04-16 22:49:43 +05:30
Torsten Grote
43dbcdfa79
Merge branch 'master' into main-key
2021-02-17 08:19:54 -03:00
Torsten Grote
68543dcb91
Store main key also when verifying recovery code
...
in case it wasn't stored before
2021-02-15 12:16:27 -03:00
Torsten Grote
851407037e
Store main key for key derivations from 512-bit BIP39 recovery code
...
This main key will be used later to derive sub-keys for other crypto operations.
2021-02-15 12:16:27 -03:00
Torsten Grote
2cd2f73241
Use a TestApp for UnitTests so we can use different modules for injection
2021-02-15 12:16:27 -03:00
Torsten Grote
fcd8afe072
Don't crash when storage app gets uninstalled
2021-02-09 15:37:05 -03:00
Torsten Grote
263531fec9
Fix camel case in recovery code strings
2021-01-20 03:44:01 +05:30
Torsten Grote
f758bb3110
Delete all backups (if possible) when user generates a new recovery code
2021-01-20 03:44:01 +05:30
Torsten Grote
ca2a56f023
Allow user to generate new recovery code
2021-01-20 03:44:01 +05:30
Torsten Grote
9dc29e4b0a
Allow user to verify existing recovery code
2021-01-20 03:44:01 +05:30
Torsten Grote
b7aedda90c
Add message to AssertionError to track down why it happens
2020-12-18 08:45:18 -03:00
Michael Bestas
4906a00786
strings: Avoid using camel case
...
Change-Id: I0365a381f4c2f28d3d61b4f90c66af9e557a50d2
2020-11-26 01:26:37 +05:30
Michael Bestas
34dcc083d4
Fix translations for master branch
...
Change-Id: Ic0a03f6806cce85b00e22dfe70c2d9b1a27b5602
2020-11-26 00:49:04 +05:30
Pera Petrovic
e8de37c549
Translated using Weblate (Serbian (latin))
...
Currently translated at 8.7% (10 of 114 strings)
Co-authored-by: Pera Petrovic <srdjan.todorovic.872019@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/sr_Latn/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Milo Ivir
b0b4391606
Translated using Weblate (Croatian)
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/hr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
caioau
68c1029633
Translated using Weblate (Portuguese (Brazil))
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: caioau <caioau@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Michael Bestas
fe94d45f25
Compatibility symlinks for weblate translations
...
* Map weblate locale code to AOSP locale
Change-Id: I9e03b48ca00d8446416681a48c1ad3c2f5f63c42
2020-11-26 00:49:04 +05:30
Michael Bestas
3803a22dfe
Fix broken translations
...
Change-Id: I5c3aa867cbc3952c1ea19b85bc3694476e69be7d
2020-11-26 00:49:04 +05:30
Óscar Fernández Díaz
663d12db4a
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: Óscar Fernández Díaz <oscfdezdz00@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
sock-et
c3e4e62374
Translated using Weblate (Italian)
...
Currently translated at 60.5% (69 of 114 strings)
Co-authored-by: sock-et <inline.py@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Yurical
a42aa90594
Translated using Weblate (Korean)
...
Currently translated at 94.7% (108 of 114 strings)
Translated using Weblate (Korean)
Currently translated at 88.5% (101 of 114 strings)
Co-authored-by: Yurical <yurical1@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ko/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Eric
8387ee09ae
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
tamer dab
2570befba8
Translated using Weblate (Arabic)
...
Currently translated at 8.7% (10 of 114 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: tamer dab <dabsantamer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ar/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
LOyoujoLI
09888a228d
Translated using Weblate (Russian)
...
Currently translated at 96.4% (110 of 114 strings)
Co-authored-by: LOyoujoLI <minion2018@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Kyuzial
51f8a29316
Translated using Weblate (French)
...
Currently translated at 99.1% (113 of 114 strings)
Co-authored-by: Kyuzial <kyuzial@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
nautilusx
3189773443
Translated using Weblate (German)
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: nautilusx <mail.ka@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Nikita Epifanov
5fef513d86
Translated using Weblate (Russian)
...
Currently translated at 94.7% (108 of 114 strings)
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Michael Bestas
d357b68a91
Translated using Weblate (Greek)
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Oğuz Ersen
1b991dd83b
Translated using Weblate (Turkish)
...
Currently translated at 100.0% (114 of 114 strings)
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Atrate
9c4be5194e
Translated using Weblate (Polish)
...
Currently translated at 25.0% (28 of 112 strings)
Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
2020-11-26 00:49:04 +05:30
Allan Nordhøy
4f9c13657b
Translated using Weblate (Norwegian Bokmål)
...
Currently translated at 78.5% (88 of 112 strings)
Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nb_NO/
2020-11-26 00:49:04 +05:30
ssantos
36bb4c6494
Translated using Weblate (Portuguese)
...
Currently translated at 97.3% (109 of 112 strings)
Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Atrate
d1225ef61b
Translated using Weblate (Polish)
...
Currently translated at 22.3% (25 of 112 strings)
Co-authored-by: Atrate <Atrate@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Milo Ivir
7199e78e6b
Translated using Weblate (Croatian)
...
Currently translated at 100.0% (112 of 112 strings)
Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/hr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Yaron Shahrabani
607df522af
Translated using Weblate (Hebrew)
...
Currently translated at 100.0% (112 of 112 strings)
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translation: CalyxOS/Seedvault
Change-Id: Id58ce22954ae88f5856ae64879c7fbd56b2d1a62
2020-11-26 00:49:04 +05:30
Chirayu Desai
9ce543812f
Translated using Weblate (French)
...
Currently translated at 80.3% (90 of 112 strings)
Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Nikita Epifanov
746882587b
Translated using Weblate (Russian)
...
Currently translated at 100.0% (112 of 112 strings)
Translated using Weblate (Russian)
Currently translated at 98.2% (110 of 112 strings)
Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Torsten Grote
c885499faf
Remove string that isn't needed anymore and change one
2020-11-25 08:41:46 -03:00
Torsten Grote
4ea563f8a3
Handle local contacts backup specially in app list
...
as it might not be installed
2020-11-18 17:21:10 -03:00
Torsten Grote
14f6e5ad93
Adapt main screen to new design
2020-11-18 17:14:24 -03:00
Torsten Grote
020a50533c
exclude apps from backup: react also when only switch is tapped
...
Fixes #83
2020-11-18 17:05:26 -03:00
Torsten Grote
b1a0c1b2e2
Group app status list into three sections
...
* important system apps
* user apps
* apps not allowing backup
2020-11-18 16:35:45 -03:00
Torsten Grote
7694eb3cf9
Move to different versioning scheme and show version in About dialog
2020-10-29 20:50:53 +05:30
Torsten Grote
81cd67217b
Show backup status of select system apps
2020-10-29 20:23:01 +05:30
Torsten Grote
e9f3c08220
Make MANAGE_DOCUMENTS permission optional
...
for those who can not or do not want to use it
Fixes #58
2020-10-23 07:37:16 -03:00
Torsten Grote
f5e9c30d17
Also check internet access when determining whether backup storage is available
...
This commit also refactors the code in SettingsFragment and moves it into the SettingsViewModel.
The UsbMonitor turned out not to be reliable in determining changes to USB storage, so it was replaced with a ContentObserver which works for other storage types as well.
2020-10-23 07:34:00 -03:00
Torsten Grote
82048f2754
Don't mess with backup system settings as they can't be used to reliably prevent automatic updates anyway
2020-10-23 07:34:00 -03:00
Torsten Grote
e2f0d19f77
Pretend to make successful @pm@ backup when no backup is possible
...
This is the same behavior as Google backup when it has no internet connection and after extensive research the only option we can keep the system from considering the backup state to be compromised.
K/V backups are run at least every day, no matter what backup interval we set in settings and when they run, we don't get asked before, if now is a good time for backups. So we need to fake an OK for @pm@ backup and can error out afterwards without compromising state.
2020-10-23 07:33:59 -03:00
Torsten Grote
141fe7575d
Check also availability of internet access when using online storage
...
This moves these availability checks into the Storage class, so they can be used in various places without duplicating code.
2020-10-23 07:33:59 -03:00
Torsten Grote
0a2131e108
Check availability of storage on IO thread
2020-10-23 07:33:59 -03:00
Torsten Grote
7401ead553
Request backoff when asked to backup to network storage while no internet available
...
K/V backups are normally only attempted when charging and having an (un-metered) internet connection. However, if the system could not do a backup for more than a day, it ignores these requirements and still attempts a backup run. If a backup storage is used that is only accessible on the internet, but there is no internet connection, the backup attempt will fail. Therefore, we check if our storage requires the internet and if so, we treat it similar to a removable storage, by rejecting backup attempts and suppressing error notifications.
2020-10-23 07:33:58 -03:00
Torsten Grote
f356f56746
Demote hard name checks to IOExceptions
...
because it turns out SAF naming things 'null' is a thing
2020-10-23 07:33:58 -03:00
Torsten Grote
2aa3a1b4be
When opening app status from notification, ensure the settings are below
...
so back navigation works as expected
2020-10-23 07:33:58 -03:00
Torsten Grote
df788ba9a4
Don't assume backup is running when success or error notifications are shown
2020-10-23 07:33:56 -03:00
Torsten Grote
2cde417c8c
Add config option to re-install apps with feature modules only on same device
...
There is a possibility that incompatible APK splits make a an app crash when starting after re-installing it.
With that config option each OEM can decide with they want to take this risk or not.
2020-10-22 08:00:55 -03:00
Torsten Grote
e6723093c9
Android Studio 4.1 and changes to test files
2020-10-22 08:00:54 -03:00
Torsten Grote
a833df2165
Show dialog explaining auto-restore after a restore failed due to not all apps being installed
2020-10-22 08:00:54 -03:00
Torsten Grote
b3db859b40
Re-install APK splits if they are compatible and have proper hash
2020-10-13 16:07:19 -03:00
Torsten Grote
68a6403c4b
Add a compatibility checker for APK splits
...
that tries to figure out compatibility only based on the name of the split.
This is not an exact science and there might be errors, but we hope to correctly identify most cases that matter in practice.
2020-10-13 16:07:19 -03:00
Torsten Grote
3487c91ba3
Do not re-install apps that require splits
...
The app will be shown as failed during restore and the user will be given the opportunity to re-install it manually via an installed ap store
2020-10-13 18:32:04 +05:30
Torsten Grote
643247b600
Change UI for re-installation of system apps
...
We are re-installing system apps if they are present on the restore device as a system app and have a newer version code.
Before, when one of those conditions is not true, we were showing a failure and gave the user the option to re-install the app from an app store.
Now, we don't offer the manual re-install option anymore and only show a success when a newer or same version of the system app is already installed.
2020-10-13 18:32:04 +05:30
Torsten Grote
0971c5db19
Do not back up APKs of test-only apps, as we can not re-install them anyway
...
The flag to allow installation gets filtered out after we set it:
http://aosp.opersys.com/xref/android-11.0.0_r5/xref/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java#544
2020-10-13 18:32:04 +05:30
Torsten Grote
0a8a286826
Update state of opt-out apps, even if they never had any state
2020-10-13 18:32:04 +05:30
Torsten Grote
a9402f4644
Update app install state after user comes back from manually installing an app
...
This way, the list of failed apps ideally keeps shrinking, allowing the user to see which apps are still left in a failed state.
2020-10-13 18:32:04 +05:30
Torsten Grote
1a81e2ddd6
If possible, open the app store an app was originally installed with
...
When an app fails to install during restore, we offer the option to manually install it.
If this doesn't happen with the same app store,
it is likely that the installed app will have a different signature (e.g. Aurora vs. F-Droid).
If the signature doesn't match, the data restore will fail.
Therefore, we attempt to let the user only use the same store for re-install.
There's a known issue that F-Droid doesn't report the proper package name:
https://gitlab.com/fdroid/fdroidclient/-/issues/2085
2020-10-13 18:32:04 +05:30
Torsten Grote
d6cb34c211
Allow the user to manually re-install apps before data restore starts
...
When one or more apps fail to install, the user is shown a dialog explaining that we need the apps installed in order for restore to work.
After the dialog is dismissed, the list of apps is resorted so failed apps are at the top. They are made clickable and the user is brought to an app store to re-install them.
2020-10-13 18:32:04 +05:30
Torsten Grote
747384fb59
Refactor InstallResult to be more extensible
2020-10-13 18:32:04 +05:30
Torsten Grote
f45411d81b
Refactor code related to APK installs as preparation for upcoming changes
2020-10-13 18:32:04 +05:30
Torsten Grote
9830d2db95
Show different app state messages for backup and restore
2020-10-13 18:32:04 +05:30
Torsten Grote
3a31e09a04
Back up split APKs as well and store them in the metadata
...
This will enable us to check compatibility of the splits with the restore device and if compatible, re-install them.
2020-10-13 18:32:04 +05:30
Torsten Grote
af2bf4f60a
Support APK splits in metadata
2020-10-13 18:32:04 +05:30
Torsten Grote
46e8a46c63
Pull out code in ApkBackup and ApkRestore into own methods
2020-10-13 18:32:04 +05:30
Torsten Grote
741e5ef1a0
Fix storage chooser title if the translation is long
2020-10-08 19:27:51 +05:30
Torsten Grote
9ae3c6e835
Add some documentation to the transport methods
2020-10-08 19:27:51 +05:30
Torsten Grote
fbdfa40300
Load app status data off the UI thread
...
Previously, the data was loaded on the UI thread which produced a
visible freeze after clicking "App backup status".
2020-10-08 19:27:51 +05:30
Torsten Grote
0612f79195
Fix or permit certain disk reads on UI thread
2020-10-08 19:27:51 +05:30
Torsten Grote
1d2c74bf2c
Ensure that metadata cache streams get closed
2020-10-08 19:27:51 +05:30
Torsten Grote
4387353227
Enable StrictMode for userdebug builds
2020-10-08 19:27:51 +05:30
Torsten Grote
948cd597d8
Show proper transport labels for OS transport selection
...
If an AOSP-based ROM allows the user to choose a backup transport, these labels will be shown.
2020-10-08 19:27:51 +05:30
Torsten Grote
6c531066e7
Enable automatic coding style linting with ktlint (also on CI)
...
This way the coding style is guaranteed to stay consistent.
2020-10-07 19:44:05 +05:30
Torsten Grote
53937bda2f
Auto-format code style of all files to match official style
...
This also adds a note to the README
and the Android Studio coding style files.
2020-10-07 19:44:05 +05:30
Torsten Grote
55909ce305
Fix lint issues with translations and ignore missing translations
...
as weblate doesn't seem to have a way to only import completed
translations.
2020-10-07 19:01:39 +05:30
Torsten Grote
57f404281c
Fix lint warnings
2020-10-07 19:01:39 +05:30
Torsten Grote
af4b6807f2
Fix compile warnings on AOSP 11
2020-10-07 19:01:39 +05:30
Torsten Grote
ceac5fc5ce
Clean up koin-android dependencies and upgrade koin
2020-10-07 19:01:39 +05:30
Torsten Grote
cfcf7b35ba
Clean up BIP39 dependencies
2020-10-07 19:01:39 +05:30