summaryrefslogtreecommitdiff
path: root/src/de/blinkt/openvpn/OpenVpnService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/blinkt/openvpn/OpenVpnService.java')
-rw-r--r--src/de/blinkt/openvpn/OpenVpnService.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/de/blinkt/openvpn/OpenVpnService.java b/src/de/blinkt/openvpn/OpenVpnService.java
index 3c836afa..c50196b8 100644
--- a/src/de/blinkt/openvpn/OpenVpnService.java
+++ b/src/de/blinkt/openvpn/OpenVpnService.java
@@ -53,12 +53,12 @@ public class OpenVpnService extends VpnService implements StateListener {
private Thread mSocketManagerThread;
private int mMtu;
private String mLocalIPv6=null;
- private Notification mNotification=null;
-
private NetworkSateReceiver mNetworkStateReceiver;
private boolean mDisplayBytecount=false;
+ private boolean mNotificationvisible;
+
private static final int OPENVPN_STATUS = 1;
@Override
@@ -72,7 +72,7 @@ public class OpenVpnService extends VpnService implements StateListener {
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
mNotificationManager.cancel(OPENVPN_STATUS);
-
+ mNotificationvisible=false;
}
private void showNotification(String msg, String tickerText) {
String ns = Context.NOTIFICATION_SERVICE;
@@ -95,12 +95,10 @@ public class OpenVpnService extends VpnService implements StateListener {
if(tickerText!=null)
nbuilder.setTicker(tickerText);
- mNotification = nbuilder.getNotification();
-
+ Notification notification = nbuilder.getNotification();
-
-
- mNotificationManager.notify(OPENVPN_STATUS, mNotification);
+ mNotificationManager.notify(OPENVPN_STATUS, notification);
+ mNotificationvisible=true;
}
@@ -394,6 +392,12 @@ public class OpenVpnService extends VpnService implements StateListener {
}
}
+ // Skip exiting status if the status is already hidden
+ if("EXITING SIGINT".equals(state) && !mNotificationvisible) {
+ return;
+ }
+
+
if("BYTECOUNT".equals(state)) {
if(mDisplayBytecount) {
showNotification(logmessage,null);