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
606498f3
Commit
606498f3
authored
Feb 08, 2017
by
Tiago Cunha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial changes
Next: RoomFragment
parent
c582b8cb
Changes
99
Hide whitespace changes
Inline
Side-by-side
Showing
99 changed files
with
1497 additions
and
398 deletions
+1497
-398
build.gradle
app/build.gradle
+4
-1
RocketChatApplication.java
.../main/java/chat/rocket/android/RocketChatApplication.java
+1
-1
AbstractAuthedActivity.java
.../chat/rocket/android/activity/AbstractAuthedActivity.java
+1
-1
LoginActivity.java
...main/java/chat/rocket/android/activity/LoginActivity.java
+2
-2
MainActivity.java
.../main/java/chat/rocket/android/activity/MainActivity.java
+7
-7
FileUploadingHelper.java
...ain/java/chat/rocket/android/api/FileUploadingHelper.java
+1
-1
MethodCallHelper.java
...c/main/java/chat/rocket/android/api/MethodCallHelper.java
+7
-7
RaixPushHelper.java
...src/main/java/chat/rocket/android/api/RaixPushHelper.java
+1
-1
DefaultCookieProvider.java
...a/chat/rocket/android/api/rest/DefaultCookieProvider.java
+5
-5
AbstractWebViewFragment.java
...chat/rocket/android/fragment/AbstractWebViewFragment.java
+0
-2
InputHostnameContract.java
...et/android/fragment/add_server/InputHostnameContract.java
+28
-0
InputHostnameFragment.java
...et/android/fragment/add_server/InputHostnameFragment.java
+49
-54
InputHostnamePresenter.java
...t/android/fragment/add_server/InputHostnamePresenter.java
+91
-0
RoomFragment.java
...a/chat/rocket/android/fragment/chatroom/RoomFragment.java
+35
-33
AbstractChatRoomDialogFragment.java
...gment/chatroom/dialog/AbstractChatRoomDialogFragment.java
+2
-2
FileUploadProgressDialogFragment.java
...ent/chatroom/dialog/FileUploadProgressDialogFragment.java
+1
-1
UsersOfRoomDialogFragment.java
...d/fragment/chatroom/dialog/UsersOfRoomDialogFragment.java
+1
-1
AbstractOAuthFragment.java
.../rocket/android/fragment/oauth/AbstractOAuthFragment.java
+1
-1
LoginFragment.java
.../rocket/android/fragment/server_config/LoginFragment.java
+2
-2
RetryLoginFragment.java
...et/android/fragment/server_config/RetryLoginFragment.java
+2
-2
SidebarMainContract.java
.../rocket/android/fragment/sidebar/SidebarMainContract.java
+37
-0
SidebarMainFragment.java
.../rocket/android/fragment/sidebar/SidebarMainFragment.java
+69
-74
SidebarMainPresenter.java
...rocket/android/fragment/sidebar/SidebarMainPresenter.java
+104
-0
AbstractAddRoomDialogFragment.java
...ragment/sidebar/dialog/AbstractAddRoomDialogFragment.java
+2
-2
AddDirectMessageDialogFragment.java
...agment/sidebar/dialog/AddDirectMessageDialogFragment.java
+7
-7
FileUploadHelper.java
...ain/java/chat/rocket/android/helper/FileUploadHelper.java
+1
-1
ExtRealmModelListAdapter.java
...rocket/android/layouthelper/ExtRealmModelListAdapter.java
+2
-2
AbstractMessageViewHolder.java
...roid/layouthelper/chatroom/AbstractMessageViewHolder.java
+1
-1
MessageListAdapter.java
...ket/android/layouthelper/chatroom/MessageListAdapter.java
+3
-3
MessageType.java
...hat/rocket/android/layouthelper/chatroom/MessageType.java
+10
-10
PairedMessage.java
...t/rocket/android/layouthelper/chatroom/PairedMessage.java
+4
-4
RoomListManager.java
...rocket/android/layouthelper/chatroom/RoomListManager.java
+34
-30
RoomUserAdapter.java
...android/layouthelper/chatroom/dialog/RoomUserAdapter.java
+7
-7
SuggestUserAdapter.java
...droid/layouthelper/sidebar/dialog/SuggestUserAdapter.java
+9
-9
Attachment.java
.../main/java/chat/rocket/android/model/core/Attachment.java
+80
-0
AttachmentAuthor.java
...java/chat/rocket/android/model/core/AttachmentAuthor.java
+29
-0
AttachmentField.java
.../java/chat/rocket/android/model/core/AttachmentField.java
+29
-0
AttachmentTitle.java
.../java/chat/rocket/android/model/core/AttachmentTitle.java
+33
-0
Email.java
app/src/main/java/chat/rocket/android/model/core/Email.java
+25
-0
Message.java
...src/main/java/chat/rocket/android/model/core/Message.java
+74
-0
Preferences.java
...main/java/chat/rocket/android/model/core/Preferences.java
+81
-0
Room.java
app/src/main/java/chat/rocket/android/model/core/Room.java
+57
-0
Settings.java
...rc/main/java/chat/rocket/android/model/core/Settings.java
+25
-0
User.java
app/src/main/java/chat/rocket/android/model/core/User.java
+53
-0
WebContent.java
.../main/java/chat/rocket/android/model/core/WebContent.java
+34
-0
PublicSetting.java
...ain/java/chat/rocket/android/model/ddp/PublicSetting.java
+1
-1
RealmEmail.java
...c/main/java/chat/rocket/android/model/ddp/RealmEmail.java
+12
-3
RealmMessage.java
...main/java/chat/rocket/android/model/ddp/RealmMessage.java
+148
-7
RealmPreferences.java
.../java/chat/rocket/android/model/ddp/RealmPreferences.java
+25
-2
RealmSettings.java
...ain/java/chat/rocket/android/model/ddp/RealmSettings.java
+13
-4
RealmUser.java
...rc/main/java/chat/rocket/android/model/ddp/RealmUser.java
+35
-11
RoomSubscription.java
.../java/chat/rocket/android/model/ddp/RoomSubscription.java
+16
-1
MethodCall.java
...n/java/chat/rocket/android/model/internal/MethodCall.java
+2
-2
Session.java
...main/java/chat/rocket/android/model/internal/Session.java
+1
-1
GcmInstanceIDListenerService.java
...rocket/android/push/gcm/GcmInstanceIDListenerService.java
+2
-2
MessageRenderer.java
...in/java/chat/rocket/android/renderer/MessageRenderer.java
+8
-7
UserRenderer.java
.../main/java/chat/rocket/android/renderer/UserRenderer.java
+2
-2
RealmRoomRepository.java
...chat/rocket/android/repositories/RealmRoomRepository.java
+42
-0
RealmUserRepository.java
...chat/rocket/android/repositories/RealmUserRepository.java
+26
-0
RoomRepository.java
...java/chat/rocket/android/repositories/RoomRepository.java
+10
-0
UserRepository.java
...java/chat/rocket/android/repositories/UserRepository.java
+9
-0
RealmBasedServerInfo.java
...ava/chat/rocket/android/service/RealmBasedServerInfo.java
+2
-2
RocketChatWebSocketThread.java
...hat/rocket/android/service/RocketChatWebSocketThread.java
+2
-2
AbstractDDPDocEventSubscriber.java
...et/android/service/ddp/AbstractDDPDocEventSubscriber.java
+1
-1
AbstractBaseSubscriber.java
...cket/android/service/ddp/base/AbstractBaseSubscriber.java
+1
-1
ActiveUsersSubscriber.java
...ocket/android/service/ddp/base/ActiveUsersSubscriber.java
+3
-3
LoginServiceConfigurationSubscriber.java
...service/ddp/base/LoginServiceConfigurationSubscriber.java
+1
-1
UserDataSubscriber.java
...t/rocket/android/service/ddp/base/UserDataSubscriber.java
+3
-3
AbstractStreamNotifyEventSubscriber.java
...rvice/ddp/stream/AbstractStreamNotifyEventSubscriber.java
+1
-1
AbstractStreamNotifyUserEventSubscriber.java
...e/ddp/stream/AbstractStreamNotifyUserEventSubscriber.java
+1
-1
StreamNotifyUserSubscriptionsChanged.java
...vice/ddp/stream/StreamNotifyUserSubscriptionsChanged.java
+1
-1
StreamRoomMessage.java
.../rocket/android/service/ddp/stream/StreamRoomMessage.java
+4
-4
AbstractRocketChatCacheObserver.java
...oid/service/internal/AbstractRocketChatCacheObserver.java
+1
-1
StreamRoomMessageManager.java
...et/android/service/internal/StreamRoomMessageManager.java
+1
-1
AbstractModelObserver.java
...ocket/android/service/observer/AbstractModelObserver.java
+2
-2
CurrentUserObserver.java
.../rocket/android/service/observer/CurrentUserObserver.java
+7
-7
FileUploadingToS3Observer.java
...t/android/service/observer/FileUploadingToS3Observer.java
+1
-1
FileUploadingWithUfsObserver.java
...ndroid/service/observer/FileUploadingWithUfsObserver.java
+4
-4
GcmPushRegistrationObserver.java
...android/service/observer/GcmPushRegistrationObserver.java
+4
-4
GetUsersOfRoomsProcedureObserver.java
...id/service/observer/GetUsersOfRoomsProcedureObserver.java
+1
-1
LoadMessageProcedureObserver.java
...ndroid/service/observer/LoadMessageProcedureObserver.java
+7
-7
MethodCallObserver.java
...t/rocket/android/service/observer/MethodCallObserver.java
+1
-1
NewMessageObserver.java
...t/rocket/android/service/observer/NewMessageObserver.java
+18
-18
PushSettingsObserver.java
...rocket/android/service/observer/PushSettingsObserver.java
+1
-1
SessionObserver.java
...chat/rocket/android/service/observer/SessionObserver.java
+1
-1
TokenLoginObserver.java
...t/rocket/android/service/observer/TokenLoginObserver.java
+1
-1
fragment_sidebar_main.xml
app/src/main/res/layout/fragment_sidebar_main.xml
+3
-1
build.gradle
persistence-realm/build.gradle
+0
-0
AndroidManifest.xml
persistence-realm/src/main/AndroidManifest.xml
+1
-0
AbstractRealmResultsObserver.java
...ocket/persistence/realm/AbstractRealmResultsObserver.java
+1
-1
RealmAutoCompleteAdapter.java
...at/rocket/persistence/realm/RealmAutoCompleteAdapter.java
+1
-1
RealmHelper.java
.../main/java/chat/rocket/persistence/realm/RealmHelper.java
+1
-1
RealmListObserver.java
...java/chat/rocket/persistence/realm/RealmListObserver.java
+1
-1
RealmModelListAdapter.java
.../chat/rocket/persistence/realm/RealmModelListAdapter.java
+1
-1
RealmModelViewHolder.java
...a/chat/rocket/persistence/realm/RealmModelViewHolder.java
+1
-1
RealmObjectObserver.java
...va/chat/rocket/persistence/realm/RealmObjectObserver.java
+1
-1
RealmStore.java
...c/main/java/chat/rocket/persistence/realm/RealmStore.java
+12
-1
AndroidManifest.xml
realm-helpers/src/main/AndroidManifest.xml
+0
-1
settings.gradle
settings.gradle
+1
-1
No files found.
app/build.gradle
View file @
606498f3
...
@@ -93,7 +93,7 @@ dependencies {
...
@@ -93,7 +93,7 @@ dependencies {
compile
project
(
':log-wrapper'
)
compile
project
(
':log-wrapper'
)
compile
project
(
':android-ddp'
)
compile
project
(
':android-ddp'
)
compile
project
(
':rocket-chat-android-widgets'
)
compile
project
(
':rocket-chat-android-widgets'
)
compile
project
(
':
realm-helpers
'
)
compile
project
(
':
persistence-realm
'
)
compile
rootProject
.
ext
.
supportAppCompat
compile
rootProject
.
ext
.
supportAppCompat
compile
rootProject
.
ext
.
supportDesign
compile
rootProject
.
ext
.
supportDesign
...
@@ -127,6 +127,9 @@ dependencies {
...
@@ -127,6 +127,9 @@ dependencies {
compile
'com.github.hotchemi:permissionsdispatcher:2.3.0'
compile
'com.github.hotchemi:permissionsdispatcher:2.3.0'
annotationProcessor
'com.github.hotchemi:permissionsdispatcher-processor:2.3.0'
annotationProcessor
'com.github.hotchemi:permissionsdispatcher-processor:2.3.0'
provided
"com.google.auto.value:auto-value:1.3"
annotationProcessor
"com.google.auto.value:auto-value:1.3"
}
}
apply
plugin:
'com.google.gms.google-services'
apply
plugin:
'com.google.gms.google-services'
app/src/main/java/chat/rocket/android/RocketChatApplication.java
View file @
606498f3
...
@@ -8,7 +8,7 @@ import io.realm.RealmConfiguration;
...
@@ -8,7 +8,7 @@ import io.realm.RealmConfiguration;
import
java.util.List
;
import
java.util.List
;
import
chat.rocket.android.helper.OkHttpHelper
;
import
chat.rocket.android.helper.OkHttpHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ServerInfo
;
import
chat.rocket.android.service.ServerInfo
;
import
chat.rocket.android.widget.RocketChatWidgets
;
import
chat.rocket.android.widget.RocketChatWidgets
;
...
...
app/src/main/java/chat/rocket/android/activity/AbstractAuthedActivity.java
View file @
606498f3
...
@@ -11,7 +11,7 @@ import chat.rocket.android.RocketChatCache;
...
@@ -11,7 +11,7 @@ import chat.rocket.android.RocketChatCache;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.push.PushConstants
;
import
chat.rocket.android.push.PushConstants
;
import
chat.rocket.android.push.PushNotificationHandler
;
import
chat.rocket.android.push.PushNotificationHandler
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ServerInfo
;
import
chat.rocket.android.service.ServerInfo
;
import
icepick.State
;
import
icepick.State
;
...
...
app/src/main/java/chat/rocket/android/activity/LoginActivity.java
View file @
606498f3
...
@@ -10,8 +10,8 @@ import chat.rocket.android.fragment.server_config.LoginFragment;
...
@@ -10,8 +10,8 @@ import chat.rocket.android.fragment.server_config.LoginFragment;
import
chat.rocket.android.fragment.server_config.RetryLoginFragment
;
import
chat.rocket.android.fragment.server_config.RetryLoginFragment
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/activity/MainActivity.java
View file @
606498f3
...
@@ -18,12 +18,12 @@ import chat.rocket.android.fragment.sidebar.SidebarMainFragment;
...
@@ -18,12 +18,12 @@ import chat.rocket.android.fragment.sidebar.SidebarMainFragment;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmListObserver
;
import
chat.rocket.
persistence.realm
.RealmListObserver
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.widget.RoomToolbar
;
import
chat.rocket.android.widget.RoomToolbar
;
import
hugo.weaving.DebugLog
;
import
hugo.weaving.DebugLog
;
...
@@ -87,14 +87,14 @@ public class MainActivity extends AbstractAuthedActivity {
...
@@ -87,14 +87,14 @@ public class MainActivity extends AbstractAuthedActivity {
private
void
setUserOnlineIfServerAvailable
()
{
private
void
setUserOnlineIfServerAvailable
()
{
if
(
hostname
!=
null
)
{
if
(
hostname
!=
null
)
{
new
MethodCallHelper
(
this
,
hostname
).
setUserPresence
(
User
.
STATUS_ONLINE
)
new
MethodCallHelper
(
this
,
hostname
).
setUserPresence
(
Realm
User
.
STATUS_ONLINE
)
.
continueWith
(
new
LogcatIfError
());
.
continueWith
(
new
LogcatIfError
());
}
}
}
}
private
void
setUserAwayIfServerAvailable
()
{
private
void
setUserAwayIfServerAvailable
()
{
if
(
hostname
!=
null
)
{
if
(
hostname
!=
null
)
{
new
MethodCallHelper
(
this
,
hostname
).
setUserPresence
(
User
.
STATUS_AWAY
)
new
MethodCallHelper
(
this
,
hostname
).
setUserPresence
(
Realm
User
.
STATUS_AWAY
)
.
continueWith
(
new
LogcatIfError
());
.
continueWith
(
new
LogcatIfError
());
}
}
}
}
...
...
app/src/main/java/chat/rocket/android/api/FileUploadingHelper.java
View file @
606498f3
...
@@ -6,7 +6,7 @@ import org.json.JSONObject;
...
@@ -6,7 +6,7 @@ import org.json.JSONObject;
import
bolts.Task
;
import
bolts.Task
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/api/MethodCallHelper.java
View file @
606498f3
...
@@ -12,13 +12,13 @@ import bolts.Task;
...
@@ -12,13 +12,13 @@ import bolts.Task;
import
chat.rocket.android.helper.CheckSum
;
import
chat.rocket.android.helper.CheckSum
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.internal.MethodCall
;
import
chat.rocket.android.model.internal.MethodCall
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android_ddp.DDPClientCallback
;
import
chat.rocket.android_ddp.DDPClientCallback
;
import
hugo.weaving.DebugLog
;
import
hugo.weaving.DebugLog
;
...
@@ -107,7 +107,7 @@ public class MethodCallHelper {
...
@@ -107,7 +107,7 @@ public class MethodCallHelper {
}
}
/**
/**
* Register User.
* Register
Realm
User.
*/
*/
public
Task
<
String
>
registerUser
(
final
String
name
,
final
String
email
,
public
Task
<
String
>
registerUser
(
final
String
name
,
final
String
email
,
final
String
password
,
final
String
confirmPassword
)
{
final
String
password
,
final
String
confirmPassword
)
{
...
@@ -241,18 +241,18 @@ public class MethodCallHelper {
...
@@ -241,18 +241,18 @@ public class MethodCallHelper {
JSONObject
result
=
task
.
getResult
();
JSONObject
result
=
task
.
getResult
();
final
JSONArray
messages
=
result
.
getJSONArray
(
"messages"
);
final
JSONArray
messages
=
result
.
getJSONArray
(
"messages"
);
for
(
int
i
=
0
;
i
<
messages
.
length
();
i
++)
{
for
(
int
i
=
0
;
i
<
messages
.
length
();
i
++)
{
Message
.
customizeJson
(
messages
.
getJSONObject
(
i
));
Realm
Message
.
customizeJson
(
messages
.
getJSONObject
(
i
));
}
}
return
realmHelper
.
executeTransaction
(
realm
->
{
return
realmHelper
.
executeTransaction
(
realm
->
{
if
(
timestamp
==
0
)
{
if
(
timestamp
==
0
)
{
realm
.
where
(
Message
.
class
)
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
"rid"
,
roomId
)
.
equalTo
(
"rid"
,
roomId
)
.
equalTo
(
"syncstate"
,
SyncState
.
SYNCED
)
.
equalTo
(
"syncstate"
,
SyncState
.
SYNCED
)
.
findAll
().
deleteAllFromRealm
();
.
findAll
().
deleteAllFromRealm
();
}
}
if
(
messages
.
length
()
>
0
)
{
if
(
messages
.
length
()
>
0
)
{
realm
.
createOrUpdateAllFromJson
(
Message
.
class
,
messages
);
realm
.
createOrUpdateAllFromJson
(
Realm
Message
.
class
,
messages
);
}
}
return
null
;
return
null
;
}).
onSuccessTask
(
_task
->
Task
.
forResult
(
messages
));
}).
onSuccessTask
(
_task
->
Task
.
forResult
(
messages
));
...
...
app/src/main/java/chat/rocket/android/api/RaixPushHelper.java
View file @
606498f3
...
@@ -7,7 +7,7 @@ import org.json.JSONArray;
...
@@ -7,7 +7,7 @@ import org.json.JSONArray;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
bolts.Task
;
import
bolts.Task
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
public
class
RaixPushHelper
extends
MethodCallHelper
{
public
class
RaixPushHelper
extends
MethodCallHelper
{
...
...
app/src/main/java/chat/rocket/android/api/rest/DefaultCookieProvider.java
View file @
606498f3
...
@@ -3,10 +3,10 @@ package chat.rocket.android.api.rest;
...
@@ -3,10 +3,10 @@ package chat.rocket.android.api.rest;
import
android.content.Context
;
import
android.content.Context
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
public
class
DefaultCookieProvider
implements
CookieProvider
{
public
class
DefaultCookieProvider
implements
CookieProvider
{
...
@@ -33,8 +33,8 @@ public class DefaultCookieProvider implements CookieProvider {
...
@@ -33,8 +33,8 @@ public class DefaultCookieProvider implements CookieProvider {
return
""
;
return
""
;
}
}
final
User
user
=
realmHelper
.
executeTransactionForRead
(
realm
->
final
Realm
User
user
=
realmHelper
.
executeTransactionForRead
(
realm
->
User
.
queryCurrentUser
(
realm
).
findFirst
());
Realm
User
.
queryCurrentUser
(
realm
).
findFirst
());
final
Session
session
=
realmHelper
.
executeTransactionForRead
(
realm
->
final
Session
session
=
realmHelper
.
executeTransactionForRead
(
realm
->
Session
.
queryDefaultSession
(
realm
).
findFirst
());
Session
.
queryDefaultSession
(
realm
).
findFirst
());
...
...
app/src/main/java/chat/rocket/android/fragment/AbstractWebViewFragment.java
View file @
606498f3
...
@@ -104,6 +104,4 @@ public abstract class AbstractWebViewFragment extends AbstractFragment
...
@@ -104,6 +104,4 @@ public abstract class AbstractWebViewFragment extends AbstractFragment
protected
boolean
onHandleCallback
(
WebView
webview
,
String
url
)
{
protected
boolean
onHandleCallback
(
WebView
webview
,
String
url
)
{
return
false
;
return
false
;
}
}
;
}
}
app/src/main/java/chat/rocket/android/fragment/add_server/InputHostnameContract.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
fragment
.
add_server
;
import
android.support.annotation.NonNull
;
public
interface
InputHostnameContract
{
interface
View
{
void
showLoader
();
void
hideLoader
();
void
showInvalidServerError
();
void
showConnectionError
();
void
showHome
();
}
interface
Presenter
{
void
bindView
(
@NonNull
View
view
);
void
release
();
void
connectTo
(
String
hostname
);
}
}
app/src/main/java/chat/rocket/android/fragment/add_server/InputHostnameFragment.java
View file @
606498f3
package
chat
.
rocket
.
android
.
fragment
.
add_server
;
package
chat
.
rocket
.
android
.
fragment
.
add_server
;
import
android.content.Context
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.design.widget.Snackbar
;
import
android.support.design.widget.Snackbar
;
import
android.view.View
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
chat.rocket.android.BuildConfig
;
import
chat.rocket.android.BuildConfig
;
import
chat.rocket.android.LaunchUtil
;
import
chat.rocket.android.LaunchUtil
;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.api.rest.DefaultServerPolicyApi
;
import
chat.rocket.android.api.rest.ServerPolicyApi
;
import
chat.rocket.android.fragment.AbstractFragment
;
import
chat.rocket.android.fragment.AbstractFragment
;
import
chat.rocket.android.helper.OkHttpHelper
;
import
chat.rocket.android.helper.ServerPolicyApiValidationHelper
;
import
chat.rocket.android.helper.ServerPolicyHelper
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManagerApi
;
import
rx.Subscription
;
import
rx.android.schedulers.AndroidSchedulers
;
import
rx.schedulers.Schedulers
;
/**
/**
* Input server host.
* Input server host.
*/
*/
public
class
InputHostnameFragment
extends
AbstractFragment
{
public
class
InputHostnameFragment
extends
AbstractFragment
implements
InputHostnameContract
.
View
{
Subscription
serverPolicySubscription
;
private
InputHostnameContract
.
Presenter
presenter
;
public
InputHostnameFragment
()
{
public
InputHostnameFragment
()
{
}
}
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
final
Context
appContext
=
getContext
().
getApplicationContext
();
presenter
=
new
InputHostnamePresenter
(
RocketChatCache
.
get
(
appContext
),
ConnectivityManager
.
getInstance
(
appContext
));
}
@Override
@Override
protected
int
getLayout
()
{
protected
int
getLayout
()
{
return
R
.
layout
.
fragment_input_hostname
;
return
R
.
layout
.
fragment_input_hostname
;
...
@@ -47,42 +54,18 @@ public class InputHostnameFragment extends AbstractFragment {
...
@@ -47,42 +54,18 @@ public class InputHostnameFragment extends AbstractFragment {
}
}
private
void
handleConnect
()
{
private
void
handleConnect
()
{
final
String
hostname
=
ServerPolicyHelper
.
enforceHostname
(
getHostname
());
presenter
.
connectTo
(
getHostname
());
}
final
ServerPolicyApi
serverPolicyApi
=
new
DefaultServerPolicyApi
(
OkHttpHelper
.
getClientForUploadFile
(),
hostname
);
final
ServerPolicyApiValidationHelper
validationHelper
=
new
ServerPolicyApiValidationHelper
(
serverPolicyApi
);
if
(
serverPolicySubscription
!=
null
)
{
serverPolicySubscription
.
unsubscribe
();
}
rootView
.
findViewById
(
R
.
id
.
btn_connect
).
setEnabled
(
false
);
serverPolicySubscription
=
ServerPolicyHelper
.
isApiVersionValid
(
validationHelper
)
@Override
.
subscribeOn
(
Schedulers
.
io
())
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
.
observeOn
(
AndroidSchedulers
.
mainThread
())
super
.
onViewCreated
(
view
,
savedInstanceState
);
.
doOnTerminate
(()
->
rootView
.
findViewById
(
R
.
id
.
btn_connect
).
setEnabled
(
true
))
presenter
.
bindView
(
this
);
.
subscribe
(
serverValidation
->
{
if
(
serverValidation
.
isValid
())
{
onServerValid
(
hostname
,
serverValidation
.
usesSecureConnection
());
}
else
{
showError
(
getString
(
R
.
string
.
input_hostname_invalid_server_message
));
}
},
throwable
->
{
showError
(
getString
(
R
.
string
.
connection_error_try_later
));
});
}
}
@Override
@Override
public
void
onDestroyView
()
{
public
void
onDestroyView
()
{
if
(
serverPolicySubscription
!=
null
)
{
presenter
.
release
();
serverPolicySubscription
.
unsubscribe
();
}
super
.
onDestroyView
();
super
.
onDestroyView
();
}
}
...
@@ -92,21 +75,33 @@ public class InputHostnameFragment extends AbstractFragment {
...
@@ -92,21 +75,33 @@ public class InputHostnameFragment extends AbstractFragment {
return
TextUtils
.
or
(
TextUtils
.
or
(
editor
.
getText
(),
editor
.
getHint
()),
""
).
toString
();
return
TextUtils
.
or
(
TextUtils
.
or
(
editor
.
getText
(),
editor
.
getHint
()),
""
).
toString
();
}
}
private
void
onServerValid
(
final
String
hostname
,
boolean
usesSecureConnection
)
{
private
void
showError
(
String
errString
)
{
RocketChatCache
.
get
(
getContext
()).
edit
()
Snackbar
.
make
(
rootView
,
errString
,
Snackbar
.
LENGTH_LONG
).
show
();
.
putString
(
RocketChatCache
.
KEY_SELECTED_SERVER_HOSTNAME
,
hostname
)
}
.
apply
();
ConnectivityManagerApi
connectivityManager
=
@Override
ConnectivityManager
.
getInstance
(
getContext
().
getApplicationContext
());
public
void
showLoader
()
{
connectivityManager
.
addOrUpdateServer
(
hostname
,
hostname
,
!
usesSecureConnection
);
rootView
.
findViewById
(
R
.
id
.
btn_connect
).
setEnabled
(
false
);
connectivityManager
.
keepAliveServer
();
}
LaunchUtil
.
showMainActivity
(
getContext
());
@Override
getActivity
().
overridePendingTransition
(
android
.
R
.
anim
.
fade_in
,
android
.
R
.
anim
.
fade_out
);
public
void
hideLoader
()
{
rootView
.
findViewById
(
R
.
id
.
btn_connect
).
setEnabled
(
true
);
}
}
private
void
showError
(
String
errString
)
{
@Override
Snackbar
.
make
(
rootView
,
errString
,
Snackbar
.
LENGTH_LONG
).
show
();
public
void
showInvalidServerError
()
{
showError
(
getString
(
R
.
string
.
input_hostname_invalid_server_message
));
}
@Override
public
void
showConnectionError
()
{
showError
(
getString
(
R
.
string
.
connection_error_try_later
));
}
@Override
public
void
showHome
()
{
LaunchUtil
.
showMainActivity
(
getContext
());
getActivity
().
overridePendingTransition
(
android
.
R
.
anim
.
fade_in
,
android
.
R
.
anim
.
fade_out
);
}
}
}
}
app/src/main/java/chat/rocket/android/fragment/add_server/InputHostnamePresenter.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
fragment
.
add_server
;
import
android.content.SharedPreferences
;
import
android.support.annotation.NonNull
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.api.rest.DefaultServerPolicyApi
;
import
chat.rocket.android.api.rest.ServerPolicyApi
;
import
chat.rocket.android.helper.OkHttpHelper
;
import
chat.rocket.android.helper.ServerPolicyApiValidationHelper
;
import
chat.rocket.android.helper.ServerPolicyHelper
;
import
chat.rocket.android.service.ConnectivityManagerApi
;
import
rx.Subscription
;
import
rx.android.schedulers.AndroidSchedulers
;
import
rx.schedulers.Schedulers
;
public
class
InputHostnamePresenter
implements
InputHostnameContract
.
Presenter
{
private
final
SharedPreferences
rocketChatCache
;
private
final
ConnectivityManagerApi
connectivityManager
;
public
InputHostnamePresenter
(
SharedPreferences
rocketChatCache
,
ConnectivityManagerApi
connectivityManager
)
{
this
.
rocketChatCache
=
rocketChatCache
;
this
.
connectivityManager
=
connectivityManager
;
}
private
InputHostnameContract
.
View
view
;
private
Subscription
serverPolicySubscription
;
@Override
public
void
bindView
(
@NonNull
InputHostnameContract
.
View
view
)
{
this
.
view
=
view
;
}
@Override
public
void
release
()
{
if
(
serverPolicySubscription
!=
null
)
{
serverPolicySubscription
.
unsubscribe
();
}
view
=
null
;
}
@Override
public
void
connectTo
(
final
String
hostname
)
{
view
.
showLoader
();
connectToEnforced
(
ServerPolicyHelper
.
enforceHostname
(
hostname
));
}
public
void
connectToEnforced
(
final
String
hostname
)
{
final
ServerPolicyApi
serverPolicyApi
=
new
DefaultServerPolicyApi
(
OkHttpHelper
.
getClientForUploadFile
(),
hostname
);
final
ServerPolicyApiValidationHelper
validationHelper
=
new
ServerPolicyApiValidationHelper
(
serverPolicyApi
);
if
(
serverPolicySubscription
!=
null
)
{
serverPolicySubscription
.
unsubscribe
();
}
serverPolicySubscription
=
ServerPolicyHelper
.
isApiVersionValid
(
validationHelper
)
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doOnTerminate
(()
->
view
.
hideLoader
())
.
subscribe
(
serverValidation
->
{
if
(
serverValidation
.
isValid
())
{
onServerValid
(
hostname
,
serverValidation
.
usesSecureConnection
());
}
else
{
view
.
showInvalidServerError
();
}
},
throwable
->
{
view
.
showConnectionError
();
});
}
private
void
onServerValid
(
final
String
hostname
,
boolean
usesSecureConnection
)
{
rocketChatCache
.
edit
()
.
putString
(
RocketChatCache
.
KEY_SELECTED_SERVER_HOSTNAME
,
hostname
)
.
apply
();
connectivityManager
.
addOrUpdateServer
(
hostname
,
hostname
,
!
usesSecureConnection
);
connectivityManager
.
keepAliveServer
();
view
.
showHome
();
}
}
app/src/main/java/chat/rocket/android/fragment/chatroom/RoomFragment.java
View file @
606498f3
...
@@ -51,15 +51,15 @@ import chat.rocket.android.layouthelper.extra_action.upload.ImageUploadActionIte
...
@@ -51,15 +51,15 @@ import chat.rocket.android.layouthelper.extra_action.upload.ImageUploadActionIte
import
chat.rocket.android.layouthelper.extra_action.upload.VideoUploadActionItem
;
import
chat.rocket.android.layouthelper.extra_action.upload.VideoUploadActionItem
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.android.model.internal.LoadMessageProcedure
;
import
chat.rocket.android.model.internal.LoadMessageProcedure
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmModelListAdapter
;
import
chat.rocket.
persistence.realm
.RealmModelListAdapter
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.widget.internal.ExtraActionPickerDialogFragment
;
import
chat.rocket.android.widget.internal.ExtraActionPickerDialogFragment
;
import
chat.rocket.android.widget.message.MessageFormLayout
;
import
chat.rocket.android.widget.message.MessageFormLayout
;
...
@@ -75,6 +75,8 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -75,6 +75,8 @@ public class RoomFragment extends AbstractChatRoomFragment
RealmModelListAdapter
.
OnItemClickListener
<
PairedMessage
>
{
RealmModelListAdapter
.
OnItemClickListener
<
PairedMessage
>
{
private
static
final
int
DIALOG_ID
=
1
;
private
static
final
int
DIALOG_ID
=
1
;
private
static
final
String
HOSTNAME
=
"hostname"
;
private
static
final
String
ROOM_ID
=
"roomId"
;
private
String
hostname
;
private
String
hostname
;
private
RealmHelper
realmHelper
;
private
RealmHelper
realmHelper
;
...
@@ -96,8 +98,8 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -96,8 +98,8 @@ public class RoomFragment extends AbstractChatRoomFragment
}
}
public
static
boolean
canCreate
(
RealmHelper
realmHelper
)
{
public
static
boolean
canCreate
(
RealmHelper
realmHelper
)
{
User
currentUser
=
realmHelper
.
executeTransactionForRead
(
realm
->
Realm
User
currentUser
=
realmHelper
.
executeTransactionForRead
(
realm
->
User
.
queryCurrentUser
(
realm
).
findFirst
());
Realm
User
.
queryCurrentUser
(
realm
).
findFirst
());
Session
session
=
realmHelper
.
executeTransactionForRead
(
realm
->
Session
session
=
realmHelper
.
executeTransactionForRead
(
realm
->
Session
.
queryDefaultSession
(
realm
).
findFirst
());
Session
.
queryDefaultSession
(
realm
).
findFirst
());
return
currentUser
!=
null
&&
session
!=
null
;
return
currentUser
!=
null
&&
session
!=
null
;
...
@@ -108,8 +110,8 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -108,8 +110,8 @@ public class RoomFragment extends AbstractChatRoomFragment
*/
*/
public
static
RoomFragment
create
(
String
hostname
,
String
roomId
)
{
public
static
RoomFragment
create
(
String
hostname
,
String
roomId
)
{
Bundle
args
=
new
Bundle
();
Bundle
args
=
new
Bundle
();
args
.
putString
(
"hostname"
,
hostname
);
args
.
putString
(
HOSTNAME
,
hostname
);
args
.
putString
(
"roomId"
,
roomId
);
args
.
putString
(
ROOM_ID
,
roomId
);
RoomFragment
fragment
=
new
RoomFragment
();
RoomFragment
fragment
=
new
RoomFragment
();
fragment
.
setArguments
(
args
);
fragment
.
setArguments
(
args
);
return
fragment
;
return
fragment
;
...
@@ -120,11 +122,11 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -120,11 +122,11 @@ public class RoomFragment extends AbstractChatRoomFragment
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
Bundle
args
=
getArguments
();
Bundle
args
=
getArguments
();
hostname
=
args
.
getString
(
"hostname"
);
hostname
=
args
.
getString
(
HOSTNAME
);
realmHelper
=
RealmStore
.
get
(
hostname
);
realmHelper
=
RealmStore
.
get
(
hostname
);
roomId
=
args
.
getString
(
"roomId"
);
roomId
=
args
.
getString
(
ROOM_ID
);
userId
=
realmHelper
.
executeTransactionForRead
(
realm
->
userId
=
realmHelper
.
executeTransactionForRead
(
realm
->
User
.
queryCurrentUser
(
realm
).
findFirst
()).
getId
();
Realm
User
.
queryCurrentUser
(
realm
).
findFirst
()).
getId
();
token
=
realmHelper
.
executeTransactionForRead
(
realm
->
token
=
realmHelper
.
executeTransactionForRead
(
realm
->
Session
.
queryDefaultSession
(
realm
).
findFirst
()).
getToken
();
Session
.
queryDefaultSession
(
realm
).
findFirst
()).
getToken
();
roomObserver
=
realmHelper
roomObserver
=
realmHelper
...
@@ -151,9 +153,9 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -151,9 +153,9 @@ public class RoomFragment extends AbstractChatRoomFragment
protected
void
onSetupView
()
{
protected
void
onSetupView
()
{
RecyclerView
listView
=
(
RecyclerView
)
rootView
.
findViewById
(
R
.
id
.
recyclerview
);
RecyclerView
listView
=
(
RecyclerView
)
rootView
.
findViewById
(
R
.
id
.
recyclerview
);
MessageListAdapter
adapter
=
(
MessageListAdapter
)
realmHelper
.
createListAdapter
(
getContext
(),
MessageListAdapter
adapter
=
(
MessageListAdapter
)
realmHelper
.
createListAdapter
(
getContext
(),
realm
->
realm
.
where
(
Message
.
class
)
realm
->
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
Message
.
ROOM_ID
,
roomId
)
.
equalTo
(
Realm
Message
.
ROOM_ID
,
roomId
)
.
findAllSorted
(
Message
.
TIMESTAMP
,
Sort
.
DESCENDING
),
.
findAllSorted
(
Realm
Message
.
TIMESTAMP
,
Sort
.
DESCENDING
),
context
->
new
MessageListAdapter
(
context
,
hostname
,
userId
,
token
)
context
->
new
MessageListAdapter
(
context
,
hostname
,
userId
,
token
)
);
);
listView
.
setAdapter
(
adapter
);
listView
.
setAdapter
(
adapter
);
...
@@ -233,10 +235,10 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -233,10 +235,10 @@ public class RoomFragment extends AbstractChatRoomFragment
realm
.
where
(
RoomSubscription
.
class
).
equalTo
(
RoomSubscription
.
ROOM_ID
,
roomId
).
findFirst
());
realm
.
where
(
RoomSubscription
.
class
).
equalTo
(
RoomSubscription
.
ROOM_ID
,
roomId
).
findFirst
());
if
(
room
!=
null
)
{
if
(
room
!=
null
)
{
return
realmHelper
.
executeTransactionForReadResults
(
realm
->
return
realmHelper
.
executeTransactionForReadResults
(
realm
->
realm
.
where
(
Message
.
class
)
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
Message
.
ROOM_ID
,
roomId
)
.
equalTo
(
Realm
Message
.
ROOM_ID
,
roomId
)
.
greaterThanOrEqualTo
(
Message
.
TIMESTAMP
,
room
.
getLastSeen
())
.
greaterThanOrEqualTo
(
Realm
Message
.
TIMESTAMP
,
room
.
getLastSeen
())
.
notEqualTo
(
Message
.
USER_ID
,
userId
)
.
notEqualTo
(
Realm
Message
.
USER_ID
,
userId
)
.
findAll
()).
size
();
.
findAll
()).
size
();
}
else
{
}
else
{
return
0
;
return
0
;
...
@@ -259,16 +261,16 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -259,16 +261,16 @@ public class RoomFragment extends AbstractChatRoomFragment
new
AlertDialog
.
Builder
(
getContext
())
new
AlertDialog
.
Builder
(
getContext
())
.
setPositiveButton
(
R
.
string
.
resend
,
(
dialog
,
which
)
->
{
.
setPositiveButton
(
R
.
string
.
resend
,
(
dialog
,
which
)
->
{
realmHelper
.
executeTransaction
(
realm
->
realmHelper
.
executeTransaction
(
realm
->
realm
.
createOrUpdateObjectFromJson
(
Message
.
class
,
new
JSONObject
()
realm
.
createOrUpdateObjectFromJson
(
Realm
Message
.
class
,
new
JSONObject
()
.
put
(
Message
.
ID
,
messageId
)
.
put
(
Realm
Message
.
ID
,
messageId
)
.
put
(
Message
.
SYNC_STATE
,
SyncState
.
NOT_SYNCED
))
.
put
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
NOT_SYNCED
))
).
continueWith
(
new
LogcatIfError
());
).
continueWith
(
new
LogcatIfError
());
})
})
.
setNegativeButton
(
android
.
R
.
string
.
cancel
,
null
)
.
setNegativeButton
(
android
.
R
.
string
.
cancel
,
null
)
.
setNeutralButton
(
R
.
string
.
discard
,
(
dialog
,
which
)
->
{
.
setNeutralButton
(
R
.
string
.
discard
,
(
dialog
,
which
)
->
{
realmHelper
.
executeTransaction
(
realm
->
realmHelper
.
executeTransaction
(
realm
->
realm
.
where
(
Message
.
class
)
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
Message
.
ID
,
messageId
).
findAll
().
deleteAllFromRealm
()
.
equalTo
(
Realm
Message
.
ID
,
messageId
).
findAll
().
deleteAllFromRealm
()
).
continueWith
(
new
LogcatIfError
());
).
continueWith
(
new
LogcatIfError
());
})
})
.
show
();
.
show
();
...
@@ -524,14 +526,14 @@ public class RoomFragment extends AbstractChatRoomFragment
...
@@ -524,14 +526,14 @@ public class RoomFragment extends AbstractChatRoomFragment
private
Task
<
Void
>
sendMessage
(
String
messageText
)
{
private
Task
<
Void
>
sendMessage
(
String
messageText
)
{
return
realmHelper
.
executeTransaction
(
realm
->
return
realmHelper
.
executeTransaction
(
realm
->
realm
.
createOrUpdateObjectFromJson
(
Message
.
class
,
new
JSONObject
()
realm
.
createOrUpdateObjectFromJson
(
Realm
Message
.
class
,
new
JSONObject
()
.
put
(
Message
.
ID
,
UUID
.
randomUUID
().
toString
())
.
put
(
Realm
Message
.
ID
,
UUID
.
randomUUID
().
toString
())
.
put
(
Message
.
SYNC_STATE
,
SyncState
.
NOT_SYNCED
)
.
put
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
NOT_SYNCED
)
.
put
(
Message
.
TIMESTAMP
,
System
.
currentTimeMillis
())
.
put
(
Realm
Message
.
TIMESTAMP
,
System
.
currentTimeMillis
())
.
put
(
Message
.
ROOM_ID
,
roomId
)
.
put
(
Realm
Message
.
ROOM_ID
,
roomId
)
.
put
(
Message
.
USER
,
new
JSONObject
()
.
put
(
Realm
Message
.
USER
,
new
JSONObject
()
.
put
(
User
.
ID
,
userId
))
.
put
(
Realm
User
.
ID
,
userId
))
.
put
(
Message
.
MESSAGE
,
messageText
)))
.
put
(
Realm
Message
.
MESSAGE
,
messageText
)))
.
onSuccess
(
_task
->
{
.
onSuccess
(
_task
->
{
scrollToLatestMessage
();
scrollToLatestMessage
();
return
null
;
return
null
;
...
...
app/src/main/java/chat/rocket/android/fragment/chatroom/dialog/AbstractChatRoomDialogFragment.java
View file @
606498f3
...
@@ -7,8 +7,8 @@ import android.support.annotation.NonNull;
...
@@ -7,8 +7,8 @@ import android.support.annotation.NonNull;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.design.widget.BottomSheetDialogFragment
;
import
android.support.design.widget.BottomSheetDialogFragment
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
abstract
class
AbstractChatRoomDialogFragment
extends
BottomSheetDialogFragment
{
abstract
class
AbstractChatRoomDialogFragment
extends
BottomSheetDialogFragment
{
...
...
app/src/main/java/chat/rocket/android/fragment/chatroom/dialog/FileUploadProgressDialogFragment.java
View file @
606498f3
...
@@ -11,7 +11,7 @@ import android.widget.Toast;
...
@@ -11,7 +11,7 @@ import android.widget.Toast;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.android.renderer.FileUploadingRenderer
;
import
chat.rocket.android.renderer.FileUploadingRenderer
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/fragment/chatroom/dialog/UsersOfRoomDialogFragment.java
View file @
606498f3
...
@@ -19,7 +19,7 @@ import chat.rocket.android.layouthelper.chatroom.dialog.RoomUserAdapter;
...
@@ -19,7 +19,7 @@ import chat.rocket.android.layouthelper.chatroom.dialog.RoomUserAdapter;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.internal.GetUsersOfRoomsProcedure
;
import
chat.rocket.android.model.internal.GetUsersOfRoomsProcedure
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/fragment/oauth/AbstractOAuthFragment.java
View file @
606498f3
...
@@ -15,7 +15,7 @@ import chat.rocket.android.fragment.AbstractWebViewFragment;
...
@@ -15,7 +15,7 @@ import chat.rocket.android.fragment.AbstractWebViewFragment;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.ddp.MeteorLoginServiceConfiguration
;
import
chat.rocket.android.model.ddp.MeteorLoginServiceConfiguration
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
public
abstract
class
AbstractOAuthFragment
extends
AbstractWebViewFragment
{
public
abstract
class
AbstractOAuthFragment
extends
AbstractWebViewFragment
{
...
...
app/src/main/java/chat/rocket/android/fragment/server_config/LoginFragment.java
View file @
606498f3
...
@@ -15,8 +15,8 @@ import chat.rocket.android.helper.TextUtils;
...
@@ -15,8 +15,8 @@ import chat.rocket.android.helper.TextUtils;
import
chat.rocket.android.layouthelper.oauth.OAuthProviderInfo
;
import
chat.rocket.android.layouthelper.oauth.OAuthProviderInfo
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.ddp.MeteorLoginServiceConfiguration
;
import
chat.rocket.android.model.ddp.MeteorLoginServiceConfiguration
;
import
chat.rocket.
android.realm_helper
.RealmListObserver
;
import
chat.rocket.
persistence.realm
.RealmListObserver
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
/**
/**
* Login screen.
* Login screen.
...
...
app/src/main/java/chat/rocket/android/fragment/server_config/RetryLoginFragment.java
View file @
606498f3
...
@@ -9,8 +9,8 @@ import chat.rocket.android.R;
...
@@ -9,8 +9,8 @@ import chat.rocket.android.R;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
/**
/**
* Login screen.
* Login screen.
...
...
app/src/main/java/chat/rocket/android/fragment/sidebar/SidebarMainContract.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
fragment
.
sidebar
;
import
android.support.annotation.NonNull
;
import
java.util.List
;
import
chat.rocket.android.model.core.Room
;
import
chat.rocket.android.model.core.User
;
public
interface
SidebarMainContract
{
interface
View
{
void
showScreen
();
void
showEmptyScreen
();
void
showRoomList
(
List
<
Room
>
roomList
);
void
showUser
(
User
user
);
}
interface
Presenter
{
void
bindView
(
@NonNull
View
view
);
void
release
();
void
onUserOnline
();
void
onUserAway
();
void
onUserBusy
();
void
onUserOffline
();
void
onLogout
();
}
}
app/src/main/java/chat/rocket/android/fragment/sidebar/SidebarMainFragment.java
View file @
606498f3
...
@@ -3,6 +3,7 @@ package chat.rocket.android.fragment.sidebar;
...
@@ -3,6 +3,7 @@ package chat.rocket.android.fragment.sidebar;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.v4.app.DialogFragment
;
import
android.support.v4.app.DialogFragment
;
import
android.view.View
;
import
android.widget.CompoundButton
;
import
android.widget.CompoundButton
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
...
@@ -10,6 +11,7 @@ import android.widget.TextView;
...
@@ -10,6 +11,7 @@ import android.widget.TextView;
import
com.jakewharton.rxbinding.view.RxView
;
import
com.jakewharton.rxbinding.view.RxView
;
import
com.jakewharton.rxbinding.widget.RxCompoundButton
;
import
com.jakewharton.rxbinding.widget.RxCompoundButton
;
import
java.util.List
;
import
chat.rocket.android.BuildConfig
;
import
chat.rocket.android.BuildConfig
;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.RocketChatCache
;
...
@@ -18,25 +20,25 @@ import chat.rocket.android.fragment.AbstractFragment;
...
@@ -18,25 +20,25 @@ import chat.rocket.android.fragment.AbstractFragment;
import
chat.rocket.android.fragment.sidebar.dialog.AbstractAddRoomDialogFragment
;
import
chat.rocket.android.fragment.sidebar.dialog.AbstractAddRoomDialogFragment
;
import
chat.rocket.android.fragment.sidebar.dialog.AddChannelDialogFragment
;
import
chat.rocket.android.fragment.sidebar.dialog.AddChannelDialogFragment
;
import
chat.rocket.android.fragment.sidebar.dialog.AddDirectMessageDialogFragment
;
import
chat.rocket.android.fragment.sidebar.dialog.AddDirectMessageDialogFragment
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.layouthelper.chatroom.RoomListManager
;
import
chat.rocket.android.layouthelper.chatroom.RoomListManager
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.core.Room
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.core.User
;
import
chat.rocket.android.realm_helper.RealmHelper
;
import
chat.rocket.android.realm_helper.RealmListObserver
;
import
chat.rocket.android.realm_helper.RealmObjectObserver
;
import
chat.rocket.android.realm_helper.RealmStore
;
import
chat.rocket.android.renderer.UserRenderer
;
import
chat.rocket.android.renderer.UserRenderer
;
import
chat.rocket.android.repositories.RealmRoomRepository
;
import
chat.rocket.android.repositories.RealmUserRepository
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.persistence.realm.RealmStore
;
public
class
SidebarMainFragment
extends
AbstractFragment
{
public
class
SidebarMainFragment
extends
AbstractFragment
implements
SidebarMainContract
.
View
{
private
static
final
String
HOSTNAME
=
"hostname"
;
private
SidebarMainContract
.
Presenter
presenter
;
private
String
hostname
;
private
RoomListManager
roomListManager
;
private
RoomListManager
roomListManager
;
private
RealmListObserver
<
RoomSubscription
>
roomsObserver
;
private
RealmObjectObserver
<
User
>
currentUserObserver
;
private
String
hostname
;
private
MethodCallHelper
methodCallHelper
;
public
SidebarMainFragment
()
{
public
SidebarMainFragment
()
{
}
}
...
@@ -46,10 +48,11 @@ public class SidebarMainFragment extends AbstractFragment {
...
@@ -46,10 +48,11 @@ public class SidebarMainFragment extends AbstractFragment {
*/
*/
public
static
SidebarMainFragment
create
(
String
hostname
)
{
public
static
SidebarMainFragment
create
(
String
hostname
)
{
Bundle
args
=
new
Bundle
();
Bundle
args
=
new
Bundle
();
args
.
putString
(
"hostname"
,
hostname
);
args
.
putString
(
HOSTNAME
,
hostname
);
SidebarMainFragment
fragment
=
new
SidebarMainFragment
();
SidebarMainFragment
fragment
=
new
SidebarMainFragment
();
fragment
.
setArguments
(
args
);
fragment
.
setArguments
(
args
);
return
fragment
;
return
fragment
;
}
}
...
@@ -58,40 +61,35 @@ public class SidebarMainFragment extends AbstractFragment {
...
@@ -58,40 +61,35 @@ public class SidebarMainFragment extends AbstractFragment {
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
Bundle
args
=
getArguments
();
Bundle
args
=
getArguments
();
hostname
=
args
==
null
?
null
:
args
.
getString
(
"hostname"
);
hostname
=
args
==
null
?
null
:
args
.
getString
(
HOSTNAME
);
if
(!
TextUtils
.
isEmpty
(
hostname
))
{
RealmHelper
realmHelper
=
RealmStore
.
get
(
hostname
);
presenter
=
new
SidebarMainPresenter
(
if
(
realmHelper
!=
null
)
{
hostname
,
roomsObserver
=
realmHelper
new
RealmRoomRepository
(
RealmStore
.
getRealm
(
hostname
)),
.
createListObserver
(
new
RealmUserRepository
(
RealmStore
.
getRealm
(
hostname
)),
realm
->
realm
.
where
(
RoomSubscription
.
class
).
equalTo
(
RoomSubscription
.
OPEN
,
true
)
TextUtils
.
isEmpty
(
hostname
)
?
null
:
new
MethodCallHelper
(
getContext
(),
hostname
)
.
findAll
())
);
.
setOnUpdateListener
(
list
->
roomListManager
.
setRooms
(
list
));
}
currentUserObserver
=
realmHelper
@Override
.
createObjectObserver
(
User:
:
queryCurrentUser
)
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
.
setOnUpdateListener
(
this
::
onCurrentUser
);
super
.
onViewCreated
(
view
,
savedInstanceState
);
presenter
.
bindView
(
this
);
methodCallHelper
=
new
MethodCallHelper
(
getContext
(),
hostname
);
}
}
}
@Override
public
void
onDestroyView
()
{
presenter
.
release
();
super
.
onDestroyView
();
}
}
@Override
@Override
protected
int
getLayout
()
{
protected
int
getLayout
()
{
if
(
hostname
==
null
)
{
return
R
.
layout
.
fragment_sidebar_main
;
return
R
.
layout
.
simple_screen
;
}
else
{
return
R
.
layout
.
fragment_sidebar_main
;
}
}
}
@Override
@Override
protected
void
onSetupView
()
{
protected
void
onSetupView
()
{
if
(
hostname
==
null
)
{
return
;
}
setupUserActionToggle
();
setupUserActionToggle
();
setupUserStatusButtons
();
setupUserStatusButtons
();
setupLogoutButton
();
setupLogoutButton
();
...
@@ -123,26 +121,22 @@ public class SidebarMainFragment extends AbstractFragment {
...
@@ -123,26 +121,22 @@ public class SidebarMainFragment extends AbstractFragment {
}
}
private
void
setupUserStatusButtons
()
{
private
void
setupUserStatusButtons
()
{
rootView
.
findViewById
(
R
.
id
.
btn_status_online
).
setOnClickListener
(
view
->
rootView
.
findViewById
(
R
.
id
.
btn_status_online
).
setOnClickListener
(
view
->
{
updateCurrentUserStatus
(
User
.
STATUS_ONLINE
));
presenter
.
onUserOnline
();
rootView
.
findViewById
(
R
.
id
.
btn_status_away
).
setOnClickListener
(
view
->
updateCurrentUserStatus
(
User
.
STATUS_AWAY
));
rootView
.
findViewById
(
R
.
id
.
btn_status_busy
).
setOnClickListener
(
view
->
updateCurrentUserStatus
(
User
.
STATUS_BUSY
));
rootView
.
findViewById
(
R
.
id
.
btn_status_invisible
).
setOnClickListener
(
view
->
updateCurrentUserStatus
(
User
.
STATUS_OFFLINE
));
}
private
void
updateCurrentUserStatus
(
String
status
)
{
if
(
methodCallHelper
!=
null
)
{
methodCallHelper
.
setUserStatus
(
status
).
continueWith
(
new
LogcatIfError
());
closeUserActionContainer
();
closeUserActionContainer
();
}
});
}
rootView
.
findViewById
(
R
.
id
.
btn_status_away
).
setOnClickListener
(
view
->
{
presenter
.
onUserAway
();
private
void
onCurrentUser
(
User
user
)
{
closeUserActionContainer
();
onRenderCurrentUser
(
user
);
});
updateRoomListMode
(
user
);
rootView
.
findViewById
(
R
.
id
.
btn_status_busy
).
setOnClickListener
(
view
->
{
presenter
.
onUserBusy
();
closeUserActionContainer
();
});
rootView
.
findViewById
(
R
.
id
.
btn_status_invisible
).
setOnClickListener
(
view
->
{
presenter
.
onUserOffline
();
closeUserActionContainer
();
});
}
}
private
void
onRenderCurrentUser
(
User
user
)
{
private
void
onRenderCurrentUser
(
User
user
)
{
...
@@ -163,10 +157,8 @@ public class SidebarMainFragment extends AbstractFragment {
...
@@ -163,10 +157,8 @@ public class SidebarMainFragment extends AbstractFragment {
private
void
setupLogoutButton
()
{
private
void
setupLogoutButton
()
{
rootView
.
findViewById
(
R
.
id
.
btn_logout
).
setOnClickListener
(
view
->
{
rootView
.
findViewById
(
R
.
id
.
btn_logout
).
setOnClickListener
(
view
->
{
if
(
methodCallHelper
!=
null
)
{
presenter
.
onLogout
();
methodCallHelper
.
logout
().
continueWith
(
new
LogcatIfError
());
closeUserActionContainer
();
closeUserActionContainer
();
}
});
});
}
}
...
@@ -198,20 +190,23 @@ public class SidebarMainFragment extends AbstractFragment {
...
@@ -198,20 +190,23 @@ public class SidebarMainFragment extends AbstractFragment {
}
}
@Override
@Override
public
void
onResume
()
{
public
void
showScreen
()
{
super
.
onResume
();
rootView
.
setVisibility
(
View
.
VISIBLE
);
if
(
roomsObserver
!=
null
)
{
roomsObserver
.
sub
();
currentUserObserver
.
sub
();
}
}
}
@Override
@Override
public
void
onPause
()
{
public
void
showEmptyScreen
()
{
if
(
roomsObserver
!=
null
)
{
rootView
.
setVisibility
(
View
.
INVISIBLE
);
currentUserObserver
.
unsub
();
}
roomsObserver
.
unsub
();
}
@Override
super
.
onPause
();
public
void
showRoomList
(
List
<
Room
>
roomList
)
{
roomListManager
.
setRooms
(
roomList
);
}
@Override
public
void
showUser
(
User
user
)
{
onRenderCurrentUser
(
user
);
updateRoomListMode
(
user
);
}
}
}
}
app/src/main/java/chat/rocket/android/fragment/sidebar/SidebarMainPresenter.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
fragment
.
sidebar
;
import
android.support.annotation.NonNull
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.core.User
;
import
chat.rocket.android.repositories.RoomRepository
;
import
chat.rocket.android.repositories.UserRepository
;
import
rx.Subscription
;
import
rx.subscriptions.CompositeSubscription
;
public
class
SidebarMainPresenter
implements
SidebarMainContract
.
Presenter
{
private
final
String
hostname
;
private
final
RoomRepository
roomRepository
;
private
final
UserRepository
userRepository
;
private
final
MethodCallHelper
methodCallHelper
;
private
SidebarMainContract
.
View
view
;
private
CompositeSubscription
compositeSubscription
=
new
CompositeSubscription
();
public
SidebarMainPresenter
(
String
hostname
,
RoomRepository
roomRepository
,
UserRepository
userRepository
,
MethodCallHelper
methodCallHelper
)
{
this
.
hostname
=
hostname
;
this
.
roomRepository
=
roomRepository
;
this
.
userRepository
=
userRepository
;
this
.
methodCallHelper
=
methodCallHelper
;
}
@Override
public
void
bindView
(
@NonNull
SidebarMainContract
.
View
view
)
{
this
.
view
=
view
;
if
(
TextUtils
.
isEmpty
(
hostname
))
{
view
.
showEmptyScreen
();
return
;
}
view
.
showScreen
();
subscribeToRooms
();
subscribeToUser
();
}
@Override
public
void
release
()
{
compositeSubscription
.
unsubscribe
();
view
=
null
;
}
@Override
public
void
onUserOnline
()
{
updateCurrentUserStatus
(
User
.
STATUS_ONLINE
);
}
@Override
public
void
onUserAway
()
{
updateCurrentUserStatus
(
User
.
STATUS_AWAY
);
}
@Override
public
void
onUserBusy
()
{
updateCurrentUserStatus
(
User
.
STATUS_BUSY
);
}
@Override
public
void
onUserOffline
()
{
updateCurrentUserStatus
(
User
.
STATUS_OFFLINE
);
}
@Override
public
void
onLogout
()
{
if
(
methodCallHelper
!=
null
)
{
methodCallHelper
.
logout
().
continueWith
(
new
LogcatIfError
());
}
}
private
void
subscribeToRooms
()
{
final
Subscription
subscription
=
roomRepository
.
getOpenRooms
()
.
distinctUntilChanged
()
.
subscribe
(
rooms
->
view
.
showRoomList
(
rooms
)
);
compositeSubscription
.
add
(
subscription
);
}
private
void
subscribeToUser
()
{
final
Subscription
subscription
=
userRepository
.
getCurrentUser
()
.
distinctUntilChanged
()
.
subscribe
(
user
->
view
.
showUser
(
user
));
compositeSubscription
.
add
(
subscription
);
}
private
void
updateCurrentUserStatus
(
String
status
)
{
if
(
methodCallHelper
!=
null
)
{
methodCallHelper
.
setUserStatus
(
status
).
continueWith
(
new
LogcatIfError
());
}
}
}
app/src/main/java/chat/rocket/android/fragment/sidebar/dialog/AbstractAddRoomDialogFragment.java
View file @
606498f3
...
@@ -12,8 +12,8 @@ import com.trello.rxlifecycle.components.support.RxAppCompatDialogFragment;
...
@@ -12,8 +12,8 @@ import com.trello.rxlifecycle.components.support.RxAppCompatDialogFragment;
import
bolts.Task
;
import
bolts.Task
;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
public
abstract
class
AbstractAddRoomDialogFragment
extends
RxAppCompatDialogFragment
{
public
abstract
class
AbstractAddRoomDialogFragment
extends
RxAppCompatDialogFragment
{
...
...
app/src/main/java/chat/rocket/android/fragment/sidebar/dialog/AddDirectMessageDialogFragment.java
View file @
606498f3
...
@@ -12,11 +12,11 @@ import bolts.Task;
...
@@ -12,11 +12,11 @@ import bolts.Task;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.layouthelper.sidebar.dialog.SuggestUserAdapter
;
import
chat.rocket.android.layouthelper.sidebar.dialog.SuggestUserAdapter
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.
android.realm_helper
.RealmAutoCompleteAdapter
;
import
chat.rocket.
persistence.realm
.RealmAutoCompleteAdapter
;
/**
/**
* add Direct Message.
* add Direct
Realm
Message.
*/
*/
public
class
AddDirectMessageDialogFragment
extends
AbstractAddRoomDialogFragment
{
public
class
AddDirectMessageDialogFragment
extends
AbstractAddRoomDialogFragment
{
public
static
AddDirectMessageDialogFragment
create
(
String
hostname
)
{
public
static
AddDirectMessageDialogFragment
create
(
String
hostname
)
{
...
@@ -39,10 +39,10 @@ public class AddDirectMessageDialogFragment extends AbstractAddRoomDialogFragmen
...
@@ -39,10 +39,10 @@ public class AddDirectMessageDialogFragment extends AbstractAddRoomDialogFragmen
AutoCompleteTextView
autoCompleteTextView
=
AutoCompleteTextView
autoCompleteTextView
=
(
AutoCompleteTextView
)
getDialog
().
findViewById
(
R
.
id
.
editor_username
);
(
AutoCompleteTextView
)
getDialog
().
findViewById
(
R
.
id
.
editor_username
);
RealmAutoCompleteAdapter
<
User
>
adapter
=
realmHelper
.
createAutoCompleteAdapter
(
getContext
(),
RealmAutoCompleteAdapter
<
Realm
User
>
adapter
=
realmHelper
.
createAutoCompleteAdapter
(
getContext
(),
(
realm
,
text
)
->
realm
.
where
(
User
.
class
)
(
realm
,
text
)
->
realm
.
where
(
Realm
User
.
class
)
.
contains
(
User
.
USERNAME
,
text
,
Case
.
INSENSITIVE
)
.
contains
(
Realm
User
.
USERNAME
,
text
,
Case
.
INSENSITIVE
)
.
findAllSorted
(
User
.
USERNAME
),
.
findAllSorted
(
Realm
User
.
USERNAME
),
context
->
new
SuggestUserAdapter
(
context
,
hostname
));
context
->
new
SuggestUserAdapter
(
context
,
hostname
));
autoCompleteTextView
.
setAdapter
(
adapter
);
autoCompleteTextView
.
setAdapter
(
adapter
);
...
...
app/src/main/java/chat/rocket/android/helper/FileUploadHelper.java
View file @
606498f3
...
@@ -17,7 +17,7 @@ import chat.rocket.android.log.RCLog;
...
@@ -17,7 +17,7 @@ import chat.rocket.android.log.RCLog;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
/**
/**
* utility class for uploading file.
* utility class for uploading file.
...
...
app/src/main/java/chat/rocket/android/layouthelper/ExtRealmModelListAdapter.java
View file @
606498f3
...
@@ -5,8 +5,8 @@ import android.support.annotation.LayoutRes;
...
@@ -5,8 +5,8 @@ import android.support.annotation.LayoutRes;
import
android.support.v7.util.ListUpdateCallback
;
import
android.support.v7.util.ListUpdateCallback
;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
chat.rocket.
android.realm_helper
.RealmModelListAdapter
;
import
chat.rocket.
persistence.realm
.RealmModelListAdapter
;
import
chat.rocket.
android.realm_helper
.RealmModelViewHolder
;
import
chat.rocket.
persistence.realm
.RealmModelViewHolder
;
@SuppressWarnings
({
"PMD.AbstractNaming"
,
"PMD.GenericsNaming"
})
@SuppressWarnings
({
"PMD.AbstractNaming"
,
"PMD.GenericsNaming"
})
/**
/**
...
...
app/src/main/java/chat/rocket/android/layouthelper/chatroom/AbstractMessageViewHolder.java
View file @
606498f3
...
@@ -8,7 +8,7 @@ import chat.rocket.android.R;
...
@@ -8,7 +8,7 @@ import chat.rocket.android.R;
import
chat.rocket.android.helper.DateTime
;
import
chat.rocket.android.helper.DateTime
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.
android.realm_helper
.RealmModelViewHolder
;
import
chat.rocket.
persistence.realm
.RealmModelViewHolder
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.RocketChatAvatar
;
public
abstract
class
AbstractMessageViewHolder
extends
RealmModelViewHolder
<
PairedMessage
>
{
public
abstract
class
AbstractMessageViewHolder
extends
RealmModelViewHolder
<
PairedMessage
>
{
...
...
app/src/main/java/chat/rocket/android/layouthelper/chatroom/MessageListAdapter.java
View file @
606498f3
...
@@ -10,13 +10,13 @@ import java.util.List;
...
@@ -10,13 +10,13 @@ import java.util.List;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.layouthelper.ExtRealmModelListAdapter
;
import
chat.rocket.android.layouthelper.ExtRealmModelListAdapter
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
/**
/**
* target list adapter for chat room.
* target list adapter for chat room.
*/
*/
public
class
MessageListAdapter
public
class
MessageListAdapter
extends
ExtRealmModelListAdapter
<
Message
,
PairedMessage
,
AbstractMessageViewHolder
>
{
extends
ExtRealmModelListAdapter
<
Realm
Message
,
PairedMessage
,
AbstractMessageViewHolder
>
{
private
static
final
int
VIEW_TYPE_UNKNOWN
=
0
;
private
static
final
int
VIEW_TYPE_UNKNOWN
=
0
;
private
static
final
int
VIEW_TYPE_NORMAL_MESSAGE
=
1
;
private
static
final
int
VIEW_TYPE_NORMAL_MESSAGE
=
1
;
...
@@ -99,7 +99,7 @@ public class MessageListAdapter
...
@@ -99,7 +99,7 @@ public class MessageListAdapter
}
}
@Override
@Override
protected
List
<
PairedMessage
>
mapResultsToViewModel
(
List
<
Message
>
results
)
{
protected
List
<
PairedMessage
>
mapResultsToViewModel
(
List
<
Realm
Message
>
results
)
{
if
(
results
.
isEmpty
())
{
if
(
results
.
isEmpty
())
{
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
}
}
...
...
app/src/main/java/chat/rocket/android/layouthelper/chatroom/MessageType.java
View file @
606498f3
...
@@ -3,7 +3,7 @@ package chat.rocket.android.layouthelper.chatroom;
...
@@ -3,7 +3,7 @@ package chat.rocket.android.layouthelper.chatroom;
import
android.content.Context
;
import
android.content.Context
;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
/**
/**
* message type.
* message type.
...
@@ -11,46 +11,46 @@ import chat.rocket.android.model.ddp.Message;
...
@@ -11,46 +11,46 @@ import chat.rocket.android.model.ddp.Message;
public
enum
MessageType
{
public
enum
MessageType
{
ROOM_NAME_CHANGED
(
"r"
)
{
ROOM_NAME_CHANGED
(
"r"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_room_name_changed
,
return
context
.
getString
(
R
.
string
.
message_room_name_changed
,
message
.
getMessage
(),
getUsername
(
message
));
message
.
getMessage
(),
getUsername
(
message
));
}
}
},
},
USER_ADDED
(
"au"
)
{
USER_ADDED
(
"au"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_user_added_by
,
return
context
.
getString
(
R
.
string
.
message_user_added_by
,
message
.
getMessage
(),
getUsername
(
message
));
message
.
getMessage
(),
getUsername
(
message
));
}
}
},
},
USER_REMOVED
(
"ru"
)
{
USER_REMOVED
(
"ru"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_user_removed_by
,
return
context
.
getString
(
R
.
string
.
message_user_removed_by
,
message
.
getMessage
(),
getUsername
(
message
));
message
.
getMessage
(),
getUsername
(
message
));
}
}
},
},
USER_JOINED
(
"uj"
)
{
USER_JOINED
(
"uj"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_user_joined_channel
);
return
context
.
getString
(
R
.
string
.
message_user_joined_channel
);
}
}
},
},
USER_LEFT
(
"ul"
)
{
USER_LEFT
(
"ul"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_user_left
);
return
context
.
getString
(
R
.
string
.
message_user_left
);
}
}
},
},
WELCOME
(
"wm"
)
{
WELCOME
(
"wm"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_welcome
,
getUsername
(
message
));
return
context
.
getString
(
R
.
string
.
message_welcome
,
getUsername
(
message
));
}
}
},
},
MESSAGE_REMOVED
(
"rm"
)
{
MESSAGE_REMOVED
(
"rm"
)
{
@Override
@Override
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
context
.
getString
(
R
.
string
.
message_removed
);
return
context
.
getString
(
R
.
string
.
message_removed
);
}
}
},
},
...
@@ -74,11 +74,11 @@ public enum MessageType {
...
@@ -74,11 +74,11 @@ public enum MessageType {
return
UNSPECIFIED
;
return
UNSPECIFIED
;
}
}
public
String
getString
(
Context
context
,
Message
message
)
{
public
String
getString
(
Context
context
,
Realm
Message
message
)
{
return
""
;
return
""
;
}
}
private
static
String
getUsername
(
Message
message
)
{
private
static
String
getUsername
(
Realm
Message
message
)
{
if
(
message
!=
null
&&
message
.
getUser
()
!=
null
)
{
if
(
message
!=
null
&&
message
.
getUser
()
!=
null
)
{
return
message
.
getUser
().
getUsername
();
return
message
.
getUser
().
getUsername
();
}
else
{
}
else
{
...
...
app/src/main/java/chat/rocket/android/layouthelper/chatroom/PairedMessage.java
View file @
606498f3
package
chat
.
rocket
.
android
.
layouthelper
.
chatroom
;
package
chat
.
rocket
.
android
.
layouthelper
.
chatroom
;
import
chat.rocket.android.helper.DateTime
;
import
chat.rocket.android.helper.DateTime
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
/**
/**
* ViewData Model for messages in chatroom.
* ViewData Model for messages in chatroom.
*/
*/
public
class
PairedMessage
{
public
class
PairedMessage
{
public
final
Message
target
;
public
final
Realm
Message
target
;
final
Message
nextSibling
;
final
Realm
Message
nextSibling
;
public
PairedMessage
(
Message
target
,
Message
nextSibling
)
{
public
PairedMessage
(
RealmMessage
target
,
Realm
Message
nextSibling
)
{
this
.
target
=
target
;
this
.
target
=
target
;
this
.
nextSibling
=
nextSibling
;
this
.
nextSibling
=
nextSibling
;
}
}
...
...
app/src/main/java/chat/rocket/android/layouthelper/chatroom/RoomListManager.java
View file @
606498f3
...
@@ -4,7 +4,7 @@ import android.view.View;
...
@@ -4,7 +4,7 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.
ddp.RoomSubscription
;
import
chat.rocket.android.model.
core.Room
;
import
chat.rocket.android.widget.internal.RoomListItemView
;
import
chat.rocket.android.widget.internal.RoomListItemView
;
import
java.util.List
;
import
java.util.List
;
...
@@ -19,7 +19,7 @@ public class RoomListManager {
...
@@ -19,7 +19,7 @@ public class RoomListManager {
private
boolean
unreadRoomMode
=
false
;
private
boolean
unreadRoomMode
=
false
;
private
List
<
Room
Subscription
>
roomSubscription
List
;
private
List
<
Room
>
room
List
;
/**
/**
* Callback interface for List item clicked.
* Callback interface for List item clicked.
...
@@ -54,8 +54,8 @@ public class RoomListManager {
...
@@ -54,8 +54,8 @@ public class RoomListManager {
/**
/**
* update ViewGroups with room list.
* update ViewGroups with room list.
*/
*/
public
void
setRooms
(
List
<
Room
Subscription
>
roomSubscription
List
)
{
public
void
setRooms
(
List
<
Room
>
room
List
)
{
this
.
room
SubscriptionList
=
roomSubscription
List
;
this
.
room
List
=
room
List
;
updateRoomsList
();
updateRoomsList
();
}
}
...
@@ -66,14 +66,14 @@ public class RoomListManager {
...
@@ -66,14 +66,14 @@ public class RoomListManager {
this
.
listener
=
listener
;
this
.
listener
=
listener
;
}
}
private
void
removeDeletedItem
(
ViewGroup
parent
,
List
<
Room
Subscription
>
roomSubscription
List
)
{
private
void
removeDeletedItem
(
ViewGroup
parent
,
List
<
Room
>
room
List
)
{
for
(
int
index
=
parent
.
getChildCount
()
-
1
;
index
>=
0
;
index
--)
{
for
(
int
index
=
parent
.
getChildCount
()
-
1
;
index
>=
0
;
index
--)
{
RoomListItemView
roomListItemView
=
(
RoomListItemView
)
parent
.
getChildAt
(
index
);
RoomListItemView
roomListItemView
=
(
RoomListItemView
)
parent
.
getChildAt
(
index
);
final
String
targetRoomName
=
roomListItemView
.
getRoomName
();
final
String
targetRoomName
=
roomListItemView
.
getRoomName
();
if
(!
TextUtils
.
isEmpty
(
targetRoomName
))
{
if
(!
TextUtils
.
isEmpty
(
targetRoomName
))
{
boolean
found
=
false
;
boolean
found
=
false
;
for
(
Room
Subscription
roomSubscription
:
roomSubscription
List
)
{
for
(
Room
room
:
room
List
)
{
if
(
targetRoomName
.
equals
(
room
Subscription
.
getName
()))
{
if
(
targetRoomName
.
equals
(
room
.
getName
()))
{
found
=
true
;
found
=
true
;
break
;
break
;
}
}
...
@@ -90,15 +90,15 @@ public class RoomListManager {
...
@@ -90,15 +90,15 @@ public class RoomListManager {
updateRoomsList
();
updateRoomsList
();
}
}
private
void
insertOrUpdateItem
(
ViewGroup
parent
,
Room
Subscription
roomSubscription
)
{
private
void
insertOrUpdateItem
(
ViewGroup
parent
,
Room
room
)
{
final
String
roomName
=
room
Subscription
.
getName
();
final
String
roomName
=
room
.
getName
();
int
index
;
int
index
;
for
(
index
=
0
;
index
<
parent
.
getChildCount
();
index
++)
{
for
(
index
=
0
;
index
<
parent
.
getChildCount
();
index
++)
{
RoomListItemView
roomListItemView
=
(
RoomListItemView
)
parent
.
getChildAt
(
index
);
RoomListItemView
roomListItemView
=
(
RoomListItemView
)
parent
.
getChildAt
(
index
);
final
String
targetRoomName
=
roomListItemView
.
getRoomName
();
final
String
targetRoomName
=
roomListItemView
.
getRoomName
();
if
(
roomName
.
equals
(
targetRoomName
))
{
if
(
roomName
.
equals
(
targetRoomName
))
{
updateRoomItemView
(
roomListItemView
,
room
Subscription
);
updateRoomItemView
(
roomListItemView
,
room
);
return
;
return
;
}
}
if
(
roomName
.
compareToIgnoreCase
(
targetRoomName
)
<
0
)
{
if
(
roomName
.
compareToIgnoreCase
(
targetRoomName
)
<
0
)
{
...
@@ -107,7 +107,7 @@ public class RoomListManager {
...
@@ -107,7 +107,7 @@ public class RoomListManager {
}
}
RoomListItemView
roomListItemView
=
new
RoomListItemView
(
parent
.
getContext
());
RoomListItemView
roomListItemView
=
new
RoomListItemView
(
parent
.
getContext
());
updateRoomItemView
(
roomListItemView
,
room
Subscription
);
updateRoomItemView
(
roomListItemView
,
room
);
if
(
index
==
parent
.
getChildCount
())
{
if
(
index
==
parent
.
getChildCount
())
{
parent
.
addView
(
roomListItemView
);
parent
.
addView
(
roomListItemView
);
}
else
{
}
else
{
...
@@ -116,13 +116,13 @@ public class RoomListManager {
...
@@ -116,13 +116,13 @@ public class RoomListManager {
}
}
private
void
updateRoomItemView
(
RoomListItemView
roomListItemView
,
private
void
updateRoomItemView
(
RoomListItemView
roomListItemView
,
Room
Subscription
roomSubscription
)
{
Room
room
)
{
roomListItemView
roomListItemView
.
setRoomId
(
room
Subscription
.
getRoomId
())
.
setRoomId
(
room
.
getRoomId
())
.
setRoomName
(
room
Subscription
.
getName
())
.
setRoomName
(
room
.
getName
())
.
setRoomType
(
room
Subscription
.
getType
())
.
setRoomType
(
room
.
getType
())
.
setAlert
(
room
Subscription
.
isAlert
())
.
setAlert
(
room
.
isAlert
())
.
setUnreadCount
(
room
Subscription
.
getUnread
());
.
setUnreadCount
(
room
.
getUnread
());
roomListItemView
.
setOnClickListener
(
this
::
onItemClick
);
roomListItemView
.
setOnClickListener
(
this
::
onItemClick
);
}
}
...
@@ -134,31 +134,35 @@ public class RoomListManager {
...
@@ -134,31 +134,35 @@ public class RoomListManager {
}
}
private
void
updateRoomsList
()
{
private
void
updateRoomsList
()
{
removeDeletedItem
(
unreadRoomsContainer
,
roomSubscriptionList
);
if
(
roomList
==
null
)
{
removeDeletedItem
(
channelsContainer
,
roomSubscriptionList
);
return
;
removeDeletedItem
(
dmContainer
,
roomSubscriptionList
);
}
removeDeletedItem
(
unreadRoomsContainer
,
roomList
);
removeDeletedItem
(
channelsContainer
,
roomList
);
removeDeletedItem
(
dmContainer
,
roomList
);
for
(
Room
Subscription
roomSubscription
:
roomSubscription
List
)
{
for
(
Room
room
:
room
List
)
{
String
name
=
room
Subscription
.
getName
();
String
name
=
room
.
getName
();
if
(
TextUtils
.
isEmpty
(
name
))
{
if
(
TextUtils
.
isEmpty
(
name
))
{
continue
;
continue
;
}
}
String
type
=
room
Subscription
.
getType
();
String
type
=
room
.
getType
();
if
(
unreadRoomMode
&&
room
Subscription
.
isAlert
())
{
if
(
unreadRoomMode
&&
room
.
isAlert
())
{
insertOrUpdateItem
(
unreadRoomsContainer
,
room
Subscription
);
insertOrUpdateItem
(
unreadRoomsContainer
,
room
);
removeItemIfExists
(
channelsContainer
,
name
);
removeItemIfExists
(
channelsContainer
,
name
);
removeItemIfExists
(
dmContainer
,
name
);
removeItemIfExists
(
dmContainer
,
name
);
}
else
if
(
Room
Subscription
.
TYPE_CHANNEL
.
equals
(
type
)
}
else
if
(
Room
.
TYPE_CHANNEL
.
equals
(
type
)
||
Room
Subscription
.
TYPE_PRIVATE
.
equals
(
type
))
{
||
Room
.
TYPE_PRIVATE
.
equals
(
type
))
{
removeItemIfExists
(
unreadRoomsContainer
,
name
);
removeItemIfExists
(
unreadRoomsContainer
,
name
);
insertOrUpdateItem
(
channelsContainer
,
room
Subscription
);
insertOrUpdateItem
(
channelsContainer
,
room
);
removeItemIfExists
(
dmContainer
,
name
);
removeItemIfExists
(
dmContainer
,
name
);
}
else
if
(
Room
Subscription
.
TYPE_DIRECT_MESSAGE
.
equals
(
type
))
{
}
else
if
(
Room
.
TYPE_DIRECT_MESSAGE
.
equals
(
type
))
{
removeItemIfExists
(
unreadRoomsContainer
,
name
);
removeItemIfExists
(
unreadRoomsContainer
,
name
);
removeItemIfExists
(
channelsContainer
,
name
);
removeItemIfExists
(
channelsContainer
,
name
);
insertOrUpdateItem
(
dmContainer
,
room
Subscription
);
insertOrUpdateItem
(
dmContainer
,
room
);
}
}
}
}
...
...
app/src/main/java/chat/rocket/android/layouthelper/chatroom/dialog/RoomUserAdapter.java
View file @
606498f3
...
@@ -9,8 +9,8 @@ import android.view.ViewGroup;
...
@@ -9,8 +9,8 @@ import android.view.ViewGroup;
import
java.util.List
;
import
java.util.List
;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.renderer.UserRenderer
;
import
chat.rocket.android.renderer.UserRenderer
;
/**
/**
...
@@ -47,16 +47,16 @@ public class RoomUserAdapter extends RecyclerView.Adapter<RoomUserViewHolder> {
...
@@ -47,16 +47,16 @@ public class RoomUserAdapter extends RecyclerView.Adapter<RoomUserViewHolder> {
return
;
return
;
}
}
User
user
=
realmHelper
.
executeTransactionForRead
(
realm
->
Realm
User
user
=
realmHelper
.
executeTransactionForRead
(
realm
->
realm
.
where
(
User
.
class
).
equalTo
(
User
.
USERNAME
,
username
).
findFirst
());
realm
.
where
(
RealmUser
.
class
).
equalTo
(
Realm
User
.
USERNAME
,
username
).
findFirst
());
if
(
user
==
null
)
{
if
(
user
==
null
)
{
user
=
new
User
();
user
=
new
Realm
User
();
user
.
setUsername
(
username
);
user
.
setUsername
(
username
);
new
UserRenderer
(
context
,
user
)
new
UserRenderer
(
context
,
user
.
asUser
()
)
.
avatarInto
(
holder
.
avatar
,
hostname
)
.
avatarInto
(
holder
.
avatar
,
hostname
)
.
usernameInto
(
holder
.
username
);
.
usernameInto
(
holder
.
username
);
}
else
{
}
else
{
new
UserRenderer
(
context
,
user
)
new
UserRenderer
(
context
,
user
.
asUser
()
)
.
statusColorInto
(
holder
.
status
)
.
statusColorInto
(
holder
.
status
)
.
avatarInto
(
holder
.
avatar
,
hostname
)
.
avatarInto
(
holder
.
avatar
,
hostname
)
.
usernameInto
(
holder
.
username
);
.
usernameInto
(
holder
.
username
);
...
...
app/src/main/java/chat/rocket/android/layouthelper/sidebar/dialog/SuggestUserAdapter.java
View file @
606498f3
...
@@ -7,15 +7,15 @@ import android.widget.ImageView;
...
@@ -7,15 +7,15 @@ import android.widget.ImageView;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.List
;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.
android.realm_helper
.RealmAutoCompleteAdapter
;
import
chat.rocket.
persistence.realm
.RealmAutoCompleteAdapter
;
import
chat.rocket.android.renderer.UserRenderer
;
import
chat.rocket.android.renderer.UserRenderer
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.RocketChatAvatar
;
/**
/**
* adapter to suggest user names.
* adapter to suggest user names.
*/
*/
public
class
SuggestUserAdapter
extends
RealmAutoCompleteAdapter
<
User
>
{
public
class
SuggestUserAdapter
extends
RealmAutoCompleteAdapter
<
Realm
User
>
{
private
final
String
hostname
;
private
final
String
hostname
;
public
SuggestUserAdapter
(
Context
context
,
String
hostname
)
{
public
SuggestUserAdapter
(
Context
context
,
String
hostname
)
{
...
@@ -24,18 +24,18 @@ public class SuggestUserAdapter extends RealmAutoCompleteAdapter<User> {
...
@@ -24,18 +24,18 @@ public class SuggestUserAdapter extends RealmAutoCompleteAdapter<User> {
}
}
@Override
@Override
protected
void
onBindItemView
(
View
itemView
,
User
user
)
{
protected
void
onBindItemView
(
View
itemView
,
Realm
User
user
)
{
new
UserRenderer
(
itemView
.
getContext
(),
user
)
new
UserRenderer
(
itemView
.
getContext
(),
user
.
asUser
()
)
.
statusColorInto
((
ImageView
)
itemView
.
findViewById
(
R
.
id
.
room_user_status
))
.
statusColorInto
((
ImageView
)
itemView
.
findViewById
(
R
.
id
.
room_user_status
))
.
avatarInto
((
RocketChatAvatar
)
itemView
.
findViewById
(
R
.
id
.
room_user_avatar
),
hostname
);
.
avatarInto
((
RocketChatAvatar
)
itemView
.
findViewById
(
R
.
id
.
room_user_avatar
),
hostname
);
}
}
@Override
@Override
protected
void
filterList
(
List
<
User
>
users
,
String
text
)
{
protected
void
filterList
(
List
<
Realm
User
>
users
,
String
text
)
{
Iterator
<
User
>
itUsers
=
users
.
iterator
();
Iterator
<
Realm
User
>
itUsers
=
users
.
iterator
();
final
String
prefix
=
text
.
toLowerCase
();
final
String
prefix
=
text
.
toLowerCase
();
while
(
itUsers
.
hasNext
())
{
while
(
itUsers
.
hasNext
())
{
User
user
=
itUsers
.
next
();
Realm
User
user
=
itUsers
.
next
();
if
(!
user
.
getUsername
().
toLowerCase
().
startsWith
(
prefix
))
{
if
(!
user
.
getUsername
().
toLowerCase
().
startsWith
(
prefix
))
{
itUsers
.
remove
();
itUsers
.
remove
();
}
}
...
@@ -43,7 +43,7 @@ public class SuggestUserAdapter extends RealmAutoCompleteAdapter<User> {
...
@@ -43,7 +43,7 @@ public class SuggestUserAdapter extends RealmAutoCompleteAdapter<User> {
}
}
@Override
@Override
protected
String
getStringForSelectedItem
(
User
user
)
{
protected
String
getStringForSelectedItem
(
Realm
User
user
)
{
return
user
.
getUsername
();
return
user
.
getUsername
();
}
}
}
}
app/src/main/java/chat/rocket/android/model/core/Attachment.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
import
android.support.annotation.Nullable
;
import
java.util.List
;
@AutoValue
public
abstract
class
Attachment
{
@Nullable
public
abstract
String
getColor
();
@Nullable
public
abstract
String
getText
();
@Nullable
public
abstract
String
getTimestamp
();
@Nullable
public
abstract
String
getThumbUrl
();
@Nullable
public
abstract
String
getMessageLink
();
public
abstract
boolean
isCollapsed
();
@Nullable
public
abstract
AttachmentAuthor
getAttachmentAuthor
();
@Nullable
public
abstract
AttachmentTitle
getAttachmentTitle
();
@Nullable
public
abstract
String
getImageUrl
();
@Nullable
public
abstract
String
getAudioUrl
();
@Nullable
public
abstract
String
getVideoUrl
();
@Nullable
public
abstract
List
<
AttachmentField
>
getAttachmentFields
();
public
static
Builder
builder
()
{
return
new
AutoValue_Attachment
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setColor
(
String
color
);
public
abstract
Builder
setText
(
String
text
);
public
abstract
Builder
setTimestamp
(
String
timestamp
);
public
abstract
Builder
setThumbUrl
(
String
thumbUrl
);
public
abstract
Builder
setMessageLink
(
String
messageLink
);
public
abstract
Builder
setCollapsed
(
boolean
collapsed
);
public
abstract
Builder
setAttachmentAuthor
(
AttachmentAuthor
attachmentAuthor
);
public
abstract
Builder
setAttachmentTitle
(
AttachmentTitle
attachmentTitle
);
public
abstract
Builder
setImageUrl
(
String
imageUrl
);
public
abstract
Builder
setAudioUrl
(
String
audioUrl
);
public
abstract
Builder
setVideoUrl
(
String
videoUrl
);
public
abstract
Builder
setAttachmentFields
(
List
<
AttachmentField
>
attachmentFields
);
public
abstract
Attachment
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/AttachmentAuthor.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
@AutoValue
public
abstract
class
AttachmentAuthor
{
public
abstract
String
getName
();
public
abstract
String
getLink
();
public
abstract
String
getIconUrl
();
public
static
Builder
builder
()
{
return
new
AutoValue_AttachmentAuthor
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setName
(
String
name
);
public
abstract
Builder
setLink
(
String
link
);
public
abstract
Builder
setIconUrl
(
String
iconUrl
);
public
abstract
AttachmentAuthor
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/AttachmentField.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
@AutoValue
public
abstract
class
AttachmentField
{
public
abstract
boolean
isShort
();
public
abstract
String
getTitle
();
public
abstract
String
getText
();
public
static
Builder
builder
()
{
return
new
AutoValue_AttachmentField
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setShort
(
boolean
isShort
);
public
abstract
Builder
setTitle
(
String
link
);
public
abstract
Builder
setText
(
String
text
);
public
abstract
AttachmentField
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/AttachmentTitle.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
import
android.support.annotation.Nullable
;
@AutoValue
public
abstract
class
AttachmentTitle
{
public
abstract
String
getTitle
();
@Nullable
public
abstract
String
getLink
();
@Nullable
public
abstract
String
getDownloadLink
();
public
static
Builder
builder
()
{
return
new
AutoValue_AttachmentTitle
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setTitle
(
String
title
);
public
abstract
Builder
setLink
(
String
link
);
public
abstract
Builder
setDownloadLink
(
String
downloadLink
);
public
abstract
AttachmentTitle
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/Email.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
@AutoValue
public
abstract
class
Email
{
public
abstract
String
getAddress
();
public
abstract
boolean
isVerified
();
public
static
Builder
builder
()
{
return
new
AutoValue_Email
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setAddress
(
String
address
);
public
abstract
Builder
setVerified
(
boolean
verified
);
public
abstract
Email
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/Message.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
import
android.support.annotation.Nullable
;
import
java.util.List
;
@AutoValue
public
abstract
class
Message
{
public
abstract
String
getId
();
@Nullable
public
abstract
String
getType
();
public
abstract
String
getRoomId
();
public
abstract
int
getSyncState
();
public
abstract
long
getTimestamp
();
public
abstract
String
getMessage
();
public
abstract
User
getUser
();
public
abstract
boolean
isGroupable
();
@Nullable
public
abstract
List
<
Attachment
>
getAttachments
();
@Nullable
public
abstract
List
<
WebContent
>
getWebContents
();
@Nullable
public
abstract
String
getAlias
();
@Nullable
public
abstract
String
getAvatar
();
public
static
Builder
builder
()
{
return
new
AutoValue_Message
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setId
(
String
id
);
public
abstract
Builder
setType
(
String
type
);
public
abstract
Builder
setRoomId
(
String
roomId
);
public
abstract
Builder
setSyncState
(
int
syncState
);
public
abstract
Builder
setTimestamp
(
long
timestamp
);
public
abstract
Builder
setMessage
(
String
msg
);
public
abstract
Builder
setUser
(
User
user
);
public
abstract
Builder
setGroupable
(
boolean
groupable
);
public
abstract
Builder
setAttachments
(
List
<
Attachment
>
attachments
);
public
abstract
Builder
setWebContents
(
List
<
WebContent
>
webContents
);
public
abstract
Builder
setAlias
(
String
alias
);
public
abstract
Builder
setAvatar
(
String
avatar
);
public
abstract
Message
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/Preferences.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
@AutoValue
public
abstract
class
Preferences
{
public
abstract
String
getId
();
public
abstract
boolean
isNewRoomNotification
();
public
abstract
boolean
isNewMessageNotification
();
public
abstract
boolean
isUseEmojis
();
public
abstract
boolean
isConvertAsciiEmoji
();
public
abstract
boolean
isSaveMobileBandwidth
();
public
abstract
boolean
isCollapseMediaByDefault
();
public
abstract
boolean
isUnreadRoomsMode
();
public
abstract
boolean
isAutoImageLoad
();
public
abstract
String
getEmailNotificationMode
();
public
abstract
boolean
isUnreadAlert
();
public
abstract
int
getDesktopNotificationDuration
();
public
abstract
int
getViewMode
();
public
abstract
boolean
isHideUsernames
();
public
abstract
boolean
isHideAvatars
();
public
abstract
boolean
isHideFlexTab
();
public
static
Builder
builder
()
{
return
new
AutoValue_Preferences
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setId
(
String
id
);
public
abstract
Builder
setNewRoomNotification
(
boolean
newRoomNotification
);
public
abstract
Builder
setNewMessageNotification
(
boolean
newMessageNotification
);
public
abstract
Builder
setUseEmojis
(
boolean
useEmojis
);
public
abstract
Builder
setConvertAsciiEmoji
(
boolean
convertAsciiEmoji
);
public
abstract
Builder
setSaveMobileBandwidth
(
boolean
saveMobileBandwidth
);
public
abstract
Builder
setCollapseMediaByDefault
(
boolean
collapseMediaByDefault
);
public
abstract
Builder
setUnreadRoomsMode
(
boolean
unreadRoomsMode
);
public
abstract
Builder
setAutoImageLoad
(
boolean
autoImageLoad
);
public
abstract
Builder
setEmailNotificationMode
(
String
emailNotificationMode
);
public
abstract
Builder
setUnreadAlert
(
boolean
unreadAlert
);
public
abstract
Builder
setDesktopNotificationDuration
(
int
desktopNotificationDuration
);
public
abstract
Builder
setViewMode
(
int
viewMode
);
public
abstract
Builder
setHideUsernames
(
boolean
hideUsernames
);
public
abstract
Builder
setHideAvatars
(
boolean
hideAvatars
);
public
abstract
Builder
setHideFlexTab
(
boolean
hideFlexTab
);
public
abstract
Preferences
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/Room.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
@AutoValue
public
abstract
class
Room
{
public
static
final
String
TYPE_CHANNEL
=
"c"
;
public
static
final
String
TYPE_PRIVATE
=
"p"
;
public
static
final
String
TYPE_DIRECT_MESSAGE
=
"d"
;
public
abstract
String
getId
();
public
abstract
String
getRoomId
();
public
abstract
String
getName
();
public
abstract
String
getType
();
public
abstract
boolean
isOpen
();
public
abstract
boolean
isAlert
();
public
abstract
int
getUnread
();
public
abstract
long
getUpdatedAt
();
public
abstract
long
getLastSeen
();
public
static
Builder
builder
()
{
return
new
AutoValue_Room
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setId
(
String
id
);
public
abstract
Builder
setRoomId
(
String
roomId
);
public
abstract
Builder
setName
(
String
name
);
public
abstract
Builder
setType
(
String
type
);
public
abstract
Builder
setOpen
(
boolean
open
);
public
abstract
Builder
setAlert
(
boolean
alert
);
public
abstract
Builder
setUnread
(
int
unread
);
public
abstract
Builder
setUpdatedAt
(
long
updatedAt
);
public
abstract
Builder
setLastSeen
(
long
lastSeen
);
public
abstract
Room
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/Settings.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
@AutoValue
public
abstract
class
Settings
{
public
abstract
String
getId
();
public
abstract
Preferences
getPreferences
();
public
static
Builder
builder
()
{
return
new
AutoValue_Settings
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setId
(
String
id
);
public
abstract
Builder
setPreferences
(
Preferences
preferences
);
public
abstract
Settings
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/User.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
import
android.support.annotation.Nullable
;
import
java.util.List
;
@AutoValue
public
abstract
class
User
{
public
static
final
String
STATUS_ONLINE
=
"online"
;
public
static
final
String
STATUS_BUSY
=
"busy"
;
public
static
final
String
STATUS_AWAY
=
"away"
;
public
static
final
String
STATUS_OFFLINE
=
"offline"
;
public
abstract
String
getId
();
public
abstract
String
getUsername
();
@Nullable
public
abstract
String
getStatus
();
public
abstract
double
getUtcOffset
();
@Nullable
public
abstract
List
<
Email
>
getEmails
();
@Nullable
public
abstract
Settings
getSettings
();
public
static
Builder
builder
()
{
return
new
AutoValue_User
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setId
(
String
id
);
public
abstract
Builder
setUsername
(
String
username
);
public
abstract
Builder
setStatus
(
String
status
);
public
abstract
Builder
setUtcOffset
(
double
utcOffset
);
public
abstract
Builder
setEmails
(
List
<
Email
>
emails
);
public
abstract
Builder
setSettings
(
Settings
settings
);
public
abstract
User
build
();
}
}
app/src/main/java/chat/rocket/android/model/core/WebContent.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
model
.
core
;
import
com.google.auto.value.AutoValue
;
import
android.support.annotation.Nullable
;
@AutoValue
public
abstract
class
WebContent
{
public
abstract
String
getUrl
();
@Nullable
public
abstract
String
getMeta
();
@Nullable
public
abstract
String
getHeaders
();
public
static
Builder
builder
()
{
return
new
AutoValue_WebContent
.
Builder
();
}
@AutoValue
.
Builder
public
abstract
static
class
Builder
{
public
abstract
Builder
setUrl
(
String
url
);
public
abstract
Builder
setMeta
(
String
meta
);
public
abstract
Builder
setHeaders
(
String
headers
);
public
abstract
WebContent
build
();
}
}
app/src/main/java/chat/rocket/android/model/ddp/PublicSetting.java
View file @
606498f3
...
@@ -7,7 +7,7 @@ import org.json.JSONException;
...
@@ -7,7 +7,7 @@ import org.json.JSONException;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
chat.rocket.android.model.JsonConstants
;
import
chat.rocket.android.model.JsonConstants
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
/**
/**
* public setting model.
* public setting model.
...
...
app/src/main/java/chat/rocket/android/model/ddp/Email.java
→
app/src/main/java/chat/rocket/android/model/ddp/
Realm
Email.java
View file @
606498f3
...
@@ -3,13 +3,22 @@ package chat.rocket.android.model.ddp;
...
@@ -3,13 +3,22 @@ package chat.rocket.android.model.ddp;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
import
chat.rocket.android.model.core.Email
;
/**
/**
* Login-User's email.
* Login-
Realm
User's email.
*/
*/
public
class
Email
extends
RealmObject
{
public
class
Realm
Email
extends
RealmObject
{
@PrimaryKey
private
String
address
;
@PrimaryKey
private
String
address
;
private
boolean
verified
;
private
boolean
verified
;
public
Email
asEmail
()
{
return
Email
.
builder
()
.
setAddress
(
address
)
.
setVerified
(
verified
)
.
build
();
}
@SuppressWarnings
({
"PMD.ShortVariable"
})
@SuppressWarnings
({
"PMD.ShortVariable"
})
@Override
@Override
public
boolean
equals
(
Object
o
)
{
public
boolean
equals
(
Object
o
)
{
...
@@ -20,7 +29,7 @@ public class Email extends RealmObject {
...
@@ -20,7 +29,7 @@ public class Email extends RealmObject {
return
false
;
return
false
;
}
}
Email
email
=
(
Email
)
o
;
RealmEmail
email
=
(
Realm
Email
)
o
;
if
(
verified
!=
email
.
verified
)
{
if
(
verified
!=
email
.
verified
)
{
return
false
;
return
false
;
...
...
app/src/main/java/chat/rocket/android/model/ddp/Message.java
→
app/src/main/java/chat/rocket/android/model/ddp/
Realm
Message.java
View file @
606498f3
...
@@ -2,18 +2,27 @@ package chat.rocket.android.model.ddp;
...
@@ -2,18 +2,27 @@ package chat.rocket.android.model.ddp;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.List
;
import
chat.rocket.android.model.JsonConstants
;
import
chat.rocket.android.model.JsonConstants
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.core.Attachment
;
import
chat.rocket.android.model.core.AttachmentAuthor
;
import
chat.rocket.android.model.core.AttachmentField
;
import
chat.rocket.android.model.core.AttachmentTitle
;
import
chat.rocket.android.model.core.Message
;
import
chat.rocket.android.model.core.WebContent
;
/**
/**
* Message.
*
Realm
Message.
*/
*/
@SuppressWarnings
({
"PMD.ShortClassName"
,
"PMD.ShortVariable"
,
@SuppressWarnings
({
"PMD.ShortClassName"
,
"PMD.ShortVariable"
,
"PMD.MethodNamingConventions"
,
"PMD.VariableNamingConventions"
})
"PMD.MethodNamingConventions"
,
"PMD.VariableNamingConventions"
})
public
class
Message
extends
RealmObject
{
public
class
Realm
Message
extends
RealmObject
{
//ref: Rocket.Chat:packages/rocketchat-lib/lib/MessageTypes.coffee
//ref: Rocket.Chat:packages/rocketchat-lib/lib/MessageTypes.coffee
public
static
final
String
ID
=
"_id"
;
public
static
final
String
ID
=
"_id"
;
...
@@ -36,7 +45,7 @@ public class Message extends RealmObject {
...
@@ -36,7 +45,7 @@ public class Message extends RealmObject {
private
int
syncstate
;
private
int
syncstate
;
private
long
ts
;
private
long
ts
;
private
String
msg
;
private
String
msg
;
private
User
u
;
private
Realm
User
u
;
private
boolean
groupable
;
private
boolean
groupable
;
private
String
alias
;
private
String
alias
;
private
String
avatar
;
private
String
avatar
;
...
@@ -103,11 +112,11 @@ public class Message extends RealmObject {
...
@@ -103,11 +112,11 @@ public class Message extends RealmObject {
this
.
msg
=
msg
;
this
.
msg
=
msg
;
}
}
public
User
getUser
()
{
public
Realm
User
getUser
()
{
return
u
;
return
u
;
}
}
public
void
setUser
(
User
u
)
{
public
void
setUser
(
Realm
User
u
)
{
this
.
u
=
u
;
this
.
u
=
u
;
}
}
...
@@ -151,9 +160,141 @@ public class Message extends RealmObject {
...
@@ -151,9 +160,141 @@ public class Message extends RealmObject {
this
.
avatar
=
avatar
;
this
.
avatar
=
avatar
;
}
}
public
Message
asMessage
()
{
return
Message
.
builder
()
.
setId
(
_id
)
.
setType
(
t
)
.
setRoomId
(
rid
)
.
setSyncState
(
syncstate
)
.
setTimestamp
(
ts
)
.
setMessage
(
msg
)
.
setUser
(
u
.
asUser
())
.
setGroupable
(
groupable
)
.
setAlias
(
alias
)
.
setAvatar
(
avatar
)
.
setAttachments
(
getCoreAttachments
())
.
setWebContents
(
getWebContents
())
.
build
();
}
private
List
<
Attachment
>
getCoreAttachments
()
{
if
(
attachments
==
null
||
attachments
.
length
()
==
0
)
{
return
null
;
}
final
List
<
Attachment
>
coreAttachments
=
new
ArrayList
<>();
try
{
final
JSONArray
jsonArray
=
new
JSONArray
(
urls
);
for
(
int
i
=
0
,
size
=
jsonArray
.
length
();
i
<
size
;
i
++)
{
final
Attachment
coreAttachment
=
getCoreAttachment
(
jsonArray
.
getJSONObject
(
i
));
if
(
coreAttachment
!=
null
)
{
coreAttachments
.
add
(
coreAttachment
);
}
}
}
catch
(
JSONException
ignored
)
{
}
return
coreAttachments
;
}
private
Attachment
getCoreAttachment
(
JSONObject
jsonCoreAttachment
)
{
return
Attachment
.
builder
()
.
setColor
(
jsonCoreAttachment
.
optString
(
"color"
,
null
))
.
setText
(
jsonCoreAttachment
.
optString
(
"text"
,
null
))
.
setTimestamp
(
jsonCoreAttachment
.
optString
(
"ts"
,
null
))
.
setThumbUrl
(
jsonCoreAttachment
.
optString
(
"thumb_url"
,
null
))
.
setMessageLink
(
jsonCoreAttachment
.
optString
(
"message_link"
,
null
))
.
setCollapsed
(
jsonCoreAttachment
.
optBoolean
(
"collapsed"
))
.
setImageUrl
(
jsonCoreAttachment
.
optString
(
"image_url"
,
null
))
.
setAudioUrl
(
jsonCoreAttachment
.
optString
(
"audio_url"
,
null
))
.
setVideoUrl
(
jsonCoreAttachment
.
optString
(
"video_url"
,
null
))
.
setAttachmentAuthor
(
getAttachmentAuthor
(
jsonCoreAttachment
))
.
setAttachmentTitle
(
getAttachmentTitle
(
jsonCoreAttachment
))
.
setAttachmentFields
(
getAttachmentFields
(
jsonCoreAttachment
))
.
build
();
}
private
AttachmentAuthor
getAttachmentAuthor
(
JSONObject
jsonCoreAttachment
)
{
if
(
jsonCoreAttachment
.
isNull
(
"author_name"
)
||
jsonCoreAttachment
.
isNull
(
"author_link"
)
||
jsonCoreAttachment
.
isNull
(
"author_icon"
))
{
return
null
;
}
return
AttachmentAuthor
.
builder
()
.
setName
(
jsonCoreAttachment
.
optString
(
"author_name"
))
.
setLink
(
jsonCoreAttachment
.
optString
(
"author_link"
))
.
setIconUrl
(
jsonCoreAttachment
.
optString
(
"author_icon"
))
.
build
();
}
private
AttachmentTitle
getAttachmentTitle
(
JSONObject
jsonCoreAttachment
)
{
if
(
jsonCoreAttachment
.
isNull
(
"title"
))
{
return
null
;
}
return
AttachmentTitle
.
builder
()
.
setTitle
(
jsonCoreAttachment
.
optString
(
"title"
))
.
setLink
(
jsonCoreAttachment
.
optString
(
"title_link"
,
null
))
.
setDownloadLink
(
jsonCoreAttachment
.
optString
(
"title_link_download"
,
null
))
.
build
();
}
private
List
<
AttachmentField
>
getAttachmentFields
(
JSONObject
jsonCoreAttachment
)
{
final
JSONArray
jsonFields
=
jsonCoreAttachment
.
optJSONArray
(
"fields"
);
if
(
jsonFields
==
null
)
{
return
null
;
}
final
List
<
AttachmentField
>
attachmentFields
=
new
ArrayList
<>();
for
(
int
i
=
0
,
size
=
jsonFields
.
length
();
i
<
size
;
i
++)
{
final
JSONObject
fieldObject
=
jsonFields
.
optJSONObject
(
i
);
if
(
fieldObject
==
null
||
fieldObject
.
isNull
(
"title"
)
||
fieldObject
.
isNull
(
"value"
))
{
continue
;
}
attachmentFields
.
add
(
AttachmentField
.
builder
()
.
setShort
(
fieldObject
.
optBoolean
(
"short"
))
.
setTitle
(
fieldObject
.
optString
(
"title"
))
.
setText
(
fieldObject
.
optString
(
"value"
))
.
build
());
}
return
attachmentFields
;
}
private
List
<
WebContent
>
getWebContents
()
{
if
(
urls
==
null
||
urls
.
length
()
==
0
)
{
return
null
;
}
final
List
<
WebContent
>
webContents
=
new
ArrayList
<>();
try
{
final
JSONArray
jsonArray
=
new
JSONArray
(
urls
);
for
(
int
i
=
0
,
size
=
jsonArray
.
length
();
i
<
size
;
i
++)
{
final
WebContent
webContent
=
getWebContent
(
jsonArray
.
getJSONObject
(
i
));
if
(
webContent
!=
null
)
{
webContents
.
add
(
webContent
);
}
}
}
catch
(
JSONException
ignored
)
{
}
return
webContents
;
}
private
WebContent
getWebContent
(
JSONObject
jsonWebContent
)
{
return
WebContent
.
builder
()
.
setUrl
(
jsonWebContent
.
optString
(
"url"
))
.
setMeta
(
jsonWebContent
.
optString
(
"meta"
,
null
))
.
setHeaders
(
jsonWebContent
.
optString
(
"headers"
,
null
))
.
build
();
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"Message{"
+
return
"
Realm
Message{"
+
"_id='"
+
_id
+
'\''
+
"_id='"
+
_id
+
'\''
+
", t='"
+
t
+
'\''
+
", t='"
+
t
+
'\''
+
", rid='"
+
rid
+
'\''
+
", rid='"
+
rid
+
'\''
+
...
@@ -178,7 +319,7 @@ public class Message extends RealmObject {
...
@@ -178,7 +319,7 @@ public class Message extends RealmObject {
return
false
;
return
false
;
}
}
Message
message
=
(
Message
)
o
;
RealmMessage
message
=
(
Realm
Message
)
o
;
if
(
syncstate
!=
message
.
syncstate
)
{
if
(
syncstate
!=
message
.
syncstate
)
{
return
false
;
return
false
;
...
...
app/src/main/java/chat/rocket/android/model/ddp/Preferences.java
→
app/src/main/java/chat/rocket/android/model/ddp/
Realm
Preferences.java
View file @
606498f3
...
@@ -3,8 +3,10 @@ package chat.rocket.android.model.ddp;
...
@@ -3,8 +3,10 @@ package chat.rocket.android.model.ddp;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
import
chat.rocket.android.model.core.Preferences
;
@SuppressWarnings
({
"PMD.ShortVariable"
})
@SuppressWarnings
({
"PMD.ShortVariable"
})
public
class
Preferences
extends
RealmObject
{
public
class
Realm
Preferences
extends
RealmObject
{
@PrimaryKey
private
String
id
;
@PrimaryKey
private
String
id
;
...
@@ -25,6 +27,27 @@ public class Preferences extends RealmObject {
...
@@ -25,6 +27,27 @@ public class Preferences extends RealmObject {
private
boolean
hideFlexTab
;
private
boolean
hideFlexTab
;
// private List<String> highlights; // Realm does not support this yet
// private List<String> highlights; // Realm does not support this yet
public
Preferences
asPreferences
()
{
return
Preferences
.
builder
()
.
setId
(
id
)
.
setNewRoomNotification
(
newRoomNotification
)
.
setNewMessageNotification
(
newMessageNotification
)
.
setUseEmojis
(
useEmojis
)
.
setConvertAsciiEmoji
(
convertAsciiEmoji
)
.
setSaveMobileBandwidth
(
saveMobileBandwidth
)
.
setCollapseMediaByDefault
(
collapseMediaByDefault
)
.
setUnreadRoomsMode
(
unreadRoomsMode
)
.
setAutoImageLoad
(
autoImageLoad
)
.
setEmailNotificationMode
(
emailNotificationMode
)
.
setUnreadAlert
(
unreadAlert
)
.
setDesktopNotificationDuration
(
desktopNotificationDuration
)
.
setViewMode
(
viewMode
)
.
setHideUsernames
(
hideUsernames
)
.
setHideAvatars
(
hideAvatars
)
.
setHideFlexTab
(
hideFlexTab
)
.
build
();
}
public
boolean
isNewRoomNotification
()
{
public
boolean
isNewRoomNotification
()
{
return
newRoomNotification
;
return
newRoomNotification
;
}
}
...
@@ -94,7 +117,7 @@ public class Preferences extends RealmObject {
...
@@ -94,7 +117,7 @@ public class Preferences extends RealmObject {
return
false
;
return
false
;
}
}
Preferences
that
=
(
Preferences
)
o
;
RealmPreferences
that
=
(
Realm
Preferences
)
o
;
if
(
newRoomNotification
!=
that
.
newRoomNotification
)
{
if
(
newRoomNotification
!=
that
.
newRoomNotification
)
{
return
false
;
return
false
;
...
...
app/src/main/java/chat/rocket/android/model/ddp/Settings.java
→
app/src/main/java/chat/rocket/android/model/ddp/
Realm
Settings.java
View file @
606498f3
...
@@ -3,17 +3,26 @@ package chat.rocket.android.model.ddp;
...
@@ -3,17 +3,26 @@ package chat.rocket.android.model.ddp;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
import
chat.rocket.android.model.core.Settings
;
@SuppressWarnings
({
"PMD.ShortVariable"
})
@SuppressWarnings
({
"PMD.ShortVariable"
})
public
class
Settings
extends
RealmObject
{
public
class
Realm
Settings
extends
RealmObject
{
@PrimaryKey
private
String
id
;
@PrimaryKey
private
String
id
;
private
Preferences
preferences
;
private
Realm
Preferences
preferences
;
public
Preferences
getPreferences
()
{
public
Realm
Preferences
getPreferences
()
{
return
preferences
;
return
preferences
;
}
}
public
Settings
asSettings
()
{
return
Settings
.
builder
()
.
setId
(
id
)
.
setPreferences
(
preferences
.
asPreferences
())
.
build
();
}
@Override
@Override
public
boolean
equals
(
Object
o
)
{
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
{
if
(
this
==
o
)
{
...
@@ -23,7 +32,7 @@ public class Settings extends RealmObject {
...
@@ -23,7 +32,7 @@ public class Settings extends RealmObject {
return
false
;
return
false
;
}
}
Settings
settings
=
(
Settings
)
o
;
RealmSettings
settings
=
(
Realm
Settings
)
o
;
if
(
id
!=
null
?
!
id
.
equals
(
settings
.
id
)
:
settings
.
id
!=
null
)
{
if
(
id
!=
null
?
!
id
.
equals
(
settings
.
id
)
:
settings
.
id
!=
null
)
{
return
false
;
return
false
;
...
...
app/src/main/java/chat/rocket/android/model/ddp/User.java
→
app/src/main/java/chat/rocket/android/model/ddp/
Realm
User.java
View file @
606498f3
...
@@ -6,12 +6,17 @@ import io.realm.RealmObject;
...
@@ -6,12 +6,17 @@ import io.realm.RealmObject;
import
io.realm.RealmQuery
;
import
io.realm.RealmQuery
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
import
java.util.ArrayList
;
import
java.util.List
;
import
chat.rocket.android.model.core.Email
;
import
chat.rocket.android.model.core.User
;
/**
/**
* User.
*
Realm
User.
*/
*/
@SuppressWarnings
({
"PMD.ShortClassName"
,
"PMD.ShortVariable"
,
@SuppressWarnings
({
"PMD.ShortClassName"
,
"PMD.ShortVariable"
,
"PMD.MethodNamingConventions"
,
"PMD.VariableNamingConventions"
})
"PMD.MethodNamingConventions"
,
"PMD.VariableNamingConventions"
})
public
class
User
extends
RealmObject
{
public
class
Realm
User
extends
RealmObject
{
public
static
final
String
ID
=
"_id"
;
public
static
final
String
ID
=
"_id"
;
public
static
final
String
USERNAME
=
"username"
;
public
static
final
String
USERNAME
=
"username"
;
...
@@ -29,11 +34,11 @@ public class User extends RealmObject {
...
@@ -29,11 +34,11 @@ public class User extends RealmObject {
private
String
username
;
private
String
username
;
private
String
status
;
private
String
status
;
private
double
utcOffset
;
private
double
utcOffset
;
private
RealmList
<
Email
>
emails
;
private
RealmList
<
Realm
Email
>
emails
;
private
Settings
settings
;
private
Realm
Settings
settings
;
public
static
RealmQuery
<
User
>
queryCurrentUser
(
Realm
realm
)
{
public
static
RealmQuery
<
Realm
User
>
queryCurrentUser
(
Realm
realm
)
{
return
realm
.
where
(
User
.
class
).
isNotEmpty
(
EMAILS
);
return
realm
.
where
(
Realm
User
.
class
).
isNotEmpty
(
EMAILS
);
}
}
public
String
getId
()
{
public
String
getId
()
{
...
@@ -68,21 +73,40 @@ public class User extends RealmObject {
...
@@ -68,21 +73,40 @@ public class User extends RealmObject {
this
.
utcOffset
=
utcOffset
;
this
.
utcOffset
=
utcOffset
;
}
}
public
RealmList
<
Email
>
getEmails
()
{
public
RealmList
<
Realm
Email
>
getEmails
()
{
return
emails
;
return
emails
;
}
}
public
void
setEmails
(
RealmList
<
Email
>
emails
)
{
public
void
setEmails
(
RealmList
<
Realm
Email
>
emails
)
{
this
.
emails
=
emails
;
this
.
emails
=
emails
;
}
}
public
Settings
getSettings
()
{
public
Realm
Settings
getSettings
()
{
return
settings
;
return
settings
;
}
}
public
User
asUser
()
{
// convert email list
final
int
total
=
emails
.
size
();
final
List
<
Email
>
coreEmails
=
new
ArrayList
<>(
total
);
for
(
int
i
=
0
;
i
<
total
;
i
++)
{
coreEmails
.
add
(
emails
.
get
(
i
).
asEmail
());
}
return
User
.
builder
()
.
setId
(
_id
)
.
setUsername
(
username
)
.
setStatus
(
status
)
.
setUtcOffset
(
utcOffset
)
.
setEmails
(
coreEmails
)
.
setSettings
(
settings
!=
null
?
settings
.
asSettings
()
:
null
)
.
build
();
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
"User{"
+
return
"
Realm
User{"
+
"_id='"
+
_id
+
'\''
+
"_id='"
+
_id
+
'\''
+
", username='"
+
username
+
'\''
+
", username='"
+
username
+
'\''
+
", status='"
+
status
+
'\''
+
", status='"
+
status
+
'\''
+
...
@@ -101,7 +125,7 @@ public class User extends RealmObject {
...
@@ -101,7 +125,7 @@ public class User extends RealmObject {
return
false
;
return
false
;
}
}
User
user
=
(
User
)
o
;
RealmUser
user
=
(
Realm
User
)
o
;
if
(
Double
.
compare
(
user
.
utcOffset
,
utcOffset
)
!=
0
)
{
if
(
Double
.
compare
(
user
.
utcOffset
,
utcOffset
)
!=
0
)
{
return
false
;
return
false
;
...
...
app/src/main/java/chat/rocket/android/model/ddp/RoomSubscription.java
View file @
606498f3
...
@@ -6,6 +6,7 @@ import org.json.JSONException;
...
@@ -6,6 +6,7 @@ import org.json.JSONException;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
chat.rocket.android.model.JsonConstants
;
import
chat.rocket.android.model.JsonConstants
;
import
chat.rocket.android.model.core.Room
;
/**
/**
* Chat Room(Subscription).
* Chat Room(Subscription).
...
@@ -31,7 +32,7 @@ public class RoomSubscription extends RealmObject {
...
@@ -31,7 +32,7 @@ public class RoomSubscription extends RealmObject {
private
String
_id
;
//subscriptionId
private
String
_id
;
//subscriptionId
@PrimaryKey
private
String
rid
;
//roomId
@PrimaryKey
private
String
rid
;
//roomId
private
String
name
;
private
String
name
;
//private User u; // REMARK: do not save u, because it is just me.
//private
Realm
User u; // REMARK: do not save u, because it is just me.
private
String
t
;
//type { c: channel, d: direct message, p: private }
private
String
t
;
//type { c: channel, d: direct message, p: private }
private
boolean
open
;
private
boolean
open
;
private
boolean
alert
;
private
boolean
alert
;
...
@@ -126,4 +127,18 @@ public class RoomSubscription extends RealmObject {
...
@@ -126,4 +127,18 @@ public class RoomSubscription extends RealmObject {
public
void
setLastSeen
(
long
ls
)
{
public
void
setLastSeen
(
long
ls
)
{
this
.
ls
=
ls
;
this
.
ls
=
ls
;
}
}
public
Room
asRoom
()
{
return
Room
.
builder
()
.
setId
(
_id
)
.
setRoomId
(
rid
)
.
setName
(
name
)
.
setType
(
t
)
.
setOpen
(
open
)
.
setAlert
(
alert
)
.
setUnread
(
unread
)
.
setUpdatedAt
(
_updatedAt
)
.
setLastSeen
(
ls
)
.
build
();
}
}
}
app/src/main/java/chat/rocket/android/model/internal/MethodCall.java
View file @
606498f3
...
@@ -14,8 +14,8 @@ import chat.rocket.android.helper.LogcatIfError;
...
@@ -14,8 +14,8 @@ import chat.rocket.android.helper.LogcatIfError;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmObjectObserver
;
import
chat.rocket.
persistence.realm
.RealmObjectObserver
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
public
class
MethodCall
extends
RealmObject
{
public
class
MethodCall
extends
RealmObject
{
...
...
app/src/main/java/chat/rocket/android/model/internal/Session.java
View file @
606498f3
...
@@ -8,7 +8,7 @@ import org.json.JSONObject;
...
@@ -8,7 +8,7 @@ import org.json.JSONObject;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
hugo.weaving.DebugLog
;
import
hugo.weaving.DebugLog
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/push/gcm/GcmInstanceIDListenerService.java
View file @
606498f3
...
@@ -6,8 +6,8 @@ import java.util.List;
...
@@ -6,8 +6,8 @@ import java.util.List;
import
chat.rocket.android.helper.GcmPushSettingHelper
;
import
chat.rocket.android.helper.GcmPushSettingHelper
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.internal.GcmPushRegistration
;
import
chat.rocket.android.model.internal.GcmPushRegistration
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ConnectivityManager
;
import
chat.rocket.android.service.ServerInfo
;
import
chat.rocket.android.service.ServerInfo
;
...
...
app/src/main/java/chat/rocket/android/renderer/MessageRenderer.java
View file @
606498f3
...
@@ -10,23 +10,24 @@ import chat.rocket.android.helper.Avatar;
...
@@ -10,23 +10,24 @@ import chat.rocket.android.helper.Avatar;
import
chat.rocket.android.helper.DateTime
;
import
chat.rocket.android.helper.DateTime
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.message.RocketChatMessageAttachmentsLayout
;
import
chat.rocket.android.widget.message.RocketChatMessageAttachmentsLayout
;
import
chat.rocket.android.widget.message.RocketChatMessageLayout
;
import
chat.rocket.android.widget.message.RocketChatMessageLayout
;
import
chat.rocket.android.widget.message.RocketChatMessageUrlsLayout
;
import
chat.rocket.android.widget.message.RocketChatMessageUrlsLayout
;
/**
/**
* Renderer for Message model.
* Renderer for
Realm
Message model.
*/
*/
public
class
MessageRenderer
extends
AbstractRenderer
<
Message
>
{
public
class
MessageRenderer
extends
AbstractRenderer
<
Realm
Message
>
{
private
final
UserRenderer
userRenderer
;
private
final
UserRenderer
userRenderer
;
public
MessageRenderer
(
Context
context
,
Message
message
)
{
public
MessageRenderer
(
Context
context
,
Realm
Message
message
)
{
super
(
context
,
message
);
super
(
context
,
message
);
userRenderer
=
new
UserRenderer
(
context
,
message
.
getUser
());
RealmUser
realmUser
=
message
.
getUser
();
userRenderer
=
new
UserRenderer
(
context
,
realmUser
==
null
?
null
:
realmUser
.
asUser
());
}
}
/**
/**
...
@@ -39,7 +40,7 @@ public class MessageRenderer extends AbstractRenderer<Message> {
...
@@ -39,7 +40,7 @@ public class MessageRenderer extends AbstractRenderer<Message> {
}
else
if
(
TextUtils
.
isEmpty
(
object
.
getAvatar
()))
{
}
else
if
(
TextUtils
.
isEmpty
(
object
.
getAvatar
()))
{
userRenderer
.
avatarInto
(
rocketChatAvatar
,
hostname
);
userRenderer
.
avatarInto
(
rocketChatAvatar
,
hostname
);
}
else
{
}
else
{
final
User
user
=
object
.
getUser
();
final
Realm
User
user
=
object
.
getUser
();
setAvatarInto
(
object
.
getAvatar
(),
hostname
,
user
==
null
?
null
:
user
.
getUsername
(),
setAvatarInto
(
object
.
getAvatar
(),
hostname
,
user
==
null
?
null
:
user
.
getUsername
(),
rocketChatAvatar
);
rocketChatAvatar
);
}
}
...
...
app/src/main/java/chat/rocket/android/renderer/UserRenderer.java
View file @
606498f3
...
@@ -7,11 +7,11 @@ import android.widget.TextView;
...
@@ -7,11 +7,11 @@ import android.widget.TextView;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.helper.Avatar
;
import
chat.rocket.android.helper.Avatar
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.
ddp
.User
;
import
chat.rocket.android.model.
core
.User
;
import
chat.rocket.android.widget.RocketChatAvatar
;
import
chat.rocket.android.widget.RocketChatAvatar
;
/**
/**
* Renderer for User model.
* Renderer for
Realm
User model.
*/
*/
public
class
UserRenderer
extends
AbstractRenderer
<
User
>
{
public
class
UserRenderer
extends
AbstractRenderer
<
User
>
{
...
...
app/src/main/java/chat/rocket/android/repositories/RealmRoomRepository.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
repositories
;
import
io.realm.Realm
;
import
io.realm.RealmResults
;
import
java.util.ArrayList
;
import
java.util.List
;
import
chat.rocket.android.model.core.Room
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
rx.Observable
;
public
class
RealmRoomRepository
implements
RoomRepository
{
private
final
Realm
realm
;
public
RealmRoomRepository
(
Realm
realm
)
{
this
.
realm
=
realm
;
}
@Override
public
Observable
<
List
<
Room
>>
getOpenRooms
()
{
return
realm
.
where
(
RoomSubscription
.
class
)
.
equalTo
(
RoomSubscription
.
OPEN
,
true
)
.
findAllAsync
()
.
asObservable
()
.
filter
(
roomSubscriptions
->
roomSubscriptions
!=
null
&&
roomSubscriptions
.
isLoaded
()
&&
roomSubscriptions
.
isValid
())
.
map
(
roomSubscriptions
->
toList
(
roomSubscriptions
));
}
private
List
<
Room
>
toList
(
RealmResults
<
RoomSubscription
>
roomSubscriptions
)
{
int
total
=
roomSubscriptions
.
size
();
final
List
<
Room
>
roomList
=
new
ArrayList
<>(
total
);
for
(
int
i
=
0
;
i
<
total
;
i
++)
{
roomList
.
add
(
roomSubscriptions
.
get
(
i
).
asRoom
());
}
return
roomList
;
}
}
app/src/main/java/chat/rocket/android/repositories/RealmUserRepository.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
repositories
;
import
io.realm.Realm
;
import
chat.rocket.android.model.core.User
;
import
chat.rocket.android.model.ddp.RealmUser
;
import
rx.Observable
;
public
class
RealmUserRepository
implements
UserRepository
{
private
final
Realm
realm
;
public
RealmUserRepository
(
Realm
realm
)
{
this
.
realm
=
realm
;
}
@Override
public
Observable
<
User
>
getCurrentUser
()
{
return
realm
.
where
(
RealmUser
.
class
)
.
isNotEmpty
(
RealmUser
.
EMAILS
)
.
findFirstAsync
()
.<
RealmUser
>
asObservable
()
.
filter
(
realmUser
->
realmUser
!=
null
&&
realmUser
.
isLoaded
()
&&
realmUser
.
isValid
())
.
map
(
realmUser
->
realmUser
.
asUser
());
}
}
app/src/main/java/chat/rocket/android/repositories/RoomRepository.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
repositories
;
import
java.util.List
;
import
chat.rocket.android.model.core.Room
;
import
rx.Observable
;
public
interface
RoomRepository
{
Observable
<
List
<
Room
>>
getOpenRooms
();
}
app/src/main/java/chat/rocket/android/repositories/UserRepository.java
0 → 100644
View file @
606498f3
package
chat
.
rocket
.
android
.
repositories
;
import
chat.rocket.android.model.core.User
;
import
rx.Observable
;
public
interface
UserRepository
{
Observable
<
User
>
getCurrentUser
();
}
app/src/main/java/chat/rocket/android/service/RealmBasedServerInfo.java
View file @
606498f3
...
@@ -9,8 +9,8 @@ import org.json.JSONObject;
...
@@ -9,8 +9,8 @@ import org.json.JSONObject;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
/**
/**
* Backend implementation to store ServerInfo.
* Backend implementation to store ServerInfo.
...
...
app/src/main/java/chat/rocket/android/service/RocketChatWebSocketThread.java
View file @
606498f3
...
@@ -15,8 +15,8 @@ import chat.rocket.android.helper.LogcatIfError;
...
@@ -15,8 +15,8 @@ import chat.rocket.android.helper.LogcatIfError;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmStore
;
import
chat.rocket.
persistence.realm
.RealmStore
;
import
chat.rocket.android.service.ddp.base.ActiveUsersSubscriber
;
import
chat.rocket.android.service.ddp.base.ActiveUsersSubscriber
;
import
chat.rocket.android.service.ddp.base.LoginServiceConfigurationSubscriber
;
import
chat.rocket.android.service.ddp.base.LoginServiceConfigurationSubscriber
;
import
chat.rocket.android.service.ddp.base.UserDataSubscriber
;
import
chat.rocket.android.service.ddp.base.UserDataSubscriber
;
...
...
app/src/main/java/chat/rocket/android/service/ddp/AbstractDDPDocEventSubscriber.java
View file @
606498f3
...
@@ -11,7 +11,7 @@ import org.json.JSONObject;
...
@@ -11,7 +11,7 @@ import org.json.JSONObject;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android_ddp.DDPSubscription
;
import
chat.rocket.android_ddp.DDPSubscription
;
...
...
app/src/main/java/chat/rocket/android/service/ddp/base/AbstractBaseSubscriber.java
View file @
606498f3
...
@@ -3,7 +3,7 @@ package chat.rocket.android.service.ddp.base;
...
@@ -3,7 +3,7 @@ package chat.rocket.android.service.ddp.base;
import
android.content.Context
;
import
android.content.Context
;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.ddp.AbstractDDPDocEventSubscriber
;
import
chat.rocket.android.service.ddp.AbstractDDPDocEventSubscriber
;
...
...
app/src/main/java/chat/rocket/android/service/ddp/base/ActiveUsersSubscriber.java
View file @
606498f3
...
@@ -5,8 +5,8 @@ import io.realm.RealmObject;
...
@@ -5,8 +5,8 @@ import io.realm.RealmObject;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
@@ -30,7 +30,7 @@ public class ActiveUsersSubscriber extends AbstractBaseSubscriber {
...
@@ -30,7 +30,7 @@ public class ActiveUsersSubscriber extends AbstractBaseSubscriber {
@Override
@Override
protected
Class
<?
extends
RealmObject
>
getModelClass
()
{
protected
Class
<?
extends
RealmObject
>
getModelClass
()
{
return
User
.
class
;
return
Realm
User
.
class
;
}
}
@Override
@Override
...
...
app/src/main/java/chat/rocket/android/service/ddp/base/LoginServiceConfigurationSubscriber.java
View file @
606498f3
...
@@ -4,7 +4,7 @@ import android.content.Context;
...
@@ -4,7 +4,7 @@ import android.content.Context;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
chat.rocket.android.model.ddp.MeteorLoginServiceConfiguration
;
import
chat.rocket.android.model.ddp.MeteorLoginServiceConfiguration
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/service/ddp/base/UserDataSubscriber.java
View file @
606498f3
...
@@ -5,8 +5,8 @@ import io.realm.RealmObject;
...
@@ -5,8 +5,8 @@ import io.realm.RealmObject;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
@@ -30,7 +30,7 @@ public class UserDataSubscriber extends AbstractBaseSubscriber {
...
@@ -30,7 +30,7 @@ public class UserDataSubscriber extends AbstractBaseSubscriber {
@Override
@Override
protected
Class
<?
extends
RealmObject
>
getModelClass
()
{
protected
Class
<?
extends
RealmObject
>
getModelClass
()
{
return
User
.
class
;
return
Realm
User
.
class
;
}
}
@Override
@Override
...
...
app/src/main/java/chat/rocket/android/service/ddp/stream/AbstractStreamNotifyEventSubscriber.java
View file @
606498f3
...
@@ -7,7 +7,7 @@ import org.json.JSONObject;
...
@@ -7,7 +7,7 @@ import org.json.JSONObject;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.ddp.AbstractDDPDocEventSubscriber
;
import
chat.rocket.android.service.ddp.AbstractDDPDocEventSubscriber
;
import
chat.rocket.android_ddp.DDPSubscription
;
import
chat.rocket.android_ddp.DDPSubscription
;
...
...
app/src/main/java/chat/rocket/android/service/ddp/stream/AbstractStreamNotifyUserEventSubscriber.java
View file @
606498f3
...
@@ -2,7 +2,7 @@ package chat.rocket.android.service.ddp.stream;
...
@@ -2,7 +2,7 @@ package chat.rocket.android.service.ddp.stream;
import
android.content.Context
;
import
android.content.Context
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
abstract
class
AbstractStreamNotifyUserEventSubscriber
extends
AbstractStreamNotifyEventSubscriber
{
abstract
class
AbstractStreamNotifyUserEventSubscriber
extends
AbstractStreamNotifyEventSubscriber
{
...
...
app/src/main/java/chat/rocket/android/service/ddp/stream/StreamNotifyUserSubscriptionsChanged.java
View file @
606498f3
...
@@ -6,7 +6,7 @@ import org.json.JSONException;
...
@@ -6,7 +6,7 @@ import org.json.JSONException;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
public
class
StreamNotifyUserSubscriptionsChanged
extends
AbstractStreamNotifyUserEventSubscriber
{
public
class
StreamNotifyUserSubscriptionsChanged
extends
AbstractStreamNotifyUserEventSubscriber
{
...
...
app/src/main/java/chat/rocket/android/service/ddp/stream/StreamRoomMessage.java
View file @
606498f3
...
@@ -5,8 +5,8 @@ import io.realm.RealmObject;
...
@@ -5,8 +5,8 @@ import io.realm.RealmObject;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
@@ -33,7 +33,7 @@ public class StreamRoomMessage extends AbstractStreamNotifyEventSubscriber {
...
@@ -33,7 +33,7 @@ public class StreamRoomMessage extends AbstractStreamNotifyEventSubscriber {
@Override
@Override
protected
Class
<?
extends
RealmObject
>
getModelClass
()
{
protected
Class
<?
extends
RealmObject
>
getModelClass
()
{
return
Message
.
class
;
return
Realm
Message
.
class
;
}
}
@Override
@Override
...
@@ -43,6 +43,6 @@ public class StreamRoomMessage extends AbstractStreamNotifyEventSubscriber {
...
@@ -43,6 +43,6 @@ public class StreamRoomMessage extends AbstractStreamNotifyEventSubscriber {
@Override
@Override
protected
JSONObject
customizeFieldJson
(
JSONObject
json
)
throws
JSONException
{
protected
JSONObject
customizeFieldJson
(
JSONObject
json
)
throws
JSONException
{
return
Message
.
customizeJson
(
super
.
customizeFieldJson
(
json
));
return
Realm
Message
.
customizeJson
(
super
.
customizeFieldJson
(
json
));
}
}
}
}
app/src/main/java/chat/rocket/android/service/internal/AbstractRocketChatCacheObserver.java
View file @
606498f3
...
@@ -6,7 +6,7 @@ import android.content.SharedPreferences;
...
@@ -6,7 +6,7 @@ import android.content.SharedPreferences;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.RocketChatCache
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.android.model.ddp.RoomSubscription
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.Registrable
;
public
abstract
class
AbstractRocketChatCacheObserver
implements
Registrable
{
public
abstract
class
AbstractRocketChatCacheObserver
implements
Registrable
{
...
...
app/src/main/java/chat/rocket/android/service/internal/StreamRoomMessageManager.java
View file @
606498f3
...
@@ -4,7 +4,7 @@ import android.content.Context;
...
@@ -4,7 +4,7 @@ import android.content.Context;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.os.Looper
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.ddp.stream.StreamRoomMessage
;
import
chat.rocket.android.service.ddp.stream.StreamRoomMessage
;
...
...
app/src/main/java/chat/rocket/android/service/observer/AbstractModelObserver.java
View file @
606498f3
...
@@ -3,8 +3,8 @@ package chat.rocket.android.service.observer;
...
@@ -3,8 +3,8 @@ package chat.rocket.android.service.observer;
import
android.content.Context
;
import
android.content.Context
;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.
android.realm_helper
.RealmListObserver
;
import
chat.rocket.
persistence.realm
.RealmListObserver
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.Registrable
;
...
...
app/src/main/java/chat/rocket/android/service/observer/CurrentUserObserver.java
View file @
606498f3
...
@@ -8,8 +8,8 @@ import java.util.ArrayList;
...
@@ -8,8 +8,8 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.List
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.Registrable
;
import
chat.rocket.android.service.ddp.stream.StreamNotifyUserSubscriptionsChanged
;
import
chat.rocket.android.service.ddp.stream.StreamNotifyUserSubscriptionsChanged
;
...
@@ -18,7 +18,7 @@ import hugo.weaving.DebugLog;
...
@@ -18,7 +18,7 @@ import hugo.weaving.DebugLog;
/**
/**
* observe the user with emails.
* observe the user with emails.
*/
*/
public
class
CurrentUserObserver
extends
AbstractModelObserver
<
User
>
{
public
class
CurrentUserObserver
extends
AbstractModelObserver
<
Realm
User
>
{
private
final
MethodCallHelper
methodCall
;
private
final
MethodCallHelper
methodCall
;
private
boolean
currentUserExists
;
private
boolean
currentUserExists
;
private
ArrayList
<
Registrable
>
listeners
;
private
ArrayList
<
Registrable
>
listeners
;
...
@@ -31,12 +31,12 @@ public class CurrentUserObserver extends AbstractModelObserver<User> {
...
@@ -31,12 +31,12 @@ public class CurrentUserObserver extends AbstractModelObserver<User> {
}
}
@Override
@Override
public
RealmResults
<
User
>
queryItems
(
Realm
realm
)
{
public
RealmResults
<
Realm
User
>
queryItems
(
Realm
realm
)
{
return
User
.
queryCurrentUser
(
realm
).
findAll
();
return
Realm
User
.
queryCurrentUser
(
realm
).
findAll
();
}
}
@Override
@Override
public
void
onUpdateResults
(
List
<
User
>
results
)
{
public
void
onUpdateResults
(
List
<
Realm
User
>
results
)
{
boolean
exists
=
!
results
.
isEmpty
();
boolean
exists
=
!
results
.
isEmpty
();
if
(
currentUserExists
!=
exists
)
{
if
(
currentUserExists
!=
exists
)
{
...
@@ -50,7 +50,7 @@ public class CurrentUserObserver extends AbstractModelObserver<User> {
...
@@ -50,7 +50,7 @@ public class CurrentUserObserver extends AbstractModelObserver<User> {
}
}
@DebugLog
@DebugLog
private
void
onLogin
(
User
user
)
{
private
void
onLogin
(
Realm
User
user
)
{
if
(
listeners
!=
null
)
{
if
(
listeners
!=
null
)
{
onLogout
();
onLogout
();
}
}
...
...
app/src/main/java/chat/rocket/android/service/observer/FileUploadingToS3Observer.java
View file @
606498f3
...
@@ -17,7 +17,7 @@ import chat.rocket.android.helper.OkHttpHelper;
...
@@ -17,7 +17,7 @@ import chat.rocket.android.helper.OkHttpHelper;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
okhttp3.MediaType
;
import
okhttp3.MediaType
;
import
okhttp3.MultipartBody
;
import
okhttp3.MultipartBody
;
...
...
app/src/main/java/chat/rocket/android/service/observer/FileUploadingWithUfsObserver.java
View file @
606498f3
...
@@ -14,10 +14,10 @@ import chat.rocket.android.helper.LogcatIfError;
...
@@ -14,10 +14,10 @@ import chat.rocket.android.helper.LogcatIfError;
import
chat.rocket.android.helper.OkHttpHelper
;
import
chat.rocket.android.helper.OkHttpHelper
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.android.model.internal.FileUploading
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
okhttp3.MediaType
;
import
okhttp3.MediaType
;
import
okhttp3.Request
;
import
okhttp3.Request
;
...
@@ -92,8 +92,8 @@ public class FileUploadingWithUfsObserver extends AbstractModelObserver<FileUplo
...
@@ -92,8 +92,8 @@ public class FileUploadingWithUfsObserver extends AbstractModelObserver<FileUplo
return
;
return
;
}
}
User
currentUser
=
realmHelper
.
executeTransactionForRead
(
realm
->
Realm
User
currentUser
=
realmHelper
.
executeTransactionForRead
(
realm
->
User
.
queryCurrentUser
(
realm
).
findFirst
());
Realm
User
.
queryCurrentUser
(
realm
).
findFirst
());
Session
session
=
realmHelper
.
executeTransactionForRead
(
realm
->
Session
session
=
realmHelper
.
executeTransactionForRead
(
realm
->
Session
.
queryDefaultSession
(
realm
).
findFirst
());
Session
.
queryDefaultSession
(
realm
).
findFirst
());
if
(
currentUser
==
null
||
session
==
null
)
{
if
(
currentUser
==
null
||
session
==
null
)
{
...
...
app/src/main/java/chat/rocket/android/service/observer/GcmPushRegistrationObserver.java
View file @
606498f3
...
@@ -16,9 +16,9 @@ import chat.rocket.android.helper.LogcatIfError;
...
@@ -16,9 +16,9 @@ import chat.rocket.android.helper.LogcatIfError;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.PublicSettingsConstants
;
import
chat.rocket.android.model.ddp.PublicSettingsConstants
;
import
chat.rocket.android.model.ddp.User
;
import
chat.rocket.android.model.ddp.
Realm
User
;
import
chat.rocket.android.model.internal.GcmPushRegistration
;
import
chat.rocket.android.model.internal.GcmPushRegistration
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
@@ -70,8 +70,8 @@ public class GcmPushRegistrationObserver extends AbstractModelObserver<GcmPushRe
...
@@ -70,8 +70,8 @@ public class GcmPushRegistrationObserver extends AbstractModelObserver<GcmPushRe
.
getString
(
realmHelper
,
PublicSettingsConstants
.
Push
.
GCM_PROJECT_NUMBER
,
""
).
trim
();
.
getString
(
realmHelper
,
PublicSettingsConstants
.
Push
.
GCM_PROJECT_NUMBER
,
""
).
trim
();
final
String
gcmToken
=
getGcmToken
(
senderId
);
final
String
gcmToken
=
getGcmToken
(
senderId
);
final
User
currentUser
=
realmHelper
.
executeTransactionForRead
(
realm
->
final
Realm
User
currentUser
=
realmHelper
.
executeTransactionForRead
(
realm
->
User
.
queryCurrentUser
(
realm
).
findFirst
());
Realm
User
.
queryCurrentUser
(
realm
).
findFirst
());
final
String
userId
=
currentUser
!=
null
?
currentUser
.
getId
()
:
null
;
final
String
userId
=
currentUser
!=
null
?
currentUser
.
getId
()
:
null
;
final
String
pushId
=
RocketChatCache
.
getOrCreatePushId
(
context
);
final
String
pushId
=
RocketChatCache
.
getOrCreatePushId
(
context
);
...
...
app/src/main/java/chat/rocket/android/service/observer/GetUsersOfRoomsProcedureObserver.java
View file @
606498f3
...
@@ -11,7 +11,7 @@ import chat.rocket.android.api.MethodCallHelper;
...
@@ -11,7 +11,7 @@ import chat.rocket.android.api.MethodCallHelper;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.internal.GetUsersOfRoomsProcedure
;
import
chat.rocket.android.model.internal.GetUsersOfRoomsProcedure
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
...
app/src/main/java/chat/rocket/android/service/observer/LoadMessageProcedureObserver.java
View file @
606498f3
...
@@ -11,9 +11,9 @@ import bolts.Task;
...
@@ -11,9 +11,9 @@ import bolts.Task;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
import
chat.rocket.android.model.internal.LoadMessageProcedure
;
import
chat.rocket.android.model.internal.LoadMessageProcedure
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
...
@@ -56,11 +56,11 @@ public class LoadMessageProcedureObserver extends AbstractModelObserver<LoadMess
...
@@ -56,11 +56,11 @@ public class LoadMessageProcedureObserver extends AbstractModelObserver<LoadMess
).
onSuccessTask
(
task
->
).
onSuccessTask
(
task
->
methodCall
.
loadHistory
(
roomId
,
isReset
?
0
:
timestamp
,
count
,
lastSeen
)
methodCall
.
loadHistory
(
roomId
,
isReset
?
0
:
timestamp
,
count
,
lastSeen
)
.
onSuccessTask
(
_task
->
{
.
onSuccessTask
(
_task
->
{
Message
lastMessage
=
realmHelper
.
executeTransactionForRead
(
realm
->
Realm
Message
lastMessage
=
realmHelper
.
executeTransactionForRead
(
realm
->
realm
.
where
(
Message
.
class
)
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
Message
.
ROOM_ID
,
roomId
)
.
equalTo
(
Realm
Message
.
ROOM_ID
,
roomId
)
.
equalTo
(
Message
.
SYNC_STATE
,
SyncState
.
SYNCED
)
.
equalTo
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
SYNCED
)
.
findAllSorted
(
Message
.
TIMESTAMP
,
Sort
.
ASCENDING
).
first
(
null
));
.
findAllSorted
(
Realm
Message
.
TIMESTAMP
,
Sort
.
ASCENDING
).
first
(
null
));
long
lastTs
=
lastMessage
!=
null
?
lastMessage
.
getTimestamp
()
:
0
;
long
lastTs
=
lastMessage
!=
null
?
lastMessage
.
getTimestamp
()
:
0
;
int
messageCount
=
_task
.
getResult
().
length
();
int
messageCount
=
_task
.
getResult
().
length
();
return
realmHelper
.
executeTransaction
(
realm
->
return
realmHelper
.
executeTransaction
(
realm
->
...
...
app/src/main/java/chat/rocket/android/service/observer/MethodCallObserver.java
View file @
606498f3
...
@@ -10,7 +10,7 @@ import chat.rocket.android.helper.CheckSum;
...
@@ -10,7 +10,7 @@ import chat.rocket.android.helper.CheckSum;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.internal.MethodCall
;
import
chat.rocket.android.model.internal.MethodCall
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android_ddp.DDPClientCallback
;
import
chat.rocket.android_ddp.DDPClientCallback
;
...
...
app/src/main/java/chat/rocket/android/service/observer/NewMessageObserver.java
View file @
606498f3
...
@@ -10,14 +10,14 @@ import chat.rocket.android.api.MethodCallHelper;
...
@@ -10,14 +10,14 @@ import chat.rocket.android.api.MethodCallHelper;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.log.RCLog
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.SyncState
;
import
chat.rocket.android.model.ddp.Message
;
import
chat.rocket.android.model.ddp.
Realm
Message
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
/**
/**
* Observe messages for sending.
* Observe messages for sending.
*/
*/
public
class
NewMessageObserver
extends
AbstractModelObserver
<
Message
>
{
public
class
NewMessageObserver
extends
AbstractModelObserver
<
Realm
Message
>
{
private
final
MethodCallHelper
methodCall
;
private
final
MethodCallHelper
methodCall
;
...
@@ -28,10 +28,10 @@ public class NewMessageObserver extends AbstractModelObserver<Message> {
...
@@ -28,10 +28,10 @@ public class NewMessageObserver extends AbstractModelObserver<Message> {
realmHelper
.
executeTransaction
(
realm
->
{
realmHelper
.
executeTransaction
(
realm
->
{
// resume pending operations.
// resume pending operations.
RealmResults
<
Message
>
pendingMethodCalls
=
realm
.
where
(
Message
.
class
)
RealmResults
<
RealmMessage
>
pendingMethodCalls
=
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
Message
.
SYNC_STATE
,
SyncState
.
SYNCING
)
.
equalTo
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
SYNCING
)
.
findAll
();
.
findAll
();
for
(
Message
message
:
pendingMethodCalls
)
{
for
(
Realm
Message
message
:
pendingMethodCalls
)
{
message
.
setSyncState
(
SyncState
.
NOT_SYNCED
);
message
.
setSyncState
(
SyncState
.
NOT_SYNCED
);
}
}
...
@@ -40,37 +40,37 @@ public class NewMessageObserver extends AbstractModelObserver<Message> {
...
@@ -40,37 +40,37 @@ public class NewMessageObserver extends AbstractModelObserver<Message> {
}
}
@Override
@Override
public
RealmResults
<
Message
>
queryItems
(
Realm
realm
)
{
public
RealmResults
<
Realm
Message
>
queryItems
(
Realm
realm
)
{
return
realm
.
where
(
Message
.
class
)
return
realm
.
where
(
Realm
Message
.
class
)
.
equalTo
(
Message
.
SYNC_STATE
,
SyncState
.
NOT_SYNCED
)
.
equalTo
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
NOT_SYNCED
)
.
isNotNull
(
Message
.
ROOM_ID
)
.
isNotNull
(
Realm
Message
.
ROOM_ID
)
.
findAll
();
.
findAll
();
}
}
@Override
@Override
public
void
onUpdateResults
(
List
<
Message
>
results
)
{
public
void
onUpdateResults
(
List
<
Realm
Message
>
results
)
{
if
(
results
.
isEmpty
())
{
if
(
results
.
isEmpty
())
{
return
;
return
;
}
}
final
Message
message
=
results
.
get
(
0
);
final
Realm
Message
message
=
results
.
get
(
0
);
final
String
messageId
=
message
.
getId
();
final
String
messageId
=
message
.
getId
();
final
String
roomId
=
message
.
getRoomId
();
final
String
roomId
=
message
.
getRoomId
();
final
String
msg
=
message
.
getMessage
();
final
String
msg
=
message
.
getMessage
();
realmHelper
.
executeTransaction
(
realm
->
realmHelper
.
executeTransaction
(
realm
->
realm
.
createOrUpdateObjectFromJson
(
Message
.
class
,
new
JSONObject
()
realm
.
createOrUpdateObjectFromJson
(
Realm
Message
.
class
,
new
JSONObject
()
.
put
(
Message
.
ID
,
messageId
)
.
put
(
Realm
Message
.
ID
,
messageId
)
.
put
(
Message
.
SYNC_STATE
,
SyncState
.
SYNCING
)
.
put
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
SYNCING
)
)
)
).
onSuccessTask
(
task
->
methodCall
.
sendMessage
(
messageId
,
roomId
,
msg
)
).
onSuccessTask
(
task
->
methodCall
.
sendMessage
(
messageId
,
roomId
,
msg
)
).
continueWith
(
task
->
{
).
continueWith
(
task
->
{
if
(
task
.
isFaulted
())
{
if
(
task
.
isFaulted
())
{
RCLog
.
w
(
task
.
getError
());
RCLog
.
w
(
task
.
getError
());
realmHelper
.
executeTransaction
(
realm
->
realmHelper
.
executeTransaction
(
realm
->
realm
.
createOrUpdateObjectFromJson
(
Message
.
class
,
new
JSONObject
()
realm
.
createOrUpdateObjectFromJson
(
Realm
Message
.
class
,
new
JSONObject
()
.
put
(
Message
.
ID
,
messageId
)
.
put
(
Realm
Message
.
ID
,
messageId
)
.
put
(
Message
.
SYNC_STATE
,
SyncState
.
FAILED
)));
.
put
(
Realm
Message
.
SYNC_STATE
,
SyncState
.
FAILED
)));
}
}
return
null
;
return
null
;
});
});
...
...
app/src/main/java/chat/rocket/android/service/observer/PushSettingsObserver.java
View file @
606498f3
...
@@ -8,7 +8,7 @@ import java.util.List;
...
@@ -8,7 +8,7 @@ import java.util.List;
import
chat.rocket.android.helper.GcmPushSettingHelper
;
import
chat.rocket.android.helper.GcmPushSettingHelper
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.ddp.PublicSetting
;
import
chat.rocket.android.model.internal.GcmPushRegistration
;
import
chat.rocket.android.model.internal.GcmPushRegistration
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
public
class
PushSettingsObserver
extends
AbstractModelObserver
<
PublicSetting
>
{
public
class
PushSettingsObserver
extends
AbstractModelObserver
<
PublicSetting
>
{
...
...
app/src/main/java/chat/rocket/android/service/observer/SessionObserver.java
View file @
606498f3
...
@@ -12,7 +12,7 @@ import chat.rocket.android.model.internal.GetUsersOfRoomsProcedure;
...
@@ -12,7 +12,7 @@ import chat.rocket.android.model.internal.GetUsersOfRoomsProcedure;
import
chat.rocket.android.model.internal.LoadMessageProcedure
;
import
chat.rocket.android.model.internal.LoadMessageProcedure
;
import
chat.rocket.android.model.internal.MethodCall
;
import
chat.rocket.android.model.internal.MethodCall
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.internal.StreamRoomMessageManager
;
import
chat.rocket.android.service.internal.StreamRoomMessageManager
;
import
hugo.weaving.DebugLog
;
import
hugo.weaving.DebugLog
;
...
...
app/src/main/java/chat/rocket/android/service/observer/TokenLoginObserver.java
View file @
606498f3
...
@@ -8,7 +8,7 @@ import java.util.List;
...
@@ -8,7 +8,7 @@ import java.util.List;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.api.MethodCallHelper
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.android.model.internal.Session
;
import
chat.rocket.
android.realm_helper
.RealmHelper
;
import
chat.rocket.
persistence.realm
.RealmHelper
;
import
chat.rocket.android.service.DDPClientRef
;
import
chat.rocket.android.service.DDPClientRef
;
public
class
TokenLoginObserver
extends
AbstractModelObserver
<
Session
>
{
public
class
TokenLoginObserver
extends
AbstractModelObserver
<
Session
>
{
...
...
app/src/main/res/layout/fragment_sidebar_main.xml
View file @
606498f3
...
@@ -3,7 +3,9 @@
...
@@ -3,7 +3,9 @@
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:theme=
"@style/AppTheme.Dark"
>
android:theme=
"@style/AppTheme.Dark"
android:visibility=
"invisible"
tools:visibility=
"visible"
>
<LinearLayout
<LinearLayout
android:id=
"@+id/user_info_container"
android:id=
"@+id/user_info_container"
...
...
realm-helpers
/build.gradle
→
persistence-realm
/build.gradle
View file @
606498f3
File moved
persistence-realm/src/main/AndroidManifest.xml
0 → 100644
View file @
606498f3
<manifest
package=
"chat.rocket.persistence.realm"
/>
\ No newline at end of file
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/AbstractRealmResultsObserver.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/AbstractRealmResultsObserver.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
io.realm.Realm
;
import
io.realm.Realm
;
import
io.realm.RealmChangeListener
;
import
io.realm.RealmChangeListener
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmAutoCompleteAdapter.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmAutoCompleteAdapter.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
android.content.Context
;
import
android.content.Context
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.NonNull
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmHelper.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmHelper.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.content.Context
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmListObserver.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmListObserver.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
io.realm.Realm
;
import
io.realm.Realm
;
import
io.realm.RealmChangeListener
;
import
io.realm.RealmChangeListener
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmModelListAdapter.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmModelListAdapter.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
android.content.Context
;
import
android.content.Context
;
import
android.support.annotation.LayoutRes
;
import
android.support.annotation.LayoutRes
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmModelViewHolder.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmModelViewHolder.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerView
;
import
android.view.View
;
import
android.view.View
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmObjectObserver.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmObjectObserver.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
io.realm.Realm
;
import
io.realm.Realm
;
import
io.realm.RealmChangeListener
;
import
io.realm.RealmChangeListener
;
...
...
realm-helpers/src/main/java/chat/rocket/android/realm_helper
/RealmStore.java
→
persistence-realm/src/main/java/chat/rocket/persistence/realm
/RealmStore.java
View file @
606498f3
package
chat
.
rocket
.
android
.
realm_helper
;
package
chat
.
rocket
.
persistence
.
realm
;
import
io.realm.Realm
;
import
io.realm.RealmConfiguration
;
import
io.realm.RealmConfiguration
;
import
java.util.HashMap
;
import
java.util.HashMap
;
...
@@ -35,4 +36,14 @@ public class RealmStore {
...
@@ -35,4 +36,14 @@ public class RealmStore {
}
}
return
new
RealmHelper
(
sStore
.
get
(
name
));
return
new
RealmHelper
(
sStore
.
get
(
name
));
}
}
public
static
Realm
getRealm
(
String
name
)
{
RealmHelper
realmHelper
=
get
(
name
);
if
(
realmHelper
==
null
)
{
return
null
;
}
return
realmHelper
.
instance
();
}
}
}
realm-helpers/src/main/AndroidManifest.xml
deleted
100644 → 0
View file @
c582b8cb
<manifest
package=
"chat.rocket.android.realm_helper"
/>
\ No newline at end of file
settings.gradle
View file @
606498f3
include
':app'
,
':android-ddp'
,
':rocket-chat-android-widgets'
,
':
realm-helpers
'
,
include
':app'
,
':android-ddp'
,
':rocket-chat-android-widgets'
,
':
persistence-realm
'
,
':log-wrapper'
':log-wrapper'
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