Unverified Commit dedac1fd authored by Filipe de Lima Brito's avatar Filipe de Lima Brito Committed by GitHub

Merge branch 'develop' into nullfix

parents 841bd2c8 03a40799
...@@ -198,8 +198,8 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR ...@@ -198,8 +198,8 @@ class ChatRoomFragment : Fragment(), ChatRoomView, EmojiKeyboardListener, EmojiR
private val dialogView by lazy { View.inflate(context, R.layout.file_attachments_dialog, null) } private val dialogView by lazy { View.inflate(context, R.layout.file_attachments_dialog, null) }
internal val alertDialog by lazy { AlertDialog.Builder(activity).setView(dialogView).create() } internal val alertDialog by lazy { AlertDialog.Builder(activity).setView(dialogView).create() }
internal val imagePreview by lazy { dialogView.findViewById<ImageView>(R.id.image_preview) } internal val imagePreview by lazy { dialogView.findViewById<ImageView>(R.id.image_preview) }
internal val sendButton by lazy { dialogView.findViewById<Button>(R.id.button_send) } internal val sendButton by lazy { dialogView.findViewById<android.widget.Button>(R.id.button_send) }
internal val cancelButton by lazy { dialogView.findViewById<Button>(R.id.button_cancel) } internal val cancelButton by lazy { dialogView.findViewById<android.widget.Button>(R.id.button_cancel) }
internal val description by lazy { dialogView.findViewById<EditText>(R.id.text_file_description) } internal val description by lazy { dialogView.findViewById<EditText>(R.id.text_file_description) }
internal val audioVideoAttachment by lazy { dialogView.findViewById<FrameLayout>(R.id.audio_video_attachment) } internal val audioVideoAttachment by lazy { dialogView.findViewById<FrameLayout>(R.id.audio_video_attachment) }
internal val textFile by lazy { dialogView.findViewById<TextView>(R.id.text_file_name) } internal val textFile by lazy { dialogView.findViewById<TextView>(R.id.text_file_name) }
......
...@@ -2,13 +2,13 @@ package chat.rocket.android.settings.password.presentation ...@@ -2,13 +2,13 @@ package chat.rocket.android.settings.password.presentation
import chat.rocket.android.analytics.AnalyticsManager import chat.rocket.android.analytics.AnalyticsManager
import chat.rocket.android.core.lifecycle.CancelStrategy import chat.rocket.android.core.lifecycle.CancelStrategy
import chat.rocket.android.helper.UserHelper
import chat.rocket.android.server.domain.GetCurrentServerInteractor import chat.rocket.android.server.domain.GetCurrentServerInteractor
import chat.rocket.android.server.infraestructure.RocketChatClientFactory import chat.rocket.android.server.infraestructure.RocketChatClientFactory
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.RocketChatException
import chat.rocket.core.RocketChatClient import chat.rocket.core.RocketChatClient
import chat.rocket.core.internal.rest.me
import chat.rocket.core.internal.rest.updateProfile import chat.rocket.core.internal.rest.updateProfile
import javax.inject.Inject import javax.inject.Inject
...@@ -16,6 +16,7 @@ class PasswordPresenter @Inject constructor( ...@@ -16,6 +16,7 @@ class PasswordPresenter @Inject constructor(
private val view: PasswordView, private val view: PasswordView,
private val strategy: CancelStrategy, private val strategy: CancelStrategy,
private val analyticsManager: AnalyticsManager, private val analyticsManager: AnalyticsManager,
private val userHelp: UserHelper,
serverInteractor: GetCurrentServerInteractor, serverInteractor: GetCurrentServerInteractor,
factory: RocketChatClientFactory factory: RocketChatClientFactory
) { ) {
...@@ -26,14 +27,13 @@ class PasswordPresenter @Inject constructor( ...@@ -26,14 +27,13 @@ class PasswordPresenter @Inject constructor(
launchUI(strategy) { launchUI(strategy) {
try { try {
view.showLoading() view.showLoading()
userHelp.user()?.id?.let { userId ->
val me = retryIO("me") { client.me() } retryIO("updateProfile()") {
retryIO("updateProfile(${me.id})") { client.updateProfile(userId, null, null, password, null)
client.updateProfile(me.id, null, null, password, null)
} }
analyticsManager.logResetPassword(true) analyticsManager.logResetPassword(true)
view.showPasswordSuccessfullyUpdatedMessage() view.showPasswordSuccessfullyUpdatedMessage()
}
} catch (exception: RocketChatException) { } catch (exception: RocketChatException) {
analyticsManager.logResetPassword(false) analyticsManager.logResetPassword(false)
view.showPasswordFailsUpdateMessage(exception.message) view.showPasswordFailsUpdateMessage(exception.message)
......
...@@ -6,7 +6,6 @@ import android.view.Menu ...@@ -6,7 +6,6 @@ import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast
import androidx.appcompat.view.ActionMode import androidx.appcompat.view.ActionMode
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import chat.rocket.android.R import chat.rocket.android.R
...@@ -16,6 +15,7 @@ import chat.rocket.android.settings.password.presentation.PasswordPresenter ...@@ -16,6 +15,7 @@ import chat.rocket.android.settings.password.presentation.PasswordPresenter
import chat.rocket.android.settings.password.presentation.PasswordView import chat.rocket.android.settings.password.presentation.PasswordView
import chat.rocket.android.util.extension.asObservable import chat.rocket.android.util.extension.asObservable
import chat.rocket.android.util.extensions.inflate import chat.rocket.android.util.extensions.inflate
import chat.rocket.android.util.extensions.showToast
import chat.rocket.android.util.extensions.textContent import chat.rocket.android.util.extensions.textContent
import chat.rocket.android.util.extensions.ui import chat.rocket.android.util.extensions.ui
import dagger.android.support.AndroidSupportInjection import dagger.android.support.AndroidSupportInjection
...@@ -33,7 +33,7 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback { ...@@ -33,7 +33,7 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback {
@Inject @Inject
lateinit var analyticsManager: AnalyticsManager lateinit var analyticsManager: AnalyticsManager
private var actionMode: ActionMode? = null private var actionMode: ActionMode? = null
private val disposables = CompositeDisposable() private val compositeDisposable = CompositeDisposable()
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
AndroidSupportInjection.inject(this) AndroidSupportInjection.inject(this)
...@@ -48,14 +48,12 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback { ...@@ -48,14 +48,12 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
compositeDisposable.add(listenToChanges())
disposables.add(listenToChanges())
analyticsManager.logScreenView(ScreenViewEvent.Password) analyticsManager.logScreenView(ScreenViewEvent.Password)
} }
override fun onDestroyView() { override fun onDestroyView() {
disposables.clear() compositeDisposable.clear()
super.onDestroyView() super.onDestroyView()
} }
...@@ -74,21 +72,19 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback { ...@@ -74,21 +72,19 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback {
mode.finish() mode.finish()
return true return true
} }
else -> { else -> false
false
}
} }
} }
override fun onCreateActionMode(mode: ActionMode, menu: Menu?): Boolean { override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean {
mode.menuInflater.inflate(R.menu.password, menu) mode.menuInflater.inflate(R.menu.password, menu)
mode.title = resources.getString(R.string.action_confirm_password) mode.title = resources.getString(R.string.action_confirm_password)
return true return true
} }
override fun onPrepareActionMode(mode: ActionMode?, menu: Menu?): Boolean = false override fun onPrepareActionMode(mode: ActionMode, menu: Menu?): Boolean = false
override fun onDestroyActionMode(mode: ActionMode?) { override fun onDestroyActionMode(mode: ActionMode) {
actionMode = null actionMode = null
} }
...@@ -101,11 +97,11 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback { ...@@ -101,11 +97,11 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback {
} }
override fun showPasswordFailsUpdateMessage(error: String?) { override fun showPasswordFailsUpdateMessage(error: String?) {
showToast("Password fails to update: " + error) showToast(getString(R.string.msg_unable_to_update_password, error))
} }
override fun showPasswordSuccessfullyUpdatedMessage() { override fun showPasswordSuccessfullyUpdatedMessage() {
showToast("Password was successfully updated!") showToast(R.string.msg_password_updated_successfully)
} }
private fun finishActionMode() = actionMode?.finish() private fun finishActionMode() = actionMode?.finish()
...@@ -115,23 +111,14 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback { ...@@ -115,23 +111,14 @@ class PasswordFragment : Fragment(), PasswordView, ActionMode.Callback {
text_new_password.asObservable(), text_new_password.asObservable(),
text_confirm_password.asObservable() text_confirm_password.asObservable()
).subscribe { ).subscribe {
val textPassword = text_new_password.textContent val newPassword = it.first.toString()
val textConfirmPassword = text_confirm_password.textContent val newPasswordConfirmation = it.second.toString()
if (newPassword.length > 5 && newPassword == newPasswordConfirmation) {
if (textPassword.length > 5 && textConfirmPassword.length > 5 && textPassword.equals(
textConfirmPassword
)
)
startActionMode() startActionMode()
else } else {
finishActionMode() finishActionMode()
} }
} }
private fun showToast(msg: String?) {
ui {
Toast.makeText(it, msg, Toast.LENGTH_LONG).show()
}
} }
private fun startActionMode() { private fun startActionMode() {
......
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
app:layout_constraintTop_toBottomOf="@+id/edit_text_description" app:layout_constraintTop_toBottomOf="@+id/edit_text_description"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_send_report" android:id="@+id/button_send_report"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
android:layout_margin="16dp" android:layout_margin="16dp"
android:hint="@string/msg_file_description" /> android:hint="@string/msg_file_description" />
<Button <android.widget.Button
android:id="@+id/button_send" android:id="@+id/button_send"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
android:text="@string/msg_send" android:text="@string/msg_send"
android:textColor="@color/colorWhite" /> android:textColor="@color/colorWhite" />
<Button <android.widget.Button
android:id="@+id/button_cancel" android:id="@+id/button_cancel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_username_or_email" /> app:layout_constraintTop_toBottomOf="@+id/text_username_or_email" />
<Button <android.widget.Button
android:id="@+id/button_log_in" android:id="@+id/button_log_in"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_password" /> app:layout_constraintTop_toBottomOf="@id/text_password" />
<Button <android.widget.Button
android:id="@+id/button_forgot_your_password" android:id="@+id/button_forgot_your_password"
style="@style/Authentication.Button.Borderless" style="@style/Authentication.Button.Borderless"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible"> tools:visibility="visible">
<Button <android.widget.Button
android:id="@+id/button_facebook" android:id="@+id/button_facebook"
style="?borderlessButtonStyle" style="?borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_github" android:id="@+id/button_github"
style="?borderlessButtonStyle" style="?borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_google" android:id="@+id/button_google"
style="?borderlessButtonStyle" style="?borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_linkedin" android:id="@+id/button_linkedin"
style="?borderlessButtonStyle" style="?borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_gitlab" android:id="@+id/button_gitlab"
style="?borderlessButtonStyle" style="?borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
android:visibility="gone" android:visibility="gone"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_wordpress" android:id="@+id/button_wordpress"
style="?borderlessButtonStyle" style="?borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
app:layout_constraintTop_toTopOf="@+id/button_expand_collapse_accounts" /> app:layout_constraintTop_toTopOf="@+id/button_expand_collapse_accounts" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
<Button <android.widget.Button
android:id="@+id/button_login_with_email" android:id="@+id/button_login_with_email"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="32dp" android:layout_marginTop="32dp"
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
app:layout_constraintTop_toBottomOf="@+id/expand_more_accounts_container" app:layout_constraintTop_toBottomOf="@+id/expand_more_accounts_container"
tools:visibility="visible" /> tools:visibility="visible" />
<Button <android.widget.Button
android:id="@+id/button_create_an_account" android:id="@+id/button_create_an_account"
style="@style/Authentication.Button.Borderless" style="@style/Authentication.Button.Borderless"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_sign_in_to_your_server" /> app:layout_constraintTop_toBottomOf="@id/text_sign_in_to_your_server" />
<Button <android.widget.Button
android:id="@+id/button_use_this_username" android:id="@+id/button_use_this_username"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_reset_password" /> app:layout_constraintTop_toBottomOf="@id/text_reset_password" />
<Button <android.widget.Button
android:id="@+id/button_reset_password" android:id="@+id/button_reset_password"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
android:inputType="text|textUri" /> android:inputType="text|textUri" />
</RelativeLayout> </RelativeLayout>
<Button <android.widget.Button
android:id="@+id/button_connect" android:id="@+id/button_connect"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
......
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_password" /> app:layout_constraintTop_toBottomOf="@+id/text_password" />
<Button <android.widget.Button
android:id="@+id/button_register" android:id="@+id/button_register"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_two_factor_authentication" /> app:layout_constraintTop_toBottomOf="@+id/text_two_factor_authentication" />
<Button <android.widget.Button
android:id="@+id/button_confirm" android:id="@+id/button_confirm"
style="@style/Authentication.Button" style="@style/Authentication.Button"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".settings.password.ui.PasswordFragment"> tools:context=".settings.password.ui.PasswordFragment">
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/layout_new_password" android:id="@+id/layout_new_password"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp"
android:theme="@style/EditText.Password" android:theme="@style/EditText.Password"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent"
android:layout_margin="16dp" app:layout_constraintTop_toTopOf="parent">
>
<EditText <EditText
android:id="@+id/text_new_password" android:id="@+id/text_new_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/msg_new_password" android:hint="@string/msg_new_password"
android:inputType="textPassword" android:inputType="textPassword" />
/>
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/layout_confirm_password" android:id="@+id/layout_confirm_password"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="16dp"
android:theme="@style/EditText.Password" android:theme="@style/EditText.Password"
app:layout_constraintTop_toBottomOf="@+id/layout_new_password"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:layout_margin="16dp" app:layout_constraintStart_toStartOf="parent"
> app:layout_constraintTop_toBottomOf="@+id/layout_new_password">
<EditText <EditText
android:id="@+id/text_confirm_password" android:id="@+id/text_confirm_password"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -47,12 +46,13 @@ ...@@ -47,12 +46,13 @@
android:id="@+id/view_loading" android:id="@+id/view_loading"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:visibility="visible"
android:visibility="gone" android:visibility="gone"
app:indicatorColor="@color/colorBlack" app:indicatorColor="@color/colorBlack"
app:indicatorName="BallPulseIndicator" app:indicatorName="BallPulseIndicator"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/> tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
android:paddingEnd="@dimen/screen_edge_left_and_right_padding" android:paddingEnd="@dimen/screen_edge_left_and_right_padding"
android:paddingBottom="@dimen/message_item_top_and_bottom_padding"> android:paddingBottom="@dimen/message_item_top_and_bottom_padding">
<Button <android.widget.Button
android:id="@+id/button_message_reply" android:id="@+id/button_message_reply"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
android:background="@drawable/style_attachment_options" android:background="@drawable/style_attachment_options"
android:orientation="vertical"> android:orientation="vertical">
<Button <android.widget.Button
android:id="@+id/button_take_a_photo" android:id="@+id/button_take_a_photo"
style="?android:attr/borderlessButtonStyle" style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
android:gravity="start|center" android:gravity="start|center"
android:text="@string/action_take_a_photo" /> android:text="@string/action_take_a_photo" />
<Button <android.widget.Button
android:id="@+id/button_attach_a_file" android:id="@+id/button_attach_a_file"
style="?android:attr/borderlessButtonStyle" style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
android:gravity="start|center" android:gravity="start|center"
android:text="@string/action_attach_a_files" /> android:text="@string/action_attach_a_files" />
<Button <android.widget.Button
android:id="@+id/button_drawing" android:id="@+id/button_drawing"
style="?android:attr/borderlessButtonStyle" style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider" /> app:layout_constraintTop_toBottomOf="@+id/divider" />
<Button <android.widget.Button
android:id="@+id/button_join_chat" android:id="@+id/button_join_chat"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="45dp" android:layout_height="45dp"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
android:background="@drawable/style_attachment_options" android:background="@drawable/style_attachment_options"
android:orientation="vertical"> android:orientation="vertical">
<Button <android.widget.Button
android:id="@+id/button_open_gallery" android:id="@+id/button_open_gallery"
style="?android:attr/borderlessButtonStyle" style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
android:gravity="start|center" android:gravity="start|center"
android:text="@string/action_select_photo_from_gallery" /> android:text="@string/action_select_photo_from_gallery" />
<Button <android.widget.Button
android:id="@+id/button_take_a_photo" android:id="@+id/button_take_a_photo"
style="?android:attr/borderlessButtonStyle" style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
android:gravity="start|center" android:gravity="start|center"
android:text="@string/action_take_a_photo" /> android:text="@string/action_take_a_photo" />
<Button <android.widget.Button
android:id="@+id/button_reset_avatar" android:id="@+id/button_reset_avatar"
style="?android:attr/borderlessButtonStyle" style="?android:attr/borderlessButtonStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -161,6 +161,8 @@ ...@@ -161,6 +161,8 @@
<string name="msg_no_topic">Kein Thema hinzugefügt</string> <string name="msg_no_topic">Kein Thema hinzugefügt</string>
<string name="msg_no_announcement">Keine Ankündigung hinzugefügt</string> <string name="msg_no_announcement">Keine Ankündigung hinzugefügt</string>
<string name="msg_no_description">Keine Beschreibung hinzugefügt</string> <string name="msg_no_description">Keine Beschreibung hinzugefügt</string>
<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 -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">% 1 $ s reagierte mit% 2 $ s</item> <item quantity="one">% 1 $ s reagierte mit% 2 $ s</item>
<item quantity="other">% 1 $ s reagierte mit% 2 $ s</item> <item quantity="other">% 1 $ s reagierte mit% 2 $ s</item>
......
...@@ -178,7 +178,8 @@ ...@@ -178,7 +178,8 @@
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description added</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_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
<item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
......
...@@ -170,7 +170,8 @@ ...@@ -170,7 +170,8 @@
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description added</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_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
<item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
......
...@@ -184,7 +184,8 @@ ...@@ -184,7 +184,8 @@
<string name="msg_no_topic">कोई विषय नहीं जोड़ा गया</string> <string name="msg_no_topic">कोई विषय नहीं जोड़ा गया</string>
<string name="msg_no_announcement">कोई घोषणा नहीं जोड़ा गया</string> <string name="msg_no_announcement">कोई घोषणा नहीं जोड़ा गया</string>
<string name="msg_no_description">कोई विवरण नहीं जोड़ा गया</string> <string name="msg_no_description">कोई विवरण नहीं जोड़ा गया</string>
<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 -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">% 1 $ s ने% 2 $ %d s के साथ प्रतिक्रिया व्यक्त की</item> <item quantity="one">% 1 $ s ने% 2 $ %d s के साथ प्रतिक्रिया व्यक्त की</item>
<item quantity="few">% 1 $ s ने% 2 $ s के साथ प्रतिक्रिया व्यक्त की</item> <item quantity="few">% 1 $ s ने% 2 $ s के साथ प्रतिक्रिया व्यक्त की</item>
......
...@@ -163,7 +163,8 @@ ...@@ -163,7 +163,8 @@
<string name="msg_no_description">Nessuna descrizione aggiunta</string> <string name="msg_no_description">Nessuna descrizione aggiunta</string>
<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">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 -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s ha reagito con %2$s</item> <item quantity="one">%1$s ha reagito con %2$s</item>
<item quantity="other">%1$s ha reagito con %2$s</item> <item quantity="other">%1$s ha reagito con %2$s</item>
......
...@@ -168,10 +168,11 @@ ...@@ -168,10 +168,11 @@
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description added</string> <!-- TODO Add translation -->
<!-- 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 -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item> <item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
<item quantity="other">%1$s reacted with %2$s</item> <item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
</plurals> </plurals>
<!-- Create channel messages --> <!-- Create channel messages -->
......
...@@ -171,6 +171,8 @@ ...@@ -171,6 +171,8 @@
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description added</string> <!-- TODO Add translation -->
<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>
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reagiu com %2$s</item> <item quantity="one">%1$s reagiu com %2$s</item>
<item quantity="other">%1$s reagiram com %2$s</item> <item quantity="other">%1$s reagiram com %2$s</item>
......
...@@ -169,7 +169,8 @@ ...@@ -169,7 +169,8 @@
<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>
<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 -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s реагирует с %2$s</item> <item quantity="one">%1$s реагирует с %2$s</item>
<item quantity="few">%1$s реагируют с %2$s</item> <item quantity="few">%1$s реагируют с %2$s</item>
......
...@@ -185,7 +185,8 @@ ...@@ -185,7 +185,8 @@
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description added</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_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
<item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="other">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
......
...@@ -168,7 +168,8 @@ ...@@ -168,7 +168,8 @@
<string name="msg_no_topic">No topic added</string> <!-- TODO Add translation --> <string name="msg_no_topic">No topic added</string> <!-- TODO Add translation -->
<string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation --> <string name="msg_no_announcement">No announcement added</string> <!-- TODO Add translation -->
<string name="msg_no_description">No description added</string> <!-- TODO Add translation --> <string name="msg_no_description">No description added</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_password_updated_successfully">Password updated successfully</string> <!-- TODO - Add proper translation -->
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="one">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
<item quantity="few">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation --> <item quantity="few">%1$s reacted with %2$s</item> <!-- TODO - Add proper translation -->
......
...@@ -180,7 +180,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin ...@@ -180,7 +180,8 @@ https://github.com/RocketChat/java-code-styles/blob/master/CODING_STYLE.md#strin
<string name="msg_no_description">No description added</string> <string name="msg_no_description">No description added</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_password_updated_successfully">Password updated successfully</string>
<plurals name="msg_reacted_with_"> <plurals name="msg_reacted_with_">
<item quantity="one">%1$s reacted with %2$s</item> <item quantity="one">%1$s reacted with %2$s</item>
<item quantity="other">%1$s reacted with %2$s</item> <item quantity="other">%1$s reacted with %2$s</item>
......
<resources> <resources>
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. --> <!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</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