1275 Commits
Author SHA1 Message Date
Max Lv ee98d64413 Update plugin v2.10.8 2016-07-19 09:14:45 +08:00
Max Lv e9bf3ab34f Bump version 2016-07-19 08:57:57 +08:00
Max Lv 8ddf1febd9 Fix #771 2016-07-19 08:56:58 +08:00
Mygod d005953f8a Update Google Play services 2016-07-18 17:06:19 +08:00
Mygod b5ce788353 Bugfix for previous commit 2016-07-18 15:27:55 +08:00
Mygod 360b425d47 Fix #767 2016-07-18 14:37:18 +08:00
Mygod e638d90ca3 Fix targetSdkVersion in AndroidManifest 2016-07-18 14:18:21 +08:00
Max Lv 2c3b9f820f Fix #769 2016-07-18 11:04:24 +08:00
Mygod cf9cb3127b Merge branch 'master' of github.com:shadowsocks/shadowsocks-android 2016-07-16 13:12:29 +08:00
Mygod 427ca9b181 Remove useless TargetApi 2016-07-16 13:11:24 +08:00
Mygod 2f8c1ab76e Move pdnsd to submodule
For cleaner repository.
2016-07-16 13:10:51 +08:00
Max Lv 781cfb336c Enlarge dexMaxHeap 2016-07-15 09:24:33 +08:00
Max Lv d0117daf6f Fix #759 #760 v2.10.7 2016-07-14 08:58:36 +08:00
Mygod b14ff7082d Remove camera requirement 2016-07-13 11:38:23 +08:00
Max Lv 0e4cfb7a01 Bump version 2016-07-13 09:55:14 +08:00
Max Lv 73996e2ff7 Fix #722 2016-07-13 09:54:40 +08:00
Mygod 76f7306a93 Use Shell.Interactive interactively and removes iptables submodule
The following action will take only one SU request with this commit:

* Start service in NAT mode;
* Reset in NAT mode;
* Flush DNS.

And stopping service in NAT mode doesn't need SU request any more.
2016-07-13 09:42:18 +08:00
Mygod 09220ee335 Reduce notification priority 2016-07-13 00:45:19 +08:00
Mygod 6c992c5937 Refine proguard rules and flushing DNS on Android 4.x
This reverts commit 7a87eab47c.
2016-07-12 18:46:31 +08:00
Mygod 3010ed7a8b Fix incremental builds 2016-07-12 17:13:52 +08:00
Mygod 4fc56e2fea Update dependency 2016-07-12 17:12:05 +08:00
Mygod c92d66d9f3 Revert "Refine #530 again and again" and probably fix #530
This reverts commit b833cb6267.
2016-07-12 15:56:32 +08:00
Max Lv b833cb6267 Refine #530 again and again
Put ShadowsocksRunnerService into :bg process. It helped to solve #530, but
still I'm not sure why it works.

One assumption is that the startService() in BootReceiver helps to ensure :bg
process in a valid state.
2016-07-12 13:36:23 +08:00
Max Lv 9c37f8cae6 Fix #754 2016-07-12 12:17:36 +08:00
Mygod 16f4572839 Use official icons 2016-07-11 22:29:22 +08:00
Mygod 44625ae5b0 Bugfix for DropDownPreference 2016-07-11 20:43:53 +08:00
Mygod 159e1dff78 Bugfix for NAT mode 2016-07-11 19:51:47 +08:00
Mygod 84ac2b06fa Refine #530 again
Have. To. Do. More. Refinements.

Here's what happened in the buggy versions: (I think)

