From 64c2d3ca3eeb9563374592c54f4226e14c44d477 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Mon, 3 Jul 2017 12:08:57 +0200 Subject: [PATCH] android: Only show disconnect button if actually connected --- .../android/logic/CharonVpnService.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java index cfed2e384e..5ef5e87317 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java @@ -326,6 +326,7 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe State state = mService.getState(); ErrorState error = mService.getErrorState(); String name = ""; + boolean add_action = false; if (profile != null) { @@ -351,11 +352,13 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe s = R.string.state_connecting; builder.setSmallIcon(R.drawable.ic_notification_warning); builder.setColor(ContextCompat.getColor(this, R.color.warning_text)); + add_action = true; break; case CONNECTED: s = R.string.state_connected; builder.setColor(ContextCompat.getColor(this, R.color.success_text)); builder.setUsesChronometer(true); + add_action = true; break; case DISCONNECTING: s = R.string.state_disconnecting; @@ -365,11 +368,14 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe builder.setContentTitle(getString(s)); if (!publicVersion) { - Intent intent = new Intent(getApplicationContext(), MainActivity.class); - intent.setAction(MainActivity.DISCONNECT); - PendingIntent pending = PendingIntent.getActivity(getApplicationContext(), 0, intent, - PendingIntent.FLAG_UPDATE_CURRENT); - builder.addAction(R.drawable.ic_notification_disconnect, getString(R.string.disconnect), pending); + if (add_action) + { + Intent intent = new Intent(getApplicationContext(), MainActivity.class); + intent.setAction(MainActivity.DISCONNECT); + PendingIntent pending = PendingIntent.getActivity(getApplicationContext(), 0, intent, + PendingIntent.FLAG_UPDATE_CURRENT); + builder.addAction(R.drawable.ic_notification_disconnect, getString(R.string.disconnect), pending); + } builder.setContentText(name); builder.setPublicVersion(buildNotification(true)); } -- 2.47.2