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
9f9c2ace
Commit
9f9c2ace
authored
May 23, 2018
by
aniket
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
minor changes in the code to add members
parent
59c55366
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
122 additions
and
14 deletions
+122
-14
AddMembersModule.kt
...t/android/createChannel/addMembers/di/AddMembersModule.kt
+10
-0
AddMembersProvider.kt
...android/createChannel/addMembers/di/AddMembersProvider.kt
+11
-0
AddMembersPresenter.kt
...ateChannel/addMembers/presentation/AddMembersPresenter.kt
+35
-1
AddMembersActivity.kt
...android/createChannel/addMembers/ui/AddMembersActivity.kt
+37
-1
CreateNewChannelPresenter.kt
...d/createChannel/presentation/CreateNewChannelPresenter.kt
+14
-6
activity_add_members.xml
app/src/main/res/layout/activity_add_members.xml
+12
-3
dependencies.gradle
dependencies.gradle
+3
-3
No files found.
app/src/main/java/chat/rocket/android/createChannel/addMembers/di/AddMembersModule.kt
View file @
9f9c2ace
...
@@ -2,7 +2,11 @@ package chat.rocket.android.createChannel.addMembers.di
...
@@ -2,7 +2,11 @@ package chat.rocket.android.createChannel.addMembers.di
import
android.arch.lifecycle.LifecycleOwner
import
android.arch.lifecycle.LifecycleOwner
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.createChannel.addMembers.presentation.AddMembersView
import
chat.rocket.android.createChannel.addMembers.ui.AddMembersActivity
import
chat.rocket.android.createChannel.addMembers.ui.AddMembersActivity
import
chat.rocket.android.createChannel.presentation.CreateNewChannelView
import
chat.rocket.android.createChannel.ui.CreateNewChannelActivity
import
chat.rocket.android.dagger.scope.PerActivity
import
dagger.Module
import
dagger.Module
import
dagger.Provides
import
dagger.Provides
import
kotlinx.coroutines.experimental.Job
import
kotlinx.coroutines.experimental.Job
...
@@ -14,6 +18,12 @@ class AddMembersModule {
...
@@ -14,6 +18,12 @@ class AddMembersModule {
return
activity
return
activity
}
}
@Provides
@PerActivity
fun
addMembersView
(
activity
:
AddMembersActivity
):
AddMembersView
{
return
activity
}
@Provides
@Provides
fun
provideCancelStrategy
(
owner
:
LifecycleOwner
,
jobs
:
Job
):
CancelStrategy
{
fun
provideCancelStrategy
(
owner
:
LifecycleOwner
,
jobs
:
Job
):
CancelStrategy
{
return
CancelStrategy
(
owner
,
jobs
)
return
CancelStrategy
(
owner
,
jobs
)
...
...
app/src/main/java/chat/rocket/android/createChannel/addMembers/di/AddMembersProvider.kt
0 → 100644
View file @
9f9c2ace
package
chat.rocket.android.createChannel.addMembers.di
import
chat.rocket.android.createChannel.addMembers.ui.AddMembersActivity
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
@Module
abstract
class
AddMembersProvider
{
@ContributesAndroidInjector
(
modules
=
[
AddMembersModule
::
class
])
abstract
fun
provideNewChannelActivity
():
AddMembersActivity
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/createChannel/addMembers/presentation/AddMembersPresenter.kt
View file @
9f9c2ace
package
chat.rocket.android.createChannel.addMembers.presentation
package
chat.rocket.android.createChannel.addMembers.presentation
class
AddMembersPresenter
{
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.members.viewmodel.MemberViewModelMapper
import
chat.rocket.android.server.domain.GetCurrentServerInteractor
import
chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.util.extensions.launchUI
import
chat.rocket.android.util.retryIO
import
chat.rocket.common.RocketChatException
import
chat.rocket.core.RocketChatClient
import
chat.rocket.core.internal.rest.queryUsers
import
javax.inject.Inject
class
AddMembersPresenter
@Inject
constructor
(
private
val
view
:
AddMembersView
,
private
val
strategy
:
CancelStrategy
,
private
val
serverInteractor
:
GetCurrentServerInteractor
,
private
val
mapper
:
MemberViewModelMapper
,
factory
:
RocketChatClientFactory
)
{
val
serverUrl
:
String
?
=
serverInteractor
.
get
()
private
val
client
=
if
(
serverUrl
!=
null
)
factory
.
create
(
serverUrl
)
else
null
fun
queryUsersFromRegex
(
queryParam
:
String
)
{
if
(
client
!=
null
)
{
launchUI
(
strategy
)
{
try
{
val
allMembers
=
retryIO
(
"queryUsers($queryParam)"
)
{
client
.
queryUsers
(
queryParam
)
}
val
memberViewModelMapper
=
mapper
.
mapToViewModelList
(
allMembers
.
result
)
}
catch
(
ex
:
RocketChatException
)
{
}
}
}
}
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/createChannel/addMembers/ui/AddMembersActivity.kt
View file @
9f9c2ace
...
@@ -2,12 +2,18 @@ package chat.rocket.android.createChannel.addMembers.ui
...
@@ -2,12 +2,18 @@ package chat.rocket.android.createChannel.addMembers.ui
import
android.os.Bundle
import
android.os.Bundle
import
android.support.v7.app.AppCompatActivity
import
android.support.v7.app.AppCompatActivity
import
android.widget.SearchView
import
chat.rocket.android.R
import
chat.rocket.android.R
import
chat.rocket.android.createChannel.addMembers.presentation.AddMembersPresenter
import
chat.rocket.android.createChannel.addMembers.presentation.AddMembersPresenter
import
chat.rocket.android.createChannel.addMembers.presentation.AddMembersView
import
chat.rocket.android.createChannel.addMembers.presentation.AddMembersView
import
com.jakewharton.rxbinding2.widget.RxTextView
import
com.jakewharton.rxbinding2.widget.RxTextView
import
io.reactivex.Observable
import
io.reactivex.android.schedulers.AndroidSchedulers
import
io.reactivex.subjects.BehaviorSubject
import
kotlinx.android.synthetic.main.activity_add_members.*
import
kotlinx.android.synthetic.main.activity_create_new_channel.*
import
kotlinx.android.synthetic.main.activity_create_new_channel.*
import
kotlinx.android.synthetic.main.layout_toolbar.*
import
kotlinx.android.synthetic.main.layout_toolbar.*
import
java.util.concurrent.TimeUnit
import
javax.inject.Inject
import
javax.inject.Inject
class
AddMembersActivity
:
AppCompatActivity
(),
AddMembersView
{
class
AddMembersActivity
:
AppCompatActivity
(),
AddMembersView
{
...
@@ -37,9 +43,20 @@ class AddMembersActivity : AppCompatActivity(), AddMembersView {
...
@@ -37,9 +43,20 @@ class AddMembersActivity : AppCompatActivity(), AddMembersView {
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
super
.
onCreate
(
savedInstanceState
)
setUpToolBar
()
setUpToolBar
()
observableFromSearchView
(
search_view
)
.
debounce
(
300
,
TimeUnit
.
MILLISECONDS
)
.
filter
{
item
->
item
.
length
>
1
}
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
{
query
->
{
//search for elements on the basis of query obtained and also add a function in
// login presenter
}
}
}
}
private
fun
setUpToolBar
(){
private
fun
setUpToolBar
()
{
toolbar_title
.
text
=
getString
(
R
.
string
.
title_add_members
)
toolbar_title
.
text
=
getString
(
R
.
string
.
title_add_members
)
toolbar_action_text
.
text
=
getString
(
R
.
string
.
action_select_members
)
toolbar_action_text
.
text
=
getString
(
R
.
string
.
action_select_members
)
...
@@ -52,4 +69,23 @@ class AddMembersActivity : AppCompatActivity(), AddMembersView {
...
@@ -52,4 +69,23 @@ class AddMembersActivity : AppCompatActivity(), AddMembersView {
toolbar_action_text
.
alpha
=
1.0f
toolbar_action_text
.
alpha
=
1.0f
}
}
}
}
private
fun
observableFromSearchView
(
searchView
:
SearchView
):
Observable
<
String
>
{
val
observableSubject
:
BehaviorSubject
<
String
>
=
BehaviorSubject
.
create
()
searchView
.
setOnQueryTextListener
(
object
:
SearchView
.
OnQueryTextListener
{
override
fun
onQueryTextSubmit
(
query
:
String
):
Boolean
{
observableSubject
.
onComplete
()
return
true
}
override
fun
onQueryTextChange
(
newText
:
String
):
Boolean
{
if
(!
newText
.
isEmpty
())
{
observableSubject
.
onNext
(
newText
)
}
return
true
}
})
return
observableSubject
}
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/createChannel/presentation/CreateNewChannelPresenter.kt
View file @
9f9c2ace
...
@@ -14,17 +14,25 @@ import chat.rocket.core.model.Room
...
@@ -14,17 +14,25 @@ import chat.rocket.core.model.Room
import
javax.inject.Inject
import
javax.inject.Inject
class
CreateNewChannelPresenter
@Inject
constructor
(
private
val
view
:
CreateNewChannelView
,
class
CreateNewChannelPresenter
@Inject
constructor
(
private
val
strategy
:
CancelStrategy
,
private
val
view
:
CreateNewChannelView
,
private
val
serverInteractor
:
GetCurrentServerInteractor
,
private
val
strategy
:
CancelStrategy
,
factory
:
RocketChatClientFactory
)
{
private
val
serverInteractor
:
GetCurrentServerInteractor
,
factory
:
RocketChatClientFactory
)
{
private
val
client
:
RocketChatClient
=
factory
.
create
(
serverInteractor
.
get
()
!!
)
private
val
client
:
RocketChatClient
=
factory
.
create
(
serverInteractor
.
get
()
!!
)
fun
createNewChannel
(
roomType
:
RoomType
,
channelName
:
String
,
usersList
:
List
<
String
>,
readOnly
:
Boolean
)
{
fun
createNewChannel
(
roomType
:
RoomType
,
channelName
:
String
,
usersList
:
List
<
String
>,
readOnly
:
Boolean
)
{
launchUI
(
strategy
)
{
launchUI
(
strategy
)
{
view
.
showLoading
()
view
.
showLoading
()
try
{
try
{
val
channelCreated
:
Room
?
=
client
.
createChannel
(
roomType
,
channelName
,
usersList
,
readOnly
)
val
channelCreated
:
Room
?
=
client
.
createChannel
(
roomType
,
channelName
,
usersList
,
readOnly
)
view
.
showChannelCreatedSuccessfullyMessage
()
view
.
showChannelCreatedSuccessfullyMessage
()
}
catch
(
exception
:
RocketChatException
)
{
}
catch
(
exception
:
RocketChatException
)
{
exception
.
message
?.
let
{
exception
.
message
?.
let
{
...
...
app/src/main/res/layout/activity_add_members.xml
View file @
9f9c2ace
...
@@ -20,10 +20,19 @@
...
@@ -20,10 +20,19 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/toolbar_layout"
>
app:layout_constraintTop_toBottomOf=
"@id/toolbar_layout"
>
<
EditText
<
android.support.design.chip.ChipGroup
android:id=
"@+id/
search_edit_text
"
android:id=
"@+id/
members_chips
"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
app:chipSpacing=
"2dp"
>
</android.support.design.chip.ChipGroup>
<SearchView
android:id=
"@+id/search_view"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@id/members_chips"
android:layout_margin=
"8dp"
android:layout_margin=
"8dp"
android:backgroundTint=
"@color/colorLightTheme"
android:backgroundTint=
"@color/colorLightTheme"
android:hint=
"@string/msg_search"
/>
android:hint=
"@string/msg_search"
/>
...
@@ -33,7 +42,7 @@
...
@@ -33,7 +42,7 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"0.2dp"
android:layout_height=
"0.2dp"
android:background=
"@color/colorDividerMessageComposer"
android:background=
"@color/colorDividerMessageComposer"
app:layout_constraintTop_toBottomOf=
"@id/search_
edit_text
"
/>
app:layout_constraintTop_toBottomOf=
"@id/search_
view
"
/>
<android.support.v7.widget.RecyclerView
<android.support.v7.widget.RecyclerView
android:id=
"@+id/search_results"
android:id=
"@+id/search_results"
...
...
dependencies.gradle
View file @
9f9c2ace
ext
{
ext
{
versions
=
[
versions
=
[
java
:
JavaVersion
.
VERSION_1_8
,
java
:
JavaVersion
.
VERSION_1_8
,
compileSdk
:
27
,
compileSdk
:
"android-P"
,
targetSdk
:
2
7
,
targetSdk
:
2
8
,
buildTools
:
'27.0.3'
,
buildTools
:
'27.0.3'
,
kotlin
:
'1.2.41'
,
kotlin
:
'1.2.41'
,
coroutine
:
'0.22.5'
,
coroutine
:
'0.22.5'
,
dokka
:
'0.9.16'
,
dokka
:
'0.9.16'
,
// Main dependencies
// Main dependencies
support
:
'2
7.1.
1'
,
support
:
'2
8.0.0-alpha
1'
,
constraintLayout
:
'1.1.0'
,
constraintLayout
:
'1.1.0'
,
androidKtx
:
'0.3'
,
androidKtx
:
'0.3'
,
dagger
:
'2.14.1'
,
dagger
:
'2.14.1'
,
...
...
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