Skip to content

Commit f81fe44

Browse files
authored
Merge pull request #6 from amazon-connect/mikeliao/websocket-heartbeat
Implementing WebSocketManager retry, NetworkConnectionManager and HeartbeatManager
2 parents c55d815 + 316f7b5 commit f81fe44

23 files changed

+513
-271
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools">
4+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
45
<uses-permission android:name="android.permission.INTERNET"/>
56
<application
67
android:name=".ChatApplication"

app/src/main/java/com/amazon/connect/chat/androidchatexample/Config.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ package com.amazon.connect.chat.androidchatexample
33
import com.amazonaws.regions.Regions
44

55
object Config {
6-
val connectInstanceId: String = "6ceda8ca-5e6e-4a60-9bfb-4994cc1fec79"
7-
val contactFlowId: String = "c8d90d07-a28c-4a97-9dfb-f4785b98d8d2"
8-
val startChatEndpoint: String = "https://3r4nj9r68b.execute-api.us-east-1.amazonaws.com/"
9-
val region: Regions = Regions.US_EAST_1
6+
val connectInstanceId: String = "e816d0f3-eda3-46e4-bc67-9999e621eff6"
7+
val contactFlowId: String = "f22bfa3b-400e-4250-939d-90a79eb1cd24"
8+
val startChatEndpoint: String = "https://bqo00ujzld.execute-api.us-west-2.amazonaws.com/"
9+
val region: Regions = Regions.US_WEST_2
1010
val agentName = "AGENT"
1111
val customerName = "CUSTOMER"
1212
}

app/src/main/java/com/amazon/connect/chat/androidchatexample/MainActivity.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ import androidx.compose.ui.graphics.Color
4747
import androidx.compose.ui.tooling.preview.Preview
4848
import androidx.compose.ui.unit.dp
4949
import androidx.hilt.navigation.compose.hiltViewModel
50-
import com.amazon.connect.chat.androidchatexample.models.Message
51-
import com.amazon.connect.chat.androidchatexample.models.MessageType
52-
import com.amazon.connect.chat.androidchatexample.ui.theme.androidconnectchatandroidTheme
53-
import com.amazon.connect.chat.androidchatexample.utils.CommonUtils.Companion.keyboardAsState
54-
import com.amazon.connect.chat.androidchatexample.utils.ContentType
50+
import com.amazon.connect.chat.sdk.model.Message
51+
import com.amazon.connect.chat.sdk.model.MessageType
52+
import com.amazon.connect.chat.sdk.utils.CommonUtils.Companion.keyboardAsState
53+
import com.amazon.connect.chat.sdk.utils.ContentType
5554
import com.amazon.connect.chat.androidchatexample.viewmodel.ChatViewModel
5655
import com.amazon.connect.chat.androidchatexample.views.ChatMessageView
56+
import com.amazon.connect.chat.androidchatexample.ui.theme.androidconnectchatandroidTheme
5757
import com.amazon.connect.chat.sdk.GreetingFromSDK
5858
import dagger.hilt.android.AndroidEntryPoint
5959

app/src/main/java/com/amazon/connect/chat/androidchatexample/di/AppModule.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.amazon.connect.chat.androidchatexample.di
22

33
import android.content.Context
44
import android.content.SharedPreferences
5+
import com.amazon.connect.chat.sdk.network.WebSocketManager
56
import dagger.Module
67
import dagger.Provides
78
import dagger.hilt.InstallIn
@@ -18,4 +19,19 @@ object AppModule {
1819
fun provideSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
1920
return context.getSharedPreferences("ConnectChat", Context.MODE_PRIVATE)
2021
}
22+
23+
// // Provide the Context dependency
24+
// @Provides
25+
// @Singleton
26+
// fun provideContext(@ApplicationContext appContext: Context): Context {
27+
// return appContext
28+
// }
29+
//
30+
// @Provides
31+
// @Singleton
32+
// fun provideWebSocketManager(
33+
// context: Context,
34+
// ): WebSocketManager {
35+
// return WebSocketManager(context, {})
36+
// }
2137
}

app/src/main/java/com/amazon/connect/chat/androidchatexample/repository/ChatRepository.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@ import com.amazonaws.services.connectparticipant.model.CreateParticipantConnecti
99
import com.amazonaws.services.connectparticipant.model.CreateParticipantConnectionResult
1010
import com.amazonaws.services.connectparticipant.model.DisconnectParticipantRequest
1111
import com.amazonaws.services.connectparticipant.model.GetTranscriptRequest
12-
import com.amazonaws.services.connectparticipant.model.GetTranscriptResult
1312
import com.amazonaws.services.connectparticipant.model.SendEventRequest
1413
import com.amazonaws.services.connectparticipant.model.SendEventResult
1514
import com.amazonaws.services.connectparticipant.model.SendMessageRequest
1615
import com.amazonaws.services.connectparticipant.model.SendMessageResult
1716
import com.amazon.connect.chat.androidchatexample.Config
18-
import com.amazon.connect.chat.androidchatexample.models.MessageMetadata
19-
import com.amazon.connect.chat.androidchatexample.models.Receipt
17+
import com.amazon.connect.chat.sdk.model.MessageMetadata
18+
import com.amazon.connect.chat.sdk.model.Receipt
2019
import com.amazon.connect.chat.androidchatexample.models.StartChatRequest
2120
import com.amazon.connect.chat.androidchatexample.models.StartChatResponse
22-
import com.amazon.connect.chat.androidchatexample.models.TranscriptItem
23-
import com.amazon.connect.chat.androidchatexample.models.TranscriptResponse
21+
import com.amazon.connect.chat.sdk.model.TranscriptItem
22+
import com.amazon.connect.chat.sdk.model.TranscriptResponse
2423
import com.amazon.connect.chat.androidchatexample.network.ApiInterface
2524
import com.amazon.connect.chat.androidchatexample.network.Resource
26-
import com.amazon.connect.chat.androidchatexample.utils.ContentType
25+
import com.amazon.connect.chat.sdk.utils.ContentType
2726
import dagger.hilt.android.scopes.ActivityScoped
2827
import kotlinx.coroutines.Dispatchers
2928
import kotlinx.coroutines.withContext

app/src/main/java/com/amazon/connect/chat/androidchatexample/repository/WebSocketManager.kt

Lines changed: 0 additions & 209 deletions
This file was deleted.

0 commit comments

Comments
 (0)