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
Max Lv
3c62d70650
Fix #1489
2017-12-08 12:05:52 +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
9fd86fe8b8
Fix #1487
2017-12-06 23:38:41 -08:00
Mygod
6608355e63
Fix a crash when reordering profiles
2017-12-06 23:25:54 -08:00
Mygod
b622545c4b
Remove the useless sleep
2017-12-06 21:58:48 -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
f49d3cb443
Save LocalSocket instance from getting GC
2017-12-06 19:01:35 -08:00
Mygod
baa2fdeb1f
Refine profile item layout
2017-12-06 18:06:43 -08:00
Mygod
334cd5ea1e
Fix issues with keeping compatibility with old databases
2017-12-06 17:32:39 -08:00
Mygod
6ee86a20e1
Fix GridLayout on Android 4.4
2017-12-06 17:23:29 -08:00
Mygod
82276fe77f
Fix default profile not displayed on first launch
2017-12-06 16:57:51 -08:00
Mygod
c013284b1b
Fix LocalSocketListener on debug builds
...
I have no idea what I'm doing. Somebody please explain.
2017-12-06 16:57:40 -08:00
Mygod
8e126511de
Revert "Remove file socket on thread finishes"
...
This reverts commit 8c55630e9b .
2017-12-06 16:31:06 -08:00
Mygod
8c55630e9b
Remove file socket on thread finishes
2017-12-06 16:22:18 -08:00
Mygod
b808920e6c
Fix EBADF error caused by race condition
2017-12-06 16:08:44 -08:00
Mygod
e19e629487
Move catch blocks to child classes
...
This reverts commit 07a48bc20b and f870093c94 .
2017-12-06 16:07:37 -08:00
Mygod
79d2290d28
Use thread with exception handling in GuardedProcess
2017-12-06 15:18:49 -08:00
Max Lv
07a48bc20b
Refine the local socket closing logic
2017-12-06 02:42:59 -08:00