File tree Expand file tree Collapse file tree 3 files changed +23
-2
lines changed
app/src/main/java/me/capcom/smsgateway/modules Expand file tree Collapse file tree 3 files changed +23
-2
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
99import io.ktor.client.request.HttpRequestBuilder
1010import io.ktor.client.request.get
1111import io.ktor.client.request.header
12+ import io.ktor.client.request.parameter
1213import io.ktor.client.request.patch
1314import io.ktor.client.request.post
1415import io.ktor.client.request.setBody
@@ -83,8 +84,9 @@ class GatewayApi(
8384 }
8485 }
8586
86- suspend fun getMessages (token : String ): List <Message > {
87+ suspend fun getMessages (token : String , processingOrder : ProcessingOrder ): List <Message > {
8788 return client.get(" $baseUrl /message" ) {
89+ parameter(" order" , processingOrder)
8890 bearerAuth(token)
8991 }.body()
9092 }
@@ -218,4 +220,16 @@ class GatewayApi(
218220 val url : String ,
219221 val event : WebHookEvent ,
220222 )
223+
224+ enum class ProcessingOrder {
225+ @SerializedName(" lifo" )
226+ LIFO ,
227+
228+ @SerializedName(" fifo" )
229+ FIFO ;
230+
231+ override fun toString (): String {
232+ return this .name.lowercase()
233+ }
234+ }
221235}
Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ import me.capcom.smsgateway.modules.gateway.workers.WebhooksUpdateWorker
1717import me.capcom.smsgateway.modules.logs.LogsService
1818import me.capcom.smsgateway.modules.logs.db.LogEntry
1919import me.capcom.smsgateway.modules.messages.MessagesService
20+ import me.capcom.smsgateway.modules.messages.MessagesSettings
2021import me.capcom.smsgateway.modules.messages.data.SendParams
2122import me.capcom.smsgateway.modules.messages.data.SendRequest
2223import me.capcom.smsgateway.services.PushService
@@ -193,7 +194,11 @@ class GatewayService(
193194 internal suspend fun getNewMessages (context : Context ) {
194195 if (! settings.enabled) return
195196 val settings = settings.registrationInfo ? : return
196- val messages = api.getMessages(settings.token)
197+ val processingOrder = when (messagesService.processingOrder) {
198+ MessagesSettings .ProcessingOrder .LIFO -> GatewayApi .ProcessingOrder .LIFO
199+ MessagesSettings .ProcessingOrder .FIFO -> GatewayApi .ProcessingOrder .FIFO
200+ }
201+ val messages = api.getMessages(settings.token, processingOrder)
197202 for (message in messages) {
198203 try {
199204 processMessage(context, message)
Original file line number Diff line number Diff line change @@ -50,6 +50,8 @@ class MessagesService(
5050 private val events : EventBus ,
5151 private val logsService : LogsService ,
5252) {
53+ val processingOrder
54+ get() = settings.processingOrder
5355
5456 private val countryCode: String? =
5557 (context.getSystemService(Context .TELEPHONY_SERVICE ) as TelephonyManager ).networkCountryIso
You can’t perform that action at this time.
0 commit comments