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
4c681ab8
Commit
4c681ab8
authored
Nov 10, 2016
by
Yusuke Iwaki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
change Token Login to execute in Background, not in ServerConfigActivity.
parent
0a694b50
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
53 additions
and
18 deletions
+53
-18
MainActivity.java
.../main/java/chat/rocket/android/activity/MainActivity.java
+0
-10
ServerConfigActivity.java
...va/chat/rocket/android/activity/ServerConfigActivity.java
+0
-4
ServerConfig.java
...src/main/java/chat/rocket/android/model/ServerConfig.java
+15
-4
RocketChatService.java
...n/java/chat/rocket/android/service/RocketChatService.java
+4
-0
RocketChatWebSocketThread.java
...hat/rocket/android/service/RocketChatWebSocketThread.java
+2
-0
TokenLoginObserver.java
...t/rocket/android/service/observer/TokenLoginObserver.java
+32
-0
No files found.
app/src/main/java/chat/rocket/android/activity/MainActivity.java
View file @
4c681ab8
...
@@ -6,9 +6,6 @@ import android.widget.ImageView;
...
@@ -6,9 +6,6 @@ import android.widget.ImageView;
import
chat.rocket.android.R
;
import
chat.rocket.android.R
;
import
chat.rocket.android.fragment.chatroom.HomeFragment
;
import
chat.rocket.android.fragment.chatroom.HomeFragment
;
import
chat.rocket.android.helper.Avatar
;
import
chat.rocket.android.helper.Avatar
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.model.ServerConfig
;
import
jp.co.crowdworks.realm_java_helpers_bolts.RealmHelperBolts
;
/**
/**
* Entry-point for Rocket.Chat.Android application.
* Entry-point for Rocket.Chat.Android application.
...
@@ -23,13 +20,6 @@ public class MainActivity extends AbstractAuthedActivity {
...
@@ -23,13 +20,6 @@ public class MainActivity extends AbstractAuthedActivity {
setContentView
(
R
.
layout
.
activity_main
);
setContentView
(
R
.
layout
.
activity_main
);
if
(
savedInstanceState
==
null
)
{
if
(
savedInstanceState
==
null
)
{
RealmHelperBolts
.
executeTransaction
(
realm
->
{
for
(
ServerConfig
config
:
ServerConfig
.
queryActiveConnections
(
realm
).
findAll
())
{
config
.
setTokenVerified
(
false
);
}
return
null
;
}).
continueWith
(
new
LogcatIfError
());
showFragment
(
new
HomeFragment
());
showFragment
(
new
HomeFragment
());
}
}
...
...
app/src/main/java/chat/rocket/android/activity/ServerConfigActivity.java
View file @
4c681ab8
...
@@ -10,8 +10,6 @@ import chat.rocket.android.R;
...
@@ -10,8 +10,6 @@ import chat.rocket.android.R;
import
chat.rocket.android.fragment.server_config.InputHostnameFragment
;
import
chat.rocket.android.fragment.server_config.InputHostnameFragment
;
import
chat.rocket.android.fragment.server_config.LoginFragment
;
import
chat.rocket.android.fragment.server_config.LoginFragment
;
import
chat.rocket.android.fragment.server_config.WaitingFragment
;
import
chat.rocket.android.fragment.server_config.WaitingFragment
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.MethodCallHelper
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.helper.TextUtils
;
import
chat.rocket.android.model.ServerConfig
;
import
chat.rocket.android.model.ServerConfig
;
import
chat.rocket.android.service.RocketChatService
;
import
chat.rocket.android.service.RocketChatService
;
...
@@ -123,8 +121,6 @@ public class ServerConfigActivity extends AbstractFragmentActivity {
...
@@ -123,8 +121,6 @@ public class ServerConfigActivity extends AbstractFragmentActivity {
final
String
token
=
config
.
getToken
();
final
String
token
=
config
.
getToken
();
if
(!
TextUtils
.
isEmpty
(
token
))
{
if
(!
TextUtils
.
isEmpty
(
token
))
{
showFragment
(
WaitingFragment
.
create
(
"Authenticating..."
));
showFragment
(
WaitingFragment
.
create
(
"Authenticating..."
));
new
MethodCallHelper
(
serverConfigId
).
loginWithToken
(
token
)
.
continueWith
(
new
LogcatIfError
());
return
;
return
;
}
}
...
...
app/src/main/java/chat/rocket/android/model/ServerConfig.java
View file @
4c681ab8
package
chat
.
rocket
.
android
.
model
;
package
chat
.
rocket
.
android
.
model
;
import
bolts.Task
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.LogcatIfError
;
import
hugo.weaving.DebugLog
;
import
hugo.weaving.DebugLog
;
import
io.realm.Realm
;
import
io.realm.Realm
;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.RealmQuery
;
import
io.realm.RealmQuery
;
import
io.realm.RealmResults
;
import
io.realm.annotations.PrimaryKey
;
import
io.realm.annotations.PrimaryKey
;
import
jp.co.crowdworks.realm_java_helpers.RealmHelper
;
import
jp.co.crowdworks.realm_java_helpers.RealmHelper
;
import
jp.co.crowdworks.realm_java_helpers_bolts.RealmHelperBolts
;
import
jp.co.crowdworks.realm_java_helpers_bolts.RealmHelperBolts
;
...
@@ -26,10 +28,6 @@ public class ServerConfig extends RealmObject {
...
@@ -26,10 +28,6 @@ public class ServerConfig extends RealmObject {
return
realm
.
where
(
ServerConfig
.
class
).
equalTo
(
"tokenVerified"
,
false
);
return
realm
.
where
(
ServerConfig
.
class
).
equalTo
(
"tokenVerified"
,
false
);
}
}
public
static
RealmQuery
<
ServerConfig
>
queryActiveConnections
(
Realm
realm
)
{
return
realm
.
where
(
ServerConfig
.
class
).
isNotNull
(
"token"
);
}
public
static
boolean
hasLoginRequiredConnection
()
{
public
static
boolean
hasLoginRequiredConnection
()
{
ServerConfig
config
=
ServerConfig
config
=
RealmHelper
.
executeTransactionForRead
(
realm
->
RealmHelper
.
executeTransactionForRead
(
realm
->
...
@@ -38,6 +36,19 @@ public class ServerConfig extends RealmObject {
...
@@ -38,6 +36,19 @@ public class ServerConfig extends RealmObject {
return
config
!=
null
;
return
config
!=
null
;
}
}
public
static
Task
<
Void
>
forceInvalidateToken
()
{
return
RealmHelperBolts
.
executeTransaction
(
realm
->
{
RealmResults
<
ServerConfig
>
targetConfigs
=
realm
.
where
(
ServerConfig
.
class
)
.
isNotNull
(
"token"
)
.
equalTo
(
"tokenVerified"
,
true
)
.
findAll
();
for
(
ServerConfig
config
:
targetConfigs
)
{
config
.
setTokenVerified
(
false
);
}
return
null
;
});
}
@DebugLog
public
static
void
logConnectionError
(
String
id
,
Exception
exception
)
{
@DebugLog
public
static
void
logConnectionError
(
String
id
,
Exception
exception
)
{
RealmHelperBolts
.
executeTransaction
(
RealmHelperBolts
.
executeTransaction
(
realm
->
realm
.
createOrUpdateObjectFromJson
(
ServerConfig
.
class
,
new
JSONObject
()
realm
->
realm
.
createOrUpdateObjectFromJson
(
ServerConfig
.
class
,
new
JSONObject
()
...
...
app/src/main/java/chat/rocket/android/service/RocketChatService.java
View file @
4c681ab8
...
@@ -6,6 +6,7 @@ import android.content.Intent;
...
@@ -6,6 +6,7 @@ import android.content.Intent;
import
android.os.IBinder
;
import
android.os.IBinder
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
bolts.Task
;
import
bolts.Task
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.model.ServerConfig
;
import
chat.rocket.android.model.ServerConfig
;
import
io.realm.Realm
;
import
io.realm.Realm
;
import
io.realm.RealmResults
;
import
io.realm.RealmResults
;
...
@@ -52,6 +53,9 @@ public class RocketChatService extends Service {
...
@@ -52,6 +53,9 @@ public class RocketChatService extends Service {
@Override
public
void
onCreate
()
{
@Override
public
void
onCreate
()
{
super
.
onCreate
();
super
.
onCreate
();
webSocketThreads
=
new
HashMap
<>();
webSocketThreads
=
new
HashMap
<>();
ServerConfig
.
forceInvalidateToken
()
.
continueWith
(
new
LogcatIfError
());
}
}
@Override
public
int
onStartCommand
(
Intent
intent
,
int
flags
,
int
startId
)
{
@Override
public
int
onStartCommand
(
Intent
intent
,
int
flags
,
int
startId
)
{
...
...
app/src/main/java/chat/rocket/android/service/RocketChatWebSocketThread.java
View file @
4c681ab8
...
@@ -11,6 +11,7 @@ import chat.rocket.android.helper.TextUtils;
...
@@ -11,6 +11,7 @@ import chat.rocket.android.helper.TextUtils;
import
chat.rocket.android.model.ServerConfig
;
import
chat.rocket.android.model.ServerConfig
;
import
chat.rocket.android.service.ddp_subscriber.LoginServiceConfigurationSubscriber
;
import
chat.rocket.android.service.ddp_subscriber.LoginServiceConfigurationSubscriber
;
import
chat.rocket.android.service.observer.MethodCallObserver
;
import
chat.rocket.android.service.observer.MethodCallObserver
;
import
chat.rocket.android.service.observer.TokenLoginObserver
;
import
chat.rocket.android.ws.RocketChatWebSocketAPI
;
import
chat.rocket.android.ws.RocketChatWebSocketAPI
;
import
chat.rocket.android_ddp.DDPClientCallback
;
import
chat.rocket.android_ddp.DDPClientCallback
;
import
hugo.weaving.DebugLog
;
import
hugo.weaving.DebugLog
;
...
@@ -28,6 +29,7 @@ import timber.log.Timber;
...
@@ -28,6 +29,7 @@ import timber.log.Timber;
public
class
RocketChatWebSocketThread
extends
HandlerThread
{
public
class
RocketChatWebSocketThread
extends
HandlerThread
{
private
static
final
Class
[]
REGISTERABLE_CLASSES
=
{
private
static
final
Class
[]
REGISTERABLE_CLASSES
=
{
LoginServiceConfigurationSubscriber
.
class
,
LoginServiceConfigurationSubscriber
.
class
,
TokenLoginObserver
.
class
,
MethodCallObserver
.
class
MethodCallObserver
.
class
};
};
private
final
Context
appContext
;
private
final
Context
appContext
;
...
...
app/src/main/java/chat/rocket/android/service/observer/TokenLoginObserver.java
0 → 100644
View file @
4c681ab8
package
chat
.
rocket
.
android
.
service
.
observer
;
import
android.content.Context
;
import
chat.rocket.android.helper.LogcatIfError
;
import
chat.rocket.android.helper.MethodCallHelper
;
import
chat.rocket.android.model.ServerConfig
;
import
chat.rocket.android.ws.RocketChatWebSocketAPI
;
import
io.realm.Realm
;
import
io.realm.RealmResults
;
import
java.util.List
;
public
class
TokenLoginObserver
extends
AbstractModelObserver
<
ServerConfig
>
{
public
TokenLoginObserver
(
Context
context
,
String
serverConfigId
,
RocketChatWebSocketAPI
api
)
{
super
(
context
,
serverConfigId
,
api
);
}
@Override
protected
RealmResults
<
ServerConfig
>
queryItems
(
Realm
realm
)
{
return
realm
.
where
(
ServerConfig
.
class
)
.
isNotNull
(
"token"
)
.
equalTo
(
"tokenVerified"
,
false
)
.
findAll
();
}
@Override
protected
void
onCollectionChanged
(
List
<
ServerConfig
>
list
)
{
if
(
list
.
isEmpty
())
return
;
ServerConfig
config
=
list
.
get
(
0
);
new
MethodCallHelper
(
serverConfigId
,
webSocketAPI
).
loginWithToken
(
config
.
getToken
())
.
continueWith
(
new
LogcatIfError
());
}
}
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