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
e463622d
Commit
e463622d
authored
Apr 04, 2019
by
Filipe de Lima Brito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Shows server view
parent
8dc117d8
Changes
36
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
447 additions
and
170 deletions
+447
-170
ChatRoomsPresenter.kt
...cket/android/chatrooms/presentation/ChatRoomsPresenter.kt
+2
-21
ChatRoomsView.kt
...at/rocket/android/chatrooms/presentation/ChatRoomsView.kt
+0
-7
ChatRoomsFragment.kt
...ava/chat/rocket/android/chatrooms/ui/ChatRoomsFragment.kt
+15
-10
SortByBottomSheetFragment.kt
.../rocket/android/chatrooms/ui/SortByBottomSheetFragment.kt
+1
-1
CreateChannelFragment.kt
.../rocket/android/createchannel/ui/CreateChannelFragment.kt
+1
-1
ActivityBuilder.kt
...java/chat/rocket/android/dagger/module/ActivityBuilder.kt
+2
-0
StatusViewHolder.kt
...java/chat/rocket/android/main/adapter/StatusViewHolder.kt
+0
-18
AddNewServerViewHolder.kt
.../rocket/android/servers/adapter/AddNewServerViewHolder.kt
+6
-0
ServerViewHolder.kt
...a/chat/rocket/android/servers/adapter/ServerViewHolder.kt
+21
-0
ServersAdapter.kt
...ava/chat/rocket/android/servers/adapter/ServersAdapter.kt
+58
-0
ServersBottomSheetFragmentModule.kt
...et/android/servers/di/ServersBottomSheetFragmentModule.kt
+16
-0
ServersBottomSheetFragmentProvider.kt
.../android/servers/di/ServersBottomSheetFragmentProvider.kt
+14
-0
ServersPresenter.kt
...t/rocket/android/servers/presentation/ServersPresenter.kt
+47
-0
ServersView.kt
...a/chat/rocket/android/servers/presentation/ServersView.kt
+20
-0
ServersBottomSheetFragment.kt
...t/rocket/android/servers/ui/ServersBottomSheetFragment.kt
+67
-0
ic_add_new_server_48dp.xml
app/src/main/res/drawable/ic_add_new_server_48dp.xml
+20
-0
bottom_sheet_fragment_servers.xml
app/src/main/res/layout/bottom_sheet_fragment_servers.xml
+39
-0
item_add_new_server.xml
app/src/main/res/layout/item_add_new_server.xml
+25
-0
item_server.xml
app/src/main/res/layout/item_server.xml
+61
-0
nav_header.xml
app/src/main/res/layout/nav_header.xml
+0
-94
strings.xml
app/src/main/res/values-ar/strings.xml
+2
-1
strings.xml
app/src/main/res/values-de/strings.xml
+2
-2
strings.xml
app/src/main/res/values-es/strings.xml
+2
-1
strings.xml
app/src/main/res/values-fa/strings.xml
+2
-1
strings.xml
app/src/main/res/values-fr/strings.xml
+2
-1
strings.xml
app/src/main/res/values-hi-rIN/strings.xml
+2
-1
strings.xml
app/src/main/res/values-it/strings.xml
+2
-1
strings.xml
app/src/main/res/values-ja/strings.xml
+2
-1
strings.xml
app/src/main/res/values-pt-rBR/strings.xml
+2
-2
strings.xml
app/src/main/res/values-pt-rPT/strings.xml
+2
-1
strings.xml
app/src/main/res/values-ru-rRU/strings.xml
+2
-1
strings.xml
app/src/main/res/values-tr/strings.xml
+2
-1
strings.xml
app/src/main/res/values-uk/strings.xml
+2
-1
strings.xml
app/src/main/res/values-zh-rCN/strings.xml
+2
-1
strings.xml
app/src/main/res/values-zh-rTW/strings.xml
+2
-1
strings.xml
app/src/main/res/values/strings.xml
+2
-1
No files found.
app/src/main/java/chat/rocket/android/chatrooms/presentation/ChatRoomsPresenter.kt
View file @
e463622d
...
...
@@ -50,31 +50,12 @@ class ChatRoomsPresenter @Inject constructor(
fun
toCreateChannel
()
=
navigator
.
toCreateChannel
()
fun
toSettings
()
=
navigator
.
toSettings
()
fun
getCurrentServerName
()
{
view
.
setupToolbar
(
currentServer
)
}
fun
getAllServers
()
{
launchUI
(
strategy
)
{
try
{
view
.
setupServerListView
(
getAccountsInteractor
.
get
())
}
catch
(
exception
:
Exception
)
{
Timber
.
e
(
exception
,
"Error while getting all servers"
)
when
(
exception
)
{
// is RocketChatAuthException -> logout()
else
->
{
exception
.
message
?.
let
{
view
.
showMessage
(
it
)
}.
ifNull
{
view
.
showGenericErrorMessage
()
}
}
}
}
}
}
fun
loadChatRoom
(
roomId
:
String
)
{
launchUI
(
strategy
)
{
view
.
showLoadingRoom
(
""
)
...
...
app/src/main/java/chat/rocket/android/chatrooms/presentation/ChatRoomsView.kt
View file @
e463622d
...
...
@@ -13,13 +13,6 @@ interface ChatRoomsView : LoadingView, MessageView {
*/
fun
setupToolbar
(
serverName
:
String
)
/**
* Setups the server list view with all server list.
*
* @param serverList The server list to show on server list.
*/
fun
setupServerListView
(
serverList
:
List
<
Account
>)
fun
showLoadingRoom
(
name
:
CharSequence
)
fun
hideLoadingRoom
()
...
...
app/src/main/java/chat/rocket/android/chatrooms/ui/ChatRoomsFragment.kt
View file @
e463622d
...
...
@@ -30,7 +30,7 @@ import chat.rocket.android.chatrooms.viewmodel.Query
import
chat.rocket.android.helper.ChatRoomsSortOrder
import
chat.rocket.android.helper.Constants
import
chat.rocket.android.helper.SharedPreferenceHelper
import
chat.rocket.android.server
.domain.model.Accou
nt
import
chat.rocket.android.server
s.ui.ServersBottomSheetFragme
nt
import
chat.rocket.android.util.extension.onQueryTextListener
import
chat.rocket.android.util.extensions.ifNotNullNotEmpty
import
chat.rocket.android.util.extensions.inflate
...
...
@@ -104,11 +104,6 @@ class ChatRoomsFragment : Fragment(), ChatRoomsView {
analyticsManager
.
logScreenView
(
ScreenViewEvent
.
ChatRooms
)
}
override
fun
setupServerListView
(
serverList
:
List
<
Account
>)
{
// TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
private
fun
subscribeUi
()
{
ui
{
val
adapter
=
RoomsAdapter
{
room
->
...
...
@@ -284,18 +279,28 @@ class ChatRoomsFragment : Fragment(), ChatRoomsView {
}
override
fun
setupToolbar
(
serverName
:
String
)
{
(
activity
as
AppCompatActivity
).
setSupportActionBar
(
toolbar
)
with
((
activity
as
AppCompatActivity
))
{
with
(
toolbar
)
{
setSupportActionBar
(
this
)
setNavigationOnClickListener
{
presenter
.
toSettings
()
}
}
}
text_server_name
.
text
=
serverName
}
private
fun
setupListeners
()
{
text_server_name
.
setOnClickListener
{
// TO DO
ServersBottomSheetFragment
().
show
(
activity
?.
supportFragmentManager
,
chat
.
rocket
.
android
.
servers
.
ui
.
TAG
)
}
text_sort_by
.
setOnClickListener
{
SortByBottomSheetFragment
()
.
show
(
activity
?.
supportFragmentManager
,
TAG
)
SortByBottomSheetFragment
().
show
(
activity
?.
supportFragmentManager
,
chat
.
rocket
.
android
.
chatrooms
.
ui
.
TAG
)
}
}
...
...
app/src/main/java/chat/rocket/android/chatrooms/ui/SortByBottomSheetFragment.kt
View file @
e463622d
...
...
@@ -11,7 +11,7 @@ import chat.rocket.android.R
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
import
kotlinx.android.synthetic.main.bottom_sheet_fragment_sort_by.*
internal
const
val
TAG
=
"SortByBottomSheetFragment"
const
val
TAG
=
"SortByBottomSheetFragment"
class
SortByBottomSheetFragment
:
BottomSheetDialogFragment
()
{
private
var
isSortByName
=
false
...
...
app/src/main/java/chat/rocket/android/createchannel/ui/CreateChannelFragment.kt
View file @
e463622d
...
...
@@ -182,7 +182,7 @@ class CreateChannelFragment : Fragment(), CreateChannelView, ActionMode.Callback
private
fun
setupToolBar
()
{
with
((
activity
as
AppCompatActivity
))
{
with
(
toolbar
)
{
setSupportActionBar
(
t
oolbar
)
setSupportActionBar
(
t
his
)
title
=
getString
(
R
.
string
.
title_create_channel
)
setNavigationIcon
(
R
.
drawable
.
ic_arrow_back_white_24dp
)
setNavigationOnClickListener
{
activity
?.
onBackPressed
()
}
...
...
app/src/main/java/chat/rocket/android/dagger/module/ActivityBuilder.kt
View file @
e463622d
...
...
@@ -33,6 +33,7 @@ import chat.rocket.android.preferences.di.PreferencesFragmentProvider
import
chat.rocket.android.profile.di.ProfileFragmentProvider
import
chat.rocket.android.server.di.ChangeServerModule
import
chat.rocket.android.server.ui.ChangeServerActivity
import
chat.rocket.android.servers.di.ServersBottomSheetFragmentProvider
import
chat.rocket.android.settings.di.SettingsFragmentProvider
import
chat.rocket.android.settings.password.di.PasswordFragmentProvider
import
chat.rocket.android.settings.password.ui.PasswordActivity
...
...
@@ -65,6 +66,7 @@ abstract class ActivityBuilder {
@ContributesAndroidInjector
(
modules
=
[
MainModule
::
class
,
ChatRoomsFragmentProvider
::
class
,
ServersBottomSheetFragmentProvider
::
class
,
CreateChannelProvider
::
class
,
ProfileFragmentProvider
::
class
,
SettingsFragmentProvider
::
class
,
...
...
app/src/main/java/chat/rocket/android/main/adapter/StatusViewHolder.kt
deleted
100644 → 0
View file @
8dc117d8
package
chat.rocket.android.main.adapter
import
androidx.recyclerview.widget.RecyclerView
import
android.view.View
import
chat.rocket.common.model.UserStatus
import
kotlinx.android.synthetic.main.item_change_status.view.*
class
StatusViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
fun
bind
(
listener
:
(
UserStatus
)
->
Unit
)
{
with
(
itemView
)
{
text_online
.
setOnClickListener
{
listener
(
UserStatus
.
Online
())
}
text_away
.
setOnClickListener
{
listener
(
UserStatus
.
Away
())
}
text_busy
.
setOnClickListener
{
listener
(
UserStatus
.
Busy
())
}
text_invisible
.
setOnClickListener
{
listener
(
UserStatus
.
Offline
())
}
}
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/
main/adapter/AddAccount
ViewHolder.kt
→
app/src/main/java/chat/rocket/android/
servers/adapter/AddNewServer
ViewHolder.kt
View file @
e463622d
package
chat.rocket.android.
main
.adapter
package
chat.rocket.android.
servers
.adapter
import
androidx.recyclerview.widget.RecyclerView
import
android.view.View
import
androidx.recyclerview.widget.RecyclerView
class
AddAccountViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
\ No newline at end of file
class
AddNewServerViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
\ No newline at end of file
app/src/main/java/chat/rocket/android/
main/adapter/Account
ViewHolder.kt
→
app/src/main/java/chat/rocket/android/
servers/adapter/Server
ViewHolder.kt
View file @
e463622d
package
chat.rocket.android.
main
.adapter
package
chat.rocket.android.
servers
.adapter
import
androidx.recyclerview.widget.RecyclerView
import
android.view.View
import
androidx.core.view.isInvisible
import
androidx.recyclerview.widget.RecyclerView
import
chat.rocket.android.server.domain.model.Account
import
kotlinx.android.synthetic.main.item_account.view.*
import
com.bumptech.glide.Glide
import
kotlinx.android.synthetic.main.item_server.view.*
class
AccountViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
class
ServerViewHolder
(
itemView
:
View
,
private
val
currentServerUrl
:
String
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
fun
bind
(
account
:
Account
)
{
with
(
itemView
)
{
server_logo
.
setImageURI
(
account
.
serverLogo
)
Glide
.
with
(
context
).
load
(
account
.
serverLogo
).
into
(
image_server
)
text_server_name
.
text
=
account
.
serverUrl
text_server_url
.
text
=
account
.
serverUrl
text_username
.
text
=
account
.
userName
image_check
.
isInvisible
=
currentServerUrl
!=
account
.
serverUrl
}
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/
main/adapter/Account
sAdapter.kt
→
app/src/main/java/chat/rocket/android/
servers/adapter/Server
sAdapter.kt
View file @
e463622d
package
chat.rocket.android.
main
.adapter
package
chat.rocket.android.
servers
.adapter
import
androidx.recyclerview.widget.RecyclerView
import
android.view.ViewGroup
import
androidx.recyclerview.widget.RecyclerView
import
chat.rocket.android.R
import
chat.rocket.android.server.domain.model.Account
import
chat.rocket.android.util.extensions.inflate
import
chat.rocket.common.model.UserStatus
private
const
val
VIEW_TYPE_CHANGE_STATUS
=
0
private
const
val
VIEW_TYPE_ACCOUNT
=
1
private
const
val
VIEW_TYPE_ADD_ACCOUNT
=
2
private
const
val
VIEW_TYPE_SERVER
=
0
private
const
val
VIEW_TYPE_ADD_NEW_SERVER
=
1
class
AccountsAdapter
(
private
val
accounts
:
List
<
Account
>,
class
ServersAdapter
(
private
val
servers
:
List
<
Account
>,
private
val
currentServerUrl
:
String
,
private
val
selector
:
Selector
)
:
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
RecyclerView
.
ViewHolder
{
return
when
(
viewType
)
{
VIEW_TYPE_CHANGE_STATUS
->
StatusViewHolder
(
parent
.
inflate
(
R
.
layout
.
item_change_status
))
VIEW_TYPE_ACCOUNT
->
AccountViewHolder
(
parent
.
inflate
(
R
.
layout
.
item_account
))
else
->
AddAccountViewHolder
(
parent
.
inflate
(
R
.
layout
.
item_add_account
))
VIEW_TYPE_SERVER
->
ServerViewHolder
(
parent
.
inflate
(
R
.
layout
.
item_server
),
currentServerUrl
)
else
->
AddNewServerViewHolder
(
parent
.
inflate
(
R
.
layout
.
item_add_new_server
))
}
}
override
fun
getItemCount
()
=
accounts
.
size
+
2
override
fun
getItemCount
()
=
servers
.
size
+
1
override
fun
getItemViewType
(
position
:
Int
):
Int
{
return
when
{
position
==
0
->
VIEW_TYPE_CHANGE_STATUS
position
<=
accounts
.
size
->
VIEW_TYPE_ACCOUNT
else
->
VIEW_TYPE_ADD_ACCOUNT
position
<
servers
.
size
->
VIEW_TYPE_SERVER
else
->
VIEW_TYPE_ADD_NEW_SERVER
}
}
override
fun
onBindViewHolder
(
holder
:
RecyclerView
.
ViewHolder
,
position
:
Int
)
{
when
(
holder
)
{
is
StatusViewHolder
->
bindStatusViewHolder
(
holder
)
is
AccountViewHolder
->
bindAccountViewHolder
(
holder
,
position
)
is
AddAccountViewHolder
->
bindAddAccountViewHolder
(
holder
)
is
ServerViewHolder
->
bindServerViewHolder
(
holder
,
position
)
is
AddNewServerViewHolder
->
bindAddNewServerViewHolder
(
holder
)
}
}
private
fun
bindStatusViewHolder
(
holder
:
StatusViewHolder
)
{
holder
.
bind
{
userStatus
->
selector
.
onStatusSelected
(
userStatus
)
}
}
private
fun
bind
AccountViewHolder
(
holder
:
Account
ViewHolder
,
position
:
Int
)
{
val
account
=
accounts
[
position
-
1
]
private
fun
bind
ServerViewHolder
(
holder
:
Server
ViewHolder
,
position
:
Int
)
{
val
account
=
servers
[
position
]
holder
.
bind
(
account
)
holder
.
itemView
.
setOnClickListener
{
selector
.
onAccountSelected
(
account
.
serverUrl
)
}
holder
.
itemView
.
setOnClickListener
{
selector
.
onServerSelected
(
account
.
serverUrl
)
}
}
private
fun
bindAddAccountViewHolder
(
holder
:
AddAccountViewHolder
)
{
holder
.
itemView
.
setOnClickListener
{
selector
.
onAddedAccountSelected
()
}
private
fun
bindAddNewServerViewHolder
(
holder
:
AddNewServerViewHolder
)
{
holder
.
itemView
.
setOnClickListener
{
selector
.
onAddNewServerSelected
()
}
}
}
interface
Selector
{
fun
onStatusSelected
(
userStatus
:
UserStatus
)
fun
onAccountSelected
(
serverUrl
:
String
)
fun
onAddedAccountSelected
()
fun
onServerSelected
(
serverUrl
:
String
)
fun
onAddNewServerSelected
()
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/servers/di/ServersBottomSheetFragmentModule.kt
0 → 100644
View file @
e463622d
package
chat.rocket.android.servers.di
import
chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.servers.presentation.ServersView
import
chat.rocket.android.servers.ui.ServersBottomSheetFragment
import
dagger.Module
import
dagger.Provides
@Module
class
ServersBottomSheetFragmentModule
{
@Provides
@PerFragment
fun
membersView
(
frag
:
ServersBottomSheetFragment
):
ServersView
=
frag
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/servers/di/ServersBottomSheetFragmentProvider.kt
0 → 100644
View file @
e463622d
package
chat.rocket.android.servers.di
import
chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.servers.ui.ServersBottomSheetFragment
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
@Module
abstract
class
ServersBottomSheetFragmentProvider
{
@ContributesAndroidInjector
(
modules
=
[
ServersBottomSheetFragmentModule
::
class
])
@PerFragment
abstract
fun
provideServersBottomSheetFragment
():
ServersBottomSheetFragment
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/servers/presentation/ServersPresenter.kt
0 → 100644
View file @
e463622d
package
chat.rocket.android.servers.presentation
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.main.presentation.MainNavigator
import
chat.rocket.android.server.domain.GetAccountsInteractor
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.common.util.ifNull
import
timber.log.Timber
import
javax.inject.Inject
import
javax.inject.Named
class
ServersPresenter
@Inject
constructor
(
private
val
view
:
ServersView
,
private
val
navigator
:
MainNavigator
,
private
val
strategy
:
CancelStrategy
,
private
val
getAccountsInteractor
:
GetAccountsInteractor
,
@Named
(
"currentServer"
)
private
val
currentServerUrl
:
String
)
{
fun
getAllServers
()
{
launchUI
(
strategy
)
{
try
{
view
.
showServerList
(
getAccountsInteractor
.
get
(),
currentServerUrl
)
}
catch
(
exception
:
Exception
)
{
Timber
.
e
(
exception
,
"Error loading servers"
)
exception
.
message
?.
let
{
view
.
showMessage
(
it
)
}.
ifNull
{
view
.
showGenericErrorMessage
()
}
}
}
}
fun
changeServer
(
serverUrl
:
String
)
{
if
(
currentServerUrl
!=
serverUrl
)
{
navigator
.
switchOrAddNewServer
(
serverUrl
)
}
else
{
view
.
hideServerView
()
}
}
fun
addNewServer
()
{
view
.
hideServerView
()
navigator
.
toServerScreen
()
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/servers/presentation/ServersView.kt
0 → 100644
View file @
e463622d
package
chat.rocket.android.servers.presentation
import
chat.rocket.android.core.behaviours.MessageView
import
chat.rocket.android.server.domain.model.Account
interface
ServersView
:
MessageView
{
/**
* Shows the server list.
*
* @param serverList The list of server to show.
* @param currentServerUrl The current logged in server url.
*/
fun
showServerList
(
serverList
:
List
<
Account
>,
currentServerUrl
:
String
)
/**
* Hides the servers view.
*/
fun
hideServerView
()
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/servers/ui/ServersBottomSheetFragment.kt
0 → 100644
View file @
e463622d
package
chat.rocket.android.servers.ui
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.recyclerview.widget.LinearLayoutManager
import
chat.rocket.android.R
import
chat.rocket.android.server.domain.model.Account
import
chat.rocket.android.servers.adapter.Selector
import
chat.rocket.android.servers.adapter.ServersAdapter
import
chat.rocket.android.servers.presentation.ServersPresenter
import
chat.rocket.android.servers.presentation.ServersView
import
chat.rocket.android.util.extensions.showToast
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
import
dagger.android.support.AndroidSupportInjection
import
kotlinx.android.synthetic.main.bottom_sheet_fragment_servers.*
import
javax.inject.Inject
const
val
TAG
=
"ServersBottomSheetFragment"
class
ServersBottomSheetFragment
:
BottomSheetDialogFragment
(),
ServersView
{
@Inject
lateinit
var
presenter
:
ServersPresenter
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
AndroidSupportInjection
.
inject
(
this
)
}
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
=
inflater
.
inflate
(
R
.
layout
.
bottom_sheet_fragment_servers
,
container
,
false
)
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
presenter
.
getAllServers
()
}
override
fun
showServerList
(
serverList
:
List
<
Account
>,
currentServerUrl
:
String
)
{
recycler_view
.
layoutManager
=
LinearLayoutManager
(
context
)
recycler_view
.
adapter
=
ServersAdapter
(
serverList
,
currentServerUrl
,
object
:
Selector
{
override
fun
onServerSelected
(
serverUrl
:
String
)
{
presenter
.
changeServer
(
serverUrl
)
}
override
fun
onAddNewServerSelected
()
{
presenter
.
addNewServer
()
}
})
}
override
fun
hideServerView
()
=
dismiss
()
override
fun
showMessage
(
resId
:
Int
)
{
showToast
(
resId
)
}
override
fun
showMessage
(
message
:
String
)
{
showToast
(
message
)
}
override
fun
showGenericErrorMessage
()
=
showMessage
(
getString
(
R
.
string
.
msg_generic_error
))
}
\ No newline at end of file
app/src/main/res/drawable/ic_add_new_server_48dp.xml
0 → 100644
View file @
e463622d
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"48dp"
android:height=
"48dp"
android:viewportWidth=
"48"
android:viewportHeight=
"48"
>
<path
android:fillColor=
"#00000000"
android:fillType=
"evenOdd"
android:pathData=
"M4.5,0.5L43.5,0.5A4,4 0,0 1,47.5 4.5L47.5,43.5A4,4 0,0 1,43.5 47.5L4.5,47.5A4,4 0,0 1,0.5 43.5L0.5,4.5A4,4 0,0 1,4.5 0.5z"
android:strokeWidth=
"1"
android:strokeColor=
"#CBCED1"
/>
<path
android:fillColor=
"#00000000"
android:fillType=
"evenOdd"
android:pathData=
"M33.0625,23.5625L24.4375,23.5625L24.4375,14.9375C24.4375,14.6959 24.2416,14.5 24,14.5C23.7584,14.5 23.5625,14.6959 23.5625,14.9375L23.5625,23.5625L14.9375,23.5625C14.6959,23.5625 14.5,23.7584 14.5,24C14.5,24.2416 14.6959,24.4375 14.9375,24.4375L23.5625,24.4375L23.5625,33.0625C23.5625,33.3041 23.7584,33.5 24,33.5C24.2416,33.5 24.4375,33.3041 24.4375,33.0625L24.4375,24.4375L33.0625,24.4375C33.3041,24.4375 33.5,24.2416 33.5,24C33.5,23.7584 33.3041,23.5625 33.0625,23.5625Z"
android:strokeWidth=
"1"
android:strokeColor=
"#9EA2A8"
/>
</vector>
app/src/main/res/layout/bottom_sheet_fragment_servers.xml
0 → 100644
View file @
e463622d
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
tools:context=
".servers.ui.ServersBottomSheetFragment"
>
<TextView
android:id=
"@+id/text_server"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"16dp"
android:layout_marginEnd=
"16dp"
android:text=
"@string/msg_server"
android:textColor=
"#9EA2A8"
android:textSize=
"17sp"
android:textStyle=
"normal"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<View
android:id=
"@+id/view_divider"
android:layout_width=
"match_parent"
android:layout_height=
"1dp"
android:layout_marginTop=
"16dp"
android:background=
"#1F000000"
app:layout_constraintTop_toBottomOf=
"@+id/text_server"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycler_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"16dp"
app:layout_constraintTop_toBottomOf=
"@+id/view_divider"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_add_
account
.xml
→
app/src/main/res/layout/item_add_
new_server
.xml
View file @
e463622d
<?xml version="1.0" encoding="utf-8"?>
<
androidx.constraintlayout.widget.Constraint
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
Linear
Layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"?selectableItemBackground"
android:orientation=
"vertical"
android:padding=
"16dp"
>
<ImageView
android:id=
"@+id/server_logo"
android:layout_width=
"40dp"
android:layout_height=
"40dp"
android:src=
"@drawable/ic_add_24dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:layout_width=
"0dp"
android:id=
"@+id/text_add_new_server"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"8dp"
android:text=
"@string/action_add_account"
android:textAppearance=
"@style/TextAppearance.AppCompat.Body2"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/server_logo"
app:layout_constraintTop_toTopOf=
"parent"
/>
android:drawableStart=
"@drawable/ic_add_new_server_48dp"
android:drawablePadding=
"12dp"
android:fontFamily=
"sans-serif"
android:gravity=
"center"
android:text=
"@string/msg_add_new_server"
android:textColor=
"#9ea2a8"
android:textSize=
"16sp"
android:textStyle=
"bold"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/recycler_view"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/item_
account
.xml
→
app/src/main/res/layout/item_
server
.xml
View file @
e463622d
...
...
@@ -4,43 +4,58 @@
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:
paddingEnd=
"16dp
"
android:
background=
"?selectableItemBackground
"
android:paddingStart=
"16dp"
android:paddingTop=
"16dp"
android:
background=
"?selectableItemBackground
"
>
android:
paddingEnd=
"16dp
"
>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/server_logo"
android:layout_width=
"40dp"
android:layout_height=
"40dp"
app:actualImageScaleType=
"centerInside"
app:layout_constraintBottom_toBottomOf=
"parent"
<ImageView
android:id=
"@+id/image_server"
android:layout_width=
"48dp"
android:layout_height=
"48dp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
tools:src=
"@tools:sample/avatars"
/>
<TextView
android:id=
"@+id/text_server_
url
"
android:layout_width=
"
0dp
"
android:id=
"@+id/text_server_
name
"
android:layout_width=
"
wrap_content
"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"8dp"
android:ellipsize=
"end"
android:layout_marginStart=
"12dp"
android:layout_marginEnd=
"12dp"
android:fontFamily=
"sans-serif-medium"
android:maxLines=
"1"
android:textStyle=
"bold"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/server_logo"
app:layout_constraintTop_toTopOf=
"@id/server_logo"
tools:text=
"https://open.rocket.chat"
/>
android:textColor=
"#DE000000"
android:textSize=
"16sp"
android:textStyle=
"normal"
app:layout_constraintStart_toEndOf=
"@+id/image_server"
app:layout_constraintTop_toTopOf=
"@+id/image_server"
tools:text=
"Hyper Ledger"
/>
<TextView
android:id=
"@+id/text_
username
"
android:layout_width=
"
0dp
"
android:id=
"@+id/text_
server_url
"
android:layout_width=
"
wrap_content
"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"8dp"
android:ellipsize=
"end"
android:layout_marginStart=
"12dp"
android:layout_marginEnd=
"12dp"
android:fontFamily=
"sans-serif"
android:maxLines=
"1"
app:layout_constraintBottom_toBottomOf=
"@id/server_logo"
android:textColor=
"#99000000"
android:textSize=
"14sp"
android:textStyle=
"normal"
app:layout_constraintStart_toEndOf=
"@+id/image_server"
app:layout_constraintTop_toBottomOf=
"@+id/text_server_name"
tools:text=
"chat.hyperledger.org"
/>
<ImageView
android:id=
"@+id/image_check"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_check"
android:visibility=
"invisible"
app:layout_constraintBottom_toBottomOf=
"@+id/image_server"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraint
Start_toEndOf=
"@id/server_logo
"
tools:
text=
"Lucio Maciel
"
/>
app:layout_constraint
Top_toTopOf=
"@+id/image_server
"
tools:
visibility=
"visible
"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/nav_header.xml
deleted
100644 → 0
View file @
8dc117d8
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
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:layout_width=
"match_parent"
android:layout_height=
"@dimen/nav_header_height"
>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/server_logo"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:foreground=
"@drawable/black_gradient"
app:actualImageScaleType=
"centerCrop"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
tools:src=
"@tools:sample/backgrounds/scenic"
/>
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/image_avatar"
android:layout_width=
"60dp"
android:layout_height=
"60dp"
android:background=
"@drawable/bg_empty_user_avatar"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"16dp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:roundedCornerRadius=
"3dp"
tools:src=
"@tools:sample/avatars"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/account_container"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"16dp"
android:background=
"?selectableItemBackground"
android:elevation=
"2dp"
android:paddingStart=
"12dp"
android:paddingTop=
"4dp"
android:paddingEnd=
"12dp"
android:paddingBottom=
"4dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/image_avatar"
>
<ImageView
android:id=
"@+id/image_user_status"
android:layout_width=
"12dp"
android:layout_height=
"12dp"
app:layout_constraintBottom_toTopOf=
"@+id/text_user_name"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/text_user_name"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/text_user_name"
style=
"@style/Sender.Name.TextView"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"10dp"
android:layout_marginEnd=
"10dp"
android:textColor=
"@color/colorWhite"
app:layout_constraintBottom_toBottomOf=
"@+id/image_user_status"
app:layout_constraintEnd_toStartOf=
"@+id/image_account_expand"
app:layout_constraintStart_toEndOf=
"@+id/image_user_status"
app:layout_constraintTop_toTopOf=
"@+id/image_user_status"
tools:text=
"Lucio Maciel"
/>
<TextView
android:id=
"@+id/text_server_url"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"10dp"
android:ellipsize=
"end"
android:maxLines=
"1"
android:textAppearance=
"@style/TextAppearance.AppCompat.Small"
android:textColor=
"@color/colorWhite"
app:layout_constraintEnd_toStartOf=
"@+id/image_account_expand"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/text_user_name"
tools:text=
"https://open.rocket.chat"
/>
<ImageView
android:id=
"@+id/image_account_expand"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_expand_more_black_24dp"
android:tint=
"@color/colorWhite"
app:layout_constraintBottom_toBottomOf=
"@+id/text_server_url"
app:layout_constraintEnd_toEndOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/values-ar/strings.xml
View file @
e463622d
...
...
@@ -45,7 +45,6 @@
<string
name=
"action_attach_a_files"
>
إضافة ملف
</string>
<string
name=
"action_confirm_password"
>
تأكيد تغيير كلمة السر
</string>
<string
name=
"action_join_chat"
>
إنضم للمحادثة
</string>
<string
name=
"action_add_account"
>
إضافة حساب
</string>
<string
name=
"action_online"
>
متصل
</string>
<string
name=
"action_away"
>
بعيد
</string>
<string
name=
"action_busy"
>
مشغول
</string>
...
...
@@ -183,6 +182,8 @@
<item
quantity=
"two"
>
%1$s reacted with %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Credentials saved successfully
</string>
<!-- TODO Translate -->
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
خاص
</string>
...
...
app/src/main/res/values-de/strings.xml
View file @
e463622d
...
...
@@ -47,7 +47,6 @@
<string
name=
"action_attach_a_files"
>
Eine Datei anhängen
</string>
<string
name=
"action_confirm_password"
>
Bestätige Passwort Änderung
</string>
<string
name=
"action_join_chat"
>
Trete Chat bei
</string>
<string
name=
"action_add_account"
>
Erstelle Account
</string>
<string
name=
"action_online"
>
Online
</string>
<string
name=
"action_away"
>
Abwesend
</string>
<string
name=
"action_busy"
>
Beschäftigt
</string>
...
...
@@ -179,7 +178,8 @@
<item
quantity=
"other"
>
%1$s reagierte mit %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Login-Daten erfolgreich gespeichert
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Privat
</string>
...
...
app/src/main/res/values-es/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Attach a file
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm_password"
>
Confirmar cambio de contraseña
</string>
<string
name=
"action_join_chat"
>
Unirse al chat
</string>
<string
name=
"action_add_account"
>
Añadir cuenta
</string>
<string
name=
"action_online"
>
Conectado(s)
</string>
<string
name=
"action_away"
>
Ausente
</string>
<string
name=
"action_busy"
>
Ocupado
</string>
...
...
@@ -163,6 +162,8 @@
<string
name=
"msg_continue_with_wordpress"
>
Continue with
<b>
WordPress
</b></string>
<!-- TODO Add translation -->
<string
name=
"msg_two_factor_authentication"
>
Two-factor Authentication
</string>
<!-- TODO Add translation -->
<string
name=
"msg__your_2fa_code"
>
What’s your 2FA code?
</string>
<!-- TODO Add translation -->
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Privado
</string>
...
...
app/src/main/res/values-fa/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
ضمیمه کردن پرونده
</string>
<string
name=
"action_confirm_password"
>
موافقت با تغییر گذرواژه
</string>
<string
name=
"action_join_chat"
>
به گفتوگو بپیوندید
</string>
<string
name=
"action_add_account"
>
اضافه کردن حساب کاربری
</string>
<string
name=
"action_online"
>
آنلاین
</string>
<string
name=
"action_away"
>
Away
</string>
<!-- TODO Add translation -->
<string
name=
"action_busy"
>
مشغول
</string>
...
...
@@ -178,6 +177,8 @@
<item
quantity=
"other"
>
%1$s reacted with %2$s
</item>
</plurals>
<!-- TODO Add translation -->
<string
name=
"msg_credentials_saved_successfully"
>
اختیارها با موفقیت ذخیره شد
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
خصوصی
</string>
...
...
app/src/main/res/values-fr/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Joindre un fichier
</string>
<string
name=
"action_confirm_password"
>
Confirmer le mot de passe
</string>
<string
name=
"action_join_chat"
>
Rejoignez le chat
</string>
<string
name=
"action_add_account"
>
Ajouter un compte
</string>
<string
name=
"action_online"
>
En ligne
</string>
<string
name=
"action_away"
>
Loin
</string>
<string
name=
"action_busy"
>
Occupé
</string>
...
...
@@ -182,6 +181,8 @@
<item
quantity=
"other"
>
%1$s a réagi avec %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Certificats sauvegardés
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Privé
</string>
...
...
app/src/main/res/values-hi-rIN/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
एक फ़ाइल जोडो
</string>
<string
name=
"action_confirm_password"
>
पासवर्ड परिवर्तन की पुष्टि करें
</string>
<string
name=
"action_join_chat"
>
चैट में शामिल हों
</string>
<string
name=
"action_add_account"
>
खाता जोड़ो
</string>
<string
name=
"action_online"
>
ऑनलाइन
</string>
<string
name=
"action_away"
>
दूर
</string>
<string
name=
"action_busy"
>
व्यस्त
</string>
...
...
@@ -197,6 +196,8 @@
<item
quantity=
"many"
>
%1$s ने %2$s के साथ प्रतिक्रिया व्यक्त की
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
प्रमाण पत्र सफलतापूर्वक सहेजे गए
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Preferences messages -->
<string
name=
"msg_analytics_tracking"
>
एनालिटिक्स ट्रैकिंग
</string>
...
...
app/src/main/res/values-it/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Ceangail comhad
</string>
<string
name=
"action_confirm_password"
>
Conferma Cambio Password
</string>
<string
name=
"action_join_chat"
>
Iscriviti alla stanza
</string>
<string
name=
"action_add_account"
>
Aggiungi utente
</string>
<string
name=
"action_online"
>
In linea
</string>
<string
name=
"action_away"
>
Lontano
</string>
<string
name=
"action_busy"
>
Occupato
</string>
...
...
@@ -175,6 +174,8 @@
<item
quantity=
"other"
>
%1$s ha reagito con %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Credenziali salvate con successo
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Privato
</string>
...
...
app/src/main/res/values-ja/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Attach a file
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm_password"
>
変更したパスワードの確認
</string>
<string
name=
"action_join_chat"
>
チャットに参加
</string>
<string
name=
"action_add_account"
>
サーバーの追加
</string>
<string
name=
"action_online"
>
オンライン
</string>
<string
name=
"action_away"
>
離席中
</string>
<string
name=
"action_busy"
>
取り込み中
</string>
...
...
@@ -178,6 +177,8 @@
<item
quantity=
"other"
>
%1$s reacted with %2$s
</item>
<!-- TODO - Add proper translation -->
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
資格情報を正常に保存しました
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
プライベート
</string>
...
...
app/src/main/res/values-pt-rBR/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Anexar um arquivo
</string>
<string
name=
"action_confirm_password"
>
Confirme a nova senha
</string>
<string
name=
"action_join_chat"
>
Entrar no Chat
</string>
<string
name=
"action_add_account"
>
Adicionar conta
</string>
<string
name=
"action_online"
>
Online
</string>
<string
name=
"action_away"
>
Ausente
</string>
<string
name=
"action_busy"
>
Ocupado
</string>
...
...
@@ -178,12 +177,13 @@
<string
name=
"msg_no_description"
>
Nenhuma descrição
</string>
<string
name=
"msg_unable_to_update_password"
>
Não foi possível atualizar a senha. Mensagem de erro: %1$s
</string>
<string
name=
"msg_password_updated_successfully"
>
Senha alterada com sucesso
</string>
<string
name=
"msg_sort"
>
Ordenar
</string>
<plurals
name=
"msg_reacted_with_"
>
<item
quantity=
"one"
>
%1$s reagiu com %2$s
</item>
<item
quantity=
"other"
>
%1$s reagiram com %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Credenciais salvas com sucesso
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Privado
</string>
...
...
app/src/main/res/values-pt-rPT/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Enviar um ficheiro
</string>
<string
name=
"action_confirm_password"
>
Confirme a alteração da palavra-passe
</string>
<string
name=
"action_join_chat"
>
Entre no chat
</string>
<string
name=
"action_add_account"
>
Adicionar conta
</string>
<string
name=
"action_online"
>
Online
</string>
<string
name=
"action_away"
>
Ausente
</string>
<string
name=
"action_busy"
>
Ocupado
</string>
...
...
@@ -174,6 +173,8 @@
<item
quantity=
"one"
>
%1$s reagiu com %2$s
</item>
<item
quantity=
"other"
>
%1$s reagiram com %2$s
</item>
</plurals>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Privado
</string>
...
...
app/src/main/res/values-ru-rRU/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Прикрепить файл
</string>
<string
name=
"action_confirm_password"
>
Подтверждение изменения пароля
</string>
<string
name=
"action_join_chat"
>
Присоединиться к чату
</string>
<string
name=
"action_add_account"
>
Добавить аккаунт
</string>
<string
name=
"action_online"
>
Онлайн
</string>
<string
name=
"action_away"
>
Отошел
</string>
<string
name=
"action_busy"
>
Занят
</string>
...
...
@@ -181,6 +180,8 @@
<item
quantity=
"many"
>
%1$s реагируют с %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Учетные данные успешно сохранены
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Приватный
</string>
...
...
app/src/main/res/values-tr/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Attach a file
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm_password"
>
Şifre Değişikliğini Onaylayın
</string>
<string
name=
"action_join_chat"
>
Sohbete Bağlan
</string>
<string
name=
"action_add_account"
>
Hesap Ekle
</string>
<string
name=
"action_online"
>
Çevrimiçi
</string>
<string
name=
"action_away"
>
Uzakta
</string>
<string
name=
"action_busy"
>
Meşgul
</string>
...
...
@@ -196,6 +195,8 @@
<item
quantity=
"other"
>
%1$s reacted with %2$s
</item>
<!-- TODO - Add proper translation -->
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Kimlik bilgileri başarıyla kaydedildi
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Preferences messages -->
<string
name=
"msg_analytics_tracking"
>
İstatistik takibi
</string>
...
...
app/src/main/res/values-uk/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
Attach a file
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm_password"
>
Підтвердження зміни пароля
</string>
<string
name=
"action_join_chat"
>
Приєднатися до чату
</string>
<string
name=
"action_add_account"
>
Додати аккаунт
</string>
<string
name=
"action_online"
>
Онлайн
</string>
<string
name=
"action_away"
>
Відійшов
</string>
<string
name=
"action_busy"
>
Зайнятий
</string>
...
...
@@ -180,6 +179,8 @@
<item
quantity=
"many"
>
%1$s reacted with %2$s
</item>
<!-- TODO - Add proper translation -->
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Облікові дані було успішно збережено
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Приватний
</string>
...
...
app/src/main/res/values-zh-rCN/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
添加附件
</string>
<string
name=
"action_confirm_password"
>
确认修改密码
</string>
<string
name=
"action_join_chat"
>
加入聊天
</string>
<string
name=
"action_add_account"
>
添加账户
</string>
<string
name=
"action_online"
>
在线
</string>
<string
name=
"action_away"
>
离开
</string>
<string
name=
"action_busy"
>
忙碌
</string>
...
...
@@ -175,6 +174,8 @@
<item
quantity=
"other"
>
%1$s 使用了 %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
凭证成功保存
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
隐私
</string>
...
...
app/src/main/res/values-zh-rTW/strings.xml
View file @
e463622d
...
...
@@ -44,7 +44,6 @@
<string
name=
"action_attach_a_files"
>
添加檔案
</string>
<string
name=
"action_confirm_password"
>
確認修改密碼
</string>
<string
name=
"action_join_chat"
>
加入聊天
</string>
<string
name=
"action_add_account"
>
新增帳戶
</string>
<string
name=
"action_online"
>
線上
</string>
<string
name=
"action_away"
>
離線
</string>
<string
name=
"action_busy"
>
忙碌
</string>
...
...
@@ -175,6 +174,8 @@
<item
quantity=
"other"
>
%1$s 使用了 %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
憑證保存成功
</string>
<string
name=
"msg_server"
>
Server
</string>
<!-- TODO Translate -->
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- TODO Translate -->
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
隱私
</string>
...
...
app/src/main/res/values/strings.xml
View file @
e463622d
...
...
@@ -56,7 +56,6 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"action_attach_a_files"
>
Attach a file
</string>
<string
name=
"action_confirm_password"
>
Confirm Password Change
</string>
<string
name=
"action_join_chat"
>
Join Chat
</string>
<string
name=
"action_add_account"
>
Add account
</string>
<string
name=
"action_online"
>
Online
</string>
<string
name=
"action_away"
>
Away
</string>
<string
name=
"action_busy"
>
Busy
</string>
...
...
@@ -191,6 +190,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<item
quantity=
"other"
>
%1$s reacted with %2$s
</item>
</plurals>
<string
name=
"msg_credentials_saved_successfully"
>
Credentials saved successfully
</string>
<string
name=
"msg_server"
>
Server
</string>
<string
name=
"msg_add_new_server"
>
Add New Server
</string>
<!-- Create channel messages -->
<string
name=
"msg_private_channel"
>
Private
</string>
...
...
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