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
c04a6f40
Unverified
Commit
c04a6f40
authored
Oct 14, 2018
by
Filipe de Lima Brito
Committed by
GitHub
Oct 14, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'beta' into tr_hi
parents
1fbe063b
bc669303
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
131 additions
and
142 deletions
+131
-142
build.gradle
app/build.gradle
+2
-2
AnswersAnalytics.kt
...ss/java/chat/rocket/android/analytics/AnswersAnalytics.kt
+1
-34
GoogleAnalyticsForFirebase.kt
...at/rocket/android/analytics/GoogleAnalyticsForFirebase.kt
+1
-34
Analytics.kt
app/src/main/java/chat/rocket/android/analytics/Analytics.kt
+12
-7
AnalyticsManager.kt
...in/java/chat/rocket/android/analytics/AnalyticsManager.kt
+6
-0
SignupFragment.kt
...rocket/android/authentication/signup/ui/SignupFragment.kt
+1
-2
ChatRoomPresenter.kt
...rocket/android/chatroom/presentation/ChatRoomPresenter.kt
+4
-4
ActivityBuilder.kt
...java/chat/rocket/android/dagger/module/ActivityBuilder.kt
+3
-1
MessageDao.kt
app/src/main/java/chat/rocket/android/db/MessageDao.kt
+7
-7
MessageParser.kt
...src/main/java/chat/rocket/android/helper/MessageParser.kt
+2
-2
MembersFragment.kt
...in/java/chat/rocket/android/members/ui/MembersFragment.kt
+7
-2
AdminPanelWebViewFragmentProvider.kt
...ebview/adminpanel/di/AdminPanelWebViewFragmentProvider.kt
+12
-0
AdminPanelWebViewFragment.kt
...ndroid/webview/adminpanel/ui/AdminPanelWebViewFragment.kt
+8
-2
fragment_authentication_login_options.xml
...main/res/layout/fragment_authentication_login_options.xml
+3
-1
item_actions_attachment.xml
app/src/main/res/layout/item_actions_attachment.xml
+1
-0
strings.xml
app/src/main/res/values-de/strings.xml
+2
-1
strings.xml
app/src/main/res/values-es/strings.xml
+2
-1
strings.xml
app/src/main/res/values-fr/strings.xml
+2
-1
strings.xml
app/src/main/res/values-hi-rIN/strings.xml
+2
-1
strings.xml
app/src/main/res/values-ja/strings.xml
+2
-1
strings.xml
app/src/main/res/values-pt-rBR/strings.xml
+2
-1
strings.xml
app/src/main/res/values-ru-rRU/strings.xml
+21
-21
strings.xml
app/src/main/res/values-tr/strings.xml
+2
-1
strings.xml
app/src/main/res/values-uk/strings.xml
+2
-1
strings.xml
app/src/main/res/values/strings.xml
+2
-1
styles.xml
app/src/main/res/values/styles.xml
+4
-0
AnswersAnalytics.kt
...ay/java/chat/rocket/android/analytics/AnswersAnalytics.kt
+2
-0
GoogleAnalyticsForFirebase.kt
...at/rocket/android/analytics/GoogleAnalyticsForFirebase.kt
+2
-0
build.gradle
build.gradle
+1
-1
dependencies.gradle
dependencies.gradle
+9
-9
build.gradle
emoji/build.gradle
+1
-1
gradle-wrapper.properties
gradle/wrapper/gradle-wrapper.properties
+3
-3
No files found.
app/build.gradle
View file @
c04a6f40
...
...
@@ -16,8 +16,8 @@ android {
applicationId
"chat.rocket.android"
minSdkVersion
versions
.
minSdk
targetSdkVersion
versions
.
targetSdk
versionCode
204
3
versionName
"
2.6.1
"
versionCode
204
6
versionName
"
3.0.0
"
testInstrumentationRunner
"androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled
true
...
...
app/src/foss/java/chat/rocket/android/analytics/AnswersAnalytics.kt
View file @
c04a6f40
package
chat.rocket.android.analytics
import
chat.rocket.android.analytics.event.AuthenticationEvent
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.analytics.event.SubscriptionTypeEvent
class
AnswersAnalytics
:
Analytics
{
override
fun
logLogin
(
event
:
AuthenticationEvent
,
loginSucceeded
:
Boolean
)
{
// Do absolutely nothing
}
override
fun
logSignUp
(
event
:
AuthenticationEvent
,
signUpSucceeded
:
Boolean
)
{
// Do absolutely nothing
}
override
fun
logScreenView
(
event
:
ScreenViewEvent
)
{
// Do absolutely nothing
}
override
fun
logMessageSent
(
event
:
SubscriptionTypeEvent
,
serverUrl
:
String
)
{
// Do absolutely nothing
}
override
fun
logMediaUploaded
(
event
:
SubscriptionTypeEvent
,
mimeType
:
String
)
{
// Do absolutely nothing
}
override
fun
logReaction
(
event
:
SubscriptionTypeEvent
)
{
// Do absolutely nothing
}
override
fun
logServerSwitch
(
serverUrl
:
String
,
serverCount
:
Int
)
{
// Do absolutely nothing
}
}
class
AnswersAnalytics
:
Analytics
\ No newline at end of file
app/src/foss/java/chat/rocket/android/analytics/GoogleAnalyticsForFirebase.kt
View file @
c04a6f40
package
chat.rocket.android.analytics
import
android.content.Context
import
chat.rocket.android.analytics.event.AuthenticationEvent
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.analytics.event.SubscriptionTypeEvent
import
javax.inject.Inject
class
GoogleAnalyticsForFirebase
@Inject
constructor
(
val
context
:
Context
)
:
Analytics
{
override
fun
logLogin
(
event
:
AuthenticationEvent
,
loginSucceeded
:
Boolean
)
{
// Do absolutely nothing
}
override
fun
logSignUp
(
event
:
AuthenticationEvent
,
signUpSucceeded
:
Boolean
)
{
// Do absolutely nothing
}
override
fun
logScreenView
(
event
:
ScreenViewEvent
)
{
// Do absolutely nothing
}
override
fun
logMessageSent
(
event
:
SubscriptionTypeEvent
,
serverUrl
:
String
)
{
// Do absolutely nothing
}
override
fun
logMediaUploaded
(
event
:
SubscriptionTypeEvent
,
mimeType
:
String
)
{
// Do absolutely nothing
}
override
fun
logReaction
(
event
:
SubscriptionTypeEvent
)
{
// Do absolutely nothing
}
override
fun
logServerSwitch
(
serverUrl
:
String
,
serverCount
:
Int
)
{
// Do absolutely nothing
}
}
class
GoogleAnalyticsForFirebase
@Inject
constructor
(
val
context
:
Context
)
:
Analytics
\ No newline at end of file
app/src/main/java/chat/rocket/android/analytics/Analytics.kt
View file @
c04a6f40
...
...
@@ -12,7 +12,7 @@ interface Analytics {
* @param event The [AuthenticationEvent] used to log in.
* @param loginSucceeded True if successful logged in, false otherwise.
*/
fun
logLogin
(
event
:
AuthenticationEvent
,
loginSucceeded
:
Boolean
)
fun
logLogin
(
event
:
AuthenticationEvent
,
loginSucceeded
:
Boolean
)
{}
/**
* Logs the sign up event.
...
...
@@ -20,14 +20,14 @@ interface Analytics {
* @param event The [AuthenticationEvent] used to sign up.
* @param signUpSucceeded True if successful signed up, false otherwise.
*/
fun
logSignUp
(
event
:
AuthenticationEvent
,
signUpSucceeded
:
Boolean
)
fun
logSignUp
(
event
:
AuthenticationEvent
,
signUpSucceeded
:
Boolean
)
{}
/**
* Logs the screen view event.
*
* @param event The [ScreenViewEvent] to log.
*/
fun
logScreenView
(
event
:
ScreenViewEvent
)
fun
logScreenView
(
event
:
ScreenViewEvent
)
{}
/**
* Logs the message sent event.
...
...
@@ -35,7 +35,7 @@ interface Analytics {
* @param event The [SubscriptionTypeEvent] to log.
* @param serverUrl The server URL to log.
*/
fun
logMessageSent
(
event
:
SubscriptionTypeEvent
,
serverUrl
:
String
)
fun
logMessageSent
(
event
:
SubscriptionTypeEvent
,
serverUrl
:
String
)
{}
/**
* Logs the media upload event.
...
...
@@ -43,14 +43,14 @@ interface Analytics {
* @param event The [SubscriptionTypeEvent] to log.
* @param mimeType The mime type of the media uploaded to log.
*/
fun
logMediaUploaded
(
event
:
SubscriptionTypeEvent
,
mimeType
:
String
)
fun
logMediaUploaded
(
event
:
SubscriptionTypeEvent
,
mimeType
:
String
)
{}
/**
* Logs the reaction event.
*
* @param event The [SubscriptionTypeEvent] to log.
*/
fun
logReaction
(
event
:
SubscriptionTypeEvent
)
fun
logReaction
(
event
:
SubscriptionTypeEvent
)
{}
/**
* Logs the server switch event.
...
...
@@ -58,5 +58,10 @@ interface Analytics {
* @param serverUrl The server URL to log.
* @param serverCount The number of server(s) the use own.
*/
fun
logServerSwitch
(
serverUrl
:
String
,
serverCount
:
Int
)
fun
logServerSwitch
(
serverUrl
:
String
,
serverCount
:
Int
)
{}
/**
* Logs the admin opening.
*/
fun
logOpenAdmin
()
{}
}
app/src/main/java/chat/rocket/android/analytics/AnalyticsManager.kt
View file @
c04a6f40
...
...
@@ -64,4 +64,10 @@ class AnalyticsManager @Inject constructor(
analytics
.
forEach
{
it
.
logServerSwitch
(
serverUrl
,
accounts
.
size
)
}
}
}
fun
logOpenAdmin
()
{
if
(
analyticsTrackingInteractor
.
get
())
{
analytics
.
forEach
{
it
.
logOpenAdmin
()
}
}
}
}
app/src/main/java/chat/rocket/android/authentication/signup/ui/SignupFragment.kt
View file @
c04a6f40
...
...
@@ -11,7 +11,6 @@ import androidx.core.view.ViewCompat
import
androidx.core.view.isVisible
import
androidx.fragment.app.Fragment
import
chat.rocket.android.R
import
chat.rocket.android.R.string.message_credentials_saved_successfully
import
chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.analytics.event.ScreenViewEvent
import
chat.rocket.android.authentication.signup.presentation.SignupPresenter
...
...
@@ -64,7 +63,7 @@ class SignupFragment : Fragment(), SignupView {
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
if
(
data
!=
null
)
{
if
(
requestCode
==
SAVE_CREDENTIALS
)
{
showMessage
(
getString
(
message_credentials_saved_successfully
))
showMessage
(
getString
(
R
.
string
.
message_credentials_saved_successfully
))
}
}
}
...
...
app/src/main/java/chat/rocket/android/chatroom/presentation/ChatRoomPresenter.kt
View file @
c04a6f40
...
...
@@ -141,7 +141,7 @@ class ChatRoomPresenter @Inject constructor(
broadcast
}
?:
false
view
.
onRoomUpdated
(
userCanPost
,
chatIsBroadcast
,
userCanMod
)
loadMessages
(
roomId
,
roomType
)
loadMessages
(
roomId
,
roomType
,
clearDataSet
=
true
)
chatRoomMessage
?.
let
{
messageHelper
.
messageIdFromPermalink
(
it
)
}
?.
let
{
messageId
->
val
name
=
messageHelper
.
roomNameFromPermalink
(
chatRoomMessage
)
...
...
@@ -719,9 +719,9 @@ class ChatRoomPresenter @Inject constructor(
.
filterNot
{
filterSelfOut
&&
it
.
sender
?.
username
==
self
}
val
activeUsers
=
mutableListOf
<
PeopleSuggestionUiModel
>()
recentMessages
.
forEach
{
val
sender
=
it
.
sender
!!
val
username
=
sender
.
username
?:
""
val
name
=
sender
.
name
?:
""
val
sender
=
it
.
sender
val
username
=
sender
?
.
username
?:
""
val
name
=
sender
?
.
name
?:
""
val
avatarUrl
=
currentServer
.
avatarUrl
(
username
)
val
found
=
members
.
firstOrNull
{
member
->
member
.
username
==
username
}
val
status
=
if
(
found
!=
null
)
found
.
status
else
UserStatus
.
Offline
()
...
...
app/src/main/java/chat/rocket/android/dagger/module/ActivityBuilder.kt
View file @
c04a6f40
...
...
@@ -35,6 +35,7 @@ import chat.rocket.android.server.ui.ChangeServerActivity
import
chat.rocket.android.settings.di.SettingsFragmentProvider
import
chat.rocket.android.settings.password.di.PasswordFragmentProvider
import
chat.rocket.android.settings.password.ui.PasswordActivity
import
chat.rocket.android.webview.adminpanel.di.AdminPanelWebViewFragmentProvider
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
...
...
@@ -64,7 +65,8 @@ abstract class ActivityBuilder {
ProfileFragmentProvider
::
class
,
SettingsFragmentProvider
::
class
,
AboutFragmentProvider
::
class
,
PreferencesFragmentProvider
::
class
PreferencesFragmentProvider
::
class
,
AdminPanelWebViewFragmentProvider
::
class
]
)
abstract
fun
bindMainActivity
():
MainActivity
...
...
app/src/main/java/chat/rocket/android/db/MessageDao.kt
View file @
c04a6f40
...
...
@@ -25,25 +25,25 @@ abstract class MessageDao {
@Insert
abstract
fun
insert
(
message
:
MessageEntity
)
@Insert
@Insert
(
onConflict
=
OnConflictStrategy
.
REPLACE
)
abstract
fun
insert
(
relation
:
MessageFavoritesRelation
)
@Insert
@Insert
(
onConflict
=
OnConflictStrategy
.
REPLACE
)
abstract
fun
insert
(
relation
:
MessageMentionsRelation
)
@Insert
@Insert
(
onConflict
=
OnConflictStrategy
.
REPLACE
)
abstract
fun
insert
(
relation
:
MessageChannels
)
@Insert
@Insert
(
onConflict
=
OnConflictStrategy
.
REPLACE
)
abstract
fun
insert
(
attachment
:
AttachmentEntity
)
@Insert
@Insert
(
onConflict
=
OnConflictStrategy
.
REPLACE
)
abstract
fun
insert
(
field
:
AttachmentFieldEntity
)
@Insert
(
onConflict
=
OnConflictStrategy
.
IGNORE
)
abstract
fun
insert
(
reaction
:
ReactionEntity
)
@Insert
@Insert
(
onConflict
=
OnConflictStrategy
.
REPLACE
)
abstract
fun
insert
(
url
:
UrlEntity
)
@Query
(
"DELETE FROM messages WHERE id = :id"
)
...
...
@@ -159,7 +159,7 @@ abstract class MessageDao {
internal
fun
retrieveFullMessage
(
message
:
PartialMessage
):
FullMessage
{
val
favorites
=
getFavoritesByMessage
(
message
.
message
.
id
)
val
mentions
=
get
Favorite
sByMessage
(
message
.
message
.
id
)
val
mentions
=
get
Mention
sByMessage
(
message
.
message
.
id
)
return
FullMessage
(
message
,
favorites
,
mentions
)
}
...
...
app/src/main/java/chat/rocket/android/helper/MessageParser.kt
View file @
c04a6f40
...
...
@@ -10,9 +10,9 @@ import android.text.Spanned
import
android.text.style.ClickableSpan
import
android.text.style.ImageSpan
import
android.text.style.ReplacementSpan
import
android.util.Patterns
import
android.view.View
import
androidx.core.content.res.ResourcesCompat
import
androidx.core.util.PatternsCompat
import
chat.rocket.android.R
import
chat.rocket.android.chatroom.ui.StrikethroughDelimiterProcessor
import
chat.rocket.android.emoji.EmojiParser
...
...
@@ -225,7 +225,7 @@ class MessageParser @Inject constructor(
override
fun
visit
(
text
:
Text
)
{
// Replace all url links to markdown url syntax.
val
matcher
=
Patterns
.
WEB_URL
.
matcher
(
builder
.
text
())
val
matcher
=
Patterns
Compat
.
AUTOLINK_
WEB_URL
.
matcher
(
builder
.
text
())
val
consumed
=
mutableListOf
<
String
>()
while
(
matcher
.
find
())
{
...
...
app/src/main/java/chat/rocket/android/members/ui/MembersFragment.kt
View file @
c04a6f40
...
...
@@ -66,6 +66,7 @@ class MembersFragment : Fragment(), MembersView {
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
super
.
onViewCreated
(
view
,
savedInstanceState
)
setupToolbar
()
setupRecyclerView
()
presenter
.
loadChatRoomsMembers
(
chatRoomId
)
...
...
@@ -125,9 +126,13 @@ class MembersFragment : Fragment(), MembersView {
}
}
private
fun
setupToolbar
(
totalMembers
:
Long
)
{
private
fun
setupToolbar
(
totalMembers
:
Long
?
=
null
)
{
(
activity
as
ChatRoomActivity
).
let
{
it
.
showToolbarTitle
(
getString
(
R
.
string
.
title_members
,
totalMembers
))
if
(
totalMembers
!=
null
)
{
it
.
showToolbarTitle
(
getString
(
R
.
string
.
title_counted_members
,
totalMembers
))
}
else
{
it
.
showToolbarTitle
(
getString
(
R
.
string
.
title_members
))
}
it
.
hideToolbarChatRoomIcon
()
}
}
...
...
app/src/main/java/chat/rocket/android/webview/adminpanel/di/AdminPanelWebViewFragmentProvider.kt
0 → 100644
View file @
c04a6f40
package
chat.rocket.android.webview.adminpanel.di
import
chat.rocket.android.webview.adminpanel.ui.AdminPanelWebViewFragment
import
dagger.Module
import
dagger.android.ContributesAndroidInjector
@Module
abstract
class
AdminPanelWebViewFragmentProvider
{
@ContributesAndroidInjector
abstract
fun
provideAdminPanelWebViewFragment
():
AdminPanelWebViewFragment
}
\ No newline at end of file
app/src/main/java/chat/rocket/android/webview/adminpanel/ui/AdminPanelWebViewFragment.kt
View file @
c04a6f40
...
...
@@ -8,18 +8,22 @@ import android.view.ViewGroup
import
android.webkit.WebView
import
android.webkit.WebViewClient
import
androidx.appcompat.app.AppCompatActivity
import
androidx.fragment.app.Fragment
import
chat.rocket.android.R
import
chat.rocket.android.analytics.AnalyticsManager
import
chat.rocket.android.util.extensions.inflate
import
chat.rocket.android.util.extensions.ui
import
dagger.android.support.DaggerFragment
import
kotlinx.android.synthetic.main.fragment_admin_panel_web_view.*
import
javax.inject.Inject
private
const
val
BUNDLE_WEB_PAGE_URL
=
"web_page_url"
private
const
val
BUNDLE_USER_TOKEN
=
"user_token"
class
AdminPanelWebViewFragment
:
Fragment
()
{
class
AdminPanelWebViewFragment
:
Dagger
Fragment
()
{
private
lateinit
var
webPageUrl
:
String
private
lateinit
var
userToken
:
String
@Inject
lateinit
var
analyticsManager
:
AnalyticsManager
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
...
...
@@ -42,6 +46,8 @@ class AdminPanelWebViewFragment : Fragment() {
super
.
onViewCreated
(
view
,
savedInstanceState
)
setupToolbar
()
setupWebView
()
analyticsManager
.
logOpenAdmin
()
}
private
fun
setupToolbar
()
{
...
...
app/src/main/res/layout/fragment_authentication_login_options.xml
View file @
c04a6f40
...
...
@@ -9,12 +9,14 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/accounts_container"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
android:visibility=
"gone"
tools:visibility=
"visible"
>
...
...
app/src/main/res/layout/item_actions_attachment.xml
View file @
c04a6f40
...
...
@@ -21,6 +21,7 @@
android:layout_marginStart=
"56dp"
android:layout_marginTop=
"2dp"
android:textDirection=
"locale"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
tools:text=
"This is a multiline chat message from Bertie that will take more than just one line of text. I have sure that everything is amazing!"
/>
...
...
app/src/main/res/values-de/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
Legal Terms
</string>
<string
name=
"title_chats"
>
Chats
</string>
<string
name=
"title_profile"
>
Profil
</string>
<string
name=
"title_members"
>
Benutzer (%d)
</string>
<string
name=
"title_members"
>
Benutzer
</string>
<string
name=
"title_counted_members"
>
Benutzer (%d)
</string>
<string
name=
"title_settings"
>
Einstellungen
</string>
<string
name=
"title_preferences"
>
Preferences
</string>
<!-- TODO Add translation -->
<string
name=
"title_change_password"
>
Ändere Passwort
</string>
...
...
app/src/main/res/values-es/strings.xml
View file @
c04a6f40
...
...
@@ -9,7 +9,8 @@
<string
name=
"title_legal_terms"
>
Términos legales
</string>
<string
name=
"title_chats"
>
Chats
</string>
<string
name=
"title_profile"
>
Perfil
</string>
<string
name=
"title_members"
>
Miembros (%d)
</string>
<string
name=
"title_members"
>
Miembros
</string>
<string
name=
"title_counted_members"
>
Miembros (%d)
</string>
<string
name=
"title_settings"
>
Configuraciones
</string>
<string
name=
"title_preferences"
>
Preferences
</string>
<!-- TODO Add translation -->
<string
name=
"title_change_password"
>
Cambia la contraseña
</string>
...
...
app/src/main/res/values-fr/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
Termes juridiques
</string>
<string
name=
"title_chats"
>
Chats
</string>
<string
name=
"title_profile"
>
Profil
</string>
<string
name=
"title_members"
>
Membres (%d)
</string>
<string
name=
"title_members"
>
Membres
</string>
<string
name=
"title_counted_members"
>
Membres (%d)
</string>
<string
name=
"title_settings"
>
Paramètres
</string>
<string
name=
"title_preferences"
>
Préférences
</string>
<string
name=
"title_change_password"
>
Changer le mot de passe
</string>
...
...
app/src/main/res/values-hi-rIN/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
कानूनी शर्तें
</string>
<string
name=
"title_chats"
>
चैट
</string>
<string
name=
"title_profile"
>
प्रोफाइल
</string>
<string
name=
"title_members"
>
सदस्य (%d)
</string>
<string
name=
"title_members"
>
सदस्य
</string>
<string
name=
"title_counted_members"
>
सदस्य (%d)
</string>
<string
name=
"title_settings"
>
सेटिंग्स
</string>
<string
name=
"title_preferences"
>
प्राथमिकताएँ
</string>
<string
name=
"title_change_password"
>
पासवर्ड बदलें
</string>
...
...
app/src/main/res/values-ja/strings.xml
View file @
c04a6f40
...
...
@@ -12,7 +12,8 @@
<string
name=
"title_legal_terms"
>
Legal Terms
</string>
<string
name=
"title_chats"
>
チャット
</string>
<string
name=
"title_profile"
>
プロフィール
</string>
<string
name=
"title_members"
>
メンバー (%d)
</string>
<string
name=
"title_members"
>
メンバー
</string>
<string
name=
"title_counted_members"
>
メンバー (%d)
</string>
<string
name=
"title_settings"
>
設定
</string>
<string
name=
"title_preferences"
>
Preferences
</string>
<!-- TODO Add translation -->
<string
name=
"title_change_password"
>
Change Password
</string>
<!-- TODO Add translation -->
...
...
app/src/main/res/values-pt-rBR/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
Termos Legais
</string>
<string
name=
"title_chats"
>
Chats
</string>
<string
name=
"title_profile"
>
Perfil
</string>
<string
name=
"title_members"
>
Membros (%d)
</string>
<string
name=
"title_members"
>
Membros
</string>
<string
name=
"title_counted_members"
>
Membros (%d)
</string>
<string
name=
"title_settings"
>
Configurações
</string>
<string
name=
"title_preferences"
>
Preferencias
</string>
<string
name=
"title_change_password"
>
Alterar senha
</string>
...
...
app/src/main/res/values-ru-rRU/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
Юридические условия
</string>
<string
name=
"title_chats"
>
Чаты
</string>
<string
name=
"title_profile"
>
Профиль
</string>
<string
name=
"title_members"
>
Пользователи (%d)
</string>
<string
name=
"title_members"
>
Пользователи
</string>
<string
name=
"title_counted_members"
>
Пользователи (%d)
</string>
<string
name=
"title_settings"
>
Настройки
</string>
<string
name=
"title_preferences"
>
Персональные
</string>
<string
name=
"title_change_password"
>
Изменить пароль
</string>
...
...
@@ -45,11 +46,11 @@
<string
name=
"action_select_photo_from_gallery"
>
Выбрать из галереи
</string>
<string
name=
"action_take_photo"
>
Сделать снимок
</string>
<string
name=
"action_reset_avatar"
>
Восстановить аватар
</string>
<string
name=
"action_connect_server"
>
Connect with a server
</string>
<!-- TODO Add translation --
>
<string
name=
"action_join_community"
>
Join in the community
</string>
<!-- TODO Add translation --
>
<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_connect_server"
>
Соединиться с сервером
</string
>
<string
name=
"action_join_community"
>
Сообщество
</string
>
<string
name=
"action_create_server"
>
Создать новый сервер
</string
>
<string
name=
"action_register"
>
Зарегистрировать
</string
>
<string
name=
"action_confirm"
>
Подтвердить
</string
>
<!-- Settings List -->
<string-array
name=
"settings_actions"
>
...
...
@@ -91,7 +92,7 @@
<string
name=
"msg_content_description_log_in_using_gitlab"
>
Войти с помощью Gitlab
</string>
<string
name=
"msg_content_description_log_in_using_wordpress"
>
Войти с помощью WordPress
</string>
<string
name=
"msg_content_description_send_message"
>
Отправить сообщение
</string>
<string
name=
"msg_content_description_show_more_login_options"
>
Show more login options
</string>
<!-- TODO Translate--
>
<string
name=
"msg_content_description_show_more_login_options"
>
Больше параметров входа
</string
>
<string
name=
"msg_content_description_show_attachment_options"
>
Показать параметры вложения
</string>
<string
name=
"msg_you"
>
Вы
</string>
<string
name=
"msg_unknown"
>
Неизвестный
</string>
...
...
@@ -133,18 +134,18 @@
<string
name=
"msg_delete_description"
>
Вы уверены, что хотите удалить это сообщение?
</string>
<string
name=
"msg_channel_name"
>
Название канала
</string>
<string
name=
"msg_search"
>
Поиск
</string>
<string
name=
"msg_welcome_to_rocket_chat"
>
Welcome to Rocket.Chat
</string>
<!-- TODO Add translation --
>
<string
name=
"msg_team_communication"
>
Open Source Communication
</string>
<!-- TODO Add translation --
>
<string
name=
"msg_login_with_email"
>
Login with
<b>
e-mail
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_create_account"
>
Create an account
</string>
<!-- TODO Add translation --
>
<string
name=
"msg_continue_with_facebook"
>
Continue with
<b>
Facebook
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_continue_with_github"
>
Continue with
<b>
Github
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_continue_with_google"
>
Continue with
<b>
Google
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_continue_with_linkedin"
>
Continue with
<b>
Linkedin
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_continue_with_gitlab"
>
Continue with
<b>
GitLab
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_continue_with_wordpress"
>
Continue with
<b>
WordPress
</b></string>
<!-- TODO Add translation --
>
<string
name=
"msg_two_factor_authentication"
>
Two-factor Authentication
</string>
<!-- TODO Add translation --
>
<string
name=
"msg__your_2fa_code"
>
What’s your 2FA code?
</string>
<!-- TODO Add translation --
>
<string
name=
"msg_welcome_to_rocket_chat"
>
Rocket.Chat
</string
>
<string
name=
"msg_team_communication"
>
Чат с открытым исходным кодом
</string
>
<string
name=
"msg_login_with_email"
>
Войти с помощью
<b>
e-mail
</b></string
>
<string
name=
"msg_create_account"
>
Создать аккаунт
</string
>
<string
name=
"msg_continue_with_facebook"
>
Войти с помощью
<b>
Facebook
</b></string
>
<string
name=
"msg_continue_with_github"
>
Войти с помощью
<b>
Github
</b></string
>
<string
name=
"msg_continue_with_google"
>
Войти с помощью
<b>
Google
</b></string
>
<string
name=
"msg_continue_with_linkedin"
>
Войти с помощью
<b>
Linkedin
</b></string
>
<string
name=
"msg_continue_with_gitlab"
>
Войти с помощью
<b>
GitLab
</b></string
>
<string
name=
"msg_continue_with_wordpress"
>
Войти с помощью
<b>
WordPress
</b></string
>
<string
name=
"msg_two_factor_authentication"
>
Двухфакторная аутентификация
</string
>
<string
name=
"msg__your_2fa_code"
>
Ваш код 2FA?
</string
>
<string
name=
"msg_view_more"
>
больше
</string>
<string
name=
"msg_view_less"
>
меньше
</string>
...
...
@@ -300,6 +301,5 @@
<string
name=
"read_by"
>
Прочитано
</string>
<string
name=
"message_information_title"
>
Информация о прочтении
</string>
<string
name=
"msg_log_out"
>
Выходим…
</string>
<!--TODO - Add proper translation-->
<string
name=
"message_room_changed_privacy"
>
Room type changed to: %1$s by %2$s
</string>
<string
name=
"message_room_changed_privacy"
>
Тип канала изменен на: %1$s пользователем %2$s
</string>
</resources>
app/src/main/res/values-tr/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
Yasal Şartlar
</string>
<string
name=
"title_chats"
>
Sohbetler
</string>
<string
name=
"title_profile"
>
Profil
</string>
<string
name=
"title_members"
>
Üyeler (%d)
</string>
<string
name=
"title_members"
>
Üyeler
</string>
<string
name=
"title_counted_members"
>
Üyeler (%d)
</string>
<string
name=
"title_settings"
>
Ayarlar
</string>
<string
name=
"title_preferences"
>
Tercihler
</string>
<string
name=
"title_change_password"
>
Şifre Değişikliği
</string>
...
...
app/src/main/res/values-uk/strings.xml
View file @
c04a6f40
...
...
@@ -10,7 +10,8 @@
<string
name=
"title_legal_terms"
>
Юридичні умови
</string>
<string
name=
"title_chats"
>
Чати
</string>
<string
name=
"title_profile"
>
Профіль
</string>
<string
name=
"title_members"
>
Користувачі (%d)
</string>
<string
name=
"title_members"
>
Користувачі
</string>
<string
name=
"title_counted_members"
>
Користувачі (%d)
</string>
<string
name=
"title_settings"
>
Налаштування
</string>
<string
name=
"title_preferences"
>
Персональні
</string>
<string
name=
"title_change_password"
>
Змінити пароль
</string>
...
...
app/src/main/res/values/strings.xml
View file @
c04a6f40
...
...
@@ -22,7 +22,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string
name=
"title_legal_terms"
>
Legal Terms
</string>
<string
name=
"title_chats"
>
Chats
</string>
<string
name=
"title_profile"
>
Profile
</string>
<string
name=
"title_members"
>
Members (%d)
</string>
<string
name=
"title_members"
>
Members
</string>
<string
name=
"title_counted_members"
>
Members (%d)
</string>
<string
name=
"title_settings"
>
Settings
</string>
<string
name=
"title_preferences"
>
Preferences
</string>
<string
name=
"title_change_password"
>
Change Password
</string>
...
...
app/src/main/res/values/styles.xml
View file @
c04a6f40
...
...
@@ -40,6 +40,8 @@
<item
name=
"android:textStyle"
>
bold
</item>
<item
name=
"android:textColor"
>
@color/colorAccent
</item>
<item
name=
"android:letterSpacing"
>
0.04
</item>
<item
name=
"android:maxLines"
>
1
</item>
<item
name=
"android:ellipsize"
>
end
</item>
</style>
<style
name=
"Authentication.Button.Title.White"
parent=
"Authentication.Button.Title"
>
...
...
@@ -52,6 +54,8 @@
<item
name=
"android:textStyle"
>
normal
</item>
<item
name=
"android:textColor"
>
@color/colorAuthenticationSecondaryText
</item>
<item
name=
"android:letterSpacing"
>
0.04
</item>
<item
name=
"android:maxLines"
>
1
</item>
<item
name=
"android:ellipsize"
>
end
</item>
</style>
<style
name=
"Authentication.EditText.Hint"
parent=
"TextAppearance.AppCompat"
>
...
...
app/src/play/java/chat/rocket/android/analytics/AnswersAnalytics.kt
View file @
c04a6f40
...
...
@@ -65,4 +65,6 @@ class AnswersAnalytics : Analytics {
.
putCustomAttribute
(
"server_url"
,
serverUrl
)
.
putCustomAttribute
(
"server_count"
,
serverCount
)
)
override
fun
logOpenAdmin
()
=
Answers
.
getInstance
().
logCustom
(
CustomEvent
(
"open_admin"
))
}
app/src/play/java/chat/rocket/android/analytics/GoogleAnalyticsForFirebase.kt
View file @
c04a6f40
...
...
@@ -58,4 +58,6 @@ class GoogleAnalyticsForFirebase @Inject constructor(val context: Context) :
putInt
(
"server_count"
,
serverCount
)
})
}
override
fun
logOpenAdmin
()
=
firebaseAnalytics
.
logEvent
(
"open_admin"
,
null
)
}
build.gradle
View file @
c04a6f40
...
...
@@ -10,7 +10,7 @@ buildscript {
}
dependencies
{
classpath
'com.android.tools.build:gradle:3.
2.0-rc03
'
classpath
'com.android.tools.build:gradle:3.
3.0-alpha12
'
classpath
"org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}"
classpath
"org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka}"
classpath
'com.google.gms:google-services:4.0.2'
...
...
dependencies.gradle
View file @
c04a6f40
...
...
@@ -5,20 +5,20 @@ ext {
compileSdk
:
28
,
targetSdk
:
28
,
minSdk
:
21
,
buildTools
:
'28.0.
2
'
,
buildTools
:
'28.0.
3
'
,
dokka
:
'0.9.16'
,
// For app
kotlin
:
'1.2.61'
,
coroutine
:
'0.25.0'
,
appCompat
:
'1.0.0
-rc02
'
,
recyclerview
:
'1.0.0
-rc02
'
,
appCompat
:
'1.0.0'
,
recyclerview
:
'1.0.0'
,
constraintLayout
:
'2.0.0-alpha2'
,
cardview
:
'1.0.0
-rc02
'
,
browser
:
'1.0.0
-rc02
'
,
androidKtx
:
'1.0.0
-rc02
'
,
workmanager
:
'1.0.0-alpha0
8
'
,
cardview
:
'1.0.0'
,
browser
:
'1.0.0'
,
androidKtx
:
'1.0.0'
,
workmanager
:
'1.0.0-alpha0
9
'
,
dagger
:
'2.16'
,
firebaseCloudMessage
:
'17.3.0'
,
...
...
@@ -28,8 +28,8 @@ ext {
flexbox
:
'1.0.0'
,
material
:
'1.0.0-beta01'
,
room
:
'2.0.0
-rc01
'
,
lifecycle
:
'2.0.0
-rc01
'
,
room
:
'2.0.0'
,
lifecycle
:
'2.0.0'
,
livedataKtx
:
'2.0.1'
,
...
...
emoji/build.gradle
View file @
c04a6f40
...
...
@@ -5,7 +5,7 @@ apply plugin: 'kotlin-kapt'
android
{
compileSdkVersion
versions
.
compileSdk
buildToolsVersion
versions
.
buildTools
buildToolsVersion
'28.0.3'
defaultConfig
{
minSdkVersion
versions
.
minSdk
...
...
gradle/wrapper/gradle-wrapper.properties
View file @
c04a6f40
#
Mon Aug 06 11:30:07 BR
T 2018
#
Wed Oct 10 10:41:36 UY
T 2018
distributionBase
=
GRADLE_USER_HOME
distributionPath
=
wrapper/dists
zipStoreBase
=
GRADLE_USER_HOME
zipStorePath
=
wrapper/dists
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-4.9-all.zip
distributionSha256Sum
=
39e2d5803bbd5eaf6c8efe07067b0e5a00235e8c71318642b2ed262920b27721
\ No newline at end of file
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-4.10.2-all.zip
distributionSha256Sum
=
b7aedd369a26b177147bcb715f8b1fc4fe32b0a6ade0d7fd8ee5ed0c6f731f2c
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