From 3ee5a99c0b560e4bf744804fd27b92db2c581b96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Fri, 11 Dec 2015 14:33:47 -0500
Subject: [PATCH] ui: show activity when accepting call

Tuleap: #178
Change-Id: I3c3c65ad965644c00ce80b3edaef4b7aa1a66a14
---
 .../app/src/main/java/cx/ring/model/Conference.java    | 10 +++++++---
 .../src/main/java/cx/ring/service/LocalService.java    |  3 +++
 2 files changed, 10 insertions(+), 3 deletions(-)

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 26f90f6a5..9cbff39ad 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 d637db222..81361ed86 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: {
-- 
GitLab