mirror of https://github.com/M66B/NetGuard.git
0.52 beta
This commit is contained in:
parent
cfd56e2e03
commit
61d930eb04
|
@ -9,8 +9,8 @@ model {
|
||||||
applicationId = "eu.faircode.netguard"
|
applicationId = "eu.faircode.netguard"
|
||||||
minSdkVersion.apiLevel = 21
|
minSdkVersion.apiLevel = 21
|
||||||
targetSdkVersion.apiLevel = 23
|
targetSdkVersion.apiLevel = 23
|
||||||
versionCode = 2015120701
|
versionCode = 2015120702
|
||||||
versionName = "0.51"
|
versionName = "0.52"
|
||||||
archivesBaseName = "NetGuard-v$versionName-$versionCode"
|
archivesBaseName = "NetGuard-v$versionName-$versionCode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class SinkholeService extends VpnService {
|
||||||
private boolean last_connected = false;
|
private boolean last_connected = false;
|
||||||
private boolean last_metered = true;
|
private boolean last_metered = true;
|
||||||
private boolean phone_state = false;
|
private boolean phone_state = false;
|
||||||
|
private boolean subscription_state = false;
|
||||||
private ParcelFileDescriptor vpn = null;
|
private ParcelFileDescriptor vpn = null;
|
||||||
private boolean debug = false;
|
private boolean debug = false;
|
||||||
private Thread debugThread = null;
|
private Thread debugThread = null;
|
||||||
|
@ -122,14 +123,25 @@ public class SinkholeService extends VpnService {
|
||||||
String reason = intent.getStringExtra(EXTRA_REASON);
|
String reason = intent.getStringExtra(EXTRA_REASON);
|
||||||
Log.i(TAG, "Executing intent=" + intent + " command=" + cmd + " reason=" + reason + " vpn=" + (vpn != null));
|
Log.i(TAG, "Executing intent=" + intent + " command=" + cmd + " reason=" + reason + " vpn=" + (vpn != null));
|
||||||
|
|
||||||
// Check phone state listener
|
// Listen for phone state changes
|
||||||
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
if (!phone_state && Util.hasPhoneStatePermission(SinkholeService.this)) {
|
if (!phone_state &&
|
||||||
|
Util.hasPhoneStatePermission(SinkholeService.this)) {
|
||||||
tm.listen(phoneStateListener, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE | PhoneStateListener.LISTEN_SERVICE_STATE);
|
tm.listen(phoneStateListener, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE | PhoneStateListener.LISTEN_SERVICE_STATE);
|
||||||
phone_state = true;
|
phone_state = true;
|
||||||
Log.i(TAG, "Listening to service state changes");
|
Log.i(TAG, "Listening to service state changes");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Listen for data SIM changes
|
||||||
|
if (!subscription_state &&
|
||||||
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1 &&
|
||||||
|
Util.hasPhoneStatePermission(SinkholeService.this)) {
|
||||||
|
SubscriptionManager sm = SubscriptionManager.from(SinkholeService.this);
|
||||||
|
sm.addOnSubscriptionsChangedListener(subscriptionsChangedListener);
|
||||||
|
subscription_state = true;
|
||||||
|
Log.i(TAG, "Listening to subscription changes");
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case start:
|
case start:
|
||||||
|
@ -500,12 +512,6 @@ public class SinkholeService extends VpnService {
|
||||||
ifConnectivity.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
ifConnectivity.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||||
registerReceiver(connectivityChangedReceiver, ifConnectivity);
|
registerReceiver(connectivityChangedReceiver, ifConnectivity);
|
||||||
|
|
||||||
// Listen for data SIM changes
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
|
|
||||||
SubscriptionManager sm = SubscriptionManager.from(this);
|
|
||||||
sm.addOnSubscriptionsChangedListener(subscriptionsChangedListener);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Listen for added applications
|
// Listen for added applications
|
||||||
IntentFilter ifPackage = new IntentFilter();
|
IntentFilter ifPackage = new IntentFilter();
|
||||||
ifPackage.addAction(Intent.ACTION_PACKAGE_ADDED);
|
ifPackage.addAction(Intent.ACTION_PACKAGE_ADDED);
|
||||||
|
@ -570,15 +576,18 @@ public class SinkholeService extends VpnService {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||||
unregisterReceiver(idleStateReceiver);
|
unregisterReceiver(idleStateReceiver);
|
||||||
unregisterReceiver(connectivityChangedReceiver);
|
unregisterReceiver(connectivityChangedReceiver);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
|
|
||||||
SubscriptionManager sm = SubscriptionManager.from(this);
|
|
||||||
sm.removeOnSubscriptionsChangedListener(subscriptionsChangedListener);
|
|
||||||
}
|
|
||||||
unregisterReceiver(packageAddedReceiver);
|
unregisterReceiver(packageAddedReceiver);
|
||||||
|
|
||||||
if (phone_state) {
|
if (phone_state) {
|
||||||
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
tm.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE);
|
tm.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE);
|
||||||
|
phone_state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (subscription_state) {
|
||||||
|
SubscriptionManager sm = SubscriptionManager.from(this);
|
||||||
|
sm.removeOnSubscriptionsChangedListener(subscriptionsChangedListener);
|
||||||
|
subscription_state = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vpn != null) {
|
if (vpn != null) {
|
||||||
|
|
Loading…
Reference in New Issue