Commit graph

884 commits

Author SHA1 Message Date
Torsten Grote
ad89ea4187
Use new IBackupManager API to filter eligable packages
There's also a bit of refactoring for simplifying the PackageService
usage.

Fixes #26 by adding com.android.externalstorage to ignore list
2019-06-14 07:04:21 -03:00
Torsten Grote
3a9aec56b2
Upgrade android.jar to API 28 2019-06-14 07:04:19 -03:00
Steve Soltys
a18806cf99
Merge pull request #27 from grote/background-backups
Background backups
2019-06-13 20:33:47 -04:00
Torsten Grote
d678566967
Exclude key-value backup apps for now
We do this as a temporary fix, because our backup methods are not called
which are updating the package counter. So our mechanism to find out
about the end of the backup is broken. Excluding key-value backups fixes
it for now.
2019-06-12 11:01:56 -03:00
Torsten Grote
7fcd9aa091
Resolve review comments about backup compontent refactoring 2019-06-12 09:19:38 -03:00
Torsten Grote
92ce6c1a5c
Refactor transport components to eliminate need to initialize and reset transport 2019-06-11 20:53:44 -03:00
Torsten Grote
b17a55ac57
Target API 28 2019-06-11 11:57:10 -03:00
Torsten Grote
2037291f81
Don't start transport service in foreground
Start it on-deman instead.

This way, we don't need a foreground service and thus can target API 28
2019-06-11 10:18:20 -03:00
Torsten Grote
540147470d
Allow the user to schedule full background backups 2019-06-11 09:28:03 -03:00
Steve Soltys
e079aaff1b
Merge pull request #25 from grote/store-backup-key
Store backup passphrase insecurely for now
2019-06-05 17:42:31 -04:00
Torsten Grote
8a0fe3c513
Store backup passphrase insecurely for now
This is being done to implement automatic background updates
and not supposed to be part of a release.

The backup key will later be generated and shown to the user instead of
allowing them to choose their own.
2019-06-05 16:45:04 -03:00
Torsten Grote
6da59c8192 Use Android's logging instead of printing stacktraces to STDERR 2019-06-04 16:54:46 -04:00
Torsten Grote
b8e9e60666 Add a button to change the backup storage location 2019-06-04 16:54:46 -04:00
Torsten Grote
b3c744b872 Store backup folder Uri in default shared preferences
and keep using it as long as it continues to be available.
2019-06-04 16:54:46 -04:00
Torsten Grote
f192e640fb Choose a backup folder instead of a file
Backup files will be created within this folder
2019-06-04 16:54:46 -04:00
Steve Soltys
0a36405cdb
Merge pull request #23 from grote/gradle-plugin-downgrade
Downgrade Android Gradle plugin
2019-06-04 11:56:56 -04:00
Torsten Grote
1e00d2c0a3
Downgrade Android Gradle plugin
as new version require us to remove targetSdkVersion from Manifest
2019-06-04 12:36:53 -03:00
Steve Soltys
ffa5c1f7f2
Merge pull request #22 from grote/small-nitpicks
Several small nitpicks and fixes
2019-06-04 08:11:00 -04:00
Torsten Grote
d1f5986e39
Add signing config for faster testing 2019-06-04 09:04:25 -03:00
Torsten Grote
2434fe30f4
Several small nitpicks and fixes 2019-06-04 09:04:25 -03:00
Steve Soltys
cdaf842866 Version bump - 0.3.0 2019-03-14 21:33:50 -04:00
Steve Soltys
04543a1014 Fix transport encryption
Prior to this commit, some of the application data was not included during encryption. This is a breaking change, any backups made prior to this commit can no longer be restored.

1. Encrypt 'full' backup data.
2. Increase number of key generation iterations to 32767.
3. Change cipher to 'AES/CBC/PKCS5Padding'.
2019-03-14 20:09:06 -04:00
Steve Soltys
b16fcf5d87 Clean up backup service 2019-03-14 17:07:23 -04:00
Steve Soltys
3e2e75a9b5 Ignore 'calendar' and 'contacts' Android provider packages 2019-03-14 17:06:53 -04:00
Steve Soltys
571cecfa2f Version bump - 0.2.0 2019-03-01 23:48:03 -05:00
Steve Soltys
93f878f574
Merge pull request #17 from stevesoltys/feature/encryption
Add support for encrypted backups
2019-03-01 23:39:11 -05:00
Steve Soltys
828f257426 Clean up package and class structure significantly
1. Add service layer for backup / restore operations.
2. Reduce amount of duplicate code in activity classes.
2019-03-01 23:34:04 -05:00
Steve Soltys
0b5cc1a798 Fix logging in content provider restore component 2019-02-22 01:11:05 -05:00
Steve Soltys
03c92efc24 Add initialization message to loading popup window 2019-02-22 01:05:55 -05:00
Steve Soltys
bd0c41c2d3 Stop regenerating secret key for each package 2019-02-22 01:02:06 -05:00
Steve Soltys
1519580a36 Reduce number of key generation iterations to 25 2019-02-22 01:00:08 -05:00
Steve Soltys
b0465f7aae Add 'com.stevesoltys.backup' to ignored packages 2019-02-21 23:50:50 -05:00
Steve Soltys
0fd4c7833d Reduce number of key generation iterations to 100 2019-02-21 22:42:16 -05:00
Steve Soltys
023750be6e Add loading popup when fetching packages for backup or restore 2019-02-21 22:41:54 -05:00
Steve Soltys
9b979b3693 Move cipher logic out of backup and restore components 2019-02-21 21:51:46 -05:00
Steve Soltys
b182e743e8 Add support for encrypted backups
1. Add prompt for entering password during backup and restore.
2. Use PBKDF2 to generate a secret key that is used to encrypt backups.
3. Store salt in backup zip file.
4. Fetch salt from backup zip file during restore and use it to decrypt restoration data.
2019-02-15 02:46:24 -05:00
Steve Soltys
8ec018442a Add CHANGELOG.md 2019-02-12 21:30:37 -05:00
Steve Soltys
f21e687a6d Version bump - 0.1.2 2019-02-11 22:41:50 -05:00
Steve Soltys
77e44aa535 Fix whitelist configuration file path for Travis releases 2019-02-11 22:30:11 -05:00
Steve Soltys
31bc653cfb Version bump - 0.1.1 2019-02-11 22:25:01 -05:00
Steve Soltys
3c9e1e8523 Add whitelist configuration files to Travis releases 2019-02-11 22:24:28 -05:00
Steve Soltys
459867c165 Update SDK version to 28 for Travis 2019-02-11 22:13:01 -05:00
Steve Soltys
8fe694a2df Fix version code 2019-02-11 22:10:09 -05:00
Steve Soltys
656b7702e0 Allow user to select all packages during backup and restore 2019-02-11 22:07:57 -05:00
Steve Soltys
b714952b85 Ignore 'com.android.providers.downloads.ui' to resolve #14 2019-02-11 22:06:46 -05:00
Steve Soltys
df0b3d6287 Update SDK version to 28 2019-02-11 22:00:33 -05:00
Steve Soltys
09c8aad237 Update launcher icon 2018-12-15 03:41:50 -05:00
Steve Soltys
7c3bff31f0 Make transport service start in foreground to resolve #13 2018-12-15 03:34:34 -05:00
Steve Soltys
98297537df Pull commons-io from Maven repository for Gradle builds 2018-11-14 21:40:05 -05:00
Steve Soltys
b00d8d45c7 Fix Travis release API key 2018-11-13 18:50:50 -05:00