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
5455af45
Commit
5455af45
authored
Apr 06, 2019
by
Filipe de Lima Brito
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Shows settings view
parent
6304bd95
Changes
63
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
63 changed files
with
874 additions
and
761 deletions
+874
-761
AboutFragmentProvider.kt
...ava/chat/rocket/android/about/di/AboutFragmentProvider.kt
+0
-12
AboutFragment.kt
...c/main/java/chat/rocket/android/about/ui/AboutFragment.kt
+0
-66
RocketChatApplication.kt
...ain/java/chat/rocket/android/app/RocketChatApplication.kt
+1
-1
LoginPresenter.kt
...droid/authentication/login/presentation/LoginPresenter.kt
+1
-1
LoginOptionsPresenter.kt
...cation/loginoptions/presentation/LoginOptionsPresenter.kt
+1
-1
RegisterUsernamePresenter.kt
...egisterusername/presentation/RegisterUsernamePresenter.kt
+1
-1
ResetPasswordPresenter.kt
...tion/resetpassword/presentation/ResetPasswordPresenter.kt
+1
-1
SignupPresenter.kt
...oid/authentication/signup/presentation/SignupPresenter.kt
+1
-1
TwoFAPresenter.kt
...d/authentication/twofactor/presentation/TwoFAPresenter.kt
+1
-1
ChatRoomsFragmentModule.kt
...at/rocket/android/chatrooms/di/ChatRoomsFragmentModule.kt
+1
-2
CreateChannelPresenter.kt
...roid/createchannel/presentation/CreateChannelPresenter.kt
+1
-1
CreateChannelFragment.kt
.../rocket/android/createchannel/ui/CreateChannelFragment.kt
+6
-11
ActivityBuilder.kt
...java/chat/rocket/android/dagger/module/ActivityBuilder.kt
+0
-4
FavoriteMessagesPresenter.kt
...avoritemessages/presentation/FavoriteMessagesPresenter.kt
+1
-2
FilesPresenter.kt
.../chat/rocket/android/files/presentation/FilesPresenter.kt
+1
-2
UserHelper.kt
app/src/main/java/chat/rocket/android/helper/UserHelper.kt
+18
-0
MainNavigator.kt
...va/chat/rocket/android/main/presentation/MainNavigator.kt
+13
-12
MembersPresenter.kt
...t/rocket/android/members/presentation/MembersPresenter.kt
+1
-1
MentionsPresenter.kt
...ocket/android/mentions/presentention/MentionsPresenter.kt
+1
-1
PinnedMessagesPresenter.kt
...id/pinnedmessages/presentation/PinnedMessagesPresenter.kt
+1
-2
PreferencesFragmentModule.kt
...ocket/android/preferences/di/PreferencesFragmentModule.kt
+0
-17
PreferencesFragmentProvider.kt
...ket/android/preferences/di/PreferencesFragmentProvider.kt
+0
-14
PreferencesPresenter.kt
.../android/preferences/presentation/PreferencesPresenter.kt
+0
-22
PreferencesView.kt
...ocket/android/preferences/presentation/PreferencesView.kt
+0
-11
PreferencesFragment.kt
...chat/rocket/android/preferences/ui/PreferencesFragment.kt
+0
-96
ProfilePresenter.kt
...t/rocket/android/profile/presentation/ProfilePresenter.kt
+1
-24
ProfileFragment.kt
...in/java/chat/rocket/android/profile/ui/ProfileFragment.kt
+13
-36
PermissionsInteractor.kt
...hat/rocket/android/server/domain/PermissionsInteractor.kt
+1
-1
RefreshPermissionsInteractor.kt
...ket/android/server/domain/RefreshPermissionsInteractor.kt
+1
-1
RefreshSettingsInteractor.kt
...rocket/android/server/domain/RefreshSettingsInteractor.kt
+1
-1
ConnectionManagerFactory.kt
...ndroid/server/infraestructure/ConnectionManagerFactory.kt
+1
-2
RocketChatClientFactory.kt
...android/server/infraestructure/RocketChatClientFactory.kt
+1
-1
CheckServerPresenter.kt
...ocket/android/server/presentation/CheckServerPresenter.kt
+1
-1
SettingsFragmentModule.kt
...chat/rocket/android/settings/di/SettingsFragmentModule.kt
+2
-10
SettingsFragmentProvider.kt
...at/rocket/android/settings/di/SettingsFragmentProvider.kt
+2
-0
PasswordPresenter.kt
...droid/settings/password/presentation/PasswordPresenter.kt
+1
-2
SettingsPresenter.kt
...rocket/android/settings/presentation/SettingsPresenter.kt
+128
-0
SettingsView.kt
...chat/rocket/android/settings/presentation/SettingsView.kt
+27
-1
SettingsFragment.kt
.../java/chat/rocket/android/settings/ui/SettingsFragment.kt
+105
-61
RocketChatClient.kt
...a/chat/rocket/android/util/extensions/RocketChatClient.kt
+1
-1
AdminPanelWebViewFragment.kt
...ndroid/webview/adminpanel/ui/AdminPanelWebViewFragment.kt
+11
-11
dialog_delete_account.xml
app/src/main/res/layout/dialog_delete_account.xml
+0
-0
fragment_about.xml
app/src/main/res/layout/fragment_about.xml
+0
-62
fragment_profile.xml
app/src/main/res/layout/fragment_profile.xml
+7
-1
fragment_settings.xml
app/src/main/res/layout/fragment_settings.xml
+324
-6
profile.xml
app/src/main/res/menu/profile.xml
+0
-10
strings.xml
app/src/main/res/values-ar/strings.xml
+12
-14
strings.xml
app/src/main/res/values-de/strings.xml
+15
-22
strings.xml
app/src/main/res/values-es/strings.xml
+12
-14
strings.xml
app/src/main/res/values-fa/strings.xml
+12
-14
strings.xml
app/src/main/res/values-fr/strings.xml
+12
-14
strings.xml
app/src/main/res/values-hi-rIN/strings.xml
+12
-14
strings.xml
app/src/main/res/values-it/strings.xml
+12
-14
strings.xml
app/src/main/res/values-ja/strings.xml
+12
-14
strings.xml
app/src/main/res/values-pt-rBR/strings.xml
+12
-14
strings.xml
app/src/main/res/values-pt-rPT/strings.xml
+12
-14
strings.xml
app/src/main/res/values-ru-rRU/strings.xml
+12
-14
strings.xml
app/src/main/res/values-tr/strings.xml
+12
-14
strings.xml
app/src/main/res/values-uk/strings.xml
+12
-14
strings.xml
app/src/main/res/values-zh-rCN/strings.xml
+12
-14
strings.xml
app/src/main/res/values-zh-rTW/strings.xml
+12
-14
ids.xml
app/src/main/res/values/ids.xml
+0
-14
strings.xml
app/src/main/res/values/strings.xml
+12
-14
No files found.
app/src/main/java/chat/rocket/android/about/di/AboutFragmentProvider.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.about.di
import
chat.rocket.android.about.ui.AboutFragment
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
@Module
abstract
class
AboutFragmentProvider
{
@ContributesAndroidInjector
()
abstract
fun
provideAboutFragment
():
AboutFragment
}
app/src/main/java/chat/rocket/android/about/ui/AboutFragment.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.about.ui
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
chat.rocket.android.BuildConfig
import
chat.rocket.android.R
import
chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.main.ui.MainActivity
import
dagger.android.support.AndroidSupportInjection
import
kotlinx.android.synthetic.main.app_bar.*
import
kotlinx.android.synthetic.main.fragment_about.*
import
javax.inject.Inject
internal
const
val
TAG_ABOUT_FRAGMENT
=
"AboutFragment"
class
AboutFragment
:
Fragment
()
{
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
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
.
fragment_about
,
container
,
false
)
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
setupViews
()
analyticsManager
.
logScreenView
(
ScreenViewEvent
.
About
)
}
override
fun
onResume
()
{
super
.
onResume
()
setupToolbar
()
}
private
fun
setupViews
()
{
text_version_name
.
text
=
BuildConfig
.
VERSION_NAME
text_build_number
.
text
=
getString
(
R
.
string
.
msg_build
,
BuildConfig
.
VERSION_CODE
,
BuildConfig
.
GIT_SHA
,
BuildConfig
.
FLAVOR
)
}
private
fun
setupToolbar
()
{
with
((
activity
as
MainActivity
).
toolbar
)
{
title
=
getString
(
R
.
string
.
title_about
)
setNavigationIcon
(
R
.
drawable
.
ic_arrow_back_white_24dp
)
setNavigationOnClickListener
{
activity
?.
onBackPressed
()
}
}
}
companion
object
{
fun
newInstance
()
=
AboutFragment
()
}
}
app/src/main/java/chat/rocket/android/app/RocketChatApplication.kt
View file @
5455af45
...
...
@@ -176,7 +176,7 @@ class RocketChatApplication : Application(), HasActivityInjector, HasServiceInje
val
currentServer
=
getCurrentServerInteractor
.
get
()
currentServer
?.
let
{
server
->
GlobalScope
.
launch
{
val
client
=
factory
.
create
(
server
)
val
client
=
factory
.
get
(
server
)
EmojiRepository
.
setCurrentServerUrl
(
server
)
val
customEmojiList
=
mutableListOf
<
Emoji
>()
try
{
...
...
app/src/main/java/chat/rocket/android/authentication/login/presentation/LoginPresenter.kt
View file @
5455af45
...
...
@@ -60,7 +60,7 @@ class LoginPresenter @Inject constructor(
private
fun
setupConnectionInfo
(
serverUrl
:
String
)
{
currentServer
=
serverUrl
client
=
factory
.
create
(
currentServer
)
client
=
factory
.
get
(
currentServer
)
settings
=
settingsInteractor
.
get
(
currentServer
)
}
...
...
app/src/main/java/chat/rocket/android/authentication/loginoptions/presentation/LoginOptionsPresenter.kt
View file @
5455af45
...
...
@@ -169,7 +169,7 @@ class LoginOptionsPresenter @Inject constructor(
private
fun
setupConnectionInfo
(
serverUrl
:
String
)
{
currentServer
=
serverUrl
client
=
factory
.
create
(
currentServer
)
client
=
factory
.
get
(
currentServer
)
settings
=
settingsInteractor
.
get
(
currentServer
)
}
...
...
app/src/main/java/chat/rocket/android/authentication/registerusername/presentation/RegisterUsernamePresenter.kt
View file @
5455af45
...
...
@@ -38,7 +38,7 @@ class RegisterUsernamePresenter @Inject constructor(
val
settingsInteractor
:
GetSettingsInteractor
)
{
private
val
currentServer
=
serverInteractor
.
get
()
!!
private
val
client
:
RocketChatClient
=
factory
.
create
(
currentServer
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
currentServer
)
private
var
settings
:
PublicSettings
=
settingsInteractor
.
get
(
serverInteractor
.
get
()
!!
)
fun
registerUsername
(
username
:
String
,
userId
:
String
,
authToken
:
String
)
{
...
...
app/src/main/java/chat/rocket/android/authentication/resetpassword/presentation/ResetPasswordPresenter.kt
View file @
5455af45
...
...
@@ -21,7 +21,7 @@ class ResetPasswordPresenter @Inject constructor(
serverInteractor
:
GetConnectingServerInteractor
)
{
private
val
currentServer
=
serverInteractor
.
get
()
!!
private
val
client
:
RocketChatClient
=
factory
.
create
(
currentServer
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
currentServer
)
fun
resetPassword
(
email
:
String
)
{
launchUI
(
strategy
)
{
...
...
app/src/main/java/chat/rocket/android/authentication/signup/presentation/SignupPresenter.kt
View file @
5455af45
...
...
@@ -44,7 +44,7 @@ class SignupPresenter @Inject constructor(
private
var
settings
:
PublicSettings
=
settingsInteractor
.
get
(
serverInteractor
.
get
()
!!
)
fun
signup
(
name
:
String
,
username
:
String
,
password
:
String
,
email
:
String
)
{
val
client
=
factory
.
create
(
currentServer
)
val
client
=
factory
.
get
(
currentServer
)
launchUI
(
strategy
)
{
view
.
showLoading
()
try
{
...
...
app/src/main/java/chat/rocket/android/authentication/twofactor/presentation/TwoFAPresenter.kt
View file @
5455af45
...
...
@@ -51,7 +51,7 @@ class TwoFAPresenter @Inject constructor(
twoFactorAuthenticationCode
:
String
)
{
launchUI
(
strategy
)
{
val
client
=
factory
.
create
(
currentServer
)
val
client
=
factory
.
get
(
currentServer
)
view
.
showLoading
()
try
{
// The token is saved via the client TokenProvider
...
...
app/src/main/java/chat/rocket/android/chatrooms/di/ChatRoomsFragmentModule.kt
View file @
5455af45
...
...
@@ -10,7 +10,6 @@ import chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.db.ChatRoomDao
import
chat.rocket.android.db.DatabaseManager
import
chat.rocket.android.db.UserDao
import
chat.rocket.android.infrastructure.LocalRepository
import
chat.rocket.android.server.domain.GetCurrentUserInteractor
import
chat.rocket.android.server.domain.PermissionsInteractor
import
chat.rocket.android.server.domain.PublicSettings
...
...
@@ -45,7 +44,7 @@ class ChatRoomsFragmentModule {
factory
:
RocketChatClientFactory
,
@Named
(
"currentServer"
)
currentServer
:
String
):
RocketChatClient
{
return
factory
.
create
(
currentServer
)
return
factory
.
get
(
currentServer
)
}
@Provides
...
...
app/src/main/java/chat/rocket/android/createchannel/presentation/CreateChannelPresenter.kt
View file @
5455af45
...
...
@@ -22,7 +22,7 @@ class CreateChannelPresenter @Inject constructor(
val
serverInteractor
:
GetCurrentServerInteractor
,
val
factory
:
RocketChatClientFactory
)
{
private
val
client
:
RocketChatClient
=
factory
.
create
(
serverInteractor
.
get
()
!!
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
serverInteractor
.
get
()
!!
)
fun
createChannel
(
roomType
:
RoomType
,
...
...
app/src/main/java/chat/rocket/android/createchannel/ui/CreateChannelFragment.kt
View file @
5455af45
...
...
@@ -18,7 +18,6 @@ import chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.createchannel.presentation.CreateChannelPresenter
import
chat.rocket.android.createchannel.presentation.CreateChannelView
import
chat.rocket.android.main.ui.MainActivity
import
chat.rocket.android.members.adapter.MembersAdapter
import
chat.rocket.android.members.uimodel.MemberUiModel
import
chat.rocket.android.util.extension.asObservable
...
...
@@ -38,11 +37,11 @@ import javax.inject.Inject
internal
const
val
TAG_CREATE_CHANNEL_FRAGMENT
=
"CreateChannelFragment"
fun
newInstance
()
=
CreateChannelFragment
()
class
CreateChannelFragment
:
Fragment
(),
CreateChannelView
,
ActionMode
.
Callback
{
@Inject
lateinit
var
createChannelPresenter
:
CreateChannelPresenter
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
@Inject
lateinit
var
presenter
:
CreateChannelPresenter
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
private
var
actionMode
:
ActionMode
?
=
null
private
val
adapter
:
MembersAdapter
=
MembersAdapter
{
it
.
username
?.
run
{
processSelectedMember
(
this
)
}
...
...
@@ -52,10 +51,6 @@ class CreateChannelFragment : Fragment(), CreateChannelView, ActionMode.Callback
private
var
isChannelReadOnly
:
Boolean
=
false
private
var
memberList
=
arrayListOf
<
String
>()
companion
object
{
fun
newInstance
()
=
CreateChannelFragment
()
}
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
AndroidSupportInjection
.
inject
(
this
)
super
.
onCreate
(
savedInstanceState
)
...
...
@@ -93,7 +88,7 @@ class CreateChannelFragment : Fragment(), CreateChannelView, ActionMode.Callback
override
fun
onActionItemClicked
(
mode
:
ActionMode
,
menuItem
:
MenuItem
):
Boolean
{
return
when
(
menuItem
.
itemId
)
{
R
.
id
.
action_create_channel
->
{
createChannelP
resenter
.
createChannel
(
p
resenter
.
createChannel
(
roomTypeOf
(
channelType
),
text_channel_name
.
text
.
toString
(),
memberList
,
...
...
@@ -242,7 +237,7 @@ class CreateChannelFragment : Fragment(), CreateChannelView, ActionMode.Callback
.
filter
{
t
->
t
.
isNotBlank
()
}
.
subscribe
{
if
(
it
.
length
>=
3
)
{
createChannelP
resenter
.
searchUser
(
it
.
toString
())
p
resenter
.
searchUser
(
it
.
toString
())
}
else
{
view_member_suggestion
.
isVisible
=
false
}
...
...
app/src/main/java/chat/rocket/android/dagger/module/ActivityBuilder.kt
View file @
5455af45
package
chat.rocket.android.dagger.module
import
chat.rocket.android.about.di.AboutFragmentProvider
import
chat.rocket.android.authentication.di.AuthenticationModule
import
chat.rocket.android.authentication.login.di.LoginFragmentProvider
import
chat.rocket.android.authentication.loginoptions.di.LoginOptionsFragmentProvider
...
...
@@ -29,7 +28,6 @@ import chat.rocket.android.main.ui.MainActivity
import
chat.rocket.android.members.di.MembersFragmentProvider
import
chat.rocket.android.mentions.di.MentionsFragmentProvider
import
chat.rocket.android.pinnedmessages.di.PinnedMessagesFragmentProvider
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
...
...
@@ -72,8 +70,6 @@ abstract class ActivityBuilder {
CreateChannelProvider
::
class
,
ProfileFragmentProvider
::
class
,
SettingsFragmentProvider
::
class
,
AboutFragmentProvider
::
class
,
PreferencesFragmentProvider
::
class
,
AdminPanelWebViewFragmentProvider
::
class
]
)
...
...
app/src/main/java/chat/rocket/android/favoritemessages/presentation/FavoriteMessagesPresenter.kt
View file @
5455af45
...
...
@@ -5,7 +5,6 @@ import chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.db.DatabaseManager
import
chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.android.util.retryDB
import
chat.rocket.common.RocketChatException
import
chat.rocket.common.model.roomTypeOf
import
chat.rocket.common.util.ifNull
...
...
@@ -23,7 +22,7 @@ class FavoriteMessagesPresenter @Inject constructor(
private
val
mapper
:
UiModelMapper
,
val
factory
:
RocketChatClientFactory
)
{
private
val
client
:
RocketChatClient
=
factory
.
create
(
currentServer
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
currentServer
)
private
var
offset
:
Int
=
0
/**
...
...
app/src/main/java/chat/rocket/android/files/presentation/FilesPresenter.kt
View file @
5455af45
...
...
@@ -7,7 +7,6 @@ import chat.rocket.android.files.uimodel.FileUiModel
import
chat.rocket.android.files.uimodel.FileUiModelMapper
import
chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.android.util.retryDB
import
chat.rocket.common.RocketChatException
import
chat.rocket.common.model.roomTypeOf
import
chat.rocket.common.util.ifNull
...
...
@@ -25,7 +24,7 @@ class FilesPresenter @Inject constructor(
private
val
mapper
:
FileUiModelMapper
,
val
factory
:
RocketChatClientFactory
)
{
private
val
client
:
RocketChatClient
=
factory
.
create
(
currentServer
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
currentServer
)
private
var
offset
:
Int
=
0
/**
...
...
app/src/main/java/chat/rocket/android/helper/UserHelper.kt
View file @
5455af45
...
...
@@ -24,6 +24,24 @@ class UserHelper @Inject constructor(
*/
fun
username
():
String
?
=
localRepository
.
get
(
LocalRepository
.
CURRENT_USERNAME_KEY
,
null
)
/**
* Return the name for the current logged [User].
*/
fun
name
():
String
?
=
user
()
?.
name
/**
* Return the display name for the given [user].
* If setting 'Use_Real_Name' is true then the real name will be given, otherwise the username
* without the '@' is yielded.
*/
fun
displayName
(
user
:
User
)
=
getCurrentServerInteractor
.
get
()
?.
let
{
if
(
settingsRepository
.
get
(
it
).
useRealName
())
{
user
.
name
}
else
{
user
.
username
}
}
/**
* Return the display name for the given [user].
* If setting 'Use_Real_Name' is true then the real name will be given, otherwise the username
...
...
app/src/main/java/chat/rocket/android/main/presentation/MainNavigator.kt
View file @
5455af45
...
...
@@ -3,19 +3,16 @@ package chat.rocket.android.main.presentation
import
chat.rocket.android.R
import
chat.rocket.android.authentication.ui.newServerIntent
import
chat.rocket.android.chatroom.ui.chatRoomIntent
import
chat.rocket.android.chatrooms.ui.ChatRoomsFragment
import
chat.rocket.android.chatrooms.ui.TAG_CHAT_ROOMS_FRAGMENT
import
chat.rocket.android.createchannel.ui.CreateChannelFragment
import
chat.rocket.android.createchannel.ui.TAG_CREATE_CHANNEL_FRAGMENT
import
chat.rocket.android.main.ui.MainActivity
import
chat.rocket.android.profile.ui.ProfileFragment
import
chat.rocket.android.profile.ui.TAG_PROFILE_FRAGMENT
import
chat.rocket.android.server.ui.changeServerIntent
import
chat.rocket.android.settings.ui.SettingsFragment
import
chat.rocket.android.settings.ui.TAG_SETTINGS_FRAGMENT
import
chat.rocket.android.util.extensions.addFragment
import
chat.rocket.android.util.extensions.addFragmentBackStack
import
chat.rocket.android.webview.adminpanel.ui.AdminPanelWebViewFragment
import
chat.rocket.android.webview.adminpanel.ui.TAG_ADMIN_PANEL_WEB_VIEW_FRAGMENT
import
chat.rocket.android.webview.ui.webViewIntent
class
MainNavigator
(
internal
val
activity
:
MainActivity
)
{
...
...
@@ -27,28 +24,32 @@ class MainNavigator(internal val activity: MainActivity) {
fun
toSettings
()
{
activity
.
addFragmentBackStack
(
TAG_SETTINGS_FRAGMENT
,
R
.
id
.
fragment_container
)
{
SettingsFragment
.
newInstance
()
chat
.
rocket
.
android
.
settings
.
ui
.
newInstance
()
}
}
fun
toCreateChannel
()
{
activity
.
addFragmentBackStack
(
TAG_CREATE_CHANNEL_FRAGMENT
,
R
.
id
.
fragment_container
)
{
CreateChannelFragment
.
newInstance
()
chat
.
rocket
.
android
.
createchannel
.
ui
.
newInstance
()
}
}
fun
to
User
Profile
()
{
activity
.
addFragment
(
TAG_PROFILE_FRAGMENT
,
R
.
id
.
fragment_container
)
{
ProfileFragment
.
newInstance
()
fun
toProfile
()
{
activity
.
addFragment
BackStack
(
TAG_PROFILE_FRAGMENT
,
R
.
id
.
fragment_container
)
{
chat
.
rocket
.
android
.
profile
.
ui
.
newInstance
()
}
}
fun
toAdminPanel
(
webPageUrl
:
String
,
userToken
:
String
)
{
activity
.
addFragment
(
"AdminPanelWebViewFragment"
,
R
.
id
.
fragment_container
)
{
AdminPanelWebViewFragment
.
newInstance
(
webPageUrl
,
userToken
)
activity
.
addFragment
BackStack
(
TAG_ADMIN_PANEL_WEB_VIEW_FRAGMENT
,
R
.
id
.
fragment_container
)
{
chat
.
rocket
.
android
.
webview
.
adminpanel
.
ui
.
newInstance
(
webPageUrl
,
userToken
)
}
}
fun
toLicense
(
licenseUrl
:
String
,
licenseTitle
:
String
)
{
activity
.
startActivity
(
activity
.
webViewIntent
(
licenseUrl
,
licenseTitle
))
}
fun
toChatRoom
(
chatRoomId
:
String
,
chatRoomName
:
String
,
...
...
app/src/main/java/chat/rocket/android/members/presentation/MembersPresenter.kt
View file @
5455af45
...
...
@@ -27,7 +27,7 @@ class MembersPresenter @Inject constructor(
val
factory
:
RocketChatClientFactory
,
private
val
userHelper
:
UserHelper
)
{
private
val
client
:
RocketChatClient
=
factory
.
create
(
currentServer
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
currentServer
)
private
var
offset
:
Long
=
0
/**
...
...
app/src/main/java/chat/rocket/android/mentions/presentention/MentionsPresenter.kt
View file @
5455af45
...
...
@@ -18,7 +18,7 @@ class MentionsPresenter @Inject constructor(
private
val
mapper
:
UiModelMapper
,
val
factory
:
RocketChatClientFactory
)
{
private
val
client
=
factory
.
create
(
currentServer
)
private
val
client
=
factory
.
get
(
currentServer
)
private
var
offset
:
Long
=
0
/**
...
...
app/src/main/java/chat/rocket/android/pinnedmessages/presentation/PinnedMessagesPresenter.kt
View file @
5455af45
...
...
@@ -5,7 +5,6 @@ import chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.db.DatabaseManager
import
chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.android.util.retryDB
import
chat.rocket.common.RocketChatException
import
chat.rocket.common.model.roomTypeOf
import
chat.rocket.common.util.ifNull
...
...
@@ -23,7 +22,7 @@ class PinnedMessagesPresenter @Inject constructor(
private
val
mapper
:
UiModelMapper
,
val
factory
:
RocketChatClientFactory
)
{
private
val
client
:
RocketChatClient
=
factory
.
create
(
currentServer
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
currentServer
)
private
var
offset
:
Int
=
0
/**
...
...
app/src/main/java/chat/rocket/android/preferences/di/PreferencesFragmentModule.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.preferences.di
import
chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.preferences.presentation.PreferencesView
import
chat.rocket.android.preferences.ui.PreferencesFragment
import
dagger.Module
import
dagger.Provides
@Module
class
PreferencesFragmentModule
{
@Provides
@PerFragment
fun
preferencesView
(
frag
:
PreferencesFragment
):
PreferencesView
{
return
frag
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/preferences/di/PreferencesFragmentProvider.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.preferences.di
import
chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.preferences.ui.PreferencesFragment
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
@Module
abstract
class
PreferencesFragmentProvider
{
@ContributesAndroidInjector
(
modules
=
[
PreferencesFragmentModule
::
class
])
@PerFragment
abstract
fun
providePreferencesFragment
():
PreferencesFragment
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/preferences/presentation/PreferencesPresenter.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.preferences.presentation
import
chat.rocket.android.server.domain.AnalyticsTrackingInteractor
import
javax.inject.Inject
class
PreferencesPresenter
@Inject
constructor
(
private
val
view
:
PreferencesView
,
private
val
analyticsTrackingInteractor
:
AnalyticsTrackingInteractor
)
{
fun
loadAnalyticsTrackingInformation
()
{
view
.
setupAnalyticsTrackingView
(
analyticsTrackingInteractor
.
get
())
}
fun
enableAnalyticsTracking
()
{
analyticsTrackingInteractor
.
save
(
true
)
}
fun
disableAnalyticsTracking
()
{
analyticsTrackingInteractor
.
save
(
false
)
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/preferences/presentation/PreferencesView.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.preferences.presentation
interface
PreferencesView
{
/**
* Setups the analytics tracking view.
*
* @param isAnalyticsTrackingEnabled Whether the analytics tracking is enabled
*/
fun
setupAnalyticsTrackingView
(
isAnalyticsTrackingEnabled
:
Boolean
)
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/preferences/ui/PreferencesFragment.kt
deleted
100644 → 0
View file @
6304bd95
package
chat.rocket.android.preferences.ui
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
chat.rocket.android.BuildConfig
import
chat.rocket.android.R
import
chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.main.ui.MainActivity
import
chat.rocket.android.preferences.presentation.PreferencesPresenter
import
chat.rocket.android.preferences.presentation.PreferencesView
import
dagger.android.support.AndroidSupportInjection
import
kotlinx.android.synthetic.main.app_bar.*
import
kotlinx.android.synthetic.main.fragment_preferences.*
import
javax.inject.Inject
internal
const
val
TAG_PREFERENCES_FRAGMENT
=
"PreferencesFragment"
class
PreferencesFragment
:
Fragment
(),
PreferencesView
{
@Inject
lateinit
var
presenter
:
PreferencesPresenter
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
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
.
fragment_preferences
,
container
,
false
)
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
setupListeners
()
presenter
.
loadAnalyticsTrackingInformation
()
analyticsManager
.
logScreenView
(
ScreenViewEvent
.
Preferences
)
}
override
fun
onResume
()
{
setupToolbar
()
super
.
onResume
()
}
override
fun
setupAnalyticsTrackingView
(
isAnalyticsTrackingEnabled
:
Boolean
)
{
if
(
BuildConfig
.
FLAVOR
==
"foss"
)
{
switch_analytics_tracking
.
isChecked
=
false
switch_analytics_tracking
.
isEnabled
=
false
text_analytics_tracking_description
.
text
=
getString
(
R
.
string
.
msg_not_applicable_since_it_is_a_foss_version
)
return
}
if
(
isAnalyticsTrackingEnabled
)
{
text_analytics_tracking_description
.
text
=
getString
(
R
.
string
.
msg_send_analytics_tracking
)
}
else
{
text_analytics_tracking_description
.
text
=
getString
(
R
.
string
.
msg_do_not_send_analytics_tracking
)
}
switch_analytics_tracking
.
isChecked
=
isAnalyticsTrackingEnabled
}
private
fun
setupToolbar
()
{
with
((
activity
as
MainActivity
).
toolbar
)
{
title
=
getString
(
R
.
string
.
title_preferences
)
setNavigationIcon
(
R
.
drawable
.
ic_arrow_back_white_24dp
)
setNavigationOnClickListener
{
activity
?.
onBackPressed
()
}
}
}
private
fun
setupListeners
()
{
switch_analytics_tracking
.
setOnCheckedChangeListener
{
_
,
isChecked
->
if
(
isChecked
)
{
text_analytics_tracking_description
.
text
=
getString
(
R
.
string
.
msg_send_analytics_tracking
)
presenter
.
enableAnalyticsTracking
()
}
else
{
text_analytics_tracking_description
.
text
=
getString
(
R
.
string
.
msg_do_not_send_analytics_tracking
)
presenter
.
disableAnalyticsTracking
()
}
}
}
companion
object
{
fun
newInstance
()
=
PreferencesFragment
()
}
}
app/src/main/java/chat/rocket/android/profile/presentation/ProfilePresenter.kt
View file @
5455af45
...
...
@@ -56,7 +56,7 @@ class ProfilePresenter @Inject constructor(
navigator
=
navigator
)
{
private
val
serverUrl
=
serverInteractor
.
get
()
!!
private
val
client
:
RocketChatClient
=
factory
.
create
(
serverUrl
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
serverUrl
)
private
val
user
=
userHelper
.
user
()
fun
loadUserProfile
()
{
...
...
@@ -175,27 +175,4 @@ class ProfilePresenter @Inject constructor(
}
}
}
fun
deleteAccount
(
password
:
String
)
{
launchUI
(
strategy
)
{
view
.
showLoading
()
try
{
withContext
(
Dispatchers
.
Default
)
{
// REMARK: Backend API is only working with a lowercase hash.
// https://github.com/RocketChat/Rocket.Chat/issues/12573
retryIO
{
client
.
deleteOwnAccount
(
password
.
gethash
().
toHex
().
toLowerCase
())
}
setupConnectionInfo
(
serverUrl
)
logout
(
null
)
}
}
catch
(
exception
:
Exception
)
{
exception
.
message
?.
let
{
view
.
showMessage
(
it
)
}.
ifNull
{
view
.
showGenericErrorMessage
()
}
}
finally
{
view
.
hideLoading
()
}
}
}
}
app/src/main/java/chat/rocket/android/profile/ui/ProfileFragment.kt
View file @
5455af45
...
...
@@ -2,7 +2,6 @@ package chat.rocket.android.profile.ui
import
DrawableHelper
import
android.app.Activity
import
androidx.appcompat.app.AlertDialog
import
android.content.Intent
import
android.graphics.Bitmap
import
android.os.Build
...
...
@@ -12,8 +11,6 @@ import android.view.Menu
import
android.view.MenuItem
import
android.view.View
import
android.view.ViewGroup
import
android.view.MenuInflater
import
android.widget.EditText
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.view.ActionMode
import
androidx.core.net.toUri
...
...
@@ -37,6 +34,7 @@ import com.facebook.drawee.backends.pipeline.Fresco
import
dagger.android.support.AndroidSupportInjection
import
io.reactivex.disposables.CompositeDisposable
import
io.reactivex.rxkotlin.Observables
import
kotlinx.android.synthetic.main.app_bar.*
import
kotlinx.android.synthetic.main.avatar_profile.*
import
kotlinx.android.synthetic.main.fragment_profile.*
import
kotlinx.android.synthetic.main.update_avatar_options.*
...
...
@@ -47,21 +45,17 @@ internal const val TAG_PROFILE_FRAGMENT = "ProfileFragment"
private
const
val
REQUEST_CODE_FOR_PERFORM_SAF
=
1
private
const
val
REQUEST_CODE_FOR_PERFORM_CAMERA
=
2
fun
newInstance
()
=
ProfileFragment
()
class
ProfileFragment
:
Fragment
(),
ProfileView
,
ActionMode
.
Callback
{
@Inject
lateinit
var
presenter
:
ProfilePresenter
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
@Inject
lateinit
var
presenter
:
ProfilePresenter
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
private
var
currentName
=
""
private
var
currentUsername
=
""
private
var
currentEmail
=
""
private
var
actionMode
:
ActionMode
?
=
null
private
val
editTextsDisposable
=
CompositeDisposable
()
companion
object
{
fun
newInstance
()
=
ProfileFragment
()
}
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
AndroidSupportInjection
.
inject
(
this
)
...
...
@@ -112,18 +106,6 @@ class ProfileFragment : Fragment(), ProfileView, ActionMode.Callback {
super
.
onPrepareOptionsMenu
(
menu
)
}
override
fun
onCreateOptionsMenu
(
menu
:
Menu
,
inflater
:
MenuInflater
)
{
super
.
onCreateOptionsMenu
(
menu
,
inflater
)
inflater
.
inflate
(
R
.
menu
.
profile
,
menu
)
}
override
fun
onOptionsItemSelected
(
item
:
MenuItem
):
Boolean
{
when
(
item
.
itemId
)
{
R
.
id
.
action_delete_account
->
showDeleteAccountDialog
()
}
return
true
}
override
fun
showProfile
(
avatarUrl
:
String
,
name
:
String
,
username
:
String
,
email
:
String
?)
{
ui
{
image_avatar
.
setImageURI
(
avatarUrl
)
...
...
@@ -205,7 +187,14 @@ class ProfileFragment : Fragment(), ProfileView, ActionMode.Callback {
}
private
fun
setupToolbar
()
{
(
activity
as
AppCompatActivity
?)
?.
supportActionBar
?.
title
=
getString
(
R
.
string
.
title_profile
)
with
((
activity
as
AppCompatActivity
))
{
with
(
toolbar
)
{
setSupportActionBar
(
this
)
title
=
getString
(
R
.
string
.
title_profile
)
setNavigationIcon
(
R
.
drawable
.
ic_arrow_back_white_24dp
)
setNavigationOnClickListener
{
activity
?.
onBackPressed
()
}
}
}
}
private
fun
setupListeners
()
{
...
...
@@ -292,16 +281,4 @@ class ProfileFragment : Fragment(), ProfileView, ActionMode.Callback {
text_email
.
isEnabled
=
value
}
}
fun
showDeleteAccountDialog
()
{
context
?.
let
{
val
passwordEText
=
EditText
(
context
);
val
mDialogView
=
LayoutInflater
.
from
(
it
).
inflate
(
R
.
layout
.
item_account_delete
,
null
)
val
mBuilder
=
AlertDialog
.
Builder
(
it
)
mBuilder
.
setView
(
mDialogView
).
setPositiveButton
(
R
.
string
.
action_delete_account
)
{
_
,
_
->
presenter
.
deleteAccount
(
passwordEText
.
text
.
toString
())
}.
setNegativeButton
(
android
.
R
.
string
.
no
)
{
dialog
,
_
->
dialog
.
cancel
()
}.
create
().
show
()
}
}
}
app/src/main/java/chat/rocket/android/server/domain/PermissionsInteractor.kt
View file @
5455af45
...
...
@@ -69,7 +69,7 @@ class PermissionsInteractor @Inject constructor(
}
fun
canSeeTheAdminPanel
():
Boolean
{
fun
isAdministrationEnabled
():
Boolean
{
currentServerUrl
()
?.
let
{
serverUrl
->
val
viewStatistics
=
permissionsRepository
.
get
(
serverUrl
,
VIEW_STATISTICS
)
...
...
app/src/main/java/chat/rocket/android/server/domain/RefreshPermissionsInteractor.kt
View file @
5455af45
...
...
@@ -20,7 +20,7 @@ class RefreshPermissionsInteractor @Inject constructor(
fun
refreshAsync
(
server
:
String
)
{
GlobalScope
.
launch
(
Dispatchers
.
IO
)
{
try
{
factory
.
create
(
server
).
let
{
client
->
factory
.
get
(
server
).
let
{
client
->
val
permissions
=
retryIO
(
description
=
"permissions"
,
times
=
5
,
...
...
app/src/main/java/chat/rocket/android/server/domain/RefreshSettingsInteractor.kt
View file @
5455af45
...
...
@@ -74,7 +74,7 @@ class RefreshSettingsInteractor @Inject constructor(
suspend
fun
refresh
(
server
:
String
)
{
withContext
(
Dispatchers
.
IO
)
{
factory
.
create
(
server
).
let
{
client
->
factory
.
get
(
server
).
let
{
client
->
val
settings
=
retryIO
(
description
=
"settings"
,
times
=
5
,
...
...
app/src/main/java/chat/rocket/android/server/infraestructure/ConnectionManagerFactory.kt
View file @
5455af45
package
chat.rocket.android.server.infraestructure
import
chat.rocket.android.db.DatabaseManagerFactory
import
chat.rocket.android.infrastructure.LocalRepository
import
timber.log.Timber
import
javax.inject.Inject
import
javax.inject.Singleton
...
...
@@ -20,7 +19,7 @@ class ConnectionManagerFactory @Inject constructor(
}
Timber
.
d
(
"Returning FRESH Manager for: $url"
)
val
manager
=
ConnectionManager
(
factory
.
create
(
url
),
dbFactory
.
create
(
url
))
val
manager
=
ConnectionManager
(
factory
.
get
(
url
),
dbFactory
.
create
(
url
))
cache
[
url
]
=
manager
return
manager
}
...
...
app/src/main/java/chat/rocket/android/server/infraestructure/RocketChatClientFactory.kt
View file @
5455af45
...
...
@@ -18,7 +18,7 @@ class RocketChatClientFactory @Inject constructor(
)
{
private
val
cache
=
HashMap
<
String
,
RocketChatClient
>()
fun
create
(
url
:
String
):
RocketChatClient
{
fun
get
(
url
:
String
):
RocketChatClient
{
cache
[
url
]
?.
let
{
Timber
.
d
(
"Returning CACHED client for: $url"
)
return
it
...
...
app/src/main/java/chat/rocket/android/server/presentation/CheckServerPresenter.kt
View file @
5455af45
...
...
@@ -105,7 +105,7 @@ abstract class CheckServerPresenter constructor(
internal
fun
setupConnectionInfo
(
serverUrl
:
String
)
{
currentServer
=
serverUrl
client
=
factory
.
create
(
serverUrl
)
client
=
factory
.
get
(
serverUrl
)
managerFactory
?.
create
(
serverUrl
)
?.
let
{
manager
=
it
}
...
...
app/src/main/java/chat/rocket/android/settings/di/SettingsFragmentModule.kt
View file @
5455af45
package
chat.rocket.android.settings.di
import
androidx.lifecycle.LifecycleOwner
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.settings.presentation.SettingsView
import
chat.rocket.android.settings.ui.SettingsFragment
import
dagger.Module
import
dagger.Provides
import
kotlinx.coroutines.Job
@Module
class
SettingsFragmentModule
{
...
...
@@ -20,13 +18,7 @@ class SettingsFragmentModule {
@Provides
@PerFragment
fun
settingsLifecycleOwner
(
frag
:
SettingsFragment
):
LifecycleOwner
{
return
frag
}
@Provides
@PerFragment
fun
provideCancelStrategy
(
owner
:
LifecycleOwner
,
jobs
:
Job
):
CancelStrategy
{
return
CancelStrategy
(
owner
,
jobs
)
fun
settingsLifecycleOwner
(
fragment
:
SettingsFragment
):
LifecycleOwner
{
return
fragment
}
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/settings/di/SettingsFragmentProvider.kt
View file @
5455af45
package
chat.rocket.android.settings.di
import
chat.rocket.android.dagger.scope.PerFragment
import
chat.rocket.android.settings.ui.SettingsFragment
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
...
...
@@ -8,5 +9,6 @@ import dagger.android.ContributesAndroidInjector
abstract
class
SettingsFragmentProvider
{
@ContributesAndroidInjector
(
modules
=
[
SettingsFragmentModule
::
class
])
@PerFragment
abstract
fun
provideSettingsFragment
():
SettingsFragment
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/settings/password/presentation/PasswordPresenter.kt
View file @
5455af45
...
...
@@ -8,7 +8,6 @@ import chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.android.util.retryIO
import
chat.rocket.common.RocketChatException
import
chat.rocket.common.util.ifNull
import
chat.rocket.core.RocketChatClient
import
chat.rocket.core.internal.rest.updateProfile
import
javax.inject.Inject
...
...
@@ -22,7 +21,7 @@ class PasswordPresenter @Inject constructor(
factory
:
RocketChatClientFactory
)
{
private
val
serverUrl
=
serverInteractor
.
get
()
!!
private
val
client
:
RocketChatClient
=
factory
.
create
(
serverUrl
)
private
val
client
:
RocketChatClient
=
factory
.
get
(
serverUrl
)
fun
updatePassword
(
password
:
String
)
{
launchUI
(
strategy
)
{
...
...
app/src/main/java/chat/rocket/android/settings/presentation/SettingsPresenter.kt
0 → 100644
View file @
5455af45
package
chat.rocket.android.settings.presentation
import
chat.rocket.android.core.lifecycle.CancelStrategy
import
chat.rocket.android.db.DatabaseManagerFactory
import
chat.rocket.android.helper.UserHelper
import
chat.rocket.android.main.presentation.MainNavigator
import
chat.rocket.android.server.domain.AnalyticsTrackingInteractor
import
chat.rocket.android.server.domain.GetCurrentServerInteractor
import
chat.rocket.android.server.domain.PermissionsInteractor
import
chat.rocket.android.server.domain.RemoveAccountInteractor
import
chat.rocket.android.server.domain.TokenRepository
import
chat.rocket.android.server.infraestructure.ConnectionManagerFactory
import
chat.rocket.android.server.infraestructure.RocketChatClientFactory
import
chat.rocket.android.server.presentation.CheckServerPresenter
import
chat.rocket.android.util.extension.gethash
import
chat.rocket.android.util.extension.launchUI
import
chat.rocket.android.util.extension.toHex
import
chat.rocket.android.util.extensions.adminPanelUrl
import
chat.rocket.android.util.extensions.avatarUrl
import
chat.rocket.android.util.retryIO
import
chat.rocket.common.util.ifNull
import
chat.rocket.core.internal.rest.deleteOwnAccount
import
chat.rocket.core.internal.rest.serverInfo
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.withContext
import
timber.log.Timber
import
javax.inject.Inject
import
javax.inject.Named
class
SettingsPresenter
@Inject
constructor
(
private
val
view
:
SettingsView
,
private
val
strategy
:
CancelStrategy
,
private
val
navigator
:
MainNavigator
,
@Named
(
"currentServer"
)
private
val
currentServer
:
String
,
private
val
userHelper
:
UserHelper
,
private
val
analyticsTrackingInteractor
:
AnalyticsTrackingInteractor
,
private
val
tokenRepository
:
TokenRepository
,
private
val
permissions
:
PermissionsInteractor
,
private
val
rocketChatClientFactory
:
RocketChatClientFactory
,
getCurrentServerInteractor
:
GetCurrentServerInteractor
,
removeAccountInteractor
:
RemoveAccountInteractor
,
databaseManagerFactory
:
DatabaseManagerFactory
,
connectionManagerFactory
:
ConnectionManagerFactory
)
:
CheckServerPresenter
(
strategy
=
strategy
,
factory
=
rocketChatClientFactory
,
serverInteractor
=
getCurrentServerInteractor
,
removeAccountInteractor
=
removeAccountInteractor
,
tokenRepository
=
tokenRepository
,
dbManagerFactory
=
databaseManagerFactory
,
managerFactory
=
connectionManagerFactory
,
tokenView
=
view
,
navigator
=
navigator
)
{
fun
setupView
()
{
launchUI
(
strategy
)
{
try
{
val
serverInfo
=
retryIO
(
description
=
"serverInfo"
,
times
=
5
)
{
rocketChatClientFactory
.
get
(
currentServer
).
serverInfo
()
}
userHelper
.
user
()
?.
let
{
user
->
view
.
setupSettingsView
(
currentServer
.
avatarUrl
(
user
.
username
?:
""
),
userHelper
.
displayName
(
user
)
?:
user
.
username
?:
""
,
user
.
status
.
toString
(),
permissions
.
isAdministrationEnabled
(),
analyticsTrackingInteractor
.
get
(),
true
,
serverInfo
.
version
)
}
}
catch
(
exception
:
Exception
)
{
Timber
.
d
(
exception
,
"Error getting server info"
)
exception
.
message
?.
let
{
view
.
showMessage
(
it
)
}.
ifNull
{
view
.
showGenericErrorMessage
()
}
}
}
}
fun
enableAnalyticsTracking
(
isEnabled
:
Boolean
)
{
analyticsTrackingInteractor
.
save
(
isEnabled
)
}
fun
logout
()
{
setupConnectionInfo
(
currentServer
)
super
.
logout
(
null
)
// TODO null?
}
fun
deleteAccount
(
password
:
String
)
{
launchUI
(
strategy
)
{
view
.
showLoading
()
try
{
withContext
(
Dispatchers
.
Default
)
{
// REMARK: Backend API is only working with a lowercase hash.
// https://github.com/RocketChat/Rocket.Chat/issues/12573
retryIO
{
rocketChatClientFactory
.
get
(
currentServer
)
.
deleteOwnAccount
(
password
.
gethash
().
toHex
().
toLowerCase
())
}
setupConnectionInfo
(
currentServer
)
logout
(
null
)
}
}
catch
(
exception
:
Exception
)
{
exception
.
message
?.
let
{
view
.
showMessage
(
it
)
}.
ifNull
{
view
.
showGenericErrorMessage
()
}
}
finally
{
view
.
hideLoading
()
}
}
}
fun
toProfile
()
=
navigator
.
toProfile
()
fun
toAdmin
()
=
tokenRepository
.
get
(
currentServer
)
?.
let
{
navigator
.
toAdminPanel
(
currentServer
.
adminPanelUrl
(),
it
.
authToken
)
}
fun
toLicense
(
licenseUrl
:
String
,
licenseTitle
:
String
)
=
navigator
.
toLicense
(
licenseUrl
,
licenseTitle
)
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/settings/presentation/SettingsView.kt
View file @
5455af45
package
chat.rocket.android.settings.presentation
interface
SettingsView
import
chat.rocket.android.core.behaviours.LoadingView
import
chat.rocket.android.core.behaviours.MessageView
import
chat.rocket.android.server.presentation.TokenView
interface
SettingsView
:
TokenView
,
LoadingView
,
MessageView
{
/**
* Setups the settings view.
*
* @param avatar The user avatar.
* @param displayName The user display name.
* @param status The user status.
* @param isAdministrationEnabled True if the administration is enabled, false otherwise.
* @param isAnalyticsTrackingEnabled True if the analytics tracking is enabled, false otherwise.
* @param isDeleteAccountEnabled True if the delete account is enabled, false otherwise.
* @param serverVersion The version of the current logged in server.
*/
fun
setupSettingsView
(
avatar
:
String
,
displayName
:
String
,
status
:
String
,
isAdministrationEnabled
:
Boolean
,
isAnalyticsTrackingEnabled
:
Boolean
,
isDeleteAccountEnabled
:
Boolean
,
serverVersion
:
String
)
}
app/src/main/java/chat/rocket/android/settings/ui/SettingsFragment.kt
View file @
5455af45
...
...
@@ -7,35 +7,36 @@ import android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.AdapterView
import
android.widget.EditText
import
androidx.appcompat.app.AlertDialog
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.net.toUri
import
androidx.core.view.isVisible
import
androidx.fragment.app.Fragment
import
chat.rocket.android.BuildConfig
import
chat.rocket.android.R
import
chat.rocket.android.about.ui.AboutFragment
import
chat.rocket.android.about.ui.TAG_ABOUT_FRAGMENT
import
chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.helper.TextHelper.getDeviceAndAppInformation
import
chat.rocket.android.main.ui.MainActivity
import
chat.rocket.android.preferences.ui.PreferencesFragment
import
chat.rocket.android.preferences.ui.TAG_PREFERENCES_FRAGMENT
import
chat.rocket.android.settings.password.ui.PasswordActivity
import
chat.rocket.android.settings.presentation.SettingsPresenter
import
chat.rocket.android.settings.presentation.SettingsView
import
chat.rocket.android.util.extensions.addFragmentBackStack
import
chat.rocket.android.util.extensions.inflate
import
chat.rocket.android.util.extensions.showToast
import
chat.rocket.android.webview.ui.webViewIntent
import
chat.rocket.android.util.invalidateFirebaseToken
import
com.bumptech.glide.Glide
import
dagger.android.support.AndroidSupportInjection
import
kotlinx.android.synthetic.main.app_bar.*
import
kotlinx.android.synthetic.main.fragment_settings.*
import
timber.log.Timber
import
javax.inject.Inject
internal
const
val
TAG_SETTINGS_FRAGMENT
=
"SettingsFragment"
class
SettingsFragment
:
Fragment
(),
SettingsView
,
AdapterView
.
OnItemClickListener
{
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
fun
newInstance
():
Fragment
=
SettingsFragment
()
class
SettingsFragment
:
Fragment
(),
SettingsView
{
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
@Inject
lateinit
var
presenter
:
SettingsPresenter
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
...
...
@@ -51,73 +52,92 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
setupToolbar
()
setupList
View
()
presenter
.
setup
View
()
analyticsManager
.
logScreenView
(
ScreenViewEvent
.
Settings
)
}
override
fun
onItemClick
(
parent
:
AdapterView
<
*
>?,
view
:
View
?,
position
:
Int
,
id
:
Long
)
{
when
(
parent
?.
getItemAtPosition
(
position
).
toString
())
{
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
0
]
->
{
(
activity
as
AppCompatActivity
).
addFragmentBackStack
(
TAG_PREFERENCES_FRAGMENT
,
R
.
id
.
fragment_container
)
{
PreferencesFragment
.
newInstance
()
}
}
override
fun
setupSettingsView
(
avatar
:
String
,
displayName
:
String
,
status
:
String
,
isAdministrationEnabled
:
Boolean
,
isAnalyticsTrackingEnabled
:
Boolean
,
isDeleteAccountEnabled
:
Boolean
,
serverVersion
:
String
)
{
context
?.
let
{
Glide
.
with
(
it
).
load
(
avatar
).
into
(
image_avatar
)
}
text_display_name
.
text
=
displayName
text_status
.
text
=
status
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
1
]
->
activity
?.
startActivity
(
Intent
(
activity
,
PasswordActivity
::
class
.
java
))
profile_container
.
setOnClickListener
{
presenter
.
toProfile
()
}
// TODO (https://github.com/RocketChat/Rocket.Chat.Android/pull/1918)
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
2
]
->
showToast
(
"Coming soon"
)
text_contact_us
.
setOnClickListener
{
contactSupport
()
}
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
3
]
->
shareApp
()
text_language
.
setOnClickListener
{}
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
4
]
->
showAppOnStore
()
text_review_this_app
.
setOnClickListener
{
showAppOnStore
()
}
text_share_this_app
.
setOnClickListener
{
shareApp
()
}
text_license
.
setOnClickListener
{
presenter
.
toLicense
(
getString
(
R
.
string
.
license_url
),
getString
(
R
.
string
.
title_licence
))
}
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
5
]
->
contactSupport
(
)
text_app_version
.
text
=
getString
(
R
.
string
.
msg_app_version
,
BuildConfig
.
VERSION_NAME
,
BuildConfig
.
VERSION_CODE
)
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
6
]
->
activity
?.
startActivity
(
context
?.
webViewIntent
(
getString
(
R
.
string
.
license_url
),
getString
(
R
.
string
.
title_licence
)
)
)
text_server_version
.
text
=
getString
(
R
.
string
.
msg_server_version
,
serverVersion
)
resources
.
getStringArray
(
R
.
array
.
settings_actions
)[
7
]
->
{
(
activity
as
AppCompatActivity
).
addFragmentBackStack
(
TAG_ABOUT_FRAGMENT
,
R
.
id
.
fragment_container
)
{
AboutFragment
.
newInstance
()
}
text_logout
.
setOnClickListener
{
presenter
.
logout
()
}
with
(
text_administration
)
{
isVisible
=
isAdministrationEnabled
setOnClickListener
{
presenter
.
toAdmin
()
}
}
with
(
switch_crash_report
)
{
isChecked
=
isAnalyticsTrackingEnabled
isEnabled
=
BuildConfig
.
FLAVOR
==
"play"
setOnCheckedChangeListener
{
_
,
isChecked
->
presenter
.
enableAnalyticsTracking
(
isChecked
)
}
}
}
private
fun
showAppOnStore
()
{
try
{
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
market_link
).
toUri
()))
}
catch
(
error
:
ActivityNotFoundException
)
{
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
play_store_link
).
toUri
()))
with
(
text_delete_account
)
{
isVisible
=
isDeleteAccountEnabled
setOnClickListener
{
showDeleteAccountDialog
()
}
}
}
private
fun
setupListView
()
{
settings_list
.
onItemClickListener
=
this
override
fun
invalidateToken
(
token
:
String
)
=
invalidateFirebaseToken
(
token
)
override
fun
showLoading
()
{
view_loading
.
isVisible
=
true
}
private
fun
setupToolbar
()
{
(
activity
as
AppCompatActivity
?)
?.
supportActionBar
?.
title
=
getString
(
R
.
string
.
title_settings
)
override
fun
hideLoading
()
{
view_loading
.
isVisible
=
false
}
private
fun
shareApp
()
{
with
(
Intent
(
Intent
.
ACTION_SEND
))
{
type
=
"text/plain"
putExtra
(
Intent
.
EXTRA_SUBJECT
,
getString
(
R
.
string
.
msg_check_this_out
))
putExtra
(
Intent
.
EXTRA_TEXT
,
getString
(
R
.
string
.
play_store_link
))
startActivity
(
Intent
.
createChooser
(
this
,
getString
(
R
.
string
.
msg_share_using
)))
override
fun
showMessage
(
resId
:
Int
)
{
showToast
(
resId
)
}
override
fun
showMessage
(
message
:
String
)
{
showToast
(
message
)
}
override
fun
showGenericErrorMessage
()
=
showMessage
(
getString
(
R
.
string
.
msg_generic_error
))
private
fun
setupToolbar
()
{
with
((
activity
as
AppCompatActivity
))
{
with
(
toolbar
)
{
setSupportActionBar
(
this
)
title
=
getString
(
R
.
string
.
title_settings
)
setNavigationIcon
(
R
.
drawable
.
ic_arrow_back_white_24dp
)
setNavigationOnClickListener
{
activity
?.
onBackPressed
()
}
}
}
}
...
...
@@ -136,7 +156,31 @@ class SettingsFragment : Fragment(), SettingsView, AdapterView.OnItemClickListen
}
}
companion
object
{
fun
newInstance
()
=
SettingsFragment
()
private
fun
showAppOnStore
()
{
try
{
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
market_link
).
toUri
()))
}
catch
(
error
:
ActivityNotFoundException
)
{
startActivity
(
Intent
(
Intent
.
ACTION_VIEW
,
getString
(
R
.
string
.
play_store_link
).
toUri
()))
}
}
private
fun
shareApp
()
{
with
(
Intent
(
Intent
.
ACTION_SEND
))
{
type
=
"text/plain"
putExtra
(
Intent
.
EXTRA_SUBJECT
,
getString
(
R
.
string
.
msg_check_this_out
))
putExtra
(
Intent
.
EXTRA_TEXT
,
getString
(
R
.
string
.
play_store_link
))
startActivity
(
Intent
.
createChooser
(
this
,
getString
(
R
.
string
.
msg_share_using
)))
}
}
private
fun
showDeleteAccountDialog
()
{
context
?.
let
{
AlertDialog
.
Builder
(
it
)
.
setView
(
LayoutInflater
.
from
(
it
).
inflate
(
R
.
layout
.
dialog_delete_account
,
null
))
.
setPositiveButton
(
R
.
string
.
msg_delete_account
)
{
_
,
_
->
presenter
.
deleteAccount
(
EditText
(
context
).
text
.
toString
())
}.
setNegativeButton
(
android
.
R
.
string
.
no
)
{
dialog
,
_
->
dialog
.
cancel
()
}.
create
()
.
show
()
}
}
}
app/src/main/java/chat/rocket/android/util/extensions/RocketChatClient.kt
View file @
5455af45
...
...
@@ -19,7 +19,7 @@ suspend fun RocketChatClientFactory.registerPushToken(
accounts
.
forEach
{
account
->
try
{
retryIO
(
description
=
"register push token: ${account.serverUrl}"
)
{
create
(
account
.
serverUrl
).
registerPushToken
(
token
)
get
(
account
.
serverUrl
).
registerPushToken
(
token
)
}
}
catch
(
ex
:
Exception
)
{
Timber
.
d
(
ex
,
"Error registering Push token for ${account.serverUrl}"
)
...
...
app/src/main/java/chat/rocket/android/webview/adminpanel/ui/AdminPanelWebViewFragment.kt
View file @
5455af45
...
...
@@ -16,9 +16,17 @@ import dagger.android.support.DaggerFragment
import
kotlinx.android.synthetic.main.fragment_admin_panel_web_view.*
import
javax.inject.Inject
internal
const
val
TAG_ADMIN_PANEL_WEB_VIEW_FRAGMENT
=
"AdminPanelWebViewFragment"
private
const
val
BUNDLE_WEB_PAGE_URL
=
"web_page_url"
private
const
val
BUNDLE_USER_TOKEN
=
"user_token"
fun
newInstance
(
webPageUrl
:
String
,
userToken
:
String
)
=
AdminPanelWebViewFragment
().
apply
{
arguments
=
Bundle
(
2
).
apply
{
putString
(
BUNDLE_WEB_PAGE_URL
,
webPageUrl
)
putString
(
BUNDLE_USER_TOKEN
,
userToken
)
}
}
class
AdminPanelWebViewFragment
:
DaggerFragment
()
{
private
lateinit
var
webPageUrl
:
String
private
lateinit
var
userToken
:
String
...
...
@@ -30,7 +38,8 @@ class AdminPanelWebViewFragment : DaggerFragment() {
arguments
?.
run
{
webPageUrl
=
getString
(
BUNDLE_WEB_PAGE_URL
,
""
)
userToken
=
getString
(
BUNDLE_USER_TOKEN
,
""
)
}
?:
requireNotNull
(
arguments
)
{
"no arguments supplied when the fragment was instantiated"
}
}
?:
requireNotNull
(
arguments
)
{
"no arguments supplied when the fragment was instantiated"
}
}
override
fun
onCreateView
(
...
...
@@ -49,7 +58,7 @@ class AdminPanelWebViewFragment : DaggerFragment() {
private
fun
setupToolbar
()
{
(
activity
as
AppCompatActivity
?)
?.
supportActionBar
?.
title
=
getString
(
R
.
string
.
title_admin_panel
)
getString
(
R
.
string
.
title_admin_panel
)
}
@SuppressLint
(
"SetJavaScriptEnabled"
)
...
...
@@ -70,13 +79,4 @@ class AdminPanelWebViewFragment : DaggerFragment() {
}
web_view
.
loadUrl
(
webPageUrl
)
}
companion
object
{
fun
newInstance
(
webPageUrl
:
String
,
userToken
:
String
)
=
AdminPanelWebViewFragment
().
apply
{
arguments
=
Bundle
(
2
).
apply
{
putString
(
BUNDLE_WEB_PAGE_URL
,
webPageUrl
)
putString
(
BUNDLE_USER_TOKEN
,
userToken
)
}
}
}
}
\ No newline at end of file
app/src/main/res/layout/
item_account_delete
.xml
→
app/src/main/res/layout/
dialog_delete_account
.xml
View file @
5455af45
File moved
app/src/main/res/layout/fragment_about.xml
deleted
100644 → 0
View file @
6304bd95
<ScrollView
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
tools:context=
"chat.rocket.android.about.ui.AboutFragment"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:paddingTop=
"50dp"
android:layout_gravity=
"center"
>
<ImageView
android:id=
"@+id/image_app_name"
android:layout_width=
"wrap_content"
android:layout_height=
"60dp"
android:src=
"@drawable/ic_app_name"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
/>
<ImageView
android:layout_width=
"160dp"
android:layout_height=
"160dp"
android:adjustViewBounds=
"true"
android:scaleX=
"1.5"
android:scaleY=
"1.5"
android:src=
"@drawable/ic_launcher_foreground"
app:layout_constraintBottom_toTopOf=
"@id/image_app_name"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/text_version_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"Version alpha2.0.1"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/image_app_name"
android:layout_marginTop=
"16dp"
android:textColor=
"@color/colorSecondaryText"
android:textAppearance=
"@style/TextAppearance.AppCompat.Medium"
/>
<TextView
android:id=
"@+id/text_build_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
tools:text=
"Build # 2000"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/text_version_name"
android:layout_marginTop=
"8dp"
android:textColor=
"@color/colorSecondaryText"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
\ No newline at end of file
app/src/main/res/layout/fragment_profile.xml
View file @
5455af45
...
...
@@ -8,9 +8,15 @@
android:focusableInTouchMode=
"true"
tools:context=
".profile.ui.ProfileFragment"
>
<include
android:id=
"@+id/layout_app_bar"
layout=
"@layout/app_bar"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ScrollView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/layout_app_bar"
>
<LinearLayout
android:id=
"@+id/profile_container"
...
...
app/src/main/res/layout/fragment_settings.xml
View file @
5455af45
This diff is collapsed.
Click to expand it.
app/src/main/res/menu/profile.xml
deleted
100644 → 0
View file @
6304bd95
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<item
android:id=
"@+id/action_delete_account"
android:title=
"@string/action_delete_account"
app:showAsAction=
"never"
/>
</menu>
\ No newline at end of file
app/src/main/res/values-ar/strings.xml
View file @
5455af45
...
...
@@ -4,7 +4,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
تسجيل الدخول إلى خادمك
</string>
<string
name=
"title_log_in"
>
تسجيل الدخول
</string>
<string
name=
"title_share_the_app"
>
انشر البرنامج
</string>
<string
name=
"title_register_username"
>
اسم المستخدم
</string>
<string
name=
"title_reset_password"
>
إعادة تعيين كلمة السر
</string>
<string
name=
"title_sign_up"
>
سجل
</string>
...
...
@@ -21,7 +20,6 @@
<string
name=
"title_admin_panel"
>
لوحة الإدارة
</string>
<string
name=
"title_password"
>
تغيير كلمة السر
</string>
<string
name=
"title_update_profile"
>
تحديث الملف الشخصي
</string>
<string
name=
"title_about"
>
عنا
</string>
<string
name=
"title_create_channel"
>
إنشاء قناة
</string>
<string
name=
"title_licence"
>
الترخيص
</string>
<string
name=
"title_are_you_sure"
>
هل أنت متأكد؟
</string>
...
...
@@ -59,21 +57,21 @@
<string
name=
"action_create_server"
>
إنشاء خادم جديد
</string>
<string
name=
"action_register"
>
تسجيل
</string>
<string
name=
"action_confirm"
>
تأكيد
</string>
<string
name=
"action_delete_account"
>
حذف حساب
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Translate -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Translate -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
التفضيلات
</item>
<item
name=
"item_password"
>
تغيير كلمة السر
</item>
<item
name=
"change_language"
>
نغيير اللغة
</item>
<item
name=
"item_share_app"
>
نشر البرنامج
</item>
<item
name=
"item_rate_us"
>
قيمنا
</item>
<item
name=
"item_contact_us"
>
اتصل بنا
</item>
<item
name=
"item_licence"
>
الترخيص
</item>
<item
name=
"item_about"
>
عنا
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
نأسف حدث خطأ ما حاول مرة أخرى
</string>
...
...
app/src/main/res/values-de/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Anmelden am Server
</string>
<string
name=
"title_log_in"
>
Anmelden
</string>
<string
name=
"title_share_the_app"
>
App teilen
</string>
<string
name=
"title_register_username"
>
Registriere Benutzernamen
</string>
<string
name=
"title_reset_password"
>
Passwort zurücksetzen
</string>
<string
name=
"title_sign_up"
>
registrieren
</string>
...
...
@@ -14,17 +13,13 @@
<string
name=
"title_members"
>
Benutzer
</string>
<string
name=
"title_counted_members"
>
Benutzer (%d)
</string>
<string
name=
"title_settings"
>
Einstellungen
</string>
<string
name=
"title_preferences"
>
Eigenschaften
</string>
<string
name=
"title_change_password"
>
Ändere Passwort
</string>
<string
name=
"title_rate_us"
>
Bewerten Sie uns
</string>
<string
name=
"title_admin_panel"
>
Administrationsmenü
</string>
<string
name=
"title_password"
>
Ändere Passwort
</string>
<string
name=
"title_update_profile"
>
Update Profil
</string>
<string
name=
"title_about"
>
Über
</string>
<string
name=
"title_create_channel"
>
Erstelle Raum
</string>
<string
name=
"title_are_you_sure"
>
Sind Sie sicher?
</string>
<string
name=
"title_channel_details"
>
Channel-Details
</string>
<string
name=
"title_topic"
>
Thema
</string>
...
...
@@ -61,21 +56,21 @@
<string
name=
"action_create_server"
>
Einen eigenen Server erstellen
</string>
<string
name=
"action_register"
>
Registrieren
</string>
<string
name=
"action_confirm"
>
Bestätigen
</string>
<string
name=
"action_
delete_account"
>
Konto lösch
en
</string>
<string
name=
"action_
favorite"
>
Favoriten
</string>
<string
name=
"action_remove_favorite"
>
Favoriten entfernen
</string>
<
!-- Settings List
-->
<string
-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Eigenschaften
</item
>
<item
name=
"item_password"
>
Passwort ändern
</item
>
<item
name=
"change_language"
>
Sprache ändern
</item
>
<item
name=
"item_share_app"
>
Link zur App teilen
</item
>
<item
name=
"item_rate_us"
>
Bewerten Sie uns
</item
>
<item
name=
"item_contact_us"
>
Kontaktieren Sie uns
</item
>
<item
name=
"item_licence"
>
Lizenz
</item
>
<item
name=
"item_about"
>
Über
</item
>
<
/string-array
>
<string
name=
"action_
favorite"
>
Favorit
en
</string>
<string
name=
"action_
remove_favorite"
>
Favoriten entfernen
</string>
<!-- Settings messages-->
<
string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate
-->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate --
>
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate --
>
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate --
>
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate --
>
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate --
>
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate --
>
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate --
>
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate --
>
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate --
>
<
string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate --
>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Entschuldigung, ein Fehler ist aufgetreten, bitte versuchen Sie es noch einmal.
</string>
...
...
@@ -114,9 +109,7 @@
<string
name=
"msg_content_description_log_in_using_gitlab"
>
Login mit Gitlab
</string>
<string
name=
"msg_content_description_log_in_using_wordpress"
>
Login mit WordPress
</string>
<string
name=
"msg_content_description_send_message"
>
Sende Nachricht
</string>
<string
name=
"msg_content_description_show_more_login_options"
>
Zeige mehr Login-Optionen
</string>
<string
name=
"msg_content_description_show_attachment_options"
>
Zeige Anhang Optionen
</string>
<string
name=
"msg_you"
>
Du
</string>
<string
name=
"msg_unknown"
>
Unbekannt
</string>
...
...
app/src/main/res/values-es/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Inicia sesión en tu servidor
</string>
<string
name=
"title_log_in"
>
Iniciar sesión
</string>
<string
name=
"title_share_the_app"
>
Compartir aplicación
</string>
<string
name=
"title_register_username"
>
Registrar nombre de usuario
</string>
<string
name=
"title_reset_password"
>
Restablecer la contraseña
</string>
<string
name=
"title_sign_up"
>
Regístrate
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Admin panel
</string>
<!-- TODO Add translation -->
<string
name=
"title_password"
>
Cambia la contraseña
</string>
<string
name=
"title_update_profile"
>
Actualización del perfil
</string>
<string
name=
"title_about"
>
Acerca de
</string>
<string
name=
"title_create_channel"
>
Crear canal
</string>
<string
name=
"title_licence"
>
Licence
</string>
<!-- TODO Add translation -->
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<!-- TODO Add translation -->
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Create a new server
</string>
<!-- TODO Add translation -->
<string
name=
"action_register"
>
Register
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm"
>
Confirm
</string>
<!-- TODO Add translation -->
<string
name=
"action_delete_account"
>
Delete account
</string>
<!-- TODO Add translation -->
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<!-- TODO Add translation -->
<item
name=
"item_password"
>
Change password
</item>
<!-- TODO Add translation -->
<item
name=
"change_language"
>
Change language
</item>
<!-- TODO Add translation -->
<item
name=
"item_share_app"
>
Share app
</item>
<!-- TODO Add translation -->
<item
name=
"item_rate_us"
>
Rate us
</item>
<!-- TODO Add translation -->
<item
name=
"item_contact_us"
>
Contact us
</item>
<!-- TODO Add translation -->
<item
name=
"item_licence"
>
Licence
</item>
<!-- TODO Add translation -->
<item
name=
"item_about"
>
About
</item>
<!-- TODO Add translation -->
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Lo sentimos, ha ocurrido un error, por favor intente de nuevo
</string>
...
...
app/src/main/res/values-fa/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
به سرور خود متصل شوید
</string>
<string
name=
"title_log_in"
>
ورود
</string>
<string
name=
"title_share_the_app"
>
به اشتراکگذاری اپلیکیشن
</string>
<string
name=
"title_register_username"
>
ثبت شناسهی کاربری
</string>
<string
name=
"title_reset_password"
>
تعویض گذرواژه
</string>
<string
name=
"title_sign_up"
>
ثبتنام کنید
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Admin panel
</string>
<!-- TODO Add translation -->
<string
name=
"title_password"
>
تغییر گذرواژه
</string>
<string
name=
"title_update_profile"
>
به روزرسانی نمایه
</string>
<string
name=
"title_about"
>
درباره
</string>
<string
name=
"title_create_channel"
>
ایجاد کانال
</string>
<string
name=
"title_licence"
>
مجوز
</string>
<string
name=
"title_are_you_sure"
>
آیا مطمئن هستید؟
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
ایجاد سرور جدید
</string>
<string
name=
"action_register"
>
ثبتنام
</string>
<string
name=
"action_confirm"
>
تایید
</string>
<string
name=
"action_delete_account"
>
حذف حساب کاربری
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
ترجیحات
</item>
<item
name=
"item_password"
>
تغییر گذرواژه
</item>
<item
name=
"item_share_app"
>
به اشتراکگذاری اپلیکیشن
</item>
<item
name=
"change_language"
>
Change language
</item>
<!-- TODO Add translation -->
<item
name=
"item_rate_us"
>
به ما امتیاز دهید
</item>
<item
name=
"item_contact_us"
>
تماس با ما
</item>
<item
name=
"item_licence"
>
مجوز
</item>
<item
name=
"item_about"
>
درباره
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
متاسفانه مشکلی رخ داد، لطفا دوباره تلاش کنید
</string>
...
...
app/src/main/res/values-fr/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Connectez-vous sur votre serveur
</string>
<string
name=
"title_log_in"
>
S\'identifier
</string>
<string
name=
"title_share_the_app"
>
Partager l\'application
</string>
<string
name=
"title_register_username"
>
Enregistrer le nom d\'utilisateur
</string>
<string
name=
"title_reset_password"
>
Réinitialiser mot de passe
</string>
<string
name=
"title_sign_up"
>
S\'inscrire
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
l\' administration
</string>
<string
name=
"title_password"
>
Changer le mot de passe
</string>
<string
name=
"title_update_profile"
>
Mettre à jour le profil
</string>
<string
name=
"title_about"
>
À propos
</string>
<string
name=
"title_create_channel"
>
Créer salon
</string>
<string
name=
"title_licence"
>
les permis
</string>
<string
name=
"title_are_you_sure"
>
Êtes-vous sûr?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Créer un nouveau serveur
</string>
<string
name=
"action_register"
>
registre
</string>
<string
name=
"action_confirm"
>
Confirmer
</string>
<string
name=
"action_delete_account"
>
Effacer le compte
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Préférences
</item>
<item
name=
"item_password"
>
Changer le mot de passe
</item>
<item
name=
"change_language"
>
Changer de langue
</item>
<item
name=
"item_share_app"
>
Partager l\'application
</item>
<item
name=
"item_rate_us"
>
Évaluez nous
</item>
<item
name=
"item_contact_us"
>
Contactez nous
</item>
<item
name=
"item_licence"
>
les permis
</item>
<item
name=
"item_about"
>
Sur
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Désolé, une erreur s\'est produite. Veuillez réessayer
</string>
...
...
app/src/main/res/values-hi-rIN/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
अपने सर्वर में साइन इन करें
</string>
<string
name=
"title_log_in"
>
लॉग इन करें
</string>
<string
name=
"title_share_the_app"
>
ऐप शेयर करे
</string>
<string
name=
"title_register_username"
>
रजिस्टर उपयोगकर्ता नाम
</string>
<string
name=
"title_reset_password"
>
पासवर्ड रीसेट करें
</string>
<string
name=
"title_sign_up"
>
साइन अप करें
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
एडमिन पैनल
</string>
<string
name=
"title_password"
>
पासवर्ड बदलें
</string>
<string
name=
"title_update_profile"
>
प्रोफ़ाइल अपडेट करें
</string>
<string
name=
"title_about"
>
परिचय
</string>
<string
name=
"title_create_channel"
>
चैनल बनाएं
</string>
<string
name=
"title_licence"
>
लाइसेंस
</string>
<string
name=
"title_are_you_sure"
>
क्या आपको यकीन है?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
नया सर्वर बनाएं
</string>
<string
name=
"action_register"
>
रजिस्टर
</string>
<string
name=
"action_confirm"
>
पुष्टि करें
</string>
<string
name=
"action_delete_account"
>
खाता हटा दो
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
पसंद
</item>
<item
name=
"item_password"
>
पासवर्ड बदलें
</item>
<item
name=
"change_language"
>
भाषा बदलें
</item>
<item
name=
"item_share_app"
>
ऐप शेयर करें
</item>
<item
name=
"item_rate_us"
>
हमें रेटिंग दें
</item>
<item
name=
"item_contact_us"
>
हमसे संपर्क करें
</item>
<item
name=
"item_licence"
>
लाइसेंस
</item>
<item
name=
"item_about"
>
के बारे में
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
क्षमा करें, एक त्रुटि हुई है, कृपया पुनः प्रयास करें
</string>
...
...
app/src/main/res/values-it/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Accedi al tuo server
</string>
<string
name=
"title_log_in"
>
Accesso
</string>
<string
name=
"title_share_the_app"
>
Condividi la App
</string>
<string
name=
"title_register_username"
>
Registra nome utente
</string>
<string
name=
"title_reset_password"
>
Annullare password
</string>
<string
name=
"title_sign_up"
>
Iscrizione
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Pannello di Amministrazione
</string>
<string
name=
"title_password"
>
Password
</string>
<string
name=
"title_update_profile"
>
Aggiorna Profilo
</string>
<string
name=
"title_about"
>
Informazioni
</string>
<string
name=
"title_create_channel"
>
Crea Canale
</string>
<string
name=
"title_licence"
>
licenza
</string>
<string
name=
"title_are_you_sure"
>
Sei sicuro che vuoi uscire ?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Crea un nuovo server
</string>
<string
name=
"action_register"
>
Registra
</string>
<string
name=
"action_confirm"
>
Conferma
</string>
<string
name=
"action_delete_account"
>
Elimina utente
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferenze
</item>
<item
name=
"item_password"
>
Cambia password
</item>
<item
name=
"change_language"
>
Cambia lingua
</item>
<item
name=
"item_share_app"
>
Condividi app
</item>
<item
name=
"item_rate_us"
>
Votaci
</item>
<item
name=
"item_contact_us"
>
Contattaci
</item>
<item
name=
"item_licence"
>
Licenza
</item>
<item
name=
"item_about"
>
Di
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Mi dispiace, si è verificato un errore, per favore riprova
</string>
...
...
app/src/main/res/values-ja/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
サーバーに接続
</string>
<string
name=
"title_log_in"
>
ログイン
</string>
<string
name=
"title_share_the_app"
>
アプリを共有する
</string>
<string
name=
"title_register_username"
>
ユーザー名を登録する
</string>
<string
name=
"title_reset_password"
>
パスワードリセット
</string>
<string
name=
"title_sign_up"
>
サインアップ
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
管理パネル
</string>
<string
name=
"title_password"
>
パスワードの変更
</string>
<string
name=
"title_update_profile"
>
プロフィールの更新
</string>
<string
name=
"title_about"
>
About
</string>
<!-- TODO Add translation -->
<string
name=
"title_licence"
>
Licence
</string>
<!-- TODO Add translation -->
<string
name=
"title_create_channel"
>
新しいチャネルを作成
</string>
<string
name=
"title_are_you_sure"
>
本気ですか?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
新規サーバーを作成
</string>
<string
name=
"action_register"
>
登録
</string>
<string
name=
"action_confirm"
>
確認
</string>
<string
name=
"action_delete_account"
>
アカウントを削除する
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<!-- TODO Add translation -->
<item
name=
"item_password"
>
Change password
</item>
<!-- TODO Add translation -->
<item
name=
"change_language"
>
Change language
</item>
<!-- TODO Add translation -->
<item
name=
"item_share_app"
>
Share app
</item>
<!-- TODO Add translation -->
<item
name=
"item_rate_us"
>
Rate us
</item>
<!-- TODO Add translation -->
<item
name=
"item_contact_us"
>
Contact us
</item>
<!-- TODO Add translation -->
<item
name=
"item_licence"
>
Licence
</item>
<!-- TODO Add translation -->
<item
name=
"item_about"
>
About
</item>
<!-- TODO Add translation -->
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
エラーが発生しました。もう一度お試しください。
</string>
...
...
app/src/main/res/values-pt-rBR/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Faça login no seu servidor
</string>
<string
name=
"title_log_in"
>
Entrar
</string>
<string
name=
"title_share_the_app"
>
Compartilhe o aplicativo
</string>
<string
name=
"title_register_username"
>
Registre o nome de usuário
</string>
<string
name=
"title_reset_password"
>
Redefinir senha
</string>
<string
name=
"title_sign_up"
>
Inscreva-se
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Painel administrativo
</string>
<string
name=
"title_password"
>
Alterar senha
</string>
<string
name=
"title_update_profile"
>
Editar perfil
</string>
<string
name=
"title_about"
>
Sobre
</string>
<string
name=
"title_create_channel"
>
Criar chat
</string>
<string
name=
"title_licence"
>
Licença
</string>
<string
name=
"title_are_you_sure"
>
Você tem certeza?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Criar um novo servidor
</string>
<string
name=
"action_register"
>
Registrar
</string>
<string
name=
"action_confirm"
>
Confirmar
</string>
<string
name=
"action_delete_account"
>
Deletar conta
</string>
<string
name=
"action_favorite"
>
Favoritar
</string>
<string
name=
"action_remove_favorite"
>
Remover favorito
</string>
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferências
</item>
<item
name=
"item_password"
>
Alterar senha
</item>
<item
name=
"change_language"
>
Alterar idioma
</item>
<item
name=
"item_share_app"
>
Compartilhar app
</item>
<item
name=
"item_rate_us"
>
Classifique-nos
</item>
<item
name=
"item_contact_us"
>
Contate-nos
</item>
<item
name=
"item_licence"
>
Licença
</item>
<item
name=
"item_about"
>
Sobre
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Desculpe, ocorreu um erro, tente novamente
</string>
...
...
app/src/main/res/values-pt-rPT/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Entre no seu servidor
</string>
<string
name=
"title_log_in"
>
Entrar
</string>
<string
name=
"title_share_the_app"
>
Partilhe a Aplicação
</string>
<string
name=
"title_register_username"
>
Registe um utilizador
</string>
<string
name=
"title_reset_password"
>
Reponha a palavra-passe
</string>
<string
name=
"title_sign_up"
>
Inscreva-se
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Painel de Administração
</string>
<string
name=
"title_password"
>
Alterar palavra-passe
</string>
<string
name=
"title_update_profile"
>
Actualizar perfil
</string>
<string
name=
"title_about"
>
Acerca
</string>
<string
name=
"title_create_channel"
>
Criar Canal
</string>
<string
name=
"title_licence"
>
Licença
</string>
<string
name=
"title_are_you_sure"
>
Tem a certeza?
</string>
...
...
@@ -58,19 +56,19 @@
<string
name=
"action_create_server"
>
Crie um novo servidor
</string>
<string
name=
"action_register"
>
Registar
</string>
<string
name=
"action_confirm"
>
Confirmar
</string>
<string
name=
"action_delete_account"
>
Apagar conta
</string>
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferências
</item>
<item
name=
"item_password"
>
Alterar palavra-passe
</item>
<item
name=
"change_language"
>
Alterar idioma
</item>
<item
name=
"item_share_app"
>
Partilhe a aplicação
</item>
<item
name=
"item_rate_us"
>
Avalie-nos
</item>
<item
name=
"item_contact_us"
>
Contacte-nos
</item>
<item
name=
"item_licence"
>
Licença
</item>
<item
name=
"item_about"
>
Acerca
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Lamentamos, ocorreu um erro, tente novamente
</string>
...
...
app/src/main/res/values-ru-rRU/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Ваш сервер
</string>
<string
name=
"title_log_in"
>
Войти
</string>
<string
name=
"title_share_the_app"
>
добавить приложение
</string>
<string
name=
"title_register_username"
>
Зарегистрировать имя
</string>
<string
name=
"title_reset_password"
>
Сброс пароля
</string>
<string
name=
"title_sign_up"
>
Зарегистрироваться
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Панель админа
</string>
<string
name=
"title_password"
>
Изменить пароль
</string>
<string
name=
"title_update_profile"
>
Обновить профиль
</string>
<string
name=
"title_about"
>
О программе
</string>
<string
name=
"title_create_channel"
>
Создать новый канал
</string>
<string
name=
"title_channel_details"
>
О канале
</string>
<string
name=
"title_topic"
>
Тема
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Создать новый сервер
</string>
<string
name=
"action_register"
>
Зарегистрировать
</string>
<string
name=
"action_confirm"
>
Подтвердить
</string>
<string
name=
"action_delete_account"
>
Удалить аккаунт
</string>
<string
name=
"action_favorite"
>
В избранное
</string>
<string
name=
"action_remove_favorite"
>
Удалить из избранного
</string>
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Персональные
</item>
<item
name=
"item_password"
>
Изменить пароль
</item>
<item
name=
"change_language"
>
Изменить язык
</item>
<item
name=
"item_share_app"
>
Поделиться приложением
</item>
<item
name=
"item_rate_us"
>
Оцените нас
</item>
<item
name=
"item_contact_us"
>
Связаться с нами
</item>
<item
name=
"item_licence"
>
Лицензия
</item>
<item
name=
"item_about"
>
О программе
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Произошла ошибка, повторите попытку.
</string>
...
...
app/src/main/res/values-tr/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Sunucunuza Bağlantı Kurun
</string>
<string
name=
"title_log_in"
>
Giriş Yapın
</string>
<string
name=
"title_share_the_app"
>
uygulamayı Paylaş
</string>
<string
name=
"title_register_username"
>
Kullanıcı Adıyla Kaydolun
</string>
<string
name=
"title_reset_password"
>
Şifre Sıfırlama
</string>
<string
name=
"title_sign_up"
>
Kayıt Olun
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Yönetici Paneli
</string>
<string
name=
"title_password"
>
Şifrenizi Değiştirin
</string>
<string
name=
"title_update_profile"
>
Profilinizi Düzenleyin
</string>
<string
name=
"title_about"
>
Hakkında
</string>
<string
name=
"title_create_channel"
>
Yeni Kanal Oluştur
</string>
<string
name=
"title_licence"
>
Licence
</string>
<!-- TODO Add translation -->
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<!-- TODO Add translation -->
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Create a new server
</string>
<!-- TODO Add translation -->
<string
name=
"action_register"
>
Register
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm"
>
Confirm
</string>
<!-- TODO Add translation -->
<string
name=
"action_delete_account"
>
Delete account
</string>
<!-- TODO Add translation -->
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<!-- TODO Add translation -->
<item
name=
"item_password"
>
Change password
</item>
<!-- TODO Add translation -->
<item
name=
"change_language"
>
Change language
</item>
<!-- TODO Add translation -->
<item
name=
"item_share_app"
>
Share app
</item>
<!-- TODO Add translation -->
<item
name=
"item_rate_us"
>
Rate us
</item>
<!-- TODO Add translation -->
<item
name=
"item_contact_us"
>
Contact us
</item>
<!-- TODO Add translation -->
<item
name=
"item_licence"
>
Licence
</item>
<!-- TODO Add translation -->
<item
name=
"item_about"
>
About
</item>
<!-- TODO Add translation -->
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Üzgünüz! bir hata oluştu. Lütfen daha sonra tekrar deneyiniz.
</string>
...
...
app/src/main/res/values-uk/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Ваш сервер
</string>
<string
name=
"title_log_in"
>
Увійти
</string>
<string
name=
"title_share_the_app"
>
поділитися прикладом
</string>
<string
name=
"title_register_username"
>
Зареєструвати ім\'я
</string>
<string
name=
"title_reset_password"
>
Відновлення паролю
</string>
<string
name=
"title_sign_up"
>
Зареєструватися
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
Панель адміністратора
</string>
<string
name=
"title_password"
>
Змінити пароль
</string>
<string
name=
"title_update_profile"
>
Оновити профіль
</string>
<string
name=
"title_about"
>
"Про програму"
</string>
<string
name=
"title_create_channel"
>
Створити новий канал
</string>
<string
name=
"title_licence"
>
Licence
</string>
<!-- TODO Add translation -->
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
<!-- TODO Add translation -->
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
Create a new server
</string>
<!-- TODO Add translation -->
<string
name=
"action_register"
>
Register
</string>
<!-- TODO Add translation -->
<string
name=
"action_confirm"
>
Confirm
</string>
<!-- TODO Add translation -->
<string
name=
"action_delete_account"
>
Delete account
</string>
<!-- TODO Add translation -->
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<!-- TODO Add translation -->
<item
name=
"item_password"
>
Change password
</item>
<!-- TODO Add translation -->
<item
name=
"change_language"
>
Change language
</item>
<!-- TODO Add translation -->
<item
name=
"item_share_app"
>
Share app
</item>
<!-- TODO Add translation -->
<item
name=
"item_rate_us"
>
Rate us
</item>
<!-- TODO Add translation -->
<item
name=
"item_contact_us"
>
Contact us
</item>
<!-- TODO Add translation -->
<item
name=
"item_licence"
>
Licence
</item>
<!-- TODO Add translation -->
<item
name=
"item_about"
>
About
</item>
<!-- TODO Add translation -->
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Сталася помилка, спробуйте ще раз.
</string>
...
...
app/src/main/res/values-zh-rCN/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
登录您的服务器
</string>
<string
name=
"title_log_in"
>
登录
</string>
<string
name=
"title_share_the_app"
>
分享App
</string>
<string
name=
"title_register_username"
>
注册用户
</string>
<string
name=
"title_reset_password"
>
重置密码
</string>
<string
name=
"title_sign_up"
>
登录
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
管理面板
</string>
<string
name=
"title_password"
>
修改密码
</string>
<string
name=
"title_update_profile"
>
更新资料
</string>
<string
name=
"title_about"
>
关于
</string>
<string
name=
"title_create_channel"
>
新建频道
</string>
<string
name=
"title_licence"
>
许可证
</string>
<string
name=
"title_are_you_sure"
>
你确定?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
新建一个新服务器
</string>
<string
name=
"action_register"
>
注册
</string>
<string
name=
"action_confirm"
>
确定
</string>
<string
name=
"action_delete_account"
>
删除账户
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<!-- TODO Add translation -->
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- TODO Add translation -->
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
首选项
</item>
<item
name=
"item_password"
>
修改密码
</item>
<item
name=
"change_language"
>
更改语言
</item>
<item
name=
"item_share_app"
>
分享app
</item>
<item
name=
"item_rate_us"
>
给我们打分
</item>
<item
name=
"item_contact_us"
>
联系我们
</item>
<item
name=
"item_licence"
>
许可证
</item>
<item
name=
"item_about"
>
关于
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
对不起发生了错误,请重试
</string>
...
...
app/src/main/res/values-zh-rTW/strings.xml
View file @
5455af45
...
...
@@ -3,7 +3,6 @@
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
登入您的伺服器
</string>
<string
name=
"title_log_in"
>
登入
</string>
<string
name=
"title_share_the_app"
>
分享App
</string>
<string
name=
"title_register_username"
>
註冊使用者
</string>
<string
name=
"title_reset_password"
>
重置密碼
</string>
<string
name=
"title_sign_up"
>
登入
</string>
...
...
@@ -20,7 +19,6 @@
<string
name=
"title_admin_panel"
>
管理面板
</string>
<string
name=
"title_password"
>
修改密碼
</string>
<string
name=
"title_update_profile"
>
更新資料
</string>
<string
name=
"title_about"
>
關於
</string>
<string
name=
"title_create_channel"
>
建立新頻道
</string>
<string
name=
"title_licence"
>
許可
</string>
<string
name=
"title_are_you_sure"
>
確定嗎?
</string>
...
...
@@ -58,21 +56,21 @@
<string
name=
"action_create_server"
>
建立一個新的伺服器
</string>
<string
name=
"action_register"
>
註冊
</string>
<string
name=
"action_confirm"
>
確定
</string>
<string
name=
"action_delete_account"
>
刪除帳戶
</string>
<string
name=
"action_favorite"
>
加入蒐藏
</string>
<string
name=
"action_remove_favorite"
>
從蒐藏中移除
</string>
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
首选项
</item>
<item
name=
"item_password"
>
修改密碼
</item>
<item
name=
"change_language"
>
更換語言
</item>
<item
name=
"item_share_app"
>
分享這個App
</item>
<item
name=
"item_rate_us"
>
給我們一個評價
</item>
<item
name=
"item_contact_us"
>
聯絡我們
</item>
<item
name=
"item_licence"
>
許可證
</item>
<item
name=
"item_about"
>
關於
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<!-- TODO Translate -->
<string
name=
"msg_language"
>
Language
</string>
<!-- TODO Translate -->
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<!-- TODO Translate -->
<string
name=
"msg_administration"
>
Administration
</string>
<!-- TODO Translate -->
<string
name=
"msg_licence"
>
Licence
</string>
<!-- TODO Translate -->
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<!-- TODO Translate -->
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<!-- TODO Translate -->
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- TODO Translate -->
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
發生了錯誤,請稍後試試
</string>
...
...
app/src/main/res/values/ids.xml
deleted
100644 → 0
View file @
6304bd95
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item
name=
"menu_section_one"
type=
"id"
/>
<item
name=
"menu_section_two"
type=
"id"
/>
<item
name=
"menu_section_three"
type=
"id"
/>
<item
name=
"menu_action_chats"
type=
"id"
/>
<item
name=
"menu_action_create_channel"
type=
"id"
/>
<item
name=
"menu_action_profile"
type=
"id"
/>
<item
name=
"menu_action_settings"
type=
"id"
/>
<item
name=
"menu_action_admin_panel"
type=
"id"
/>
<item
name=
"menu_action_logout"
type=
"id"
/>
</resources>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
5455af45
...
...
@@ -15,7 +15,6 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<!-- Titles -->
<string
name=
"title_sign_in_your_server"
>
Sign in to your server
</string>
<string
name=
"title_log_in"
>
Login
</string>
<string
name=
"title_share_the_app"
>
Share App
</string>
<string
name=
"title_register_username"
>
Register username
</string>
<string
name=
"title_reset_password"
>
Reset password
</string>
<string
name=
"title_sign_up"
>
Sign up
</string>
...
...
@@ -32,7 +31,6 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"title_admin_panel"
>
Admin panel
</string>
<string
name=
"title_password"
>
Change Password
</string>
<string
name=
"title_update_profile"
>
Update profile
</string>
<string
name=
"title_about"
>
About
</string>
<string
name=
"title_create_channel"
>
Create Channel
</string>
<string
name=
"title_licence"
>
Licence
</string>
<string
name=
"title_are_you_sure"
>
Are you sure?
</string>
...
...
@@ -70,21 +68,21 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"action_create_server"
>
Create a new server
</string>
<string
name=
"action_register"
>
Register
</string>
<string
name=
"action_confirm"
>
Confirm
</string>
<string
name=
"action_delete_account"
>
Delete account
</string>
<string
name=
"action_favorite"
>
Favorite
</string>
<string
name=
"action_remove_favorite"
>
Remove favorite
</string>
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
<item
name=
"item_preferences"
>
Preferences
</item>
<item
name=
"item_password"
>
Change password
</item>
<item
name=
"change_language"
>
Change language
</item>
<item
name=
"item_share_app"
>
Share app
</item>
<item
name=
"item_rate_us"
>
Rate us
</item>
<item
name=
"item_contact_us"
>
Contact us
</item>
<item
name=
"item_licence"
>
Licence
</item>
<item
name=
"item_about"
>
About
</item>
</string-array>
<!-- Settings messages-->
<string
name=
"msg_contact_us"
>
Contact us
</string>
<string
name=
"msg_language"
>
Language
</string>
<string
name=
"msg_review_this_app"
>
Review this app
</string>
<string
name=
"msg_share_this_app"
>
Share this app
</string>
<string
name=
"msg_administration"
>
Administration
</string>
<string
name=
"msg_licence"
>
Licence
</string>
<string
name=
"msg_app_version"
>
Version: %1$s (%2$d)
</string>
<!-- TODO Translate -->
<string
name=
"msg_server_version"
>
Server version: %1$s
</string>
<!-- TODO Translate -->
<string
name=
"msg_send_analytics"
>
Send analytics
</string>
<string
name=
"msg_logout_from_rocket_chat"
>
Logout from Rocket.Chat
</string>
<string
name=
"msg_delete_account"
>
Delete account
</string>
<!-- Regular information messages -->
<string
name=
"msg_generic_error"
>
Sorry, an error has occurred, please try again
</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