Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
AloqaIM-Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
AloqaIM-Android
Commits
df21f5a4
Commit
df21f5a4
authored
Apr 11, 2018
by
Leonardo Aramaki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Set sort order for getAllUnsent() from the oldest
parent
15abcd8c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
10 deletions
+12
-10
MessageService.kt
...va/chat/rocket/android/chatroom/service/MessageService.kt
+8
-6
SharedPreferencesMessagesRepository.kt
...er/infraestructure/SharedPreferencesMessagesRepository.kt
+4
-4
No files found.
app/src/main/java/chat/rocket/android/chatroom/service/MessageService.kt
View file @
df21f5a4
...
@@ -7,6 +7,7 @@ import chat.rocket.android.server.domain.MessagesRepository
...
@@ -7,6 +7,7 @@ import chat.rocket.android.server.domain.MessagesRepository
import
chat.rocket.android.server.infraestructure.ConnectionManagerFactory
import
chat.rocket.android.server.infraestructure.ConnectionManagerFactory
import
chat.rocket.common.RocketChatException
import
chat.rocket.common.RocketChatException
import
chat.rocket.core.internal.rest.sendMessage
import
chat.rocket.core.internal.rest.sendMessage
import
chat.rocket.core.model.Message
import
dagger.android.AndroidInjection
import
dagger.android.AndroidInjection
import
kotlinx.coroutines.experimental.CommonPool
import
kotlinx.coroutines.experimental.CommonPool
import
kotlinx.coroutines.experimental.launch
import
kotlinx.coroutines.experimental.launch
...
@@ -50,17 +51,18 @@ class MessageService : JobService() {
...
@@ -50,17 +51,18 @@ class MessageService : JobService() {
private
suspend
fun
retrySendingMessages
(
currentServer
:
String
)
{
private
suspend
fun
retrySendingMessages
(
currentServer
:
String
)
{
val
temporaryMessages
=
messageRepository
.
getAllUnsent
()
val
temporaryMessages
=
messageRepository
.
getAllUnsent
()
.
sortedWith
(
compareBy
(
Message
::
timestamp
))
if
(
temporaryMessages
.
isNotEmpty
())
{
if
(
temporaryMessages
.
isNotEmpty
())
{
val
connectionManager
=
factory
.
create
(
currentServer
)
val
connectionManager
=
factory
.
create
(
currentServer
)
val
client
=
connectionManager
.
client
val
client
=
connectionManager
.
client
temporaryMessages
.
forEach
{
message
->
temporaryMessages
.
forEach
{
message
->
client
.
sendMessage
(
client
.
sendMessage
(
message
=
message
.
message
,
message
=
message
.
message
,
messageId
=
message
.
id
,
messageId
=
message
.
id
,
roomId
=
message
.
roomId
,
roomId
=
message
.
roomId
,
avatar
=
message
.
avatar
,
avatar
=
message
.
avatar
,
attachments
=
message
.
attachments
,
attachments
=
message
.
attachments
,
alias
=
message
.
senderAlias
alias
=
message
.
senderAlias
)
)
messageRepository
.
save
(
message
.
copy
(
isTemporary
=
false
))
messageRepository
.
save
(
message
.
copy
(
isTemporary
=
false
))
}
}
...
...
app/src/main/java/chat/rocket/android/server/infraestructure/SharedPreferencesMessagesRepository.kt
View file @
df21f5a4
...
@@ -8,8 +8,8 @@ import kotlinx.coroutines.experimental.CommonPool
...
@@ -8,8 +8,8 @@ import kotlinx.coroutines.experimental.CommonPool
import
kotlinx.coroutines.experimental.withContext
import
kotlinx.coroutines.experimental.withContext
class
SharedPreferencesMessagesRepository
(
class
SharedPreferencesMessagesRepository
(
private
val
prefs
:
SharedPreferences
,
private
val
prefs
:
SharedPreferences
,
private
val
moshi
:
Moshi
)
private
val
moshi
:
Moshi
)
:
MessagesRepository
{
:
MessagesRepository
{
override
suspend
fun
getById
(
id
:
String
):
Message
?
=
withContext
(
CommonPool
)
{
override
suspend
fun
getById
(
id
:
String
):
Message
?
=
withContext
(
CommonPool
)
{
...
@@ -34,7 +34,7 @@ class SharedPreferencesMessagesRepository(
...
@@ -34,7 +34,7 @@ class SharedPreferencesMessagesRepository(
override
suspend
fun
getRecentMessages
(
rid
:
String
,
count
:
Long
):
List
<
Message
>
{
override
suspend
fun
getRecentMessages
(
rid
:
String
,
count
:
Long
):
List
<
Message
>
{
return
getByRoomId
(
rid
).
sortedByDescending
{
it
.
timestamp
}
return
getByRoomId
(
rid
).
sortedByDescending
{
it
.
timestamp
}
.
distinctBy
{
it
.
sender
}.
take
(
count
.
toInt
())
.
distinctBy
{
it
.
sender
}.
take
(
count
.
toInt
())
}
}
override
suspend
fun
getAll
():
List
<
Message
>
=
withContext
(
CommonPool
)
{
override
suspend
fun
getAll
():
List
<
Message
>
=
withContext
(
CommonPool
)
{
...
@@ -53,7 +53,7 @@ class SharedPreferencesMessagesRepository(
...
@@ -53,7 +53,7 @@ class SharedPreferencesMessagesRepository(
val
all
=
prefs
.
all
.
values
as
Collection
<
String
>
val
all
=
prefs
.
all
.
values
as
Collection
<
String
>
val
adapter
=
moshi
.
adapter
<
Message
>(
Message
::
class
.
java
)
val
adapter
=
moshi
.
adapter
<
Message
>(
Message
::
class
.
java
)
return
@withContext
all
.
mapNotNull
{
adapter
.
fromJson
(
it
)
}
return
@withContext
all
.
mapNotNull
{
adapter
.
fromJson
(
it
)
}
.
filter
{
it
.
isTemporary
?:
false
}
.
filter
{
it
.
isTemporary
?:
false
}
}
}
override
suspend
fun
getUnsentByRoomId
(
roomId
:
String
):
List
<
Message
>
=
withContext
(
CommonPool
)
{
override
suspend
fun
getUnsentByRoomId
(
roomId
:
String
):
List
<
Message
>
=
withContext
(
CommonPool
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment