Skip to content

Commit d4bd103

Browse files
committed
Merge branch 'release/0.3.0'
2 parents 45ceab9 + 3da26d6 commit d4bd103

36 files changed

Lines changed: 7090 additions & 5911 deletions

CHANGES.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
v1.3.0 (2015-10-9)
2+
-----------
3+
* Feature: Support ACL
4+
* Feature: Add App Manager
5+
* Change: Adjust Route policy
6+
7+
18
v1.2.2 (2015-9-16)
29
-----------
310
* Hotfix: crypto initialization

app/build.gradle

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ if(file('../sign.gradle').exists()) {
88
}
99

1010
android {
11-
compileSdkVersion 22
12-
buildToolsVersion "22.0.1"
11+
compileSdkVersion 23
12+
buildToolsVersion "23.0.1"
1313
defaultConfig {
1414
applicationId "io.github.xsocks"
1515
minSdkVersion 18
16-
targetSdkVersion 22
17-
versionCode 120
18-
versionName '1.2.2'
16+
targetSdkVersion 23
17+
versionCode 130
18+
versionName '1.3.0'
1919
}
2020
lintOptions {
2121
abortOnError true
@@ -30,7 +30,7 @@ android {
3030
}
3131
zipAlignEnabled true
3232
minifyEnabled true
33-
shrinkResources true
33+
shrinkResources false
3434
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
3535
}
3636
applicationVariants.all { variant ->
@@ -66,15 +66,17 @@ def appendVersionNameVersionCode(variant, output, defaultConfig) {
6666

6767
dependencies {
6868
compile fileTree(include: ['*.jar'], dir: 'libs')
69-
compile 'com.android.support:appcompat-v7:22.2.0'
69+
compile 'com.android.support:design:23.0.1'
70+
compile 'com.android.support:support-annotations:23.0.1'
7071
compile 'io.reactivex:rxjava:1.0.14'
7172
compile 'io.reactivex:rxandroid:1.0.1'
7273
compile 'io.reactivex:rxjava-async-util:0.21.0'
74+
compile 'com.trello:rxlifecycle:0.3.0'
75+
compile 'com.trello:rxlifecycle-components:0.3.0'
7376
compile('com.mikepenz.materialdrawer:library:2.9.7@aar') {
7477
transitive = true
7578
}
76-
compile 'com.nispok:snackbar:2.10.8'
77-
compile 'commons-net:commons-net:3.3'
7879
compile 'dnsjava:dnsjava:2.1.7'
7980
compile 'com.google.code.gson:gson:2.3.1'
81+
compile 'com.nostra13.universalimageloader:universal-image-loader:1.8.4'
8082
}

app/proguard-rules.pro

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# retrolambda
32
-dontwarn java.lang.invoke.*
43

@@ -7,12 +6,23 @@
76

87
# rxjava
98
-dontwarn rx.internal.util.unsafe.*
10-
11-
# snackbar
12-
-dontwarn com.nispok.snackbar.*
9+
-keep class rx.internal.util.unsafe.** { *; }
1310

1411
# materialdrawer
1512
-dontwarn com.mikepenz.materialdrawer.*
1613

1714
# iconics
18-
-dontwarn com.mikepenz.iconics.*
15+
-dontwarn com.mikepenz.iconics.*
16+
17+
# gson
18+
-keepattributes Signature
19+
-keepattributes *Annotation*
20+
-keep class sun.misc.Unsafe { *; }
21+
-keep class com.google.gson.** { *; }
22+
23+
# universal-image-loader
24+
-dontwarn com.nostra13.universalimageloader.**
25+
-keep class com.nostra13.universalimageloader.** { *; }
26+
27+
# xsocks
28+
-keep class io.github.xsocks.model.** { *; }

app/src/main/AndroidManifest.xml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@
1212
android:required="false" />
1313

1414
<application
15-
android:name="io.github.xsocks.XsocksApplication"
15+
android:name=".XsocksApplication"
1616
android:allowBackup="true"
1717
android:hardwareAccelerated="true"
1818
android:icon="@mipmap/ic_launcher"
1919
android:label="@string/app_name"
2020
android:theme="@style/AppTheme" >
2121

2222
<activity
23-
android:name="io.github.xsocks.ui.MainActivity"
23+
android:name=".ui.MainActivity"
2424
android:label="@string/app_name"
2525
android:launchMode="singleTask" >
2626
<intent-filter>
@@ -30,18 +30,28 @@
3030
</activity>
3131

3232
<activity
33-
android:name="io.github.xsocks.ui.AboutActivity"
33+
android:name=".ui.AppManagerActivity"
34+
android:label="@string/title_activity_app_manager"
35+
android:parentActivityName=".ui.MainActivity">
36+
<intent-filter>
37+
<action android:name="io.github.xsocks.ui.AppManagerActivity"/>
38+
<category android:name="android.intent.category.DEFAULT"/>
39+
</intent-filter>
40+
</activity>
41+
42+
<activity
43+
android:name=".ui.AboutActivity"
3444
android:label="@string/about" >
3545
</activity>
3646

3747
<activity
38-
android:name="io.github.xsocks.ui.XsocksRunnerActivity"
48+
android:name=".ui.XsocksRunnerActivity"
3949
android:launchMode="singleTask"
4050
android:theme="@android:style/Theme.NoDisplay" >
4151
</activity>
4252

4353
<service
44-
android:name="io.github.xsocks.service.XsocksVpnService"
54+
android:name=".service.XsocksVpnService"
4555
android:enabled="true"
4656
android:exported="false"
4757
android:label="@string/app_name"
@@ -51,7 +61,7 @@
5161
</intent-filter>
5262
</service>
5363

54-
<receiver android:name="io.github.xsocks.XsocksReceiver" >
64+
<receiver android:name=".XsocksReceiver" >
5565
<intent-filter>
5666
<action android:name="android.intent.action.BOOT_COMPLETED" />
5767
<action android:name="io.github.xsocks.ACTION_UPDATE_STATE" />

app/src/main/java/io/github/xsocks/model/Profile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class Profile {
1919
private String route = "all";
2020
@SerializedName("global")
2121
private boolean global = true;
22-
@SerializedName("bypass")
22+
@SerializedName("route_bypass")
2323
private boolean bypass = false;
2424
@SerializedName("udpdns")
2525
private boolean udpdns = false;
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package io.github.xsocks.model;
2+
3+
public class ProxiedApp {
4+
private int uid;
5+
private String name;
6+
private String packageName;
7+
private boolean proxied;
8+
9+
public ProxiedApp(int uid, String name, String packageName, boolean proxied) {
10+
this.uid = uid;
11+
this.name = name;
12+
this.packageName = packageName;
13+
this.proxied = proxied;
14+
}
15+
16+
public int getId() {
17+
return uid;
18+
}
19+
20+
public String getName() {
21+
return name;
22+
}
23+
24+
public String getPackageName() {
25+
return packageName;
26+
}
27+
28+
public boolean getProxied() {
29+
return proxied;
30+
}
31+
32+
public void setProxied(boolean proxied) {
33+
this.proxied = proxied;
34+
}
35+
}

0 commit comments

Comments
 (0)