Commit ae6c911b authored by Filipe de Lima Brito's avatar Filipe de Lima Brito

Adds the video call icon on chat details and user details screen. Updates the...

Adds the video call icon on chat details and user details screen.  Updates the chat room and chat details toolbar also.
parent b1a0d02d
...@@ -91,7 +91,7 @@ object DrawableHelper { ...@@ -91,7 +91,7 @@ object DrawableHelper {
} }
/** /**
* Compounds a Drawable (to appear to the left of the text) into a TextView. * Compounds a Drawable (to appear on the left side of a text) into a TextView.
* *
* @param textView The TextView. * @param textView The TextView.
* @param drawable The Drawable. * @param drawable The Drawable.
...@@ -100,6 +100,16 @@ object DrawableHelper { ...@@ -100,6 +100,16 @@ object DrawableHelper {
fun compoundDrawable(textView: TextView, drawable: Drawable) = fun compoundDrawable(textView: TextView, drawable: Drawable) =
textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null) textView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null)
/**
* Compounds a Drawable (to appear on the right side of a text) into a TextView.
*
* @param textView The TextView.
* @param drawable The Drawable.
* @see compoundDrawable
*/
fun compoundRightDrawable(textView: TextView, drawable: Drawable) =
textView.setCompoundDrawablesWithIntrinsicBounds(null, null, drawable, null)
/** /**
* Returns the user status drawable. * Returns the user status drawable.
* *
......
...@@ -7,8 +7,10 @@ import chat.rocket.android.server.domain.GetCurrentServerInteractor ...@@ -7,8 +7,10 @@ import chat.rocket.android.server.domain.GetCurrentServerInteractor
import chat.rocket.android.server.infraestructure.ConnectionManagerFactory import chat.rocket.android.server.infraestructure.ConnectionManagerFactory
import chat.rocket.android.util.extension.launchUI import chat.rocket.android.util.extension.launchUI
import chat.rocket.android.util.retryIO import chat.rocket.android.util.retryIO
import chat.rocket.common.RocketChatException
import chat.rocket.common.model.roomTypeOf import chat.rocket.common.model.roomTypeOf
import chat.rocket.common.util.ifNull import chat.rocket.common.util.ifNull
import chat.rocket.core.internal.rest.favorite
import chat.rocket.core.internal.rest.getInfo import chat.rocket.core.internal.rest.getInfo
import chat.rocket.core.model.Room import chat.rocket.core.model.Room
import timber.log.Timber import timber.log.Timber
...@@ -25,6 +27,25 @@ class ChatDetailsPresenter @Inject constructor( ...@@ -25,6 +27,25 @@ class ChatDetailsPresenter @Inject constructor(
private val manager = factory.create(currentServer) private val manager = factory.create(currentServer)
private val client = manager.client private val client = manager.client
fun toggleFavoriteChatRoom(roomId: String, isFavorite: Boolean) {
launchUI(strategy) {
try {
// Note that if it is favorite then the user wants to unfavorite - and vice versa.
retryIO("favorite($roomId, $isFavorite)") {
client.favorite(roomId, !isFavorite)
}
view.showFavoriteIcon(!isFavorite)
} catch (e: RocketChatException) {
Timber.e(e, "Error while trying to favorite or removing the favorite of a chat room.")
e.message?.let {
view.showMessage(it)
}.ifNull {
view.showGenericErrorMessage()
}
}
}
}
fun getDetails(chatRoomId: String, chatRoomType: String) { fun getDetails(chatRoomId: String, chatRoomType: String) {
launchUI(strategy) { launchUI(strategy) {
try { try {
......
...@@ -5,5 +5,16 @@ import chat.rocket.android.core.behaviours.LoadingView ...@@ -5,5 +5,16 @@ import chat.rocket.android.core.behaviours.LoadingView
import chat.rocket.android.core.behaviours.MessageView import chat.rocket.android.core.behaviours.MessageView
interface ChatDetailsView: MessageView { interface ChatDetailsView: MessageView {
/**
* Shows the corresponding favorite icon for a favorite or non-favorite chat room.
*
* @param isFavorite True if a chat room is favorite, false otherwise.
*/
fun showFavoriteIcon(isFavorite: Boolean)
/**
* Shows the details of a chat room.
*/
fun displayDetails(room: ChatDetails) fun displayDetails(room: ChatDetails)
} }
\ No newline at end of file
...@@ -3,6 +3,8 @@ package chat.rocket.android.chatdetails.ui ...@@ -3,6 +3,8 @@ package chat.rocket.android.chatdetails.ui
import DrawableHelper import DrawableHelper
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
...@@ -31,6 +33,7 @@ fun newInstance( ...@@ -31,6 +33,7 @@ fun newInstance(
chatRoomId: String, chatRoomId: String,
chatRoomType: String, chatRoomType: String,
isSubscribed: Boolean, isSubscribed: Boolean,
isFavorite: Boolean,
disableMenu: Boolean disableMenu: Boolean
): ChatDetailsFragment { ): ChatDetailsFragment {
return ChatDetailsFragment().apply { return ChatDetailsFragment().apply {
...@@ -44,10 +47,13 @@ fun newInstance( ...@@ -44,10 +47,13 @@ fun newInstance(
} }
internal const val TAG_CHAT_DETAILS_FRAGMENT = "ChatDetailsFragment" internal const val TAG_CHAT_DETAILS_FRAGMENT = "ChatDetailsFragment"
internal const val MENU_ACTION_FAVORITE_REMOVE_FAVORITE = 1
internal const val MENU_ACTION_VIDEO_CALL = 2
private const val BUNDLE_CHAT_ROOM_ID = "BUNDLE_CHAT_ROOM_ID" private const val BUNDLE_CHAT_ROOM_ID = "BUNDLE_CHAT_ROOM_ID"
private const val BUNDLE_CHAT_ROOM_TYPE = "BUNDLE_CHAT_ROOM_TYPE" private const val BUNDLE_CHAT_ROOM_TYPE = "BUNDLE_CHAT_ROOM_TYPE"
private const val BUNDLE_IS_SUBSCRIBED = "BUNDLE_IS_SUBSCRIBED" private const val BUNDLE_IS_SUBSCRIBED = "BUNDLE_IS_SUBSCRIBED"
private const val BUNDLE_IS_FAVORITE = "BUNDLE_IS_FAVORITE"
private const val BUNDLE_DISABLE_MENU = "BUNDLE_DISABLE_MENU" private const val BUNDLE_DISABLE_MENU = "BUNDLE_DISABLE_MENU"
class ChatDetailsFragment : Fragment(), ChatDetailsView { class ChatDetailsFragment : Fragment(), ChatDetailsView {
...@@ -58,23 +64,28 @@ class ChatDetailsFragment : Fragment(), ChatDetailsView { ...@@ -58,23 +64,28 @@ class ChatDetailsFragment : Fragment(), ChatDetailsView {
private var adapter: ChatDetailsAdapter? = null private var adapter: ChatDetailsAdapter? = null
private lateinit var viewModel: ChatDetailsViewModel private lateinit var viewModel: ChatDetailsViewModel
private var chatRoomId: String? = null internal lateinit var chatRoomId: String
private var chatRoomType: String? = null private lateinit var chatRoomType: String
private var isSubscribed: Boolean = true private var isSubscribed: Boolean = true
internal var isFavorite: Boolean = false
private var disableMenu: Boolean = false private var disableMenu: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
AndroidSupportInjection.inject(this) AndroidSupportInjection.inject(this)
val bundle = arguments val bundle = arguments
if (bundle != null) { if (bundle != null) {
chatRoomId = bundle.getString(BUNDLE_CHAT_ROOM_ID) chatRoomId = bundle.getString(BUNDLE_CHAT_ROOM_ID)
chatRoomType = bundle.getString(BUNDLE_CHAT_ROOM_TYPE) chatRoomType = bundle.getString(BUNDLE_CHAT_ROOM_TYPE)
isSubscribed = bundle.getBoolean(BUNDLE_IS_SUBSCRIBED) isSubscribed = bundle.getBoolean(BUNDLE_IS_SUBSCRIBED)
isFavorite = bundle.getBoolean(BUNDLE_IS_FAVORITE)
disableMenu = bundle.getBoolean(BUNDLE_DISABLE_MENU) disableMenu = bundle.getBoolean(BUNDLE_DISABLE_MENU)
} else { } else {
requireNotNull(bundle) { "no arguments supplied when the fragment was instantiated" } requireNotNull(bundle) { "no arguments supplied when the fragment was instantiated" }
} }
setHasOptionsMenu(true)
} }
override fun onCreateView( override fun onCreateView(
...@@ -91,11 +102,27 @@ class ChatDetailsFragment : Fragment(), ChatDetailsView { ...@@ -91,11 +102,27 @@ class ChatDetailsFragment : Fragment(), ChatDetailsView {
getDetails() getDetails()
} }
override fun onPrepareOptionsMenu(menu: Menu) {
menu.clear()
setupMenu(menu)
super.onPrepareOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
setOnMenuItemClickListener(item)
return true
}
override fun showFavoriteIcon(isFavorite: Boolean) {
this.isFavorite = isFavorite
activity?.invalidateOptionsMenu()
}
override fun displayDetails(room: ChatDetails) { override fun displayDetails(room: ChatDetails) {
ui { ui {
val text = room.name val text = room.name
name.text = text name.text = text
bindImage(chatRoomType!!) bindImage(chatRoomType)
content_topic.text = content_topic.text =
if (room.topic.isNullOrEmpty()) getString(R.string.msg_no_topic) else room.topic if (room.topic.isNullOrEmpty()) getString(R.string.msg_no_topic) else room.topic
content_announcement.text = content_announcement.text =
...@@ -207,8 +234,8 @@ class ChatDetailsFragment : Fragment(), ChatDetailsView { ...@@ -207,8 +234,8 @@ class ChatDetailsFragment : Fragment(), ChatDetailsView {
private fun setupToolbar() { private fun setupToolbar() {
with((activity as ChatRoomActivity)) { with((activity as ChatRoomActivity)) {
hideToolbarChatRoomIcon() hideExpandMoreForToolbar()
showToolbarTitle(getString(R.string.title_channel_details)) setupToolbarTitle(getString(R.string.title_channel_details))
} }
} }
} }
\ No newline at end of file
package chat.rocket.android.chatdetails.ui
import android.view.Menu
import android.view.MenuItem
import chat.rocket.android.R
internal fun ChatDetailsFragment.setupMenu(menu: Menu) {
menu.add(
Menu.NONE,
MENU_ACTION_VIDEO_CALL,
Menu.NONE,
R.string.msg_video_call
).setIcon(R.drawable.ic_video_24dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
if (isFavorite) {
menu.add(
Menu.NONE,
MENU_ACTION_FAVORITE_REMOVE_FAVORITE,
Menu.NONE,
R.string.action_remove_favorite
).setIcon(R.drawable.ic_star_yellow_24dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
} else {
menu.add(
Menu.NONE,
MENU_ACTION_FAVORITE_REMOVE_FAVORITE,
Menu.NONE,
R.string.action_favorite
).setIcon(R.drawable.ic_star_border_white_24dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
}
}
internal fun ChatDetailsFragment.setOnMenuItemClickListener(item: MenuItem) {
if (item.itemId == MENU_ACTION_FAVORITE_REMOVE_FAVORITE) {
presenter.toggleFavoriteChatRoom(
chatRoomId,
isFavorite
)
} else if (item.itemId == MENU_ACTION_VIDEO_CALL) {
// TODO
}
}
...@@ -45,7 +45,7 @@ class MessageInfoActivity : AppCompatActivity(), HasSupportFragmentInjector { ...@@ -45,7 +45,7 @@ class MessageInfoActivity : AppCompatActivity(), HasSupportFragmentInjector {
} }
private fun setupToolbar() { private fun setupToolbar() {
text_room_name.textContent = getString(R.string.message_information_title) text_toolbar_title.textContent = getString(R.string.message_information_title)
setSupportActionBar(toolbar) setSupportActionBar(toolbar)
supportActionBar?.setDisplayShowTitleEnabled(false) supportActionBar?.setDisplayShowTitleEnabled(false)
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp) toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white_24dp)
......
...@@ -51,6 +51,7 @@ class ChatRoomNavigator(internal val activity: ChatRoomActivity) { ...@@ -51,6 +51,7 @@ class ChatRoomNavigator(internal val activity: ChatRoomActivity) {
chatRoomId: String, chatRoomId: String,
chatRoomType: String, chatRoomType: String,
isChatRoomSubscribed: Boolean, isChatRoomSubscribed: Boolean,
isChatRoomFavorite: Boolean,
isMenuDisabled: Boolean isMenuDisabled: Boolean
) { ) {
activity.addFragmentBackStack(TAG_CHAT_DETAILS_FRAGMENT, R.id.fragment_container) { activity.addFragmentBackStack(TAG_CHAT_DETAILS_FRAGMENT, R.id.fragment_container) {
...@@ -58,6 +59,7 @@ class ChatRoomNavigator(internal val activity: ChatRoomActivity) { ...@@ -58,6 +59,7 @@ class ChatRoomNavigator(internal val activity: ChatRoomActivity) {
chatRoomId, chatRoomId,
chatRoomType, chatRoomType,
isChatRoomSubscribed, isChatRoomSubscribed,
isChatRoomFavorite,
isMenuDisabled isMenuDisabled
) )
} }
......
...@@ -889,32 +889,14 @@ class ChatRoomPresenter @Inject constructor( ...@@ -889,32 +889,14 @@ class ChatRoomPresenter @Inject constructor(
} }
} }
fun toggleFavoriteChatRoom(roomId: String, isFavorite: Boolean) {
launchUI(strategy) {
try {
// Note that if it is favorite then the user wants to unfavorite - and vice versa.
retryIO("favorite($roomId, $isFavorite)") {
client.favorite(roomId, !isFavorite)
}
view.showFavoriteIcon(!isFavorite)
} catch (e: RocketChatException) {
Timber.e(e, "Error while trying to favorite/unfavorite chat room.")
e.message?.let {
view.showMessage(it)
}.ifNull {
view.showGenericErrorMessage()
}
}
}
}
fun toChatDetails( fun toChatDetails(
chatRoomId: String, chatRoomId: String,
chatRoomType: String, chatRoomType: String,
isSubscribed: Boolean, isSubscribed: Boolean,
isFavorite: Boolean,
isMenuDisabled: Boolean isMenuDisabled: Boolean
) { ) {
navigator.toChatDetails(chatRoomId, chatRoomType, isSubscribed, isMenuDisabled) navigator.toChatDetails(chatRoomId, chatRoomType, isSubscribed, isFavorite, isMenuDisabled)
} }
fun loadChatRoomsSuggestions() { fun loadChatRoomsSuggestions() {
......
...@@ -13,13 +13,6 @@ import chat.rocket.core.model.ChatRoom ...@@ -13,13 +13,6 @@ import chat.rocket.core.model.ChatRoom
interface ChatRoomView : LoadingView, MessageView { interface ChatRoomView : LoadingView, MessageView {
/**
* Shows the Favorite/Unfavorite chat room icon.
*
* @param isFavorite Shows the favorite icon if true, otherwise shows the unfavorite icon.
*/
fun showFavoriteIcon(isFavorite: Boolean)
/** /**
* Shows the chat room messages. * Shows the chat room messages.
* *
......
...@@ -4,16 +4,15 @@ import DrawableHelper ...@@ -4,16 +4,15 @@ import DrawableHelper
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import androidx.fragment.app.Fragment import android.view.View
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import chat.rocket.android.R import chat.rocket.android.R
import chat.rocket.android.chatroom.presentation.ChatRoomNavigator import chat.rocket.android.chatroom.presentation.ChatRoomNavigator
import chat.rocket.android.server.domain.GetCurrentServerInteractor import chat.rocket.android.server.domain.GetCurrentServerInteractor
import chat.rocket.android.server.infraestructure.ConnectionManagerFactory import chat.rocket.android.server.infraestructure.ConnectionManagerFactory
import chat.rocket.android.util.extensions.addFragment import chat.rocket.android.util.extensions.addFragment
import chat.rocket.android.util.extensions.textContent import chat.rocket.android.util.extensions.textContent
import chat.rocket.common.model.RoomType
import chat.rocket.common.model.roomTypeOf
import dagger.android.AndroidInjection import dagger.android.AndroidInjection
import dagger.android.AndroidInjector import dagger.android.AndroidInjector
import dagger.android.DispatchingAndroidInjector import dagger.android.DispatchingAndroidInjector
...@@ -58,7 +57,6 @@ private const val INTENT_CHAT_ROOM_MESSAGE = "chat_room_message" ...@@ -58,7 +57,6 @@ private const val INTENT_CHAT_ROOM_MESSAGE = "chat_room_message"
class ChatRoomActivity : AppCompatActivity(), HasSupportFragmentInjector { class ChatRoomActivity : AppCompatActivity(), HasSupportFragmentInjector {
@Inject @Inject
lateinit var fragmentDispatchingAndroidInjector: DispatchingAndroidInjector<Fragment> lateinit var fragmentDispatchingAndroidInjector: DispatchingAndroidInjector<Fragment>
// TODO - workaround for now... We will move to a single activity // TODO - workaround for now... We will move to a single activity
@Inject @Inject
lateinit var serverInteractor: GetCurrentServerInteractor lateinit var serverInteractor: GetCurrentServerInteractor
...@@ -136,31 +134,21 @@ class ChatRoomActivity : AppCompatActivity(), HasSupportFragmentInjector { ...@@ -136,31 +134,21 @@ class ChatRoomActivity : AppCompatActivity(), HasSupportFragmentInjector {
toolbar.setNavigationOnClickListener { finishActivity() } toolbar.setNavigationOnClickListener { finishActivity() }
} }
fun showToolbarTitle(title: String) { fun setupToolbarTitle(title: String) {
text_room_name.textContent = title text_toolbar_title.textContent = title
} }
fun showToolbarChatRoomIcon(chatRoomType: String) { fun setupExpandMoreForToolbar(listener: (View) -> Unit) {
val drawable = when (roomTypeOf(chatRoomType)) { DrawableHelper.compoundRightDrawable(
is RoomType.Channel -> { text_toolbar_title,
DrawableHelper.getDrawableFromId(R.drawable.ic_hashtag_black_12dp, this) DrawableHelper.getDrawableFromId(R.drawable.ic_chatroom_toolbar_expand_more_20dp, this)
} )
is RoomType.PrivateGroup -> { text_toolbar_title.setOnClickListener { listener(it) }
DrawableHelper.getDrawableFromId(R.drawable.ic_lock_black_12_dp, this)
}
else -> null
}
drawable?.let {
val wrappedDrawable = DrawableHelper.wrapDrawable(it)
val mutableDrawable = wrappedDrawable.mutate()
DrawableHelper.tintDrawable(mutableDrawable, this, R.color.colorWhite)
DrawableHelper.compoundDrawable(text_room_name, mutableDrawable)
}
} }
fun hideToolbarChatRoomIcon() { fun hideExpandMoreForToolbar() {
text_room_name.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0) text_toolbar_title.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0)
text_toolbar_title.setOnClickListener(null)
} }
private fun finishActivity() { private fun finishActivity() {
......
...@@ -142,9 +142,6 @@ private const val BUNDLE_CHAT_ROOM_IS_CREATOR = "chat_room_is_creator" ...@@ -142,9 +142,6 @@ private const val BUNDLE_CHAT_ROOM_IS_CREATOR = "chat_room_is_creator"
private const val BUNDLE_CHAT_ROOM_IS_FAVORITE = "chat_room_is_favorite" private const val BUNDLE_CHAT_ROOM_IS_FAVORITE = "chat_room_is_favorite"
private const val BUNDLE_CHAT_ROOM_MESSAGE = "chat_room_message" private const val BUNDLE_CHAT_ROOM_MESSAGE = "chat_room_message"
internal const val MENU_ACTION_FAVORITE_UNFAVOURITE_CHAT = 1
internal const val MENU_ACTION_SHOW_DETAILS = 2
class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiReactionListener, class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiReactionListener,
ChatRoomAdapter.OnActionSelected, Drawable.Callback { ChatRoomAdapter.OnActionSelected, Drawable.Callback {
@Inject @Inject
...@@ -307,8 +304,10 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -307,8 +304,10 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
setupSuggestionsView() setupSuggestionsView()
setupActionSnackbar() setupActionSnackbar()
with(activity as ChatRoomActivity) { with(activity as ChatRoomActivity) {
showToolbarTitle(chatRoomName) setupToolbarTitle(chatRoomName)
showToolbarChatRoomIcon(chatRoomType) setupExpandMoreForToolbar {
presenter.toChatDetails(chatRoomId, chatRoomType, isSubscribed, isFavorite, disableMenu)
}
} }
getDraftMessage() getDraftMessage()
subscribeComposeTextMessage() subscribeComposeTextMessage()
...@@ -364,15 +363,6 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -364,15 +363,6 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
super.onPrepareOptionsMenu(menu) super.onPrepareOptionsMenu(menu)
} }
override fun onOptionsItemSelected(item: MenuItem): Boolean {
setOnMenuItemClickListener(item)
return true
}
override fun showFavoriteIcon(isFavorite: Boolean) {
this.isFavorite = isFavorite
activity?.invalidateOptionsMenu()
}
override fun showMessages(dataSet: List<BaseUiModel<*>>, clearDataSet: Boolean) { override fun showMessages(dataSet: List<BaseUiModel<*>>, clearDataSet: Boolean) {
ui { ui {
...@@ -1060,7 +1050,7 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -1060,7 +1050,7 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
private fun setupToolbar(toolbarTitle: String) { private fun setupToolbar(toolbarTitle: String) {
with(activity as ChatRoomActivity) { with(activity as ChatRoomActivity) {
this.clearLightStatusBar() this.clearLightStatusBar()
this.showToolbarTitle(toolbarTitle) this.setupToolbarTitle(toolbarTitle)
toolbar.isVisible = true toolbar.isVisible = true
} }
} }
......
...@@ -11,23 +11,6 @@ import chat.rocket.android.util.extension.onQueryTextListener ...@@ -11,23 +11,6 @@ import chat.rocket.android.util.extension.onQueryTextListener
internal fun ChatRoomFragment.setupMenu(menu: Menu) { internal fun ChatRoomFragment.setupMenu(menu: Menu) {
setupSearchMessageMenuItem(menu, requireContext()) setupSearchMessageMenuItem(menu, requireContext())
setupFavoriteMenuItem(menu)
setupDetailsMenuItem(menu)
}
internal fun ChatRoomFragment.setOnMenuItemClickListener(item: MenuItem) {
when (item.itemId) {
MENU_ACTION_FAVORITE_UNFAVOURITE_CHAT -> presenter.toggleFavoriteChatRoom(
chatRoomId,
isFavorite
)
MENU_ACTION_SHOW_DETAILS -> presenter.toChatDetails(
chatRoomId,
chatRoomType,
isSubscribed,
disableMenu
)
}
} }
private fun ChatRoomFragment.setupSearchMessageMenuItem(menu: Menu, context: Context) { private fun ChatRoomFragment.setupSearchMessageMenuItem(menu: Menu, context: Context) {
...@@ -37,7 +20,7 @@ private fun ChatRoomFragment.setupSearchMessageMenuItem(menu: Menu, context: Con ...@@ -37,7 +20,7 @@ private fun ChatRoomFragment.setupSearchMessageMenuItem(menu: Menu, context: Con
Menu.NONE, Menu.NONE,
R.string.title_search_message R.string.title_search_message
).setActionView(SearchView(context)) ).setActionView(SearchView(context))
.setIcon(R.drawable.ic_search_white_24dp) .setIcon(R.drawable.ic_chatroom_toolbar_magnifier_20dp)
.setShowAsActionFlags( .setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_IF_ROOM or MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW MenuItem.SHOW_AS_ACTION_IF_ROOM or MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
) )
...@@ -53,7 +36,7 @@ private fun ChatRoomFragment.setupSearchMessageMenuItem(menu: Menu, context: Con ...@@ -53,7 +36,7 @@ private fun ChatRoomFragment.setupSearchMessageMenuItem(menu: Menu, context: Con
} }
}) })
(searchItem?.actionView as? SearchView)?.let { (searchItem.actionView as? SearchView)?.let {
// TODO: Check why we need to stylize the search text programmatically instead of by defining it in the styles.xml (ChatRoom.SearchView) // TODO: Check why we need to stylize the search text programmatically instead of by defining it in the styles.xml (ChatRoom.SearchView)
stylizeSearchView(it, context) stylizeSearchView(it, context)
setupSearchViewTextListener(it) setupSearchViewTextListener(it)
...@@ -82,33 +65,3 @@ private fun ChatRoomFragment.setupSearchViewTextListener(searchView: SearchView) ...@@ -82,33 +65,3 @@ private fun ChatRoomFragment.setupSearchViewTextListener(searchView: SearchView)
} }
} }
} }
private fun ChatRoomFragment.setupFavoriteMenuItem(menu: Menu) {
if (isFavorite) {
menu.add(
Menu.NONE,
MENU_ACTION_FAVORITE_UNFAVOURITE_CHAT,
Menu.NONE,
R.string.title_unfavorite_chat
).setIcon(R.drawable.ic_star_yellow_24dp)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
} else {
menu.add(
Menu.NONE,
MENU_ACTION_FAVORITE_UNFAVOURITE_CHAT,
Menu.NONE,
R.string.title_favorite_chat
).setIcon(R.drawable.ic_star_border_white_24dp)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
}
}
private fun ChatRoomFragment.setupDetailsMenuItem(menu: Menu) {
menu.add(
Menu.NONE,
MENU_ACTION_SHOW_DETAILS,
Menu.NONE,
R.string.title_channel_details
).setIcon(R.drawable.ic_info_outline_white_24dp)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
}
\ No newline at end of file
...@@ -115,6 +115,6 @@ class FavoriteMessagesFragment : Fragment(), FavoriteMessagesView { ...@@ -115,6 +115,6 @@ class FavoriteMessagesFragment : Fragment(), FavoriteMessagesView {
} }
private fun setupToolbar() { private fun setupToolbar() {
(activity as ChatRoomActivity).showToolbarTitle(getString(R.string.title_favorite_messages)) (activity as ChatRoomActivity).setupToolbarTitle(getString(R.string.title_favorite_messages))
} }
} }
\ No newline at end of file
...@@ -152,7 +152,7 @@ class FilesFragment : Fragment(), FilesView { ...@@ -152,7 +152,7 @@ class FilesFragment : Fragment(), FilesView {
} }
private fun setupToolbar(totalFiles: Long) { private fun setupToolbar(totalFiles: Long) {
(activity as ChatRoomActivity).showToolbarTitle( (activity as ChatRoomActivity).setupToolbarTitle(
(getString( (getString(
R.string.title_files_total, R.string.title_files_total,
totalFiles totalFiles
......
...@@ -136,9 +136,9 @@ class MembersFragment : Fragment(), MembersView { ...@@ -136,9 +136,9 @@ class MembersFragment : Fragment(), MembersView {
private fun setupToolbar(totalMembers: Long? = null) { private fun setupToolbar(totalMembers: Long? = null) {
with((activity as ChatRoomActivity)) { with((activity as ChatRoomActivity)) {
if (totalMembers != null) { if (totalMembers != null) {
showToolbarTitle((getString(R.string.title_counted_members, totalMembers))) setupToolbarTitle((getString(R.string.title_counted_members, totalMembers)))
} else { } else {
showToolbarTitle((getString(R.string.title_members))) setupToolbarTitle((getString(R.string.title_members)))
} }
this.clearLightStatusBar() this.clearLightStatusBar()
toolbar.isVisible = true toolbar.isVisible = true
......
...@@ -121,6 +121,6 @@ class MentionsFragment : Fragment(), MentionsView { ...@@ -121,6 +121,6 @@ class MentionsFragment : Fragment(), MentionsView {
} }
private fun setupToolbar() { private fun setupToolbar() {
(activity as ChatRoomActivity).showToolbarTitle((getString(R.string.msg_mentions))) (activity as ChatRoomActivity).setupToolbarTitle((getString(R.string.msg_mentions)))
} }
} }
\ No newline at end of file
...@@ -121,6 +121,6 @@ class PinnedMessagesFragment : Fragment(), PinnedMessagesView { ...@@ -121,6 +121,6 @@ class PinnedMessagesFragment : Fragment(), PinnedMessagesView {
} }
private fun setupToolbar() { private fun setupToolbar() {
(activity as ChatRoomActivity).showToolbarTitle((getString(R.string.title_pinned_messages))) (activity as ChatRoomActivity).setupToolbarTitle((getString(R.string.title_pinned_messages)))
} }
} }
\ No newline at end of file
...@@ -118,4 +118,7 @@ class UserDetailsPresenter @Inject constructor( ...@@ -118,4 +118,7 @@ class UserDetailsPresenter @Inject constructor(
} }
} }
} }
// TODO
fun startVideoCall() {}
} }
...@@ -104,6 +104,8 @@ class UserDetailsFragment : Fragment(), UserDetailsView { ...@@ -104,6 +104,8 @@ class UserDetailsFragment : Fragment(), UserDetailsView {
// We should also setup the user details listeners. // We should also setup the user details listeners.
text_message.setOnClickListener { presenter.createDirectMessage(username) } text_message.setOnClickListener { presenter.createDirectMessage(username) }
text_video_call.setOnClickListener { presenter.startVideoCall() }
} }
override fun showLoading() { override fun showLoading() {
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z" />
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:fillColor="#FFFFFFFF"
android:fillType="nonZero"
android:pathData="M14.748,13.572l3.752,3.752 -1.176,1.176 -3.752,-3.752a7.435,7.435 0,1 1,1.176 -1.176zM8.935,14.952a6.017,6.017 0,1 0,0 -12.034,6.017 6.017,0 0,0 0,12.035z" />
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="24dp" android:height="24dp"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:viewportWidth="24.0"> android:viewportHeight="24.0">
<path <path
android:fillColor="#FF000000" android:fillColor="#FF000000"
......
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z"/>
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:fillColor="#1d74f5"
android:fillType="evenOdd"
android:pathData="M16.538,13.564l-3.388,-1.09v-2.07l3.394,-1.085 -0.006,4.245zM11.696,14.56L3.454,14.56L3.454,8.32h8.242v6.24zM17.428,8.107c0.362,0.261 0.57,0.69 0.57,1.176v4.312c0,0.487 -0.209,0.914 -0.57,1.175a1.37,1.37 0,0 1,-0.808 0.254c-0.164,0 -0.331,-0.026 -0.498,-0.08l-2.972,-0.956L13.15,16L2,16L2,6.88h11.15v2.01l2.973,-0.956c0.468,-0.15 0.943,-0.087 1.305,0.173zM4.424,5.44L4.424,4h6.302v1.44L4.424,5.44z" />
</vector>
...@@ -17,16 +17,11 @@ ...@@ -17,16 +17,11 @@
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<TextView <TextView
android:id="@+id/text_room_name" android:id="@+id/text_toolbar_title"
style="@style/ChatRoom.ChatName.TextView"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:drawablePadding="@dimen/text_view_drawable_padding" tools:text="Product Team" />
android:ellipsize="end"
android:maxLines="1"
android:textColor="@color/colorWhite"
android:textSize="18sp"
android:textStyle="bold"
tools:text="general" />
</androidx.appcompat.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:background="@color/whitesmoke"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:background="@color/whitesmoke">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:background="@color/colorWhite"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:padding="15dp"> android:background="@color/colorWhite"
android:padding="16dp">
<TextView <TextView
android:id="@+id/name" android:id="@+id/name"
style="@style/ChatDetails.Title.TextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:text="#important" />
<TextView
android:id="@+id/title_description"
style="@style/ChatDetails.Title.TextView" style="@style/ChatDetails.Title.TextView"
android:drawablePadding="@dimen/text_view_drawable_padding" android:layout_width="match_parent"
tools:text="#important"/> android:layout_height="wrap_content"
android:layout_below="@+id/name"
android:layout_marginTop="20dp"
android:text="@string/title_description" />
<TextView
android:id="@+id/content_description"
style="@style/ChatDetails.Content.TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/title_description"
android:text="@string/msg_no_description" />
<TextView <TextView
android:id="@+id/title_topic" android:id="@+id/title_topic"
style="@style/ChatDetails.Title.TextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/name" android:layout_below="@+id/content_description"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
style="@style/ChatDetails.Title.TextView"
android:text="@string/title_topic" /> android:text="@string/title_topic" />
<TextView <TextView
android:id="@+id/content_topic" android:id="@+id/content_topic"
style="@style/ChatDetails.Content.TextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/title_topic" android:layout_below="@+id/title_topic"
style="@style/ChatDetails.Content.TextView"
android:text="@string/msg_no_topic" /> android:text="@string/msg_no_topic" />
<TextView <TextView
android:id="@+id/title_announcement" android:id="@+id/title_announcement"
style="@style/ChatDetails.Title.TextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/content_topic" android:layout_below="@+id/content_topic"
android:layout_marginTop="15dp" android:layout_marginTop="20dp"
style="@style/ChatDetails.Title.TextView"
android:text="@string/title_announcement" /> android:text="@string/title_announcement" />
<TextView <TextView
android:id="@+id/content_announcement" android:id="@+id/content_announcement"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_announcement"
style="@style/ChatDetails.Content.TextView" style="@style/ChatDetails.Content.TextView"
android:text="@string/msg_no_announcement" />
<TextView
android:id="@+id/title_description"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/content_announcement" android:layout_below="@+id/title_announcement"
android:layout_marginTop="15dp" android:text="@string/msg_no_announcement" />
style="@style/ChatDetails.Title.TextView"
android:text="@string/title_description" />
<TextView
android:id="@+id/content_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_description"
android:layout_marginBottom="10dp"
style="@style/ChatDetails.Content.TextView"
android:text="@string/msg_no_description" />
</RelativeLayout> </RelativeLayout>
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/options" android:id="@+id/options"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent" />
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
\ No newline at end of file
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@android:color/white"> android:background="@android:color/white"
android:paddingBottom="@dimen/screen_edge_left_and_right_margins">
<ImageView <ImageView
android:id="@+id/image_blur" android:id="@+id/image_blur"
...@@ -66,10 +67,22 @@ ...@@ -66,10 +67,22 @@
android:layout_marginTop="24dp" android:layout_marginTop="24dp"
android:drawableTop="@drawable/ic_message_24dp" android:drawableTop="@drawable/ic_message_24dp"
android:text="@string/msg_message" android:text="@string/msg_message"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toStartOf="@+id/text_video_call"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_username" /> app:layout_constraintTop_toBottomOf="@+id/text_username" />
<TextView
android:id="@+id/text_video_call"
style="@style/UserDetails.TextView.Actions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:drawableTop="@drawable/ic_video_24dp"
android:text="@string/msg_video_call"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/text_message"
app:layout_constraintTop_toBottomOf="@+id/text_username" />
<TextView <TextView
android:id="@+id/text_title_status" android:id="@+id/text_title_status"
style="@style/UserDetails.TextView.Title" style="@style/UserDetails.TextView.Title"
......
...@@ -62,6 +62,8 @@ ...@@ -62,6 +62,8 @@
<string name="action_register">Registrieren</string> <string name="action_register">Registrieren</string>
<string name="action_confirm">Bestätigen</string> <string name="action_confirm">Bestätigen</string>
<string name="action_delete_account">Konto löschen</string> <string name="action_delete_account">Konto löschen</string>
<string name="action_favorite">Favorite</string> <!-- TODO Add translation -->
<string name="action_remove_favorite">Remove favorite</string> <!-- TODO Add translation -->
<!-- Settings List --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -97,6 +99,7 @@ ...@@ -97,6 +99,7 @@
<string name="msg_yesterday">Gestern</string> <string name="msg_yesterday">Gestern</string>
<string name="msg_today">Heute</string> <string name="msg_today">Heute</string>
<string name="msg_message">Nachricht</string> <string name="msg_message">Nachricht</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Dieser Raum ist nur lesen</string> <string name="msg_this_room_is_read_only">Dieser Raum ist nur lesen</string>
<string name="msg_invalid_2fa_code">Falscher 2FA Code</string> <string name="msg_invalid_2fa_code">Falscher 2FA Code</string>
<string name="msg_invalid_file">Falsche Datei</string> <string name="msg_invalid_file">Falsche Datei</string>
...@@ -164,9 +167,9 @@ ...@@ -164,9 +167,9 @@
<string name="msg_two_factor_authentication">Zwei-Faktor-Authentifizierung</string> <string name="msg_two_factor_authentication">Zwei-Faktor-Authentifizierung</string>
<string name="msg__your_2fa_code">Wie lautet Ihr F2A Code?</string> <string name="msg__your_2fa_code">Wie lautet Ihr F2A Code?</string>
<string name="msg_muted_on_this_channel">Sie sind auf diesem Kanal stummgeschaltet</string> <string name="msg_muted_on_this_channel">Sie sind auf diesem Kanal stummgeschaltet</string>
<string name="msg_no_topic">Kein Thema hinzugefügt</string> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">Keine Ankündigung hinzugefügt</string> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">Keine Beschreibung hinzugefügt</string> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">Änderung des Passworts nicht möglich. Fehlermeldung: %1$s</string> <string name="msg_unable_to_update_password">Änderung des Passworts nicht möglich. Fehlermeldung: %1$s</string>
<string name="msg_password_updated_successfully">Passwort erfolgreich geändert</string> <string name="msg_password_updated_successfully">Passwort erfolgreich geändert</string>
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -244,10 +247,6 @@ ...@@ -244,10 +247,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Suche Nachricht</string> <string name="title_search_message">Suche Nachricht</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Chat favorisieren</string>
<string name="title_unfavorite_chat">Chat nicht favorisieren</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Benutzer</string> <string name="title_members_list">Benutzer</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Register</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_confirm">Confirm</string> <!-- TODO Add translation -->
<string name="action_delete_account">Delete account</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">Ayer</string> <string name="msg_yesterday">Ayer</string>
<string name="msg_today">Hoy</string> <string name="msg_today">Hoy</string>
<string name="msg_message">Mensaje</string> <string name="msg_message">Mensaje</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Esta sala es de solo lectura</string> <string name="msg_this_room_is_read_only">Esta sala es de solo lectura</string>
<string name="msg_invalid_2fa_code">Código 2FA no válido</string> <string name="msg_invalid_2fa_code">Código 2FA no válido</string>
<string name="msg_invalid_file">Archivo inválido</string> <string name="msg_invalid_file">Archivo inválido</string>
...@@ -176,9 +179,9 @@ ...@@ -176,9 +179,9 @@
<string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation --> <string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation -->
<string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation --> <string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation -->
<string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation --> <string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation -->
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation --> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation -->
<string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation --> <string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -235,10 +238,6 @@ ...@@ -235,10 +238,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Búsqueda de mensajes</string> <string name="title_search_message">Búsqueda de mensajes</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Chat favorito</string>
<string name="title_unfavorite_chat">Deshacer chat favorito</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Miembros</string> <string name="title_members_list">Miembros</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">ثبت‌نام</string> <string name="action_register">ثبت‌نام</string>
<string name="action_confirm">تایید</string> <string name="action_confirm">تایید</string>
<string name="action_delete_account">حذف حساب کاربری</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">دیروز</string> <string name="msg_yesterday">دیروز</string>
<string name="msg_today">امروز</string> <string name="msg_today">امروز</string>
<string name="msg_message">پیام</string> <string name="msg_message">پیام</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">این اتاق فقط خواندنی است</string> <string name="msg_this_room_is_read_only">این اتاق فقط خواندنی است</string>
<string name="msg_invalid_2fa_code">Invalid 2FA Code</string> <!-- TODO Add translation --> <string name="msg_invalid_2fa_code">Invalid 2FA Code</string> <!-- TODO Add translation -->
<string name="msg_invalid_file">پرونده‌ی نامعتبر</string> <string name="msg_invalid_file">پرونده‌ی نامعتبر</string>
...@@ -161,9 +164,9 @@ ...@@ -161,9 +164,9 @@
<string name="msg_two_factor_authentication">تایید هویت دو فاکتوره</string> <string name="msg_two_factor_authentication">تایید هویت دو فاکتوره</string>
<string name="msg__your_2fa_code">کد 2FA تان چیست؟</string> <string name="msg__your_2fa_code">کد 2FA تان چیست؟</string>
<string name="msg_permalink_copied">پیوند کپی شد</string> <string name="msg_permalink_copied">پیوند کپی شد</string>
<string name="msg_no_topic">هیچ موضوعی اضافه نشد</string> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">هیچ اعلانی اضافه نشد</string> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">هیچ توضیحی اضافه نشد</string> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_send_email">ارسال ایمیل</string> <string name="msg_send_email">ارسال ایمیل</string>
<string name="msg_android_app_support">حمایت از اپ اندروید</string> <string name="msg_android_app_support">حمایت از اپ اندروید</string>
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO Add translation --> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO Add translation -->
...@@ -238,10 +241,6 @@ ...@@ -238,10 +241,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">جست‌وجوی پیام</string> <string name="title_search_message">جست‌وجوی پیام</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">مورد علاقه کردن گفت‌وگو</string>
<string name="title_unfavorite_chat">از مورد علاقه دراوردن گفت‌وگو</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">اعضاء</string> <string name="title_members_list">اعضاء</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Register</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_confirm">Confirm</string> <!-- TODO Add translation -->
<string name="action_delete_account">Delete account</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">Hier</string> <string name="msg_yesterday">Hier</string>
<string name="msg_today">Aujourd\'hui</string> <string name="msg_today">Aujourd\'hui</string>
<string name="msg_message">Message</string> <string name="msg_message">Message</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Ce salon est en lecture seule</string> <string name="msg_this_room_is_read_only">Ce salon est en lecture seule</string>
<string name="msg_invalid_2fa_code">Code 2FA non valide</string> <string name="msg_invalid_2fa_code">Code 2FA non valide</string>
<string name="msg_invalid_file">Fichier non valide</string> <string name="msg_invalid_file">Fichier non valide</string>
...@@ -167,9 +170,9 @@ ...@@ -167,9 +170,9 @@
<string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation --> <string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation -->
<string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation --> <string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation -->
<string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation --> <string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation -->
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation --> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation -->
<string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation --> <string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -239,10 +242,6 @@ ...@@ -239,10 +242,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Rechercher message</string> <string name="title_search_message">Rechercher message</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Mettre chat en favori</string>
<string name="title_unfavorite_chat">Retirer chat des favoris</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Membres</string> <string name="title_members_list">Membres</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">रजिस्टर</string> <string name="action_register">रजिस्टर</string>
<string name="action_confirm">पुष्टि करें</string> <string name="action_confirm">पुष्टि करें</string>
<string name="action_delete_account">खाता हटा दो</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">कल</string> <string name="msg_yesterday">कल</string>
<string name="msg_today">आज</string> <string name="msg_today">आज</string>
<string name="msg_message">संदेश</string> <string name="msg_message">संदेश</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">यह रूम केवल पढ़ने के लिए है</string> <string name="msg_this_room_is_read_only">यह रूम केवल पढ़ने के लिए है</string>
<string name="msg_invalid_2fa_code">अमान्य 2FA कोड</string> <string name="msg_invalid_2fa_code">अमान्य 2FA कोड</string>
<string name="msg_invalid_file">अवैध फाइल</string> <string name="msg_invalid_file">अवैध फाइल</string>
...@@ -181,9 +184,9 @@ ...@@ -181,9 +184,9 @@
<string name="msg_send_email">ईमेल भेजें</string> <string name="msg_send_email">ईमेल भेजें</string>
<string name="msg_android_app_support">एंड्रॉइड ऐप समर्थन</string> <string name="msg_android_app_support">एंड्रॉइड ऐप समर्थन</string>
<string name="msg_muted_on_this_channel">आप इस चैनल पर म्यूट कर रहे हैं</string> <string name="msg_muted_on_this_channel">आप इस चैनल पर म्यूट कर रहे हैं</string>
<string name="msg_no_topic">कोई विषय नहीं जोड़ा गया</string> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">कोई घोषणा नहीं जोड़ा गया</string> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">कोई विवरण नहीं जोड़ा गया</string> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">पासवर्ड अपडेट करने में असमर्थ। त्रुटि संदेश: %1$s</string> <string name="msg_unable_to_update_password">पासवर्ड अपडेट करने में असमर्थ। त्रुटि संदेश: %1$s</string>
<string name="msg_password_updated_successfully">पासवर्ड सफलतापूर्वक अपडेट किया गया</string> <string name="msg_password_updated_successfully">पासवर्ड सफलतापूर्वक अपडेट किया गया</string>
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -239,10 +242,6 @@ ...@@ -239,10 +242,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">संदेश खोजें</string> <string name="title_search_message">संदेश खोजें</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">पसंदीदा चैट</string>
<string name="title_unfavorite_chat">नापसंद चैट</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">सदस्य</string> <string name="title_members_list">सदस्य</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Registra</string> <string name="action_register">Registra</string>
<string name="action_confirm">Conferma</string> <string name="action_confirm">Conferma</string>
<string name="action_delete_account">Elimina utente</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">Ieri</string> <string name="msg_yesterday">Ieri</string>
<string name="msg_today">Oggi</string> <string name="msg_today">Oggi</string>
<string name="msg_message">Messaggio</string> <string name="msg_message">Messaggio</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Questa stanza è di sola lettura</string> <string name="msg_this_room_is_read_only">Questa stanza è di sola lettura</string>
<string name="msg_invalid_2fa_code">Invalido Codice 2FA non valido</string> <string name="msg_invalid_2fa_code">Invalido Codice 2FA non valido</string>
<string name="msg_invalid_file">Documento non valido</string> <string name="msg_invalid_file">Documento non valido</string>
...@@ -158,9 +161,9 @@ ...@@ -158,9 +161,9 @@
<string name="msg_two_factor_authentication">Autenticazione a 2 fattori (2FA)</string> <string name="msg_two_factor_authentication">Autenticazione a 2 fattori (2FA)</string>
<string name="msg__your_2fa_code">Qual è il tuo codice 2FA ?</string> <string name="msg__your_2fa_code">Qual è il tuo codice 2FA ?</string>
<string name="msg_permalink_copied">Permalink copiato</string> <string name="msg_permalink_copied">Permalink copiato</string>
<string name="msg_no_topic">Nessun argomento aggiunto</string> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">Nessun annuncio aggiunto</string> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">Nessuna descrizione aggiunta</string> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_send_email">Invia una email</string> <string name="msg_send_email">Invia una email</string>
<string name="msg_android_app_support">Supporto per le app Android</string> <string name="msg_android_app_support">Supporto per le app Android</string>
<string name="msg_unable_to_update_password">Impossibile aggiornare la password. Messaggio di errore: %1$s</string> <string name="msg_unable_to_update_password">Impossibile aggiornare la password. Messaggio di errore: %1$s</string>
...@@ -235,10 +238,6 @@ ...@@ -235,10 +238,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Cerca messaggio</string> <string name="title_search_message">Cerca messaggio</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Stanza preferita</string>
<string name="title_unfavorite_chat">Stanza normale</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Partecipanti</string> <string name="title_members_list">Partecipanti</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">登録</string> <string name="action_register">登録</string>
<string name="action_confirm">確認</string> <string name="action_confirm">確認</string>
<string name="action_delete_account">アカウントを削除する</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_today">今日</string> <string name="msg_today">今日</string>
<string name="msg_yesterday">昨日</string> <string name="msg_yesterday">昨日</string>
<string name="msg_message">メッセージ</string> <string name="msg_message">メッセージ</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">この部屋は読み取り専用です</string> <string name="msg_this_room_is_read_only">この部屋は読み取り専用です</string>
<string name="msg_invalid_2fa_code">無効な 2FA コード</string> <string name="msg_invalid_2fa_code">無効な 2FA コード</string>
<string name="msg_invalid_file">無効なファイル</string> <string name="msg_invalid_file">無効なファイル</string>
...@@ -163,9 +166,9 @@ ...@@ -163,9 +166,9 @@
<string name="msg_view_more">更に表示</string> <string name="msg_view_more">更に表示</string>
<string name="msg_view_less">隠す</string> <string name="msg_view_less">隠す</string>
<string name="msg_muted_on_this_channel">あなたはこのチャンネルでミュートされています</string> <string name="msg_muted_on_this_channel">あなたはこのチャンネルでミュートされています</string>
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation --> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation -->
<string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation --> <string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -238,10 +241,6 @@ ...@@ -238,10 +241,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">メッセージを検索</string> <string name="title_search_message">メッセージを検索</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">お気に入り</string>
<string name="title_unfavorite_chat">お気に入り解除</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">メンバー</string> <string name="title_members_list">メンバー</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Registrar</string> <string name="action_register">Registrar</string>
<string name="action_confirm">Confirmar</string> <string name="action_confirm">Confirmar</string>
<string name="action_delete_account">Deletar conta</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">Ontem</string> <string name="msg_yesterday">Ontem</string>
<string name="msg_today">Hoje</string> <string name="msg_today">Hoje</string>
<string name="msg_message">Mensagem</string> <string name="msg_message">Mensagem</string>
<string name="msg_video_call">Videochamada</string>
<string name="msg_this_room_is_read_only">Este chat é apenas de leitura</string> <string name="msg_this_room_is_read_only">Este chat é apenas de leitura</string>
<string name="msg_invalid_2fa_code">Código 2FA inválido</string> <string name="msg_invalid_2fa_code">Código 2FA inválido</string>
<string name="msg_invalid_file">Arquivo inválido</string> <string name="msg_invalid_file">Arquivo inválido</string>
...@@ -168,9 +171,9 @@ ...@@ -168,9 +171,9 @@
<string name="msg_send_email">Enviar e-mail</string> <string name="msg_send_email">Enviar e-mail</string>
<string name="msg_android_app_support">Suporte ao aplicativo Android</string> <string name="msg_android_app_support">Suporte ao aplicativo Android</string>
<string name="msg_muted_on_this_channel">Você está silenciado neste canal</string> <string name="msg_muted_on_this_channel">Você está silenciado neste canal</string>
<string name="msg_no_topic">Nenhum tópico adicionado</string> <string name="msg_no_topic">Nenhum tópico</string>
<string name="msg_no_announcement">Nenhum anúncio adicionado</string> <string name="msg_no_announcement">Nenhum anúncio</string>
<string name="msg_no_description">Nenhuma descrição adicionada</string> <string name="msg_no_description">Nenhuma descrição</string>
<string name="msg_unable_to_update_password">Não foi possível atualizar a senha. Mensagem de erro: %1$s</string> <string name="msg_unable_to_update_password">Não foi possível atualizar a senha. Mensagem de erro: %1$s</string>
<string name="msg_password_updated_successfully">Senha alterada com sucesso</string> <string name="msg_password_updated_successfully">Senha alterada com sucesso</string>
<string name="msg_sort">Ordenar</string> <string name="msg_sort">Ordenar</string>
...@@ -238,10 +241,6 @@ ...@@ -238,10 +241,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Procurar mensagem</string> <string name="title_search_message">Procurar mensagem</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Marcar canal como favorito</string>
<string name="title_unfavorite_chat">Desmarcar canal como favorito</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Membros</string> <string name="title_members_list">Membros</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Зарегистрировать</string> <string name="action_register">Зарегистрировать</string>
<string name="action_confirm">Подтвердить</string> <string name="action_confirm">Подтвердить</string>
<string name="action_delete_account">Удалить аккаунт</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">Вчера</string> <string name="msg_yesterday">Вчера</string>
<string name="msg_today">Сегодня</string> <string name="msg_today">Сегодня</string>
<string name="msg_message">Сообщение</string> <string name="msg_message">Сообщение</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Канал только для чтения</string> <string name="msg_this_room_is_read_only">Канал только для чтения</string>
<string name="msg_invalid_2fa_code">Неверный код 2FA</string> <string name="msg_invalid_2fa_code">Неверный код 2FA</string>
<string name="msg_invalid_file">Неверный файл</string> <string name="msg_invalid_file">Неверный файл</string>
...@@ -162,9 +165,9 @@ ...@@ -162,9 +165,9 @@
<string name="msg_view_more">больше</string> <string name="msg_view_more">больше</string>
<string name="msg_view_less">меньше</string> <string name="msg_view_less">меньше</string>
<string name="msg_permalink_copied">Ссылка скопирована</string> <string name="msg_permalink_copied">Ссылка скопирована</string>
<string name="msg_no_topic">Нет темы</string> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">Нет объявления</string> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">Нет описания</string> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_send_email">Отправить e-mail</string> <string name="msg_send_email">Отправить e-mail</string>
<string name="msg_android_app_support">Поддержка Android-приложения</string> <string name="msg_android_app_support">Поддержка Android-приложения</string>
<string name="msg_muted_on_this_channel">Вы лишены дара речи на этом канале</string> <string name="msg_muted_on_this_channel">Вы лишены дара речи на этом канале</string>
...@@ -235,10 +238,6 @@ ...@@ -235,10 +238,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Поиск сообщения</string> <string name="title_search_message">Поиск сообщения</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Добавить в избранное</string>
<string name="title_unfavorite_chat">Удалить из избранного</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Пользователи</string> <string name="title_members_list">Пользователи</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Register</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_confirm">Confirm</string> <!-- TODO Add translation -->
<string name="action_delete_account">Delete account</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">Dün</string> <string name="msg_yesterday">Dün</string>
<string name="msg_today">Bugün</string> <string name="msg_today">Bugün</string>
<string name="msg_message">Mesaj</string> <string name="msg_message">Mesaj</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Bu oda sadece okunabilir modundadır</string> <string name="msg_this_room_is_read_only">Bu oda sadece okunabilir modundadır</string>
<string name="msg_invalid_2fa_code">Geçersiz 2FA Kodu</string> <string name="msg_invalid_2fa_code">Geçersiz 2FA Kodu</string>
<string name="msg_invalid_file">Geçersiz dosya</string> <string name="msg_invalid_file">Geçersiz dosya</string>
...@@ -181,9 +184,9 @@ ...@@ -181,9 +184,9 @@
<string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation --> <string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation -->
<string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation --> <string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation -->
<string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation --> <string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation -->
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation --> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation -->
<string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation --> <string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -240,10 +243,6 @@ ...@@ -240,10 +243,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Mesajlarda arayın</string> <string name="title_search_message">Mesajlarda arayın</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Sohbeti favorilerime ekle</string>
<string name="title_unfavorite_chat">Sohbeti favorilerimden kaldır</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Üyeler</string> <string name="title_members_list">Üyeler</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">Register</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_confirm">Confirm</string> <!-- TODO Add translation -->
<string name="action_delete_account">Delete account</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -93,7 +95,8 @@ ...@@ -93,7 +95,8 @@
<string name="msg_new_user_agreement">Продовжуючи, ви погоджуєтеся з %1$s і %2$s</string> <string name="msg_new_user_agreement">Продовжуючи, ви погоджуєтеся з %1$s і %2$s</string>
<string name="msg_yesterday">Вчора</string> <string name="msg_yesterday">Вчора</string>
<string name="msg_today">Сьогодні</string> <string name="msg_today">Сьогодні</string>
<string name="msg_message">"Повідомлення "</string> <string name="msg_message">Повідомлення</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">Канал тільки для читання</string> <string name="msg_this_room_is_read_only">Канал тільки для читання</string>
<string name="msg_invalid_2fa_code">Неправильний код 2FA</string> <string name="msg_invalid_2fa_code">Неправильний код 2FA</string>
<string name="msg_invalid_file">Неправильний файл</string> <string name="msg_invalid_file">Неправильний файл</string>
...@@ -164,9 +167,9 @@ ...@@ -164,9 +167,9 @@
<string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation --> <string name="msg_send_email">Send email</string> <!-- TODO - Add proper translation -->
<string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation --> <string name="msg_android_app_support">Android app support</string> <!-- TODO - Add proper translation -->
<string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation --> <string name="msg_muted_on_this_channel">You are muted on this channel</string> <!-- TODO - Add proper translation -->
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation --> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <!-- TODO - Add proper translation -->
<string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation --> <string name="msg_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
...@@ -236,10 +239,6 @@ ...@@ -236,10 +239,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Пошук повідомлення</string> <string name="title_search_message">Пошук повідомлення</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Додати до обраного</string>
<string name="title_unfavorite_chat">Видалити з обраного</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Користувачі</string> <string name="title_members_list">Користувачі</string>
......
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
<string name="action_register">注册</string> <string name="action_register">注册</string>
<string name="action_confirm">确定</string> <string name="action_confirm">确定</string>
<string name="action_delete_account">删除账户</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -94,6 +96,7 @@ ...@@ -94,6 +96,7 @@
<string name="msg_yesterday">昨天</string> <string name="msg_yesterday">昨天</string>
<string name="msg_today">今天</string> <string name="msg_today">今天</string>
<string name="msg_message">消息</string> <string name="msg_message">消息</string>
<string name="msg_video_call">Video call</string> <!-- TODO Add translation -->
<string name="msg_this_room_is_read_only">这个频道只读</string> <string name="msg_this_room_is_read_only">这个频道只读</string>
<string name="msg_invalid_2fa_code">无效的2FA码</string> <string name="msg_invalid_2fa_code">无效的2FA码</string>
<string name="msg_invalid_file">无效文件</string> <string name="msg_invalid_file">无效文件</string>
...@@ -158,9 +161,9 @@ ...@@ -158,9 +161,9 @@
<string name="msg_two_factor_authentication">两步认证</string> <string name="msg_two_factor_authentication">两步认证</string>
<string name="msg__your_2fa_code">什么是2FA 码?</string> <string name="msg__your_2fa_code">什么是2FA 码?</string>
<string name="msg_permalink_copied">永久链接已拷贝</string> <string name="msg_permalink_copied">永久链接已拷贝</string>
<string name="msg_no_topic">没有添加主题</string> <string name="msg_no_topic">No topic</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">没有添加公告</string> <string name="msg_no_announcement">No announcement</string> <!-- TODO Add translation -->
<string name="msg_no_description">没有添加描述</string> <string name="msg_no_description">No description</string> <!-- TODO Add translation -->
<string name="msg_send_email">发送邮件</string> <string name="msg_send_email">发送邮件</string>
<string name="msg_android_app_support">安卓app支持</string> <string name="msg_android_app_support">安卓app支持</string>
<string name="msg_unable_to_update_password">无法更新密码,错误信息: %1$s</string> <string name="msg_unable_to_update_password">无法更新密码,错误信息: %1$s</string>
...@@ -235,10 +238,6 @@ ...@@ -235,10 +238,6 @@
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">搜索消息</string> <string name="title_search_message">搜索消息</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">收藏</string>
<string name="title_unfavorite_chat">取消收藏</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">成员</string> <string name="title_members_list">成员</string>
......
...@@ -71,6 +71,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin ...@@ -71,6 +71,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string name="action_register">Register</string> <string name="action_register">Register</string>
<string name="action_confirm">Confirm</string> <string name="action_confirm">Confirm</string>
<string name="action_delete_account">Delete account</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 --> <!-- Settings List -->
<string-array name="settings_actions"> <string-array name="settings_actions">
...@@ -107,6 +109,7 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin ...@@ -107,6 +109,7 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string name="msg_yesterday">Yesterday</string> <string name="msg_yesterday">Yesterday</string>
<string name="msg_today">Today</string> <string name="msg_today">Today</string>
<string name="msg_message">Message</string> <string name="msg_message">Message</string>
<string name="msg_video_call">Video call</string>
<string name="msg_this_room_is_read_only">This room is read only</string> <string name="msg_this_room_is_read_only">This room is read only</string>
<string name="msg_invalid_2fa_code">Invalid 2FA Code</string> <string name="msg_invalid_2fa_code">Invalid 2FA Code</string>
<string name="msg_invalid_file">Invalid file</string> <string name="msg_invalid_file">Invalid file</string>
...@@ -174,9 +177,9 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin ...@@ -174,9 +177,9 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string name="msg_two_factor_authentication">Two-factor Authentication</string> <string name="msg_two_factor_authentication">Two-factor Authentication</string>
<string name="msg__your_2fa_code">What’s your 2FA code?</string> <string name="msg__your_2fa_code">What’s your 2FA code?</string>
<string name="msg_permalink_copied">Permalink copied</string> <string name="msg_permalink_copied">Permalink copied</string>
<string name="msg_no_topic">No topic added</string> <string name="msg_no_topic">No topic</string>
<string name="msg_no_announcement">No announcement added</string> <string name="msg_no_announcement">No announcement</string>
<string name="msg_no_description">No description added</string> <string name="msg_no_description">No description</string>
<string name="msg_send_email">Send email</string> <string name="msg_send_email">Send email</string>
<string name="msg_android_app_support">Android app support</string> <string name="msg_android_app_support">Android app support</string>
<string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string> <string name="msg_unable_to_update_password">Unable to update password. Error message: %1$s</string>
...@@ -251,10 +254,6 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin ...@@ -251,10 +254,6 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<!-- Search message --> <!-- Search message -->
<string name="title_search_message">Search message</string> <string name="title_search_message">Search message</string>
<!-- Favorite/Unfavorite chat room -->
<string name="title_favorite_chat">Favorite chat</string>
<string name="title_unfavorite_chat">Unfavorite chat</string>
<!-- Members List --> <!-- Members List -->
<string name="title_members_list">Members</string> <string name="title_members_list">Members</string>
......
...@@ -155,6 +155,19 @@ ...@@ -155,6 +155,19 @@
</style> </style>
<!-- End chat list --> <!-- End chat list -->
<!-- Chat room -->
<style name="ChatRoom.ChatName.TextView" parent="TextAppearance.AppCompat">
<item name="android:textSize">20sp</item>
<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">@color/colorWhite</item>
<item name="android:drawableEnd">@drawable/ic_chatroom_toolbar_expand_more_20dp</item>
<item name="android:drawablePadding">4dp</item>
<item name="android:maxLines">1</item>
<item name="android:ellipsize">end</item>
</style>
<!-- End chat room -->
<!-- User details --> <!-- User details -->
<style name="UserDetails.TextView.Name" parent="TextAppearance.AppCompat"> <style name="UserDetails.TextView.Name" parent="TextAppearance.AppCompat">
<item name="android:textSize">18sp</item> <item name="android:textSize">18sp</item>
......
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