Commit Graph
84 Commits
Author SHA1 Message Date
Mygod c86b68c0e6 Add missing flush call in CustomRulesFragment 2017-12-29 22:55:08 +08:00
Mygod 56728a3f40 Hide profileName in secure lock screen 2017-12-29 22:43:01 +08:00
Mygod cc070223b4 Add doc for ServiceNotification 2017-12-29 22:32:07 +08:00
Mygod 0335d67dba Add animation for bottom bar during Snackbar transitions
Fix #1036 the one-year-old issue.

There are still some subtle blackness during the exit animation. Unfortunately this is something I am not able to fix as I don't and probably won't ever have enough knowledge about Android's drawing passes. Anyway this still looks much better than before.
2017-12-29 20:58:02 +08:00
Mygod e03c34aa19 Refine bottom sheet paddings
Matches design in Google Authenticator app.
2017-12-27 12:28:21 +08:00
Mygod db011afcc0 Fix connected button not rendered correctly 2017-12-27 12:11:32 +08:00
Mygod ebe4d6fd0c Disable swipe to remove in selection mode 2017-12-27 11:47:46 +08:00
Mygod cb9356e5e0 Refine acls 2017-12-27 11:43:17 +08:00
Mygod 582a6e441b Revert "Donwload fonts through support library. #1515"
This reverts commit 6c89207eff.
2017-12-23 09:20:19 +08:00
Max Lv 6c89207eff Donwload fonts through support library. #1515 2017-12-22 00:29:31 -08:00
Mygod a742512892 Fix customRules not saved 2017-12-19 22:50:01 -08:00
Mygod 8b0c8168f8 Use JvmOverloads for BoundedGridLayout 2017-12-19 17:40:46 -08:00
Mygod 020a2a5d43 Refine "Catch IOExpections when reading ACLs"
This commit refines 37856ab4d2.
2017-12-19 17:36:12 -08:00
Mygod ef519a8581 Clean up ServiceButton related code 2017-12-19 17:31:15 -08:00
Mygod 540b1d3710 Add some sweet animation to replace old circular progress 2017-12-19 17:01:11 -08:00
Mygod 157a750e53 Remove the unmaintained fab progress circle 2017-12-19 15:24:39 -08:00
Mygod 6408450b31 Disable unavailable configurations for proxy mode
This prevents user confusion.
2017-12-19 13:45:30 -08:00
Mygod 536a1b4bbe Refrain from using private APIs for parseNumericAddress 2017-12-19 13:10:15 -08:00
Max Lv 37856ab4d2 Catch IOExpections when reading ACLs 2017-12-18 22:32:42 -08:00
Mygod f381ad6300 Fix crash when no profile is selected 2017-12-17 05:53:35 -08:00
Mygod b25e9a0905 Fix unit tests 2017-12-17 05:35:33 -08:00
Mygod 922eb8b202 Faster VPN connection and less wait
I just saved everyone ~0.9s every VPN connection.
2017-12-17 05:04:40 -08:00
Mygod 1010edc561 Speed up Acl.fromReader
It should run 9x faster than before now.

Past mistakes:

* InetAddress.parseNumericAddress throws TWO exceptions underthehood if the string passed is invalid. This caused a huge overhead;
* CharSequence.split in Kotlin is EXTREMELY SLOW.
2017-12-17 04:43:19 -08:00
Mygod bc22b0c481 Speed up AppManager
Also solves a cache problem.
2017-12-17 02:16:04 -08:00
Mygod 1bea09c5c6 Remove unnecessary call to linkToDeath 2017-12-17 01:36:20 -08:00
Mygod 5c252a2895 Fix incorrect back button color 2017-12-17 01:20:38 -08:00
Mygod 8ee9331222 Improve performance of reordering profiles 2017-12-17 00:21:31 -08:00
Mygod 870fd9e652 Move custom-rules.acl to PublicDatabase
Less files to backup. Less constants to keep track of.
2017-12-16 23:50:54 -08:00
Mygod e5cd145b24 Remove unnecessary bypassHostnames in Acl
Fix #1505
2017-12-16 22:38:47 -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 14ac54c2de Add support for Auto Backup for Apps 2017-12-15 12:21:30 -08:00
Max Lv 96c86b2441 Make QR code dialog public #1500 2017-12-14 20:04:37 -08:00
Mygod 30b56c97ea Add more tests, fix lint errors and add check to travis 2017-12-14 14:55:00 -08:00
Mygod 9352f2dfe7 Fix SubnetTest 2017-12-14 12:41:09 -08:00
Mygod 9a2643ec2c Add missing error message 2017-12-14 12:00:13 -08:00
Mygod 5c2d548dee Reduce the number of default methods 2017-12-14 12:00:13 -08:00
Mygod 2fa8bc7f41 Refine #1500 2017-12-14 12:00:13 -08:00
Mygod 94527ea460 Refine #1497 2017-12-14 12:00:13 -08:00
Mygod 9259789fb9 Refine #1481 2017-12-14 12:00:13 -08:00
Max Lv b88f836616 Refine #1489 2017-12-13 23:35:10 +08:00
Max Lv c3bbd09ef3 Fix #1500 2017-12-13 22:32:37 +08:00
Max Lv ea7ede033d Fix #1497 2017-12-13 02:06:20 -08:00
Max Lv 956443ef28 Fix the shortcut #1481 2017-12-12 23:45:22 -08:00
Max Lv 9aa0a4e3c5 Fix a potential issue in localSocket 2017-12-11 10:51:17 +08:00
Max Lv aa53318408 Refine #1489 2017-12-10 22:51:18 +08:00
Max Lv 5bc7200d21 Fix the exception when addAllowedApplication 2017-12-09 23:02:45 +08:00
Mygod f5a8513b00 Refine padding in profile item 2017-12-08 17:59:17 -08:00
Mygod 97e93552c6 Always proxy the app itself
No need to keep a confusing option. Fix #1484.
2017-12-08 17:37:11 -08:00
Mygod 497a74760d Refine #1489 2017-12-08 17:24:29 -08:00