From 4afb3907aaf92406cc7975f4b1b3723e52d4ab6c Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Sat, 7 Jul 2012 11:18:29 +0200 Subject: Fix stale "exiting" status --- src/de/blinkt/openvpn/OpenVpnService.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'src') 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); -- cgit v1.2.3