diff --git a/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.java b/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.java index c0fa79699..1dacf3f3c 100644 --- a/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.java +++ b/android/sdk/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.java @@ -132,6 +132,7 @@ public class JitsiMeetOngoingConferenceService extends Service public void onCurrentConferenceChanged(String conferenceUrl) { if (conferenceUrl == null) { stopSelf(); + OngoingNotification.resetStartingtime(); JitsiMeetLogger.i(TAG + "Service stopped"); } } diff --git a/android/sdk/src/main/java/org/jitsi/meet/sdk/OngoingNotification.java b/android/sdk/src/main/java/org/jitsi/meet/sdk/OngoingNotification.java index bee8d4c91..eb7a81d20 100644 --- a/android/sdk/src/main/java/org/jitsi/meet/sdk/OngoingNotification.java +++ b/android/sdk/src/main/java/org/jitsi/meet/sdk/OngoingNotification.java @@ -43,6 +43,7 @@ class OngoingNotification { private static final String CHANNEL_NAME = "Ongoing Conference Notifications"; static final int NOTIFICATION_ID = new Random().nextInt(99999) + 10000; + private static long startingTime = 0; static void createOngoingConferenceNotificationChannel() { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { @@ -85,6 +86,10 @@ class OngoingNotification { NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID); + if (startingTime == 0) { + startingTime = System.currentTimeMillis(); + } + builder .setCategory(NotificationCompat.CATEGORY_CALL) .setContentTitle(context.getString(R.string.ongoing_notification_title)) @@ -92,6 +97,8 @@ class OngoingNotification { .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setContentIntent(pendingIntent) .setOngoing(true) + .setWhen(startingTime) + .setUsesChronometer(true) .setAutoCancel(false) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setOnlyAlertOnce(true) @@ -110,6 +117,10 @@ class OngoingNotification { return builder.build(); } + static void resetStartingtime() { + startingTime = 0; + } + private static NotificationCompat.Action createAction(Context context, JitsiMeetOngoingConferenceService.Action action, @StringRes int titleId) { Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class); intent.setAction(action.getName());