diff --git a/ring-android/app/src/main/java/cx/ring/model/Conference.java b/ring-android/app/src/main/java/cx/ring/model/Conference.java index 26f90f6a5b9247c4f8a8d6e85924a69cd1dd3a7b..9cbff39ad96bec710566ff158943212660817a27 100644 --- a/ring-android/app/src/main/java/cx/ring/model/Conference.java +++ b/ring-android/app/src/main/java/cx/ring/model/Conference.java @@ -251,6 +251,12 @@ public class Conference { messages.add(sipMessage); } + public Intent getViewIntent(Context ctx) + { + final Uri conf_uri = Uri.withAppendedPath(CONTENT_URI, getId()); + return new Intent(Intent.ACTION_VIEW).setData(conf_uri).setClass(ctx, CallActivity.class); + } + public void showCallNotification(Context ctx) { NotificationManagerCompat notificationManager = NotificationManagerCompat.from(ctx); @@ -260,11 +266,9 @@ public class Conference { return; SipCall call = getParticipants().get(0); CallContact contact = call.getContact(); - final Uri conf_uri = Uri.withAppendedPath(CONTENT_URI, getId()); final Uri call_uri = Uri.withAppendedPath(SipCall.CONTENT_URI, call.getCallId()); PendingIntent goto_intent = PendingIntent.getActivity(ctx, new Random().nextInt(), - new Intent(Intent.ACTION_VIEW).setData(conf_uri).setClass(ctx, CallActivity.class), - PendingIntent.FLAG_ONE_SHOT); + getViewIntent(ctx), PendingIntent.FLAG_ONE_SHOT); NotificationCompat.Builder noti = new NotificationCompat.Builder(ctx); if (isOnGoing()) { diff --git a/ring-android/app/src/main/java/cx/ring/service/LocalService.java b/ring-android/app/src/main/java/cx/ring/service/LocalService.java index d637db222846569fa8d00cebf7f5369d572ea401..81361ed8641c6ad8495c2a52382b6c4888fa4252 100644 --- a/ring-android/app/src/main/java/cx/ring/service/LocalService.java +++ b/ring-android/app/src/main/java/cx/ring/service/LocalService.java @@ -1140,6 +1140,9 @@ public class LocalService extends Service implements SharedPreferences.OnSharedP e.printStackTrace(); } updateAudioState(); + Conference conf = getConference(call_id); + if (!conf.mVisible) + startActivity(conf.getViewIntent(LocalService.this).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); break; } case ACTION_CALL_REFUSE: {