Commit Graph
139 Commits
Author SHA1 Message Date
Mygod c64e15acad Catch URISyntaxException 2018-03-23 01:32:25 -07:00
Mygod 9ff33ec1fd Fix IllegalArgumentException thrown by Base64.decode 2018-03-23 01:08:33 -07:00
Mygod a1aed680fd Fix IllegalStateException in Profile.findAll 2018-03-23 00:54:47 -07:00
Mygod dec2059a36 Fix NPE in primaryClip 2018-03-23 00:53:18 -07:00
Mygod 74e2935f1e Actually use underlying network 2018-03-23 00:23:13 -07:00
Mygod 0af450008b Implement network capabilities reporting
This commit should fix the problem where VPN connection is viewed as metered connections on Android P DP1. However as I only have an emulator to test, I can't tell if it really works but it should.

An interesting observation is that the developer can call setUnderlyingNetworks(arrayOfNulls(1)) to make the VPN connection always unmetered. This is more of a quick hack instead of a real fix. Source: https://android.googlesource.com/platform/frameworks/base/+/adbf1d0/services/core/java/com/android/server/connectivity/Vpn.java#312

One may ask whether it's possible to fix this issue for Android 8.1. The short answer is not that I know of.
After some intensive source code reading, I found out that this is the commit that "breaks" whether VPN is metered for Android 8.1: https://android.googlesource.com/platform/frameworks/base/+/43d2a1700b6eb1d804924c6a1e5e0161a13a5348%5E%21/
The key is that isActiveNetworkMetered() used to return getActiveNetworkInfo().isMetered() and now it uses the more up-to-date API getActiveNetwork(). However, getActiveNetworkInfo() ignores VPN connections while getActiveNetwork() prefers VPN connection. And since NetworkCapabilities for VPN Network is always metered by default, this ultimately causes the bug. One might be able to get around this bug by somehow calling NetworkAgent.sendNetworkCapabilities in the correct context.

Fix #1666.
2018-03-22 23:40:15 -07:00
Mygod 75bc9334ef Fix #1691 2018-03-22 23:05:02 -07:00
Mygod ec803d9859 Fix assert not working 2018-03-17 14:20:48 -07:00
Mygod f63842f773 Fix signature checks in ResolvedPlugin 2018-03-08 23:44:29 -08:00
Mygod f218282e28 Use require* in support library 2018-03-08 22:34:58 -08:00
Max Lv cad258da6e Fix the building error 2018-03-01 21:51:49 -08:00
Mygod 39a0a61da2 Allow using TileService in direct boot mode 2018-02-22 11:56:26 -08:00
Mygod 510098911e Fix domain name display in TileService 2018-02-17 20:35:09 -08:00
Mygod 201bb4fe58 Remove unnecessary tint in TileService 2018-02-17 14:13:08 -08:00
Mygod 026d1ecb2b Fix receiver leaking 2018-02-15 15:34:56 -08:00
Mygod 7461d3bf30 Fix listenForPackageChanges for upgrades again 2018-02-14 00:18:49 -08:00
Mygod 4483765b2d Fix listenForPackageChanges 2018-02-14 00:00:15 -08:00
Mygod f75b54699a Use Google mobile vision API to scan QR codes as well
Interestingly even though multiple QR code isn't enabled, if there are two QR codes in the picture they will all get scanned.
2018-02-11 02:26:23 -08:00
Mygod 22ffcc53bb Refine QR code decoding 2018-02-11 01:55:14 -08:00
Max Lv b69c20d086 Use mobile vision APIs for QR code from files 2018-02-10 03:46:47 -08:00
Max Lv c71c6ffe02 Fix a crash in QuickToggle 2018-02-05 16:58:45 -08:00
Max Lv 439d56d1d7 Remove the return value in traffic IPC 2018-02-05 01:38:45 -08:00
Mygod 81f35acf20 Let Zxing try harder 2018-02-05 00:11:50 -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 b91d9474d5 Support importing from file
Now scanning QR codes on camera-less devices actually do sth.
2018-02-04 05:35:03 -08:00
Mygod d23be09cb0 Add snackbars everywhere 2018-02-04 04:29:54 -08:00
Mygod 4a97ff1d30 Makes less noise while stopping service 2018-02-04 04:14:39 -08:00
Mygod 88fc092aa2 Get rid of postDelayeds
FASTER!
2018-02-04 04:12:17 -08:00
Mygod d715f7b4c6 Fix another crash 2018-02-04 04:08:46 -08:00
Mygod 7cc3c48240 Fix translucent style 2018-02-04 04:08:34 -08:00
Mygod 26fb0e5e3c Prevent ANR for TFO 2018-02-04 03:35:10 -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 3975f3f43c Disconnect as soon as binder died 2018-02-03 22:24:42 -08:00
Mygod be79e6f80c Suppress crash if platform does not support jobs
This is apparently an issue for some HTC devices.
2018-02-03 21:07:48 -08:00
Mygod 0046ed87d5 Fix a crash on Android 6.0 2018-02-03 20:56:55 -08:00
Mygod 7a49ddc045 Fix #1612 2018-01-28 00:09:01 -08:00
Mygod 5ced42125c Implement ActionMode for CustomRulesFragment 2018-01-27 15:25:29 -08:00
Mygod 3f88b46353 Retire tablet layout
Google doesn't care for tablets either.
2018-01-27 15:09:07 -08:00
Max Lv c63a659d88 Fix remote DNS 2018-01-24 18:21:32 +08:00
Mygod daea4b5f6c Refine connection tests 2018-01-24 00:14:21 -08:00
Max Lv 8e7ddaebbd Add OpenDNS into the primary list 2018-01-23 23:10:01 -08:00
Max Lv e2c29594f2 Set different timeouts 2018-01-22 19:04:00 -08:00
Mygod ac96e6fc9c Min API 19 -> 21
Fix #1579.
2018-01-18 19:57:30 -08:00
Max Lv 7297a2664c Avoid problematic local DNS resolver 2018-01-16 23:17:00 -08:00
Mygod 195e2afbeb Fix keyboard navigations 2018-01-15 22:24:08 -08:00
Mygod 580ce14809 Refine animations 2018-01-15 21:01:29 -08:00
Mygod d4213e8ee8 Remove checkChineseLocale
This was introduced by commit 396d31a0a7. I just did some further testing and:

* zh_rCN and zh_rTW are the only zh locales you can pick before Android 7;
* Since Android 7, user can use locale list to specify their fallback preferences and there's no need to enforce it.

Therefore this method isn't really necessary and will be thus removed.
2018-01-15 19:58:16 -08:00
Mygod f9b29acd82 Update notification channels on configuration change 2018-01-14 06:22:58 +08:00