* `BootReceiver` starts which invokes `Utils.startSsService` which starts `ShadowsocksRunnerService`;
* `ShadowsocksRunnerService` binds to `BaseService`;
* 1s after it's connected, it invokes `bgService.use` which returns immediately after pushing `use` in the queue since it's an oneway method;
* Then `stopSelf` => `detachService`, `BaseService` now have nothing bound to it and not started either (neither foreground nor background), so the system can destroy it any time; (at this point, `BaseService.use` isn't invoked yet)
* `com.github.shadowsocks` process then probably exits since booting is a resource-heavy task, anyway it doesn't matter;
* Some time later `com.github.shadowsocks:bg` resumes running, and `BaseService` is stopped and destroyed. Now the system is no longer aware of this `BaseService` instance but it isn't garbage collected yet;
* `use` is finally invoked;
* `startService` is invoked in `startRunner` and the destroyed background service starts running; (bug of Android?)
* `startForeground` is invoked in `ShadowsocksNotification` but the system probably refused it since the service itself is already destroyed;
* When the main activity UI is brought up and requests binding, `com.github.shadowsocks:bg` which is unaware of the existing instance of `BaseService` creates another `BaseService` and thus everything gets messed up.

This commit fixes this by invoking `getState` (which isn't an oneway method) immediately after `use` so that `ShadowsocksRunnerService` will wait for `BaseService` to start itself before destroying itself and its connection to `BaseService`. And thus its return value is not used.
2016-07-11 19:22:54 +08:00
Mygod dcf190c1f5 Bugfix for NumberPickerPreference 2016-07-11 17:51:24 +08:00
Mygod 74a0e397c1 Refine #752 and NumberPickerPreference 2016-07-11 17:49:17 +08:00
Max Lv f35a4b05b5 Fix #752 v2.10.6 2016-07-10 19:22:51 +08:00
Max Lv 82e6266f09 Revert "Disable AutoFocus and Flash"
This reverts commit 9919ead15e.
2016-07-10 16:13:20 +08:00
Max Lv 9919ead15e Disable AutoFocus and Flash 2016-07-10 16:04:43 +08:00
Max Lv f6c4d2ea5e Bump version 2016-07-09 09:38:33 +08:00
Max Lv fce0ffe566 Refine #530 2016-07-09 09:00:00 +08:00
Max Lv 556d8d78bd Revert "Refine #530"
This reverts commit 56de231c4f.
2016-07-09 08:59:13 +08:00
Mygod 929b8c94ae Ignore exceptions while unbinding service 2016-07-08 12:58:11 +08:00
Max Lv 197819e725 Update makefile 2016-07-08 12:42:08 +08:00
Max Lv d3f10dac5e Remove redudant libev source code 2016-07-08 12:19:17 +08:00
Max Lv a21d099a34 Fix #746 v2.10.5 2016-07-08 11:42:10 +08:00
Max Lv ae1e396a5d Update travis-ci 2016-07-06 13:34:34 +08:00
Max Lv 4f79fa16e3 add .jvmopts from @wongsyrone 2016-07-06 13:32:03 +08:00
Max Lv 7a87eab47c Update proguard rules 2016-07-06 12:54:59 +08:00
Mygod 07eb4d2a5c Refine utils.Key for readability 2016-07-05 19:31:58 +08:00
Mygod c480137dec Remove .aidl.Config and persisting SharedPreferences (#742)
Previously a profile can exist in the following forms:

* `.database.Profile` used for everything backend;
* `.ShadowsocksSettings` which uses Preferences to provide UI to tweak settings;
* `.aidl.Config` used for IPC;
* `<data dir>/shared_pref/com.github.shadowsocks_preferences.xml` which exists for no apparent reason.

Thus long code block can be seen whose purpose is simply converting the data from one form to another. This commit intends to remove the latter two by:

1. Using profile ID and take advantage of fs r/w lock SQLite uses for IPC and better extensibility;
2. Stop persisting redundant fields in the preferences file and update database directly.
2016-07-05 01:07:09 -05:00
Max Lv 8515edff60 Update shadowsocks-libev 2016-07-04 12:00:57 +08:00
Mygod 432ab6cc7a Fix the bug where UI is not updated after importing 2016-07-04 10:38:49 +08:00
Max Lv 31ed8480e0 Update libevent 2016-07-04 09:37:26 +08:00
Max Lv 98f1108600 Fix a building issue with clang 2016-07-04 09:35:57 +08:00
Max Lv f8088cd435 Update android ndk 2016-07-03 18:37:09 +08:00