Commit Graph
10 Commits
Author SHA1 Message Date
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 9352f2dfe7 Fix SubnetTest 2017-12-14 12:41:09 -08:00
Mygod efae2f02d0 Refrain from calculating hardcoded dimensions 2017-12-07 00:05:18 -08:00
Mygod d5c1455a00 Replace Toast.position with TooltipCompat 2017-12-06 23:57:17 -08:00
Mygod c124e1e8ef Misc refinements
* Refine Kotlin codes;
* Support RTL;
* Use VectorDrawable for notification;
* Remove redundant resources;
* Better IDE integration.
2017-12-06 19:46:26 -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
Mygod 8b57b53788 Misc refinements 2017-07-29 14:36:51 +08:00
Max Lv 52499f5c2d Add local DNS to dns list. #1281 2017-07-19 16:22:03 +08:00
Mygod 0ffae32a44 Implement plugin interface in mobile app 2017-01-16 22:30:26 +08:00
Mygod 1887c6ffb0 Initial commit for plugin library
See spec at #1073.
2017-01-13 20:20:33 +08:00