From d0ed8ee89e150cd063185d724a7a7e88e4d9dc25 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 13 Jun 2017 16:21:50 +0200 Subject: [PATCH] android: Add disconnect button to notification --- .../android/logic/CharonVpnService.java | 5 +++++ .../drawable-hdpi/ic_notification_disconnect.png | Bin 0 -> 584 bytes .../drawable-mdpi/ic_notification_disconnect.png | Bin 0 -> 390 bytes .../drawable-xhdpi/ic_notification_disconnect.png | Bin 0 -> 794 bytes 4 files changed, 5 insertions(+) create mode 100644 src/frontends/android/app/src/main/res/drawable-hdpi/ic_notification_disconnect.png create mode 100644 src/frontends/android/app/src/main/res/drawable-mdpi/ic_notification_disconnect.png create mode 100644 src/frontends/android/app/src/main/res/drawable-xhdpi/ic_notification_disconnect.png 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 235681772e..ecc69aed84 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 @@ -365,6 +365,11 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe builder.setContentTitle(getString(s)); if (!publicVersion) { + Intent intent = new Intent(getApplicationContext(), CharonVpnService.class); + intent.setAction(CharonVpnService.DISCONNECT_ACTION); + PendingIntent pending = PendingIntent.getService(getApplicationContext(), 0, intent, + PendingIntent.FLAG_ONE_SHOT); + builder.addAction(R.drawable.ic_notification_disconnect, getString(R.string.disconnect), pending); builder.setContentText(name); builder.setPublicVersion(buildNotification(true)); } diff --git a/src/frontends/android/app/src/main/res/drawable-hdpi/ic_notification_disconnect.png b/src/frontends/android/app/src/main/res/drawable-hdpi/ic_notification_disconnect.png new file mode 100644 index 0000000000000000000000000000000000000000..1c94d195fe1b7532ca3688a915684c94f42e3707 GIT binary patch literal 584 zc-jF-0=NB%P)Vuc3K0vxAp`;ml2*xvlp*zQ z&cFya!*1MpsErp6i#qr0*|Yb~TqBWFoZ^V#d0rGq134hiuk3U5kRoD06&L~=!1ewH z`@9AQKxMDuK;8u2Jh^xU8m5ILfw9lczJM9f2YUQEDElZ`aZcwZWnohEWR=649V${d*o#t zy49^26AoEq@zkU@+40Wn!VHEg3POK=7}_>7{eVpfD_tU92j zfEU3jTau$DIKw8;q|O+7DTrb&%~|*TGgGq~Eb?`(AjUE==%;*M-*%sxvK^frGwkeR z2Qt~mXiT)638<+y>AtYRYNxgDf36L_c{%|i96sdPQmt)BoW&310>5Ss`rrN($Bthl W=Aly8Iu*tM0000w=*m7o5!B`WCDNnczOwyersacoysg3&EV@+OzW&j{aQ%;C)0Z@B`z#+bufxB{fq za2sO|_meUwWrPhu9wW?~Xmi&q8e=vIF-JRvJ9LpA1Yf*_Jixq-MjNeO)y+Ldg&~NK z`4LUmcOGTdu$vTj@{iNdj)$Y%LFh#7QLbW;ZS@IjpJ+2$}d0mb+7^A+)|Y#XRkRGo9+ zMM&{Vb-EB$sof^nTc6+lBjS5BpIsK8TeS&zs1V!$O`a20D_%M5)DwFzZomfMS|K<} zO1$ECB5twuae{V>fFD9{8;$R}@XN&sToBH0LL}@H{!7AlFi!9(;ru#D@yszR{3qfF zm=?}6q4&Ior|7bPf=vnaCEl=whFp^PeaM70@O>0qd6zPJ5PHvRIFA*sO6-XS)qZi1 zy-ZMiGqS2Fw(RAT2%hn?VP zVxDsi&uuXAVmp~~f==uMx;wGR8M=y7KS50qpYAu0