Unverified Commit f7edcdf7 authored by Leonardo Aramaki's avatar Leonardo Aramaki Committed by GitHub

Merge branch 'beta' into fix-markdown-link-parsing

parents 2c4b3a5c 0ddd70df
...@@ -16,8 +16,8 @@ android { ...@@ -16,8 +16,8 @@ android {
applicationId "chat.rocket.android" applicationId "chat.rocket.android"
minSdkVersion versions.minSdk minSdkVersion versions.minSdk
targetSdkVersion versions.targetSdk targetSdkVersion versions.targetSdk
versionCode 2043 versionCode 2044
versionName "2.6.1" versionName "3.0.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true multiDexEnabled true
......
package chat.rocket.android.analytics package chat.rocket.android.analytics
import chat.rocket.android.analytics.event.AuthenticationEvent class AnswersAnalytics : Analytics
import chat.rocket.android.analytics.event.ScreenViewEvent \ No newline at end of file
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
}
}
package chat.rocket.android.analytics package chat.rocket.android.analytics
import android.content.Context 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 import javax.inject.Inject
class GoogleAnalyticsForFirebase @Inject constructor(val context: Context) : class GoogleAnalyticsForFirebase @Inject constructor(val context: Context) : Analytics
Analytics { \ No newline at end of file
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
}
}
...@@ -12,7 +12,7 @@ interface Analytics { ...@@ -12,7 +12,7 @@ interface Analytics {
* @param event The [AuthenticationEvent] used to log in. * @param event The [AuthenticationEvent] used to log in.
* @param loginSucceeded True if successful logged in, false otherwise. * @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. * Logs the sign up event.
...@@ -20,14 +20,14 @@ interface Analytics { ...@@ -20,14 +20,14 @@ interface Analytics {
* @param event The [AuthenticationEvent] used to sign up. * @param event The [AuthenticationEvent] used to sign up.
* @param signUpSucceeded True if successful signed up, false otherwise. * @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. * Logs the screen view event.
* *
* @param event The [ScreenViewEvent] to log. * @param event The [ScreenViewEvent] to log.
*/ */
fun logScreenView(event: ScreenViewEvent) fun logScreenView(event: ScreenViewEvent) {}
/** /**
* Logs the message sent event. * Logs the message sent event.
...@@ -35,7 +35,7 @@ interface Analytics { ...@@ -35,7 +35,7 @@ interface Analytics {
* @param event The [SubscriptionTypeEvent] to log. * @param event The [SubscriptionTypeEvent] to log.
* @param serverUrl The server URL 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. * Logs the media upload event.
...@@ -43,14 +43,14 @@ interface Analytics { ...@@ -43,14 +43,14 @@ interface Analytics {
* @param event The [SubscriptionTypeEvent] to log. * @param event The [SubscriptionTypeEvent] to log.
* @param mimeType The mime type of the media uploaded 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. * Logs the reaction event.
* *
* @param event The [SubscriptionTypeEvent] to log. * @param event The [SubscriptionTypeEvent] to log.
*/ */
fun logReaction(event: SubscriptionTypeEvent) fun logReaction(event: SubscriptionTypeEvent) {}
/** /**
* Logs the server switch event. * Logs the server switch event.
...@@ -58,5 +58,10 @@ interface Analytics { ...@@ -58,5 +58,10 @@ interface Analytics {
* @param serverUrl The server URL to log. * @param serverUrl The server URL to log.
* @param serverCount The number of server(s) the use own. * @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() {}
} }
...@@ -64,4 +64,10 @@ class AnalyticsManager @Inject constructor( ...@@ -64,4 +64,10 @@ class AnalyticsManager @Inject constructor(
analytics.forEach { it.logServerSwitch(serverUrl, accounts.size) } analytics.forEach { it.logServerSwitch(serverUrl, accounts.size) }
} }
} }
fun logOpenAdmin() {
if (analyticsTrackingInteractor.get()) {
analytics.forEach { it.logOpenAdmin() }
}
}
} }
...@@ -159,7 +159,7 @@ abstract class MessageDao { ...@@ -159,7 +159,7 @@ abstract class MessageDao {
internal fun retrieveFullMessage(message: PartialMessage): FullMessage { internal fun retrieveFullMessage(message: PartialMessage): FullMessage {
val favorites = getFavoritesByMessage(message.message.id) val favorites = getFavoritesByMessage(message.message.id)
val mentions = getFavoritesByMessage(message.message.id) val mentions = getMentionsByMessage(message.message.id)
return FullMessage(message, favorites, mentions) return FullMessage(message, favorites, mentions)
} }
......
...@@ -66,6 +66,7 @@ class MembersFragment : Fragment(), MembersView { ...@@ -66,6 +66,7 @@ class MembersFragment : Fragment(), MembersView {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
setupToolbar()
setupRecyclerView() setupRecyclerView()
presenter.loadChatRoomsMembers(chatRoomId) presenter.loadChatRoomsMembers(chatRoomId)
...@@ -125,9 +126,13 @@ class MembersFragment : Fragment(), MembersView { ...@@ -125,9 +126,13 @@ class MembersFragment : Fragment(), MembersView {
} }
} }
private fun setupToolbar(totalMembers: Long) { private fun setupToolbar(totalMembers: Long? = null) {
(activity as ChatRoomActivity).let { (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() it.hideToolbarChatRoomIcon()
} }
} }
......
...@@ -10,9 +10,11 @@ import android.webkit.WebViewClient ...@@ -10,9 +10,11 @@ import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import chat.rocket.android.R import chat.rocket.android.R
import chat.rocket.android.analytics.AnalyticsManager
import chat.rocket.android.util.extensions.inflate import chat.rocket.android.util.extensions.inflate
import chat.rocket.android.util.extensions.ui import chat.rocket.android.util.extensions.ui
import kotlinx.android.synthetic.main.fragment_admin_panel_web_view.* 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_WEB_PAGE_URL = "web_page_url"
private const val BUNDLE_USER_TOKEN = "user_token" private const val BUNDLE_USER_TOKEN = "user_token"
...@@ -20,6 +22,8 @@ private const val BUNDLE_USER_TOKEN = "user_token" ...@@ -20,6 +22,8 @@ private const val BUNDLE_USER_TOKEN = "user_token"
class AdminPanelWebViewFragment : Fragment() { class AdminPanelWebViewFragment : Fragment() {
private lateinit var webPageUrl: String private lateinit var webPageUrl: String
private lateinit var userToken: String private lateinit var userToken: String
@Inject
lateinit var analyticsManager: AnalyticsManager
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
...@@ -42,6 +46,8 @@ class AdminPanelWebViewFragment : Fragment() { ...@@ -42,6 +46,8 @@ class AdminPanelWebViewFragment : Fragment() {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
setupToolbar() setupToolbar()
setupWebView() setupWebView()
analyticsManager.logOpenAdmin()
} }
private fun setupToolbar() { private fun setupToolbar() {
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">Legal Terms</string> <string name="title_legal_terms">Legal Terms</string>
<string name="title_chats">Chats</string> <string name="title_chats">Chats</string>
<string name="title_profile">Profil</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_settings">Einstellungen</string>
<string name="title_preferences">Preferences</string> <!-- TODO Add translation --> <string name="title_preferences">Preferences</string> <!-- TODO Add translation -->
<string name="title_change_password">Ändere Passwort</string> <string name="title_change_password">Ändere Passwort</string>
......
...@@ -9,7 +9,8 @@ ...@@ -9,7 +9,8 @@
<string name="title_legal_terms">Términos legales</string> <string name="title_legal_terms">Términos legales</string>
<string name="title_chats">Chats</string> <string name="title_chats">Chats</string>
<string name="title_profile">Perfil</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_settings">Configuraciones</string>
<string name="title_preferences">Preferences</string> <!-- TODO Add translation --> <string name="title_preferences">Preferences</string> <!-- TODO Add translation -->
<string name="title_change_password">Cambia la contraseña</string> <string name="title_change_password">Cambia la contraseña</string>
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">Termes juridiques</string> <string name="title_legal_terms">Termes juridiques</string>
<string name="title_chats">Chats</string> <string name="title_chats">Chats</string>
<string name="title_profile">Profil</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_settings">Paramètres</string>
<string name="title_preferences">Préférences</string> <string name="title_preferences">Préférences</string>
<string name="title_change_password">Changer le mot de passe</string> <string name="title_change_password">Changer le mot de passe</string>
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">कानूनी शर्तें</string> <string name="title_legal_terms">कानूनी शर्तें</string>
<string name="title_chats">चैट</string> <string name="title_chats">चैट</string>
<string name="title_profile">प्रोफाइल</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_settings">सेटिंग्स</string>
<string name="title_preferences">प्राथमिकताएँ</string> <string name="title_preferences">प्राथमिकताएँ</string>
<string name="title_change_password">पासवर्ड बदलें</string> <string name="title_change_password">पासवर्ड बदलें</string>
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
<string name="title_legal_terms">Legal Terms</string> <string name="title_legal_terms">Legal Terms</string>
<string name="title_chats">チャット</string> <string name="title_chats">チャット</string>
<string name="title_profile">プロフィール</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_settings">設定</string>
<string name="title_preferences">Preferences</string> <!-- TODO Add translation --> <string name="title_preferences">Preferences</string> <!-- TODO Add translation -->
<string name="title_change_password">Change Password</string> <!-- TODO Add translation --> <string name="title_change_password">Change Password</string> <!-- TODO Add translation -->
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">Termos Legais</string> <string name="title_legal_terms">Termos Legais</string>
<string name="title_chats">Chats</string> <string name="title_chats">Chats</string>
<string name="title_profile">Perfil</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_settings">Configurações</string>
<string name="title_preferences">Preferencias</string> <string name="title_preferences">Preferencias</string>
<string name="title_change_password">Alterar senha</string> <string name="title_change_password">Alterar senha</string>
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">Юридические условия</string> <string name="title_legal_terms">Юридические условия</string>
<string name="title_chats">Чаты</string> <string name="title_chats">Чаты</string>
<string name="title_profile">Профиль</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_settings">Настройки</string>
<string name="title_preferences">Персональные</string> <string name="title_preferences">Персональные</string>
<string name="title_change_password">Изменить пароль</string> <string name="title_change_password">Изменить пароль</string>
...@@ -45,11 +46,11 @@ ...@@ -45,11 +46,11 @@
<string name="action_select_photo_from_gallery">Выбрать из галереи</string> <string name="action_select_photo_from_gallery">Выбрать из галереи</string>
<string name="action_take_photo">Сделать снимок</string> <string name="action_take_photo">Сделать снимок</string>
<string name="action_reset_avatar">Восстановить аватар</string> <string name="action_reset_avatar">Восстановить аватар</string>
<string name="action_connect_server">Connect with a server</string> <!-- TODO Add translation --> <string name="action_connect_server">Соединиться с сервером</string>
<string name="action_join_community">Join in the community</string> <!-- TODO Add translation --> <string name="action_join_community">Присоединиться к сообществу</string>
<string name="action_create_server">Create a new server</string> <!-- TODO Add translation --> <string name="action_create_server">Создать новый сервер</string>
<string name="action_register">Register</string> <!-- TODO Add translation --> <string name="action_register">Зарегистрировать</string>
<string name="action_confirm">Confirm</string> <!-- TODO Add translation --> <string name="action_confirm">Подтвердить</string>
<!-- Settings List --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -91,7 +92,7 @@ ...@@ -91,7 +92,7 @@
<string name="msg_content_description_log_in_using_gitlab">Войти с помощью Gitlab</string> <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_log_in_using_wordpress">Войти с помощью WordPress</string>
<string name="msg_content_description_send_message">Отправить сообщение</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_content_description_show_attachment_options">Показать параметры вложения</string>
<string name="msg_you">Вы</string> <string name="msg_you">Вы</string>
<string name="msg_unknown">Неизвестный</string> <string name="msg_unknown">Неизвестный</string>
...@@ -133,18 +134,18 @@ ...@@ -133,18 +134,18 @@
<string name="msg_delete_description">Вы уверены, что хотите удалить это сообщение?</string> <string name="msg_delete_description">Вы уверены, что хотите удалить это сообщение?</string>
<string name="msg_channel_name">Название канала</string> <string name="msg_channel_name">Название канала</string>
<string name="msg_search">Поиск</string> <string name="msg_search">Поиск</string>
<string name="msg_welcome_to_rocket_chat">Welcome to Rocket.Chat</string> <!-- TODO Add translation --> <string name="msg_welcome_to_rocket_chat">Добро пожаловать в Rocket.Chat</string>
<string name="msg_team_communication">Open Source Communication</string> <!-- TODO Add translation --> <string name="msg_team_communication">Средство общения с открытым исходным кодом</string>
<string name="msg_login_with_email">Login with <b>e-mail</b></string> <!-- TODO Add translation --> <string name="msg_login_with_email">Войти с помощью <b>e-mail</b></string>
<string name="msg_create_account">Create an account</string> <!-- TODO Add translation --> <string name="msg_create_account">Создать аккаунт</string>
<string name="msg_continue_with_facebook">Continue with <b>Facebook</b></string> <!-- TODO Add translation --> <string name="msg_continue_with_facebook">Войти с помощью <b>Facebook</b></string>
<string name="msg_continue_with_github">Continue with <b>Github</b></string> <!-- TODO Add translation --> <string name="msg_continue_with_github">Войти с помощью <b>Github</b></string>
<string name="msg_continue_with_google">Continue with <b>Google</b></string> <!-- TODO Add translation --> <string name="msg_continue_with_google">Войти с помощью <b>Google</b></string>
<string name="msg_continue_with_linkedin">Continue with <b>Linkedin</b></string> <!-- TODO Add translation --> <string name="msg_continue_with_linkedin">Войти с помощью <b>Linkedin</b></string>
<string name="msg_continue_with_gitlab">Continue with <b>GitLab</b></string> <!-- TODO Add translation --> <string name="msg_continue_with_gitlab">Войти с помощью <b>GitLab</b></string>
<string name="msg_continue_with_wordpress">Continue with <b>WordPress</b></string> <!-- TODO Add translation --> <string name="msg_continue_with_wordpress">Войти с помощью <b>WordPress</b></string>
<string name="msg_two_factor_authentication">Two-factor Authentication</string> <!-- TODO Add translation --> <string name="msg_two_factor_authentication">Двухфакторная аутентификация</string>
<string name="msg__your_2fa_code">What’s your 2FA code?</string> <!-- TODO Add translation --> <string name="msg__your_2fa_code">Ваш код 2FA?</string>
<string name="msg_view_more">больше</string> <string name="msg_view_more">больше</string>
<string name="msg_view_less">меньше</string> <string name="msg_view_less">меньше</string>
...@@ -300,6 +301,5 @@ ...@@ -300,6 +301,5 @@
<string name="read_by">Прочитано</string> <string name="read_by">Прочитано</string>
<string name="message_information_title">Информация о прочтении</string> <string name="message_information_title">Информация о прочтении</string>
<string name="msg_log_out">Выходим…</string> <string name="msg_log_out">Выходим…</string>
<!--TODO - Add proper translation--> <string name="message_room_changed_privacy">Тип канала изменен на: %1$s пользователем %2$s</string>
<string name="message_room_changed_privacy">Room type changed to: %1$s by %2$s</string>
</resources> </resources>
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">Yasal Şartlar</string> <string name="title_legal_terms">Yasal Şartlar</string>
<string name="title_chats">Sohbetler</string> <string name="title_chats">Sohbetler</string>
<string name="title_profile">Profil</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_settings">Ayarlar</string>
<string name="title_preferences">Tercihler</string> <string name="title_preferences">Tercihler</string>
<string name="title_change_password">Şifre Değişikliği</string> <string name="title_change_password">Şifre Değişikliği</string>
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<string name="title_legal_terms">Юридичні умови</string> <string name="title_legal_terms">Юридичні умови</string>
<string name="title_chats">Чати</string> <string name="title_chats">Чати</string>
<string name="title_profile">Профіль</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_settings">Налаштування</string>
<string name="title_preferences">Персональні</string> <string name="title_preferences">Персональні</string>
<string name="title_change_password">Змінити пароль</string> <string name="title_change_password">Змінити пароль</string>
......
...@@ -22,7 +22,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin ...@@ -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_legal_terms">Legal Terms</string>
<string name="title_chats">Chats</string> <string name="title_chats">Chats</string>
<string name="title_profile">Profile</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_settings">Settings</string>
<string name="title_preferences">Preferences</string> <string name="title_preferences">Preferences</string>
<string name="title_change_password">Change Password</string> <string name="title_change_password">Change Password</string>
......
...@@ -65,4 +65,6 @@ class AnswersAnalytics : Analytics { ...@@ -65,4 +65,6 @@ class AnswersAnalytics : Analytics {
.putCustomAttribute("server_url", serverUrl) .putCustomAttribute("server_url", serverUrl)
.putCustomAttribute("server_count", serverCount) .putCustomAttribute("server_count", serverCount)
) )
override fun logOpenAdmin() = Answers.getInstance().logCustom(CustomEvent("open_admin"))
} }
...@@ -58,4 +58,6 @@ class GoogleAnalyticsForFirebase @Inject constructor(val context: Context) : ...@@ -58,4 +58,6 @@ class GoogleAnalyticsForFirebase @Inject constructor(val context: Context) :
putInt("server_count", serverCount) putInt("server_count", serverCount)
}) })
} }
override fun logOpenAdmin() = firebaseAnalytics.logEvent("open_admin", null)
} }
...@@ -10,7 +10,7 @@ buildscript { ...@@ -10,7 +10,7 @@ buildscript {
} }
dependencies { 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.kotlin:kotlin-gradle-plugin:${versions.kotlin}"
classpath "org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka}" classpath "org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka}"
classpath 'com.google.gms:google-services:4.0.2' classpath 'com.google.gms:google-services:4.0.2'
......
...@@ -5,20 +5,20 @@ ext { ...@@ -5,20 +5,20 @@ ext {
compileSdk : 28, compileSdk : 28,
targetSdk : 28, targetSdk : 28,
minSdk : 21, minSdk : 21,
buildTools : '28.0.2', buildTools : '28.0.3',
dokka : '0.9.16', dokka : '0.9.16',
// For app // For app
kotlin : '1.2.61', kotlin : '1.2.61',
coroutine : '0.25.0', coroutine : '0.25.0',
appCompat : '1.0.0-rc02', appCompat : '1.0.0',
recyclerview : '1.0.0-rc02', recyclerview : '1.0.0',
constraintLayout : '2.0.0-alpha2', constraintLayout : '2.0.0-alpha2',
cardview : '1.0.0-rc02', cardview : '1.0.0',
browser : '1.0.0-rc02', browser : '1.0.0',
androidKtx : '1.0.0-rc02', androidKtx : '1.0.0',
workmanager : '1.0.0-alpha08', workmanager : '1.0.0-alpha09',
dagger : '2.16', dagger : '2.16',
firebaseCloudMessage : '17.3.0', firebaseCloudMessage : '17.3.0',
...@@ -26,10 +26,10 @@ ext { ...@@ -26,10 +26,10 @@ ext {
playServices : '16.0.0', playServices : '16.0.0',
exoPlayer : '2.8.2', exoPlayer : '2.8.2',
flexbox : '1.0.0', flexbox : '1.0.0',
material : '1.0.0-beta01', material : '1.0.0',
room : '2.0.0-rc01', room : '2.0.0',
lifecycle : '2.0.0-rc01', lifecycle : '2.0.0',
livedataKtx : '2.0.1', livedataKtx : '2.0.1',
......
...@@ -5,7 +5,7 @@ apply plugin: 'kotlin-kapt' ...@@ -5,7 +5,7 @@ apply plugin: 'kotlin-kapt'
android { android {
compileSdkVersion versions.compileSdk compileSdkVersion versions.compileSdk
buildToolsVersion versions.buildTools buildToolsVersion '28.0.3'
defaultConfig { defaultConfig {
minSdkVersion versions.minSdk minSdkVersion versions.minSdk
......
#Mon Aug 06 11:30:07 BRT 2018 #Wed Oct 10 10:41:36 UYT 2018
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
distributionSha256Sum=39e2d5803bbd5eaf6c8efe07067b0e5a00235e8c71318642b2ed262920b27721 distributionSha256Sum=b7aedd369a26b177147bcb715f8b1fc4fe32b0a6ade0d7fd8ee5ed0c6f731f2c
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment