Skip to content

Commit 3175c16

Browse files
author
sm-deployer
authored
Merge pull request #433 from salemove/feature/MOB-1822_auto_accept_call_visualizer_engagement
2 parents 28cda7d + e24570b commit 3175c16

File tree

4 files changed

+32
-0
lines changed

4 files changed

+32
-0
lines changed

widgetssdk/src/main/java/com/glia/widgets/GliaWidgets.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.glia.androidsdk.GliaConfig;
1010
import com.glia.androidsdk.GliaException;
1111
import com.glia.androidsdk.RequestCallback;
12+
import com.glia.androidsdk.omnibrowse.Omnibrowse;
1213
import com.glia.androidsdk.visitor.Authentication;
1314
import com.glia.androidsdk.visitor.VisitorInfoUpdateRequest;
1415
import com.glia.widgets.chat.adapter.CustomCardAdapter;
@@ -137,6 +138,7 @@ public synchronized static void init(GliaWidgetsConfig gliaWidgetsConfig) {
137138
Dependencies.glia().init(createGliaConfig(gliaWidgetsConfig));
138139
Dependencies.init();
139140
Dependencies.getGliaThemeManager().applyJsonConfig(gliaWidgetsConfig.getUiJsonRemoteConfig());
141+
listenCallVisualizerEvents();
140142
Logger.d(TAG, "init");
141143
}
142144

@@ -163,6 +165,23 @@ private static void setAuthorization(
163165
}
164166
}
165167

168+
private static void listenCallVisualizerEvents() {
169+
Dependencies.glia().getCallVisualizer().on(Omnibrowse.Events.ENGAGEMENT_REQUEST, engagementRequest -> {
170+
Consumer<GliaException> onResult = error -> {
171+
if (error != null) {
172+
Logger.e(TAG, "Error during accepting engagement request, reason" + error.getMessage());
173+
} else {
174+
Logger.d(TAG, "Incoming Call Visualizer engagement auto accepted");
175+
}
176+
};
177+
engagementRequest.accept((String) null, onResult);
178+
});
179+
180+
Dependencies.glia().getCallVisualizer().on(Omnibrowse.Events.ENGAGEMENT, engagement -> {
181+
Logger.d(TAG, "New Call Visualizer engagement started");
182+
});
183+
}
184+
166185
/**
167186
* Accepts permissions request results.
168187
*

widgetssdk/src/main/java/com/glia/widgets/di/GliaCore.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.glia.androidsdk.comms.EngagementOptions;
1717
import com.glia.androidsdk.engagement.Survey;
1818
import com.glia.androidsdk.fcm.PushNotifications;
19+
import com.glia.androidsdk.omnibrowse.Omnibrowse;
1920
import com.glia.androidsdk.queuing.Queue;
2021
import com.glia.androidsdk.queuing.QueueTicket;
2122
import com.glia.androidsdk.site.SiteInfo;
@@ -93,4 +94,6 @@ void submitSurveyAnswers(@NonNull List<Survey.Answer> answers,
9394
void getOperator(@NonNull String operatorId, @NonNull RequestCallback<Operator> callback);
9495

9596
Authentication getAuthentication(@NonNull Authentication.Behavior behavior);
97+
98+
Omnibrowse getCallVisualizer();
9699
}

widgetssdk/src/main/java/com/glia/widgets/di/GliaCoreImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.glia.androidsdk.comms.EngagementOptions;
1717
import com.glia.androidsdk.engagement.Survey;
1818
import com.glia.androidsdk.fcm.PushNotifications;
19+
import com.glia.androidsdk.omnibrowse.Omnibrowse;
1920
import com.glia.androidsdk.queuing.Queue;
2021
import com.glia.androidsdk.queuing.QueueTicket;
2122
import com.glia.androidsdk.site.SiteInfo;
@@ -186,4 +187,9 @@ public void getOperator(@NonNull String operatorId, @NonNull RequestCallback<Ope
186187
public Authentication getAuthentication(@NonNull Authentication.Behavior behavior) {
187188
return new Authentication(Glia.authentication(behavior));
188189
}
190+
191+
@Override
192+
public Omnibrowse getCallVisualizer() {
193+
return Glia.omnibrowse;
194+
}
189195
}

widgetssdk/src/test/java/com/glia/widgets/GliaWidgetsTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.junit.Assert.assertEquals;
44
import static org.mockito.Mockito.mock;
55
import static org.mockito.Mockito.verify;
6+
import static org.mockito.Mockito.when;
67

78
import android.app.Application;
89
import android.content.Context;
@@ -11,6 +12,7 @@
1112

1213
import com.glia.androidsdk.GliaConfig;
1314
import com.glia.androidsdk.SiteApiKey;
15+
import com.glia.androidsdk.omnibrowse.Omnibrowse;
1416
import com.glia.widgets.di.ControllerFactory;
1517
import com.glia.widgets.di.Dependencies;
1618
import com.glia.widgets.di.GliaCore;
@@ -58,6 +60,8 @@ public void init_setConfigToGliaCore_whenCalled() {
5860
.setRegion(region)
5961
.setContext(context)
6062
.build();
63+
Omnibrowse callVisualizer = mock(Omnibrowse.class);
64+
when(gliaCore.getCallVisualizer()).thenReturn(callVisualizer);
6165

6266
GliaWidgets.init(widgetsConfig);
6367

0 commit comments

Comments
 (0)