Commit Graph
10 Commits
Author SHA1 Message Date
Mygod cffd9d1eb4 Fix usage stats not saved 2018-03-23 01:57:13 -07:00
Mygod 75bc9334ef Fix #1691 2018-03-22 23:05:02 -07:00
Mygod f218282e28 Use require* in support library 2018-03-08 22:34:58 -08:00
Mygod 026d1ecb2b Fix receiver leaking 2018-02-15 15:34:56 -08:00
Mygod a755b669c8 Fix code style issues 2018-02-04 15:07:38 -08:00
Mygod ac96e6fc9c Min API 19 -> 21
Fix #1579.
2018-01-18 19:57:30 -08:00
Mygod 6408450b31 Disable unavailable configurations for proxy mode
This prevents user confusion.
2017-12-19 13:45:30 -08:00
Mygod 11dd7112c3 Implement plugin entirely in Kotlin 2017-12-16 16:07:01 -08:00
Mygod d7a11eaa3b Implement direct boot awareness
To do direct boot, important files need to be moved to device storage (i.e. not as safe storage). The only thing sensitive is user credentials (server settings in each profile) and the config file passed to libss-*.so. In order to implement direct boot, at least the active profile has to be moved/copied to device storage.

This commit keeps profile information (and temporary data used by ProfileConfigFragment) and Shadowsocks config in credential storage and move everything else to device storage. In order to make direct boot work, active profile is also copied into device storage and Shadowsocks config file is created in device storage during direct boot. Cleanup of those information is also implemented.

Fixes #1457.

NB:

* `android:directBootAware` can't be used on application element. That seems to be used by system apps.
* Works fine with multi-user;
* Old GSM files are not migrated (see App.kt) to device storage.
2017-12-15 15:36:19 -08:00
Mygod 3e8b254118 Initial draft for porting this project to Gradle + Kotlin
This is one of my stupidest idea ever.
2017-12-03 10:20:57 -08:00