Commit Graph
22 Commits
Author SHA1 Message Date
Mygod 36b46d6f32 Refine code style 2018-04-08 20:49:31 -07:00
Mygod dec2059a36 Fix NPE in primaryClip 2018-03-23 00:53:18 -07:00
Mygod f218282e28 Use require* in support library 2018-03-08 22:34:58 -08:00
Mygod a755b669c8 Fix code style issues 2018-02-04 15:07:38 -08:00
Mygod 39530a1a3b Fix a crash if you're trying to do weird thing 2018-02-04 05:41:06 -08:00
Mygod f4d0835e00 Refine error message 2018-02-04 03:16:01 -08:00
Mygod ebcf514323 Handle errors in acl dialog more gracefully 2018-02-04 03:08:01 -08:00
Mygod 5ced42125c Implement ActionMode for CustomRulesFragment 2018-01-27 15:25:29 -08:00
Mygod c86b68c0e6 Add missing flush call in CustomRulesFragment 2017-12-29 22:55:08 +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 a742512892 Fix customRules not saved 2017-12-19 22:50:01 -08:00
Mygod 020a2a5d43 Refine "Catch IOExpections when reading ACLs"
This commit refines 37856ab4d2.
2017-12-19 17:36:12 -08:00
Max Lv 37856ab4d2 Catch IOExpections when reading ACLs 2017-12-18 22:32:42 -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 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 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
Max Lv aa53318408 Refine #1489 2017-12-10 22:51:18 +08:00
Mygod efae2f02d0 Refrain from calculating hardcoded dimensions 2017-12-07 00:05:18 -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