aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java16
1 files changed, 10 insertions, 6 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 bf710f03b..d3077f7ff 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
@@ -290,7 +290,7 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
private void addNotification()
{
mShowNotification = true;
- startForeground(VPN_STATE_NOTIFICATION_ID, buildNotification());
+ startForeground(VPN_STATE_NOTIFICATION_ID, buildNotification(false));
}
/**
@@ -302,11 +302,10 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
stopForeground(true);
}
-
/**
* Build a notification matching the current state
*/
- private Notification buildNotification()
+ private Notification buildNotification(boolean publicVersion)
{
VpnProfile profile = mService.getProfile();
State state = mService.getState();
@@ -318,10 +317,10 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
name = profile.getName();
}
android.support.v4.app.NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
- .setContentText(name)
.setSmallIcon(R.drawable.ic_notification)
.setCategory(NotificationCompat.CATEGORY_SERVICE)
- .setVisibility(NotificationCompat.VISIBILITY_SECRET);
+ .setVisibility(publicVersion ? NotificationCompat.VISIBILITY_PUBLIC
+ : NotificationCompat.VISIBILITY_PRIVATE);
int s = R.string.state_disabled;
if (error != ErrorState.NO_ERROR)
{
@@ -349,6 +348,11 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
}
}
builder.setContentTitle(getString(s));
+ if (!publicVersion)
+ {
+ builder.setContentText(name);
+ builder.setPublicVersion(buildNotification(true));
+ }
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
PendingIntent pending = PendingIntent.getActivity(getApplicationContext(), 0, intent,
@@ -362,7 +366,7 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
if (mShowNotification)
{
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
- manager.notify(VPN_STATE_NOTIFICATION_ID, buildNotification());
+ manager.notify(VPN_STATE_NOTIFICATION_ID, buildNotification(false));
}
}