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
08f0588f
Commit
08f0588f
authored
Sep 28, 2018
by
Filipe de Lima Brito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adds scrolling to the server view.
parent
7465f525
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
94 additions
and
85 deletions
+94
-85
OnBoardingPresenter.kt
...entication/onboarding/presentation/OnBoardingPresenter.kt
+2
-1
ServerPresenter.kt
...oid/authentication/server/presentation/ServerPresenter.kt
+17
-12
ServerFragment.kt
...rocket/android/authentication/server/ui/ServerFragment.kt
+3
-3
fragment_authentication_server.xml
app/src/main/res/layout/fragment_authentication_server.xml
+72
-69
No files found.
app/src/main/java/chat/rocket/android/authentication/onboarding/presentation/OnBoardingPresenter.kt
View file @
08f0588f
...
...
@@ -73,6 +73,8 @@ class OnBoardingPresenter @Inject constructor(
view
.
showLoading
()
try
{
withContext
(
DefaultDispatcher
)
{
refreshSettingsInteractor
.
refresh
(
serverUrl
)
setupConnectionInfo
(
serverUrl
)
// preparing next fragment before showing it
...
...
@@ -80,7 +82,6 @@ class OnBoardingPresenter @Inject constructor(
checkIfLoginFormIsEnabled
()
checkIfCreateNewAccountIsEnabled
()
refreshSettingsInteractor
.
refresh
(
serverUrl
)
serverInteractor
.
save
(
serverUrl
)
block
()
...
...
app/src/main/java/chat/rocket/android/authentication/server/presentation/ServerPresenter.kt
View file @
08f0588f
...
...
@@ -12,6 +12,8 @@ import chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.server.presentation.CheckServerPresenter
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.android.util.extensions.isValidUrl
import
kotlinx.coroutines.experimental.DefaultDispatcher
import
kotlinx.coroutines.experimental.withContext
import
javax.inject.Inject
class
ServerPresenter
@Inject
constructor
(
...
...
@@ -74,30 +76,33 @@ class ServerPresenter @Inject constructor(
}
}
private
fun
connectToServer
(
server
:
String
,
block
:
()
->
Unit
)
{
if
(!
server
.
isValidUrl
())
{
private
fun
connectToServer
(
server
Url
:
String
,
block
:
()
->
Unit
)
{
if
(!
server
Url
.
isValidUrl
())
{
view
.
showInvalidServerUrlMessage
()
}
else
{
launchUI
(
strategy
)
{
// Check if we already have an account for this server...
val
account
=
getAccountsInteractor
.
get
().
firstOrNull
{
it
.
serverUrl
==
server
}
val
account
=
getAccountsInteractor
.
get
().
firstOrNull
{
it
.
serverUrl
==
server
Url
}
if
(
account
!=
null
)
{
navigator
.
toChatList
(
server
)
navigator
.
toChatList
(
server
Url
)
return
@launchUI
}
view
.
showLoading
()
try
{
refreshSettingsInteractor
.
refresh
(
server
)
serverInteractor
.
save
(
server
)
withContext
(
DefaultDispatcher
)
{
refreshSettingsInteractor
.
refresh
(
serverUrl
)
setupConnectionInfo
(
serverUrl
)
setupConnectionInfo
(
server
)
// preparing next fragment before showing it
checkEnabledAccounts
(
serverUrl
)
checkIfLoginFormIsEnabled
()
checkIfCreateNewAccountIsEnabled
()
// preparing next fragment before showing it
checkEnabledAccounts
(
server
)
checkIfLoginFormIsEnabled
()
checkIfCreateNewAccountIsEnabled
()
serverInteractor
.
save
(
serverUrl
)
block
()
block
()
}
}
catch
(
ex
:
Exception
)
{
view
.
showMessage
(
ex
)
}
finally
{
...
...
app/src/main/java/chat/rocket/android/authentication/server/ui/ServerFragment.kt
View file @
08f0588f
...
...
@@ -55,7 +55,7 @@ class ServerFragment : Fragment(), ServerView {
private
lateinit
var
serverUrlDisposable
:
Disposable
private
val
layoutListener
=
ViewTreeObserver
.
OnGlobalLayoutListener
{
text_server_url
.
isCursorVisible
=
KeyboardHelper
.
isSoftKeyboardShown
(
constraint_layout
.
rootView
)
KeyboardHelper
.
isSoftKeyboardShown
(
scroll_view
.
rootView
)
}
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
...
...
@@ -72,7 +72,7 @@ class ServerFragment : Fragment(), ServerView {
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
constraint_layout
.
viewTreeObserver
.
addOnGlobalLayoutListener
(
layoutListener
)
scroll_view
.
viewTreeObserver
.
addOnGlobalLayoutListener
(
layoutListener
)
setupToolbar
()
setupSpinner
()
setupOnClickListener
()
...
...
@@ -88,7 +88,7 @@ class ServerFragment : Fragment(), ServerView {
override
fun
onDestroyView
()
{
super
.
onDestroyView
()
constraint_layout
.
viewTreeObserver
.
removeOnGlobalLayoutListener
(
layoutListener
)
scroll_view
.
viewTreeObserver
.
removeOnGlobalLayoutListener
(
layoutListener
)
// Reset deep link info, so user can come back and log to another server...
deepLinkInfo
=
null
unsubscribeEditText
()
...
...
app/src/main/res/layout/fragment_authentication_server.xml
View file @
08f0588f
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<ScrollView
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/
constraint_layout
"
android:id=
"@+id/
scroll_view
"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/colorWhite"
android:focusableInTouchMode=
"true"
android:padding=
"@dimen/screen_edge_left_and_right_margins"
tools:context=
".authentication.server.ui.ServerFragment"
>
<ImageView
android:id=
"@+id/image_server"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_server"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:id=
"@+id/text_sign_in_to_your_server"
style=
"@style/Authentication.Headline.TextView"
android:layout_marginTop=
"8dp"
android:text=
"@string/title_sign_in_your_server"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/image_server"
/>
<ImageView
android:id=
"@+id/image_server"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_server"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:ignore=
"ContentDescription"
/>
<RelativeLayout
android:id=
"@+id/server_url_container"
android:layout_width=
"0dp"
android:layout_height=
"48dp"
android:layout_marginTop=
"24dp"
android:background=
"@drawable/rounded_border"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/text_sign_in_to_your_server"
>
<TextView
android:id=
"@+id/text_sign_in_to_your_server"
style=
"@style/Authentication.Headline.TextView"
android:layout_marginTop=
"8dp"
android:text=
"@string/title_sign_in_your_server"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/image_server"
/>
<Spinner
android:id=
"@+id/spinner_server_protocol"
android:layout_width=
"100dp"
android:layout_height=
"match_parent"
android:popupBackground=
"@color/colorWhite"
/>
<RelativeLayout
android:id=
"@+id/server_url_container"
android:layout_width=
"0dp"
android:layout_height=
"48dp"
android:layout_marginTop=
"24dp"
android:background=
"@drawable/rounded_border"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/text_sign_in_to_your_server"
>
<EditText
android:id=
"@+id/text_server_url"
style=
"@style/Authentication.Text.Hint"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginStart=
"6dp"
android:layout_marginEnd=
"16dp"
android:layout_toEndOf=
"@+id/spinner_server_protocol"
android:background=
"@color/colorWhite"
android:cursorVisible=
"false"
android:hint=
"@string/server_hint_url"
android:imeOptions=
"actionDone"
android:inputType=
"text|textUri"
/>
</RelativeLayout>
<Spinner
android:id=
"@+id/spinner_server_protocol"
android:layout_width=
"100dp"
android:layout_height=
"match_parent"
android:popupBackground=
"@color/colorWhite"
/>
<EditText
android:id=
"@+id/text_server_url"
style=
"@style/Authentication.Text.Hint"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginStart=
"6dp"
android:layout_marginEnd=
"16dp"
android:layout_toEndOf=
"@+id/spinner_server_protocol"
android:background=
"@color/colorWhite"
android:cursorVisible=
"false"
android:hint=
"@string/server_hint_url"
android:imeOptions=
"actionDone"
android:inputType=
"text|textUri"
/>
</RelativeLayout>
<Button
android:id=
"@+id/button_connect"
style=
"@style/Authentication.Button.Flat"
android:layout_marginTop=
"20dp"
android:backgroundTint=
"@color/colorAuthenticationButtonDisabled"
android:enabled=
"false"
android:text=
"@string/action_connect"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/server_url_container"
/>
<Button
android:id=
"@+id/button_connect"
style=
"@style/Authentication.Button.Flat"
android:layout_marginTop=
"20dp"
android:backgroundTint=
"@color/colorAuthenticationButtonDisabled"
android:enabled=
"false"
android:text=
"@string/action_connect"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/server_url_container"
/>
<com.wang.avi.AVLoadingIndicatorView
android:id=
"@+id/view_loading"
style=
"@style/Authentication.AVLoadingIndicatorView"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.wang.avi.AVLoadingIndicatorView
android:id=
"@+id/view_loading"
style=
"@style/Authentication.AVLoadingIndicatorView"
android:visibility=
"gone"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
\ No newline at end of file
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