Merge remote-tracking branch 'upstream/dev' into libsession-integration

This commit is contained in:
0x330a 2023-04-05 15:59:19 +10:00
commit 7e4e36c3f7
No known key found for this signature in database
GPG Key ID: 267811D6E6A2698C
83 changed files with 509 additions and 167 deletions

View File

@ -161,8 +161,8 @@ dependencies {
testImplementation 'org.robolectric:shadows-multidex:4.4' testImplementation 'org.robolectric:shadows-multidex:4.4'
} }
def canonicalVersionCode = 333 def canonicalVersionCode = 334
def canonicalVersionName = "1.16.5" def canonicalVersionName = "1.16.6"
def postFixSize = 10 def postFixSize = 10
def abiPostFix = ['armeabi-v7a' : 1, def abiPostFix = ['armeabi-v7a' : 1,

View File

@ -5,8 +5,9 @@ import androidx.annotation.AttrRes
/** /**
* Represents an action to be rendered * Represents an action to be rendered
*/ */
data class ActionItem( data class ActionItem @JvmOverloads constructor(
@AttrRes val iconRes: Int, @AttrRes val iconRes: Int,
val title: CharSequence, val title: CharSequence,
val action: Runnable val action: Runnable,
val contentDescription: String? = null
) )

View File

@ -77,6 +77,7 @@ class ContextMenuList(recyclerView: RecyclerView, onItemClick: () -> Unit) {
context.theme.resolveAttribute(model.item.iconRes, typedValue, true) context.theme.resolveAttribute(model.item.iconRes, typedValue, true)
icon.setImageDrawable(ContextCompat.getDrawable(context, typedValue.resourceId)) icon.setImageDrawable(ContextCompat.getDrawable(context, typedValue.resourceId))
} }
itemView.contentDescription = model.item.contentDescription
title.text = model.item.title title.text = model.item.title
itemView.setOnClickListener { itemView.setOnClickListener {
model.item.action.run() model.item.action.run()

View File

@ -858,7 +858,9 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
val recipient = viewModel.recipient ?: return val recipient = viewModel.recipient ?: return
if (!isShowingMentionCandidatesView) { if (!isShowingMentionCandidatesView) {
additionalContentContainer.removeAllViews() additionalContentContainer.removeAllViews()
val view = MentionCandidatesView(this) val view = MentionCandidatesView(this).apply {
contentDescription = context.getString(R.string.AccessibilityId_mentions_list)
}
view.glide = glide view.glide = glide
view.onCandidateSelected = { handleMentionSelected(it) } view.onCandidateSelected = { handleMentionSelected(it) }
additionalContentContainer.addView(view) additionalContentContainer.addView(view)
@ -1035,7 +1037,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
override fun block(deleteThread: Boolean) { override fun block(deleteThread: Boolean) {
val title = R.string.RecipientPreferenceActivity_block_this_contact_question val title = R.string.RecipientPreferenceActivity_block_this_contact_question
val message = R.string.RecipientPreferenceActivity_you_will_no_longer_receive_messages_and_calls_from_this_contact val message = R.string.RecipientPreferenceActivity_you_will_no_longer_receive_messages_and_calls_from_this_contact
AlertDialog.Builder(this) val dialog = AlertDialog.Builder(this)
.setTitle(title) .setTitle(title)
.setMessage(message) .setMessage(message)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
@ -1046,6 +1048,8 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
finish() finish()
} }
}.show() }.show()
val button = dialog.getButton(DialogInterface.BUTTON_POSITIVE)
button.setContentDescription("Confirm block")
} }
override fun copySessionID(sessionId: String) { override fun copySessionID(sessionId: String) {

View File

@ -660,10 +660,14 @@ public final class ConversationReactionOverlay extends FrameLayout {
String userPublicKey = TextSecurePreferences.getLocalNumber(getContext()); String userPublicKey = TextSecurePreferences.getLocalNumber(getContext());
// Select message // Select message
items.add(new ActionItem(R.attr.menu_select_icon, getContext().getResources().getString(R.string.conversation_context__menu_select), () -> handleActionItemClicked(Action.SELECT))); items.add(new ActionItem(R.attr.menu_select_icon, getContext().getResources().getString(R.string.conversation_context__menu_select), () -> handleActionItemClicked(Action.SELECT),
getContext().getResources().getString(R.string.AccessibilityId_select)));
// Reply // Reply
if (!message.isPending() && !message.isFailed()) { if (!message.isPending() && !message.isFailed()) {
items.add(new ActionItem(R.attr.menu_reply_icon, getContext().getResources().getString(R.string.conversation_context__menu_reply), () -> handleActionItemClicked(Action.REPLY))); items.add(
new ActionItem(R.attr.menu_reply_icon, getContext().getResources().getString(R.string.conversation_context__menu_reply), () -> handleActionItemClicked(Action.REPLY),
getContext().getResources().getString(R.string.AccessibilityId_reply_message))
);
} }
// Copy message text // Copy message text
if (!containsControlMessage && hasText) { if (!containsControlMessage && hasText) {
@ -671,11 +675,17 @@ public final class ConversationReactionOverlay extends FrameLayout {
} }
// Copy Session ID // Copy Session ID
if (recipient.isGroupRecipient() && !recipient.isOpenGroupRecipient() && !message.getRecipient().getAddress().toString().equals(userPublicKey)) { if (recipient.isGroupRecipient() && !recipient.isOpenGroupRecipient() && !message.getRecipient().getAddress().toString().equals(userPublicKey)) {
items.add(new ActionItem(R.attr.menu_copy_icon, getContext().getResources().getString(R.string.activity_conversation_menu_copy_session_id), () -> handleActionItemClicked(Action.COPY_SESSION_ID))); items.add(new ActionItem(
R.attr.menu_copy_icon, getContext().getResources().getString(R.string.activity_conversation_menu_copy_session_id), () -> handleActionItemClicked(Action.COPY_SESSION_ID))
);
} }
// Delete message // Delete message
if (ConversationMenuItemHelper.userCanDeleteSelectedItems(getContext(), message, openGroup, userPublicKey, blindedPublicKey)) { if (ConversationMenuItemHelper.userCanDeleteSelectedItems(getContext(), message, openGroup, userPublicKey, blindedPublicKey)) {
items.add(new ActionItem(R.attr.menu_trash_icon, getContext().getResources().getString(R.string.delete), () -> handleActionItemClicked(Action.DELETE))); items.add(new ActionItem(R.attr.menu_trash_icon, getContext().getResources().getString(R.string.delete),
() -> handleActionItemClicked(Action.DELETE),
getContext().getResources().getString(R.string.AccessibilityId_delete_message)
)
);
} }
// Ban user // Ban user
if (ConversationMenuItemHelper.userCanBanSelectedUsers(getContext(), message, openGroup, userPublicKey, blindedPublicKey)) { if (ConversationMenuItemHelper.userCanBanSelectedUsers(getContext(), message, openGroup, userPublicKey, blindedPublicKey)) {
@ -695,7 +705,9 @@ public final class ConversationReactionOverlay extends FrameLayout {
} }
// Save media // Save media
if (message.isMms() && ((MediaMmsMessageRecord)message).containsMediaSlide()) { if (message.isMms() && ((MediaMmsMessageRecord)message).containsMediaSlide()) {
items.add(new ActionItem(R.attr.menu_save_icon, getContext().getResources().getString(R.string.conversation_context_image__save_attachment), () -> handleActionItemClicked(Action.DOWNLOAD))); items.add(new ActionItem(R.attr.menu_save_icon, getContext().getResources().getString(R.string.conversation_context_image__save_attachment), () -> handleActionItemClicked(Action.DOWNLOAD),
getContext().getResources().getString(R.string.AccessibilityId_save_attachment))
);
} }
backgroundView.setVisibility(View.VISIBLE); backgroundView.setVisibility(View.VISIBLE);

View File

@ -57,9 +57,9 @@ class InputBar : RelativeLayout, InputBarEditTextDelegate, QuoteViewDelegate, Li
val attachmentButtonsContainerHeight: Int val attachmentButtonsContainerHeight: Int
get() = binding.attachmentsButtonContainer.height get() = binding.attachmentsButtonContainer.height
private val attachmentsButton by lazy { InputBarButton(context, R.drawable.ic_plus_24) } private val attachmentsButton by lazy { InputBarButton(context, R.drawable.ic_plus_24).apply { contentDescription = context.getString(R.string.AccessibilityId_attachments_button)} }
private val microphoneButton by lazy { InputBarButton(context, R.drawable.ic_microphone) } private val microphoneButton by lazy { InputBarButton(context, R.drawable.ic_microphone).apply { contentDescription = context.getString(R.string.AccessibilityId_microphone_button)} }
private val sendButton by lazy { InputBarButton(context, R.drawable.ic_arrow_up, true) } private val sendButton by lazy { InputBarButton(context, R.drawable.ic_arrow_up, true).apply { contentDescription = context.getString(R.string.AccessibilityId_send_message_button)} }
// region Lifecycle // region Lifecycle
constructor(context: Context) : super(context) { initialize() } constructor(context: Context) : super(context) { initialize() }

View File

@ -7,6 +7,7 @@ import android.view.ViewGroup
import android.widget.BaseAdapter import android.widget.BaseAdapter
import android.widget.ListView import android.widget.ListView
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import network.loki.messenger.R
import org.session.libsession.messaging.mentions.Mention import org.session.libsession.messaging.mentions.Mention
import org.thoughtcrime.securesms.database.LokiThreadDatabase import org.thoughtcrime.securesms.database.LokiThreadDatabase
import org.thoughtcrime.securesms.mms.GlideRequests import org.thoughtcrime.securesms.mms.GlideRequests
@ -41,7 +42,9 @@ class MentionCandidatesView(context: Context, attrs: AttributeSet?, defStyleAttr
override fun getItem(position: Int): Mention { return candidates[position] } override fun getItem(position: Int): Mention { return candidates[position] }
override fun getView(position: Int, cellToBeReused: View?, parent: ViewGroup): View { override fun getView(position: Int, cellToBeReused: View?, parent: ViewGroup): View {
val cell = cellToBeReused as MentionCandidateView? ?: MentionCandidateView(context) val cell = cellToBeReused as MentionCandidateView? ?: MentionCandidateView(context).apply {
contentDescription = context.getString(R.string.AccessibilityId_contact)
}
val mentionCandidate = getItem(position) val mentionCandidate = getItem(position)
cell.glide = glide cell.glide = glide
cell.candidate = mentionCandidate cell.candidate = mentionCandidate

View File

@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.conversation.v2.menus
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.graphics.PorterDuff import android.graphics.PorterDuff
@ -186,7 +187,7 @@ object ConversationMenuHelper {
private fun call(context: Context, thread: Recipient) { private fun call(context: Context, thread: Recipient) {
if (!TextSecurePreferences.isCallNotificationsEnabled(context)) { if (!TextSecurePreferences.isCallNotificationsEnabled(context)) {
AlertDialog.Builder(context) val dialog = AlertDialog.Builder(context)
.setTitle(R.string.ConversationActivity_call_title) .setTitle(R.string.ConversationActivity_call_title)
.setMessage(R.string.ConversationActivity_call_prompt) .setMessage(R.string.ConversationActivity_call_prompt)
.setPositiveButton(R.string.activity_settings_title) { _, _ -> .setPositiveButton(R.string.activity_settings_title) { _, _ ->
@ -195,7 +196,10 @@ object ConversationMenuHelper {
} }
.setNeutralButton(R.string.cancel) { d, _ -> .setNeutralButton(R.string.cancel) { d, _ ->
d.dismiss() d.dismiss()
}.show() }.create()
dialog.getButton(DialogInterface.BUTTON_POSITIVE)?.contentDescription = context.getString(R.string.AccessibilityId_settings)
dialog.getButton(DialogInterface.BUTTON_NEGATIVE)?.contentDescription = context.getString(R.string.AccessibilityId_cancel_button)
dialog.show()
return return
} }

View File

@ -31,6 +31,7 @@ class ControlMessageView : LinearLayout {
binding.dateBreakTextView.showDateBreak(message, previous) binding.dateBreakTextView.showDateBreak(message, previous)
binding.iconImageView.visibility = View.GONE binding.iconImageView.visibility = View.GONE
var messageBody: CharSequence = message.getDisplayBody(context) var messageBody: CharSequence = message.getDisplayBody(context)
binding.root.contentDescription= null
when { when {
message.isExpirationTimerUpdate -> { message.isExpirationTimerUpdate -> {
binding.iconImageView.setImageDrawable( binding.iconImageView.setImageDrawable(
@ -46,6 +47,7 @@ class ControlMessageView : LinearLayout {
} }
message.isMessageRequestResponse -> { message.isMessageRequestResponse -> {
messageBody = context.getString(R.string.message_requests_accepted) messageBody = context.getString(R.string.message_requests_accepted)
binding.root.contentDescription=context.getString(R.string.AccessibilityId_message_request_config_message)
} }
message.isCallLog -> { message.isCallLog -> {
val drawable = when { val drawable = when {

View File

@ -13,6 +13,9 @@ import android.view.HapticFeedbackConstants
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.annotation.ColorInt
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
@ -194,7 +197,7 @@ class VisibleMessageView : LinearLayout {
binding.dateBreakTextView.isVisible = showDateBreak binding.dateBreakTextView.isVisible = showDateBreak
// Message status indicator // Message status indicator
if (message.isOutgoing) { if (message.isOutgoing) {
val (iconID, iconColor, textId) = getMessageStatusImage(message) val (iconID, iconColor, textId, contentDescription) = getMessageStatusImage(message)
if (textId != null) { if (textId != null) {
binding.messageStatusTextView.setText(textId) binding.messageStatusTextView.setText(textId)
@ -209,6 +212,7 @@ class VisibleMessageView : LinearLayout {
} }
binding.messageStatusImageView.setImageDrawable(drawable) binding.messageStatusImageView.setImageDrawable(drawable)
} }
binding.messageStatusImageView.contentDescription = contentDescription
val lastMessageID = mmsSmsDb.getLastMessageID(message.threadId) val lastMessageID = mmsSmsDb.getLastMessageID(message.threadId)
binding.messageStatusTextView.isVisible = ( binding.messageStatusTextView.isVisible = (
@ -283,17 +287,43 @@ class VisibleMessageView : LinearLayout {
} }
} }
private fun getMessageStatusImage(message: MessageRecord): Triple<Int?,Int?,Int?> { data class MessageStatusInfo(@DrawableRes val iconId: Int?,
@ColorInt val iconTint: Int?,
@StringRes val messageText: Int?,
val contentDescription: String?)
private fun getMessageStatusImage(message: MessageRecord): MessageStatusInfo {
return when { return when {
!message.isOutgoing -> Triple(null, null, null) !message.isOutgoing -> MessageStatusInfo(null,
null,
null,
null)
message.isFailed -> message.isFailed ->
Triple(R.drawable.ic_delivery_status_failed, resources.getColor(R.color.destructive, context.theme), R.string.delivery_status_failed) MessageStatusInfo(
R.drawable.ic_delivery_status_failed,
resources.getColor(R.color.destructive, context.theme),
R.string.delivery_status_failed,
null
)
message.isPending -> message.isPending ->
Triple(R.drawable.ic_delivery_status_sending, context.getColorFromAttr(R.attr.message_status_color), R.string.delivery_status_sending) MessageStatusInfo(
R.drawable.ic_delivery_status_sending,
context.getColorFromAttr(R.attr.message_status_color), R.string.delivery_status_sending,
context.getString(R.string.AccessibilityId_message_sent_status_pending)
)
message.isRead -> message.isRead ->
Triple(R.drawable.ic_delivery_status_read, context.getColorFromAttr(R.attr.message_status_color), R.string.delivery_status_read) MessageStatusInfo(
R.drawable.ic_delivery_status_read,
context.getColorFromAttr(R.attr.message_status_color), R.string.delivery_status_read,
null
)
else -> else ->
Triple(R.drawable.ic_delivery_status_sent, context.getColorFromAttr(R.attr.message_status_color), R.string.delivery_status_sent) MessageStatusInfo(
R.drawable.ic_delivery_status_sent,
context.getColorFromAttr(R.attr.message_status_color),
R.string.delivery_status_sent,
context.getString(R.string.AccessibilityId_message_sent_status_tick)
)
} }
} }

View File

@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.permissions;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
@ -12,6 +13,7 @@ import android.util.DisplayMetrics;
import android.view.Display; import android.view.Display;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.Button;
import androidx.annotation.DrawableRes; import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -162,12 +164,13 @@ public class Permissions {
@SuppressWarnings("ConstantConditions") @SuppressWarnings("ConstantConditions")
private void executePermissionsRequestWithRationale(PermissionsRequest request) { private void executePermissionsRequestWithRationale(PermissionsRequest request) {
RationaleDialog.createFor(permissionObject.getContext(), rationaleDialogMessage, rationalDialogHeader) AlertDialog dialog = RationaleDialog.createFor(permissionObject.getContext(), rationaleDialogMessage, rationalDialogHeader)
.setPositiveButton(R.string.Permissions_continue, (dialog, which) -> executePermissionsRequest(request)) .setPositiveButton(R.string.Permissions_continue, (d, which) -> executePermissionsRequest(request))
.setNegativeButton(R.string.Permissions_not_now, (dialog, which) -> executeNoPermissionsRequest(request)) .setNegativeButton(R.string.Permissions_not_now, (d, which) -> executeNoPermissionsRequest(request))
.show() .show();
.getWindow() dialog.getWindow().setLayout((int)(permissionObject.getWindowWidth() * .75), ViewGroup.LayoutParams.WRAP_CONTENT);
.setLayout((int)(permissionObject.getWindowWidth() * .75), ViewGroup.LayoutParams.WRAP_CONTENT); Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
positiveButton.setContentDescription("Continue");
} }
private void executePermissionsRequest(PermissionsRequest request) { private void executePermissionsRequest(PermissionsRequest request) {
@ -353,12 +356,17 @@ public class Permissions {
Context context = this.context.get(); Context context = this.context.get();
if (context != null) { if (context != null) {
new AlertDialog.Builder(context, R.style.ThemeOverlay_Session_AlertDialog) AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.ThemeOverlay_Session_AlertDialog)
.setTitle(R.string.Permissions_permission_required) .setTitle(R.string.Permissions_permission_required)
.setMessage(message) .setMessage(message)
.setPositiveButton(R.string.Permissions_continue, (dialog, which) -> context.startActivity(getApplicationSettingsIntent(context))) .setPositiveButton(R.string.Permissions_continue, (dialog, which) -> context.startActivity(getApplicationSettingsIntent(context)))
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.show(); .create();
Button positiveButton = alertDialog.getButton(DialogInterface.BUTTON_POSITIVE);
if (positiveButton != null) {
positiveButton.setContentDescription(context.getString(R.string.AccessibilityId_continue));
}
alertDialog.show();
} }
} }
} }

View File

@ -5,10 +5,12 @@ import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.KeyguardManager; import android.app.KeyguardManager;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import android.widget.Button;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@ -179,7 +181,7 @@ public class PrivacySettingsPreferenceFragment extends ListSummaryPreferenceFrag
boolean val = (boolean) newValue; boolean val = (boolean) newValue;
if (val) { if (val) {
// check if we've shown the info dialog and check for microphone permissions // check if we've shown the info dialog and check for microphone permissions
new AlertDialog.Builder(new ContextThemeWrapper(context.requireContext(), R.style.ThemeOverlay_Session_AlertDialog)) AlertDialog dialog = new AlertDialog.Builder(new ContextThemeWrapper(context.requireContext(), R.style.ThemeOverlay_Session_AlertDialog))
.setTitle(R.string.dialog_voice_video_title) .setTitle(R.string.dialog_voice_video_title)
.setMessage(R.string.dialog_voice_video_message) .setMessage(R.string.dialog_voice_video_message)
.setPositiveButton(R.string.dialog_link_preview_enable_button_title, (d, w) -> { .setPositiveButton(R.string.dialog_link_preview_enable_button_title, (d, w) -> {
@ -189,7 +191,9 @@ public class PrivacySettingsPreferenceFragment extends ListSummaryPreferenceFrag
}) })
.show(); .show();
return false; Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
positiveButton.setContentDescription("Enable");
return false;
} else { } else {
return true; return true;
} }

View File

@ -33,6 +33,7 @@
<EditText <EditText
style="@style/SessionEditText" style="@style/SessionEditText"
android:id="@+id/displayNameEditText" android:id="@+id/displayNameEditText"
android:contentDescription="@string/AccessibilityId_enter_display_name"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
@ -52,6 +53,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"

View File

@ -32,6 +32,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_create_session_id"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
@ -42,6 +43,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:id="@+id/restoreButton" android:id="@+id/restoreButton"
android:contentDescription="@string/AccessibilityId_restore_your_session"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"
@ -51,6 +53,7 @@
<Button <Button
android:id="@+id/linkButton" android:id="@+id/linkButton"
android:contentDescription="@string/AccessibilityId_link_a_device"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/onboarding_button_bottom_offset" android:layout_height="@dimen/onboarding_button_bottom_offset"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"

View File

@ -19,6 +19,7 @@
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:contentDescription="@string/AccessibilityId_message_notifications"
android:text="@string/activity_pn_mode_message_notifications" /> android:text="@string/activity_pn_mode_message_notifications" />
<TextView <TextView
@ -32,6 +33,7 @@
android:text="@string/activity_pn_mode_explanation" /> android:text="@string/activity_pn_mode_explanation" />
<org.thoughtcrime.securesms.util.PNModeView <org.thoughtcrime.securesms.util.PNModeView
android:contentDescription="@string/AccessibilityId_fast_mode_notifications_option"
android:id="@+id/fcmOptionView" android:id="@+id/fcmOptionView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -70,6 +72,7 @@
</org.thoughtcrime.securesms.util.PNModeView> </org.thoughtcrime.securesms.util.PNModeView>
<org.thoughtcrime.securesms.util.PNModeView <org.thoughtcrime.securesms.util.PNModeView
android:contentDescription="@string/AccessibilityId_slow_mode_notifications_option"
android:id="@+id/backgroundPollingOptionView" android:id="@+id/backgroundPollingOptionView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -86,7 +89,8 @@
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textStyle="bold" android:textStyle="bold"
android:text="@string/activity_pn_mode_slow_mode" /> android:text="@string/activity_pn_mode_slow_mode"
/>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -101,6 +105,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:contentDescription="@string/AccessibilityId_continue_message_notifications"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"

View File

@ -34,6 +34,7 @@
<EditText <EditText
style="@style/SessionEditText" style="@style/SessionEditText"
android:id="@+id/mnemonicEditText" android:id="@+id/mnemonicEditText"
android:contentDescription="@string/AccessibilityId_enter_your_recovery_phrase"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
@ -54,6 +55,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/restoreButton" android:id="@+id/restoreButton"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"

View File

@ -33,6 +33,7 @@
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
android:contentDescription="@string/AccessibilityId_session_id"
android:id="@+id/publicKeyTextView" android:id="@+id/publicKeyTextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -49,6 +50,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"

View File

@ -39,6 +39,7 @@
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
android:id="@+id/seedTextView" android:id="@+id/seedTextView"
android:contentDescription="@string/AccessibilityId_recovery_phrase"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
@ -67,6 +68,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:contentDescription="@string/AccessibilityId_copy_recovery_phrase"
android:id="@+id/copyButton" android:id="@+id/copyButton"
android:layout_width="196dp" android:layout_width="196dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"

View File

@ -33,6 +33,7 @@
<EditText <EditText
style="@style/SessionEditText" style="@style/SessionEditText"
android:id="@+id/mnemonicEditText" android:id="@+id/mnemonicEditText"
android:contentDescription="@string/AccessibilityId_enter_your_recovery_phrase"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
@ -53,6 +54,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:id="@+id/continueButton" android:id="@+id/continueButton"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginLeft="@dimen/massive_spacing"

View File

@ -59,6 +59,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:id="@+id/button" android:id="@+id/button"
android:contentDescription="@string/AccessibilityId_continue"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="28dp" android:layout_height="28dp"
android:layout_marginLeft="4dp" android:layout_marginLeft="4dp"

View File

@ -89,6 +89,7 @@
android:id="@+id/gifButtonContainer" android:id="@+id/gifButtonContainer"
android:layout_width="@dimen/input_bar_button_expanded_size" android:layout_width="@dimen/input_bar_button_expanded_size"
android:layout_height="@dimen/input_bar_button_expanded_size" android:layout_height="@dimen/input_bar_button_expanded_size"
android:contentDescription="@string/AccessibilityId_gif_button"
android:alpha="0" /> android:alpha="0" />
<RelativeLayout <RelativeLayout
@ -96,6 +97,7 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_width="@dimen/input_bar_button_expanded_size" android:layout_width="@dimen/input_bar_button_expanded_size"
android:layout_height="@dimen/input_bar_button_expanded_size" android:layout_height="@dimen/input_bar_button_expanded_size"
android:contentDescription="@string/AccessibilityId_documents_folder"
android:alpha="0" /> android:alpha="0" />
<RelativeLayout <RelativeLayout
@ -103,6 +105,7 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_width="@dimen/input_bar_button_expanded_size" android:layout_width="@dimen/input_bar_button_expanded_size"
android:layout_height="@dimen/input_bar_button_expanded_size" android:layout_height="@dimen/input_bar_button_expanded_size"
android:contentDescription="@string/AccessibilityId_images_folder"
android:alpha="0" /> android:alpha="0" />
<RelativeLayout <RelativeLayout
@ -110,6 +113,7 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_width="@dimen/input_bar_button_expanded_size" android:layout_width="@dimen/input_bar_button_expanded_size"
android:layout_height="@dimen/input_bar_button_expanded_size" android:layout_height="@dimen/input_bar_button_expanded_size"
android:contentDescription="@string/AccessibilityId_select_camera_button"
android:alpha="0" /> android:alpha="0" />
</LinearLayout> </LinearLayout>
@ -176,6 +180,7 @@
<RelativeLayout <RelativeLayout
android:id="@+id/blockedBanner" android:id="@+id/blockedBanner"
android:contentDescription="@string/AccessibilityId_blocked_banner"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/toolbar" android:layout_below="@+id/toolbar"
@ -185,6 +190,7 @@
<TextView <TextView
android:id="@+id/blockedBannerTextView" android:id="@+id/blockedBannerTextView"
android:contentDescription="@string/AccessibilityId_blocked_banner_text"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerInParent="true"
@ -208,14 +214,15 @@
<TextView <TextView
android:id="@+id/messageRequestBlock" android:id="@+id/messageRequestBlock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:contentDescription="@string/AccessibilityId_block_message_request_button"
android:textColor="@color/destructive" android:textColor="@color/destructive"
android:paddingHorizontal="@dimen/massive_spacing" android:paddingHorizontal="@dimen/massive_spacing"
android:paddingVertical="@dimen/small_spacing" android:paddingVertical="@dimen/small_spacing"
android:textSize="@dimen/text_size" android:textSize="@dimen/text_size"
android:text="@string/activity_conversation_block_user" android:text="@string/activity_conversation_block_user"/>
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView <TextView
android:id="@+id/sendAcceptsTextView" android:id="@+id/sendAcceptsTextView"
@ -237,6 +244,7 @@
<Button <Button
android:id="@+id/acceptMessageRequestButton" android:id="@+id/acceptMessageRequestButton"
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:contentDescription="@string/AccessibilityId_accept_message_request_button"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_weight="1" android:layout_weight="1"
@ -245,6 +253,7 @@
<Button <Button
android:id="@+id/declineMessageRequestButton" android:id="@+id/declineMessageRequestButton"
style="@style/Widget.Session.Button.Common.DestructiveOutline" style="@style/Widget.Session.Button.Common.DestructiveOutline"
android:contentDescription="@string/AccessibilityId_decline_message_request_button"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginStart="@dimen/medium_spacing" android:layout_marginStart="@dimen/medium_spacing"

View File

@ -23,6 +23,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="12dp" android:layout_marginStart="12dp"
android:contentDescription="@string/AccessibilityId_username"
tools:text="@tools:sample/full_names" tools:text="@tools:sample/full_names"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textStyle="bold" android:textStyle="bold"

View File

@ -32,6 +32,7 @@
<EditText <EditText
style="@style/SmallSessionEditText" style="@style/SmallSessionEditText"
android:contentDescription="@string/AccessibilityId_enter_display_name"
android:id="@+id/displayNameEditText" android:id="@+id/displayNameEditText"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
@ -51,6 +52,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_continue"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"

View File

@ -32,6 +32,7 @@
android:id="@+id/btnCancelGroupNameEdit" android:id="@+id/btnCancelGroupNameEdit"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:contentDescription="@string/AccessibilityId_cancel_name_change"
android:src="@drawable/ic_baseline_clear_24"/> android:src="@drawable/ic_baseline_clear_24"/>
<EditText <EditText
@ -48,6 +49,7 @@
android:inputType="text" android:inputType="text"
android:singleLine="true" android:singleLine="true"
android:imeOptions="actionDone" android:imeOptions="actionDone"
android:contentDescription="@string/AccessibilityId_group_name"
android:hint="@string/activity_edit_closed_group_edit_text_hint" /> android:hint="@string/activity_edit_closed_group_edit_text_hint" />
<ImageView <ImageView
@ -55,6 +57,7 @@
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_gravity="center" android:layout_gravity="center"
android:contentDescription="@string/AccessibilityId_accept_name_change"
android:src="@drawable/ic_baseline_done_24"/> android:src="@drawable/ic_baseline_done_24"/>
</LinearLayout> </LinearLayout>
@ -72,6 +75,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:contentDescription="@string/AccessibilityId_group_name"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" android:textStyle="bold"
@ -113,10 +117,10 @@
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
android:layout_marginTop="@dimen/small_spacing" android:layout_marginVertical="@dimen/small_spacing"
android:layout_marginEnd="@dimen/medium_spacing" android:layout_marginEnd="@dimen/medium_spacing"
android:layout_marginStart="@dimen/small_spacing" android:layout_marginStart="@dimen/small_spacing"
android:layout_marginBottom="@dimen/small_spacing" android:contentDescription="@string/AccessibilityId_add_members"
android:paddingStart="@dimen/medium_spacing" android:paddingStart="@dimen/medium_spacing"
android:paddingEnd="@dimen/medium_spacing" android:paddingEnd="@dimen/medium_spacing"
android:text="@string/activity_edit_closed_group_add_members" /> android:text="@string/activity_edit_closed_group_add_members" />

View File

@ -34,7 +34,8 @@
android:layout_height="@dimen/small_profile_picture_size" android:layout_height="@dimen/small_profile_picture_size"
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginLeft="9dp" /> android:layout_marginLeft="9dp"
android:contentDescription="@string/AccessibilityId_user_settings" />
<org.thoughtcrime.securesms.home.PathStatusView <org.thoughtcrime.securesms.home.PathStatusView
android:id="@+id/pathStatusView" android:id="@+id/pathStatusView"
@ -56,6 +57,7 @@
<RelativeLayout <RelativeLayout
android:id="@+id/searchViewContainer" android:id="@+id/searchViewContainer"
android:contentDescription="@string/AccessibilityId_search_icon"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
android:layout_height="@dimen/small_profile_picture_size" android:layout_height="@dimen/small_profile_picture_size"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
@ -170,6 +172,7 @@
<com.google.android.material.floatingactionbutton.FloatingActionButton <com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/newConversationButton" android:id="@+id/newConversationButton"
android:contentDescription="@string/AccessibilityId_new_conversation_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:layout_alignParentBottom="true"

View File

@ -32,6 +32,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_create_session_id"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
@ -41,6 +42,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:contentDescription="@string/AccessibilityId_restore_your_session"
android:id="@+id/restoreButton" android:id="@+id/restoreButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
@ -50,11 +52,11 @@
android:text="@string/activity_landing_restore_button_title" /> android:text="@string/activity_landing_restore_button_title" />
<Button <Button
android:contentDescription="@string/AccessibilityId_link_a_device"
android:id="@+id/linkButton" android:id="@+id/linkButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/onboarding_button_bottom_offset" android:layout_height="@dimen/onboarding_button_bottom_offset"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginHorizontal="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing"
android:gravity="center" android:gravity="center"
android:background="@color/transparent" android:background="@color/transparent"
android:textAllCaps="false" android:textAllCaps="false"

View File

@ -20,9 +20,9 @@
</androidx.viewpager.widget.ViewPager> </androidx.viewpager.widget.ViewPager>
<FrameLayout <FrameLayout
android:animateLayoutChanges="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:animateLayoutChanges="true">
<RelativeLayout <RelativeLayout
android:id="@+id/loader" android:id="@+id/loader"
@ -35,8 +35,8 @@
style="@style/SpinKitView.Large.ThreeBounce" style="@style/SpinKitView.Large.ThreeBounce"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:layout_marginTop="8dp"
app:SpinKit_Color="@android:color/white" /> app:SpinKit_Color="@android:color/white" />
</RelativeLayout> </RelativeLayout>

View File

@ -39,6 +39,7 @@
android:visibility="gone"> android:visibility="gone">
<TextView <TextView
android:contentDescription="@string/AccessibilityId_empty_message_request_folder"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/message_request_empty_state_message" android:text="@string/message_request_empty_state_message"
@ -48,6 +49,7 @@
</LinearLayout> </LinearLayout>
<Button <Button
android:contentDescription="@string/AccessibilityId_clear_all_message_requests"
android:id="@+id/clearAllMessageRequestsButton" android:id="@+id/clearAllMessageRequestsButton"
style="@style/Widget.Session.Button.Common.DestructiveOutline" style="@style/Widget.Session.Button.Common.DestructiveOutline"
android:layout_width="196dp" android:layout_width="196dp"

View File

@ -19,6 +19,7 @@
android:textSize="@dimen/large_font_size" android:textSize="@dimen/large_font_size"
android:textStyle="bold" android:textStyle="bold"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:contentDescription="@string/AccessibilityId_message_notifications"
android:text="@string/activity_pn_mode_message_notifications" /> android:text="@string/activity_pn_mode_message_notifications" />
<TextView <TextView
@ -32,6 +33,7 @@
android:text="@string/activity_pn_mode_explanation" /> android:text="@string/activity_pn_mode_explanation" />
<org.thoughtcrime.securesms.util.PNModeView <org.thoughtcrime.securesms.util.PNModeView
android:contentDescription="@string/AccessibilityId_fast_mode_notifications_option"
android:id="@+id/fcmOptionView" android:id="@+id/fcmOptionView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -70,6 +72,7 @@
</org.thoughtcrime.securesms.util.PNModeView> </org.thoughtcrime.securesms.util.PNModeView>
<org.thoughtcrime.securesms.util.PNModeView <org.thoughtcrime.securesms.util.PNModeView
android:contentDescription="@string/AccessibilityId_slow_mode_notifications_option"
android:id="@+id/backgroundPollingOptionView" android:id="@+id/backgroundPollingOptionView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -100,6 +103,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_continue_message_notifications"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"

View File

@ -32,19 +32,20 @@
android:text="@string/activity_restore_explanation" /> android:text="@string/activity_restore_explanation" />
<EditText <EditText
style="@style/SmallSessionEditText"
android:id="@+id/mnemonicEditText" android:id="@+id/mnemonicEditText"
style="@style/SmallSessionEditText"
android:contentDescription="@string/AccessibilityId_enter_your_recovery_phrase"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginLeft="@dimen/very_large_spacing"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/very_large_spacing" android:layout_marginRight="@dimen/very_large_spacing"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/activity_restore_seed_edit_text_hint"
android:inputType="textMultiLine" android:inputType="textMultiLine"
android:maxLines="3" android:maxLines="3"
android:hint="@string/activity_restore_seed_edit_text_hint" /> android:paddingTop="0dp"
android:paddingBottom="0dp" />
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
@ -53,6 +54,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_continue"
android:id="@+id/restoreButton" android:id="@+id/restoreButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"

View File

@ -33,6 +33,7 @@
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
android:contentDescription="@string/AccessibilityId_session_id"
android:id="@+id/publicKeyTextView" android:id="@+id/publicKeyTextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -49,6 +50,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentFilled" style="@style/Widget.Session.Button.Common.ProminentFilled"
android:contentDescription="@string/AccessibilityId_continue"
android:id="@+id/registerButton" android:id="@+id/registerButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
@ -58,6 +60,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:contentDescription="@string/AccessibilityId_copy_session_id"
android:id="@+id/copyButton" android:id="@+id/copyButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"

View File

@ -38,6 +38,7 @@
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
android:contentDescription="@string/AccessibilityId_recovery_phrase"
android:id="@+id/seedTextView" android:id="@+id/seedTextView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -68,6 +69,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:contentDescription="@string/AccessibilityId_copy_recovery_phrase"
android:id="@+id/copyButton" android:id="@+id/copyButton"
android:layout_width="196dp" android:layout_width="196dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"

View File

@ -25,10 +25,12 @@
android:id="@+id/profilePictureView" android:id="@+id/profilePictureView"
android:layout_width="@dimen/large_profile_picture_size" android:layout_width="@dimen/large_profile_picture_size"
android:layout_height="@dimen/large_profile_picture_size" android:layout_height="@dimen/large_profile_picture_size"
android:layout_marginTop="@dimen/medium_spacing" /> android:layout_marginTop="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_profile_picture" />
<RelativeLayout <RelativeLayout
android:id="@+id/ctnGroupNameSection" android:id="@+id/ctnGroupNameSection"
android:contentDescription="@string/AccessibilityId_username"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/large_spacing" android:layout_marginLeft="@dimen/large_spacing"
@ -36,12 +38,12 @@
android:layout_marginRight="@dimen/large_spacing"> android:layout_marginRight="@dimen/large_spacing">
<EditText <EditText
style="@style/SessionEditText"
android:id="@+id/displayNameEditText" android:id="@+id/displayNameEditText"
style="@style/SessionEditText"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:textAlignment="center" android:contentDescription="@string/AccessibilityId_username"
android:paddingTop="12dp" android:paddingTop="12dp"
android:paddingBottom="12dp" android:paddingBottom="12dp"
android:visibility="invisible" android:visibility="invisible"
@ -52,6 +54,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_centerInParent="true"
android:contentDescription="@string/AccessibilityId_username"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:textSize="@dimen/very_large_font_size" android:textSize="@dimen/very_large_font_size"
android:textStyle="bold" /> android:textStyle="bold" />
@ -77,6 +80,7 @@
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:fontFamily="@font/space_mono_regular" android:fontFamily="@font/space_mono_regular"
android:textAlignment="center" android:textAlignment="center"
android:contentDescription="@string/AccessibilityId_session_id"
tools:text="05987d601943c267879be41830888066c6a024cbdc9a548d06813924bf3372ea78" /> tools:text="05987d601943c267879be41830888066c6a024cbdc9a548d06813924bf3372ea78" />
<LinearLayout <LinearLayout
@ -188,7 +192,8 @@
android:id="@+id/notificationsButton" android:id="@+id/notificationsButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_notifications">
<ImageView <ImageView
android:id="@+id/notificationsContainer" android:id="@+id/notificationsContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -208,7 +213,8 @@
android:textStyle="bold" android:textStyle="bold"
android:gravity="center" android:gravity="center"
android:layout_toEndOf="@+id/notificationsContainer" android:layout_toEndOf="@+id/notificationsContainer"
android:text="@string/activity_settings_notifications_button_title" /> android:text="@string/activity_settings_notifications_button_title"
/>
</RelativeLayout> </RelativeLayout>
@ -222,7 +228,9 @@
android:id="@+id/chatsButton" android:id="@+id/chatsButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_conversations">
<ImageView <ImageView
android:id="@+id/chatsContainer" android:id="@+id/chatsContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -255,7 +263,8 @@
android:id="@+id/messageRequestsButton" android:id="@+id/messageRequestsButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_message_requests">
<ImageView <ImageView
android:id="@+id/messageRequestsContainer" android:id="@+id/messageRequestsContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -288,7 +297,8 @@
android:id="@+id/appearanceButton" android:id="@+id/appearanceButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_appearance">
<ImageView <ImageView
android:id="@+id/appearanceContainer" android:id="@+id/appearanceContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -321,7 +331,8 @@
android:id="@+id/inviteFriendButton" android:id="@+id/inviteFriendButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_invite_friend">
<ImageView <ImageView
android:id="@+id/inviteFriendContainer" android:id="@+id/inviteFriendContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -354,7 +365,8 @@
android:id="@+id/seedButton" android:id="@+id/seedButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_recovery_phrase">
<ImageView <ImageView
android:id="@+id/seedContainer" android:id="@+id/seedContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -387,7 +399,8 @@
android:id="@+id/helpButton" android:id="@+id/helpButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_help">
<ImageView <ImageView
android:id="@+id/helpContainer" android:id="@+id/helpContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"
@ -420,7 +433,8 @@
android:id="@+id/clearAllDataButton" android:id="@+id/clearAllDataButton"
android:paddingHorizontal="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height"> android:layout_height="@dimen/setting_button_height"
android:contentDescription="@string/AccessibilityId_clear_data">
<ImageView <ImageView
android:id="@+id/clearContainer" android:id="@+id/clearContainer"
android:layout_width="@dimen/small_profile_picture_size" android:layout_width="@dimen/small_profile_picture_size"

View File

@ -16,6 +16,7 @@
/> />
<TextView <TextView
android:contentDescription="@string/AccessibilityId_contact"
android:textSize="@dimen/text_size" android:textSize="@dimen/text_size"
android:textStyle="bold" android:textStyle="bold"
android:layout_width="0dp" android:layout_width="0dp"

View File

@ -5,6 +5,7 @@
android:layout_marginVertical="@dimen/medium_spacing" android:layout_marginVertical="@dimen/medium_spacing"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:contentDescription="@string/AccessibilityId_blocked_contacts"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/medium_spacing" android:padding="@dimen/medium_spacing"

View File

@ -32,6 +32,7 @@
android:layout_marginStart="6dp" android:layout_marginStart="6dp"
android:layout_width="12dp" android:layout_width="12dp"
android:layout_height="12dp" android:layout_height="12dp"
android:contentDescription="@string/AccessibilityId_timer_icon"
android:visibility="gone" android:visibility="gone"
tools:visibility="visible"/> tools:visibility="visible"/>

View File

@ -45,6 +45,7 @@
<Button <Button
style="@style/Widget.Session.Button.Dialog.Unimportant" style="@style/Widget.Session.Button.Dialog.Unimportant"
android:id="@+id/unblockButton" android:id="@+id/unblockButton"
android:contentDescription="@string/AccessibilityId_block_confirm"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
android:layout_weight="1" android:layout_weight="1"

View File

@ -40,6 +40,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
android:layout_weight="1" android:layout_weight="1"
android:contentDescription="@string/AccessibilityId_dont_download_media"
android:text="@string/cancel" /> android:text="@string/cancel" />
<Button <Button
@ -49,6 +50,7 @@
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="@dimen/medium_spacing" android:layout_marginStart="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_download_media"
android:text="@string/dialog_download_button_title" /> android:text="@string/dialog_download_button_title" />
</LinearLayout> </LinearLayout>

View File

@ -40,7 +40,8 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/cancel" /> android:text="@string/cancel"
android:contentDescription="@string/AccessibilityId_cancel_link_preview_button"/>
<Button <Button
style="@style/Widget.Session.Button.Dialog.Unimportant" style="@style/Widget.Session.Button.Dialog.Unimportant"
@ -49,7 +50,10 @@
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
android:layout_weight="1" android:layout_weight="1"
android:layout_marginStart="@dimen/medium_spacing" android:layout_marginStart="@dimen/medium_spacing"
android:text="@string/dialog_link_preview_enable_button_title" /> android:text="@string/dialog_link_preview_enable_button_title"
android:contentDescription="@string/AccessibilityId_enable_link_preview_button"
/>
</LinearLayout> </LinearLayout>

View File

@ -28,6 +28,7 @@
<TextView <TextView
style="@style/SessionIDTextView" style="@style/SessionIDTextView"
android:contentDescription="@string/AccessibilityId_recovery_phrase"
android:id="@+id/seedTextView" android:id="@+id/seedTextView"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -46,6 +47,7 @@
<Button <Button
style="@style/Widget.Session.Button.Dialog.UnimportantText" style="@style/Widget.Session.Button.Dialog.UnimportantText"
android:contentDescription="@string/AccessibilityId_cancel_button"
android:id="@+id/copyButton" android:id="@+id/copyButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"
@ -55,6 +57,7 @@
<Button <Button
style="@style/Widget.Session.Button.Dialog.UnimportantText" style="@style/Widget.Session.Button.Dialog.UnimportantText"
android:contentDescription="@string/AccessibilityId_copy_recovery_phrase"
android:id="@+id/closeButton" android:id="@+id/closeButton"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="@dimen/small_button_height" android:layout_height="@dimen/small_button_height"

View File

@ -12,6 +12,7 @@
<cn.carbswang.android.numberpickerview.library.NumberPickerView <cn.carbswang.android.numberpickerview.library.NumberPickerView
android:id="@+id/expiration_number_picker" android:id="@+id/expiration_number_picker"
android:contentDescription="@string/AccessibilityId_disappearing_messages_time_picker"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
app:npv_WrapSelectorWheel="false" app:npv_WrapSelectorWheel="false"
app:npv_DividerColor="#cbc8ea" app:npv_DividerColor="#cbc8ea"

View File

@ -12,6 +12,7 @@
<TextView <TextView
android:id="@+id/detailsTextView" android:id="@+id/detailsTextView"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:contentDescription="@string/AccessibilityId_details"
android:drawableStart="@drawable/ic_info_outline_white_24dp" android:drawableStart="@drawable/ic_info_outline_white_24dp"
android:drawableTint="?attr/colorControlNormal" android:drawableTint="?attr/colorControlNormal"
android:text="@string/details" /> android:text="@string/details" />
@ -35,6 +36,7 @@
<TextView <TextView
android:id="@+id/pinTextView" android:id="@+id/pinTextView"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:contentDescription="@string/AccessibilityId_pin"
android:drawableStart="?attr/menu_pin_icon" android:drawableStart="?attr/menu_pin_icon"
android:text="@string/conversation_pin" android:text="@string/conversation_pin"
android:visibility="gone" android:visibility="gone"
@ -51,6 +53,7 @@
<TextView <TextView
android:id="@+id/blockTextView" android:id="@+id/blockTextView"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:contentDescription="@string/AccessibilityId_block"
android:drawableStart="?attr/menu_block_icon" android:drawableStart="?attr/menu_block_icon"
android:text="@string/RecipientPreferenceActivity_block" android:text="@string/RecipientPreferenceActivity_block"
android:visibility="gone" android:visibility="gone"
@ -67,6 +70,7 @@
<TextView <TextView
android:id="@+id/muteNotificationsTextView" android:id="@+id/muteNotificationsTextView"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:contentDescription="@string/AccessibilityId_mute_notifications"
android:drawableStart="@drawable/ic_outline_notifications_off_24" android:drawableStart="@drawable/ic_outline_notifications_off_24"
android:text="@string/MuteDialog_mute_notifications" android:text="@string/MuteDialog_mute_notifications"
tools:visibility="visible" tools:visibility="visible"
@ -102,6 +106,7 @@
<TextView <TextView
android:id="@+id/deleteTextView" android:id="@+id/deleteTextView"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:contentDescription="@string/AccessibilityId_delete"
android:drawableStart="?attr/menu_trash_icon" android:drawableStart="?attr/menu_trash_icon"
android:text="@string/delete" /> android:text="@string/delete" />

View File

@ -56,6 +56,7 @@
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:layout_marginRight="@dimen/large_spacing" android:layout_marginRight="@dimen/large_spacing"
android:layout_marginBottom="@dimen/medium_spacing" android:layout_marginBottom="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_group_name_input"
android:hint="@string/activity_create_closed_group_edit_text_hint" android:hint="@string/activity_create_closed_group_edit_text_hint"
android:maxLength="30" android:maxLength="30"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -102,6 +103,7 @@
android:layout_width="196dp" android:layout_width="196dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginVertical="@dimen/large_spacing" android:layout_marginVertical="@dimen/large_spacing"
android:contentDescription="@string/AccessibilityId_create_group"
android:text="@string/activity_create_group_create_button_title" android:text="@string/activity_create_group_create_button_title"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View File

@ -11,18 +11,21 @@
<TextView <TextView
android:id="@+id/deleteForMeTextView" android:id="@+id/deleteForMeTextView"
android:contentDescription="@string/AccessibilityId_delete_just_for_me"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:text="@string/delete_message_for_me" android:text="@string/delete_message_for_me"
android:textColor="@color/destructive"/> android:textColor="@color/destructive"/>
<TextView <TextView
android:id="@+id/deleteForEveryoneTextView" android:id="@+id/deleteForEveryoneTextView"
android:contentDescription="@string/delete_message_for_everyone"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:text="@string/delete_message_for_everyone" android:text="@string/delete_message_for_everyone"
android:textColor="@color/destructive"/> android:textColor="@color/destructive"/>
<TextView <TextView
android:id="@+id/cancelTextView" android:id="@+id/cancelTextView"
android:contentDescription="@string/AccessibilityId_cancel_deletion"
style="@style/BottomSheetActionItem" style="@style/BottomSheetActionItem"
android:text="@string/cancel" /> android:text="@string/cancel" />

View File

@ -33,6 +33,7 @@
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginHorizontal="@dimen/large_spacing" android:layout_marginHorizontal="@dimen/large_spacing"
android:layout_marginTop="@dimen/large_spacing" android:layout_marginTop="@dimen/large_spacing"
android:contentDescription="@string/AccessibilityId_session_id_input"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/fragment_enter_public_key_edit_text_hint" android:hint="@string/fragment_enter_public_key_edit_text_hint"
android:imeOptions="actionDone" android:imeOptions="actionDone"
@ -131,6 +132,7 @@
android:layout_width="196dp" android:layout_width="196dp"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginVertical="@dimen/medium_spacing" android:layout_marginVertical="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_next"
android:text="@string/next" android:text="@string/next"
android:visibility="gone" android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"

View File

@ -59,6 +59,7 @@
<TextView <TextView
android:id="@+id/createPrivateChatButton" android:id="@+id/createPrivateChatButton"
android:contentDescription="@string/AccessibilityId_new_direct_message"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height" android:layout_height="@dimen/setting_button_height"
android:drawablePadding="@dimen/large_spacing" android:drawablePadding="@dimen/large_spacing"
@ -84,6 +85,7 @@
<TextView <TextView
android:id="@+id/createClosedGroupButton" android:id="@+id/createClosedGroupButton"
android:contentDescription="@string/AccessibilityId_create_group"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height" android:layout_height="@dimen/setting_button_height"
android:drawablePadding="@dimen/large_spacing" android:drawablePadding="@dimen/large_spacing"
@ -109,6 +111,7 @@
<TextView <TextView
android:id="@+id/joinCommunityButton" android:id="@+id/joinCommunityButton"
android:contentDescription="@string/AccessibilityId_join_community"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/setting_button_height" android:layout_height="@dimen/setting_button_height"
android:drawablePadding="@dimen/large_spacing" android:drawablePadding="@dimen/large_spacing"

View File

@ -35,9 +35,9 @@
android:id="@+id/mnemonicEditText" android:id="@+id/mnemonicEditText"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginLeft="@dimen/very_large_spacing" android:layout_marginHorizontal="@dimen/very_large_spacing"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:layout_marginRight="@dimen/very_large_spacing" android:contentDescription="@string/AccessibilityId_enter_your_recovery_phrase"
android:paddingTop="0dp" android:paddingTop="0dp"
android:paddingBottom="0dp" android:paddingBottom="0dp"
android:gravity="center_vertical" android:gravity="center_vertical"
@ -55,9 +55,9 @@
android:id="@+id/continueButton" android:id="@+id/continueButton"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginLeft="@dimen/massive_spacing" android:layout_marginHorizontal="@dimen/massive_spacing"
android:layout_marginRight="@dimen/massive_spacing"
android:layout_marginBottom="@dimen/medium_spacing" android:layout_marginBottom="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_link_device"
android:text="@string/continue_2" /> android:text="@string/continue_2" />
</LinearLayout> </LinearLayout>

View File

@ -54,6 +54,7 @@
<ImageView <ImageView
android:layout_width="20dp" android:layout_width="20dp"
android:layout_height="22dp" android:layout_height="22dp"
android:contentDescription="@string/AccessibilityId_edit_user_nickname"
android:paddingTop="2dp" android:paddingTop="2dp"
android:src="@drawable/ic_baseline_edit_24" /> android:src="@drawable/ic_baseline_edit_24" />
@ -71,6 +72,7 @@
android:id="@+id/cancelNicknameEditingButton" android:id="@+id/cancelNicknameEditingButton"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:contentDescription="@string/AccessibilityId_cancel"
android:src="@drawable/ic_baseline_clear_24" /> android:src="@drawable/ic_baseline_clear_24" />
<EditText <EditText
@ -79,11 +81,10 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginStart="@dimen/small_spacing" android:layout_marginHorizontal="@dimen/small_spacing"
android:layout_marginEnd="@dimen/small_spacing" android:contentDescription="@string/AccessibilityId_username"
android:textAlignment="center" android:textAlignment="center"
android:paddingTop="12dp" android:paddingVertical="12dp"
android:paddingBottom="12dp"
android:inputType="text" android:inputType="text"
android:singleLine="true" android:singleLine="true"
android:imeOptions="actionDone" android:imeOptions="actionDone"
@ -94,6 +95,7 @@
android:id="@+id/saveNicknameButton" android:id="@+id/saveNicknameButton"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:contentDescription="@string/AccessibilityId_apply"
android:src="@drawable/ic_baseline_done_24" /> android:src="@drawable/ic_baseline_done_24" />
</LinearLayout> </LinearLayout>
@ -106,6 +108,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:contentDescription="@string/AccessibilityId_session_id"
android:textSize="@dimen/medium_font_size" android:textSize="@dimen/medium_font_size"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="05987d601943c267879be41830888066c6a024cbdc9a548d06813924bf3372ea78" /> tools:text="05987d601943c267879be41830888066c6a024cbdc9a548d06813924bf3372ea78" />
@ -116,8 +119,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="@dimen/medium_button_height" android:layout_height="@dimen/medium_button_height"
android:layout_marginTop="@dimen/medium_spacing" android:layout_marginTop="@dimen/medium_spacing"
android:paddingLeft="@dimen/large_spacing" android:contentDescription="@string/AccessibilityId_message_user"
android:paddingRight="@dimen/large_spacing" android:paddingHorizontal="@dimen/large_spacing"
android:text="@string/ConversationActivity_message" /> android:text="@string/ConversationActivity_message" />
</LinearLayout> </LinearLayout>

View File

@ -31,6 +31,7 @@
<TextView <TextView
android:id="@+id/textView" android:id="@+id/textView"
android:contentDescription="@string/AccessibilityId_control_message"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"

View File

@ -40,8 +40,9 @@
<TextView <TextView
android:id="@+id/conversationViewDisplayNameTextView" android:id="@+id/conversationViewDisplayNameTextView"
android:layout_width="wrap_content" android:contentDescription="@string/AccessibilityId_conversation_list_item"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toStartOf="@id/unreadCountIndicator" app:layout_constraintEnd_toStartOf="@id/unreadCountIndicator"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"

View File

@ -19,6 +19,7 @@
<TextView <TextView
android:id="@+id/deleteTitleTextView" android:id="@+id/deleteTitleTextView"
android:contentDescription="@string/AccessibilityId_deleted_message"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="4dp" android:layout_marginStart="4dp"

View File

@ -7,7 +7,8 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="@dimen/medium_spacing" android:padding="@dimen/medium_spacing"
android:gravity="center"> android:gravity="center"
android:contentDescription="@string/AccessibilityId_document">
<ImageView <ImageView
android:id="@+id/documentViewIconImageView" android:id="@+id/documentViewIconImageView"

View File

@ -24,6 +24,7 @@
<RelativeLayout <RelativeLayout
android:id="@+id/attachmentsButtonContainer" android:id="@+id/attachmentsButtonContainer"
android:contentDescription="@string/AccessibilityId_attachments_button"
android:layout_width="@dimen/input_bar_button_expanded_size" android:layout_width="@dimen/input_bar_button_expanded_size"
android:layout_height="@dimen/input_bar_button_expanded_size" android:layout_height="@dimen/input_bar_button_expanded_size"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"
@ -32,6 +33,7 @@
<org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarEditText <org.thoughtcrime.securesms.conversation.v2.input_bar.InputBarEditText
android:id="@+id/inputBarEditText" android:id="@+id/inputBarEditText"
android:contentDescription="@string/AccessibilityId_message_input"
android:inputType="textMultiLine" android:inputType="textMultiLine"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_height="40dp"

View File

@ -29,7 +29,8 @@
android:layout_height="16dp" android:layout_height="16dp"
android:src="@drawable/ic_crown" android:src="@drawable/ic_crown"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" /> android:layout_alignParentBottom="true"
android:contentDescription="@string/AccessibilityId_contact_mentions"/>
</RelativeLayout> </RelativeLayout>
@ -41,6 +42,7 @@
android:textSize="@dimen/small_font_size" android:textSize="@dimen/small_font_size"
android:textColor="?android:textColorPrimary" android:textColor="?android:textColorPrimary"
android:maxLines="1" android:maxLines="1"
android:contentDescription="@string/AccessibilityId_contact_mentions"
android:ellipsize="end" /> android:ellipsize="end" />
</LinearLayout> </LinearLayout>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:contentDescription="@string/AccessibilityId_message_request"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"

View File

@ -3,6 +3,7 @@
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_width="match_parent"
android:contentDescription="@string/AccessibilityId_message_request_banner"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/conversation_view_background" android:background="@drawable/conversation_view_background"
android:gravity="center_vertical" android:gravity="center_vertical"

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<org.thoughtcrime.securesms.components.ProfilePictureView <org.thoughtcrime.securesms.components.ProfilePictureView
android:contentDescription="@string/AccessibilityId_profile_picture"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">

View File

@ -19,6 +19,7 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:contentDescription="@string/AccessibilityId_recovery_phrase_reminder"
android:gravity="center_vertical" android:gravity="center_vertical"
android:padding="@dimen/medium_spacing" android:padding="@dimen/medium_spacing"
android:orientation="horizontal"> android:orientation="horizontal">
@ -58,6 +59,7 @@
<Button <Button
style="@style/Widget.Session.Button.Common.ProminentOutline" style="@style/Widget.Session.Button.Common.ProminentOutline"
android:contentDescription="@string/AccessibilityId_continue"
android:id="@+id/button" android:id="@+id/button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="28dp" android:layout_height="28dp"

View File

@ -2,9 +2,10 @@
<org.thoughtcrime.securesms.conversation.v2.messages.UntrustedAttachmentView <org.thoughtcrime.securesms.conversation.v2.messages.UntrustedAttachmentView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
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"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools" android:contentDescription="@string/AccessibilityId_untrusted_attachment_message"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="@dimen/medium_spacing" android:padding="@dimen/medium_spacing"
android:gravity="center"> android:gravity="center">

View File

@ -4,6 +4,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="64dp" android:layout_height="64dp"
android:background="@drawable/conversation_view_background" android:background="@drawable/conversation_view_background"
android:contentDescription="@string/AccessibilityId_contact"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
@ -23,6 +24,7 @@
<TextView <TextView
android:id="@+id/nameTextView" android:id="@+id/nameTextView"
android:contentDescription="@string/AccessibilityId_contact"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/medium_spacing" android:layout_marginStart="@dimen/medium_spacing"
@ -36,6 +38,7 @@
<ImageView <ImageView
android:id="@+id/actionIndicatorImageView" android:id="@+id/actionIndicatorImageView"
android:contentDescription="@string/AccessibilityId_select_contact"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_marginStart="@dimen/medium_spacing" android:layout_marginStart="@dimen/medium_spacing"

View File

@ -88,6 +88,7 @@
android:layout_height="12dp" android:layout_height="12dp"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginHorizontal="@dimen/small_spacing" android:layout_marginHorizontal="@dimen/small_spacing"
android:contentDescription="@string/AccessibilityId_timer_icon"
android:visibility="invisible" android:visibility="invisible"
tools:visibility="visible" /> tools:visibility="visible" />

View File

@ -99,6 +99,7 @@
app:barrierDirection="bottom"/> app:barrierDirection="bottom"/>
<org.thoughtcrime.securesms.components.emoji.EmojiTextView <org.thoughtcrime.securesms.components.emoji.EmojiTextView
android:contentDescription="@string/AccessibilityId_message_body"
app:layout_constraintHorizontal_bias="0" app:layout_constraintHorizontal_bias="0"
tools:visibility="visible" tools:visibility="visible"
android:visibility="gone" android:visibility="gone"

View File

@ -3,6 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/mainVoiceMessageViewContainer" android:id="@+id/mainVoiceMessageViewContainer"
android:contentDescription="@string/AccessibilityId_voice_message"
android:layout_width="160dp" android:layout_width="160dp"
android:layout_height="36dp"> android:layout_height="36dp">

View File

@ -5,11 +5,13 @@
<item <item
android:title="@string/conversation__menu_view_all_media" android:title="@string/conversation__menu_view_all_media"
android:id="@+id/menu_view_all_media" /> android:id="@+id/menu_view_all_media"
android:contentDescription="@string/AccessibilityId_all_media"/>
<item <item
android:title="@string/SearchToolbar_search" android:title="@string/SearchToolbar_search"
android:id="@+id/menu_search" android:id="@+id/menu_search"
android:contentDescription="@string/AccessibilityId_search"
app:actionViewClass="androidx.appcompat.widget.SearchView" app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="collapseActionView" /> app:showAsAction="collapseActionView" />

View File

@ -4,6 +4,7 @@
<item <item
android:title="@string/recipient_preferences__block" android:title="@string/recipient_preferences__block"
android:contentDescription="@string/AccessibilityId_block"
android:id="@+id/menu_block" /> android:id="@+id/menu_block" />
</menu> </menu>

View File

@ -3,6 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item <item
android:title="@string/conversation_context__menu_call" android:title="@string/conversation_context__menu_call"
android:contentDescription="@string/AccessibilityId_call_button"
android:icon="@drawable/ic_baseline_call_24" android:icon="@drawable/ic_baseline_call_24"
app:showAsAction="always" app:showAsAction="always"
android:id="@+id/menu_call"/> android:id="@+id/menu_call"/>

View File

@ -5,11 +5,13 @@
<item <item
android:id="@+id/menu_edit_group" android:id="@+id/menu_edit_group"
android:contentDescription="@string/AccessibilityId_edit_group"
android:title="@string/conversation__menu_edit_group" android:title="@string/conversation__menu_edit_group"
app:showAsAction="collapseActionView" /> app:showAsAction="collapseActionView" />
<item <item
android:id="@+id/menu_leave_group" android:id="@+id/menu_leave_group"
android:contentDescription="@string/AccessibilityId_leave_group"
android:title="@string/conversation__menu_leave_group" android:title="@string/conversation__menu_leave_group"
app:showAsAction="collapseActionView"/> app:showAsAction="collapseActionView"/>

View File

@ -5,6 +5,7 @@
<item <item
android:title="@string/activity_conversation_menu_copy_session_id" android:title="@string/activity_conversation_menu_copy_session_id"
android:id="@+id/menu_copy_session_id" android:id="@+id/menu_copy_session_id"
android:icon="@drawable/ic_content_copy_white_24dp" /> android:icon="@drawable/ic_content_copy_white_24dp"
android:contentDescription="@string/AccessibilityId_copy_session_id"/>
</menu> </menu>

View File

@ -4,6 +4,7 @@
<item <item
android:title="@string/conversation_expiring_off__disappearing_messages" android:title="@string/conversation_expiring_off__disappearing_messages"
android:contentDescription="@string/AccessibilityId_disappearing_messages"
android:id="@+id/menu_expiring_messages_off" android:id="@+id/menu_expiring_messages_off"
android:icon="@drawable/ic_baseline_timer_off_24" /> android:icon="@drawable/ic_baseline_timer_off_24" />

View File

@ -5,6 +5,7 @@
<item <item
android:id="@+id/menu_expiring_messages" android:id="@+id/menu_expiring_messages"
android:contentDescription="@string/AccessibilityId_disappearing_messages_timer"
app:actionLayout="@layout/expiration_timer_menu" app:actionLayout="@layout/expiration_timer_menu"
app:showAsAction="always" app:showAsAction="always"
android:title="@string/menu_conversation_expiring_on__messages_expiring" /> android:title="@string/menu_conversation_expiring_on__messages_expiring" />

View File

@ -2,5 +2,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item <item
android:title="@string/RecipientPreferenceActivity_notification_settings" android:title="@string/RecipientPreferenceActivity_notification_settings"
android:id="@+id/menu_notification_settings"/> android:id="@+id/menu_notification_settings"
android:contentDescription="@string/AccessibilityId_notification_settings"/>
</menu> </menu>

View File

@ -4,6 +4,7 @@
<item <item
android:title="@string/conversation_unmuted__mute_notifications" android:title="@string/conversation_unmuted__mute_notifications"
android:id="@+id/menu_mute_notifications" /> android:id="@+id/menu_mute_notifications"
android:contentDescription="@string/AccessibilityId_mute_notifications" />
</menu> </menu>

View File

@ -6,6 +6,7 @@
android:title="@string/menu_done_button" android:title="@string/menu_done_button"
android:id="@+id/doneButton" android:id="@+id/doneButton"
android:icon="?menu_accept_icon" android:icon="?menu_accept_icon"
android:contentDescription="@string/AccessibilityId_done"
app:showAsAction="always" /> app:showAsAction="always" />
</menu> </menu>

View File

@ -4,8 +4,9 @@
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item <item
android:title="@string/menu_apply_button"
android:id="@+id/action_apply" android:id="@+id/action_apply"
app:showAsAction="always|withText"/> android:title="@string/menu_apply_button"
android:contentDescription="@string/AccessibilityId_apply_changes"
app:showAsAction="always|withText" />
</menu> </menu>

View File

@ -1,24 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEEzCCAvugAwIBAgIUY9RQqbjhsQEkdeSgV9L0os9xZ7AwDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3RvcmlhMRIwEAYDVQQHDAlN
ZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNoIEZvdW5kYXRpb24x
HzAdBgNVBAMMFnB1YmxpYy5sb2tpLmZvdW5kYXRpb24wHhcNMjEwNDA3MDExMDMx
WhcNMjMwNDA3MDExMDMxWjB8MQswCQYDVQQGEwJBVTERMA8GA1UECAwIVmljdG9y
aWExEjAQBgNVBAcMCU1lbGJvdXJuZTElMCMGA1UECgwcT3hlbiBQcml2YWN5IFRl
Y2ggRm91bmRhdGlvbjEfMB0GA1UEAwwWcHVibGljLmxva2kuZm91bmRhdGlvbjCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM5dBJSIR5+VNNUxUOo6FG0e
RmZteRqBt50KXGbOi2A23a6sa57pLFh9Yw3hmlWV+QCL7ipG1X4IC55OStgoesf+
K65VwEMP6Mtq0sSJS3R5TiuV2ZSRdSZTVjUyRXVe5T4Aw6wXVTAbc/HsyS780tDh
GclfDHhonPhZpmTAnSbfMOS+BfOnBNvDxdto0kVh6k5nrGlkT4ECloulHTQF2lwJ
0D6IOtv9AJplPdg6s2c4dY7durOdvr3NNVfvn5PTeRvbEPqzZur4WUUKIPNGu6mY
PxImqd4eUsL0Vod4aAsTIx4YMmCTi0m9W6zJI6nXcK/6a+iiA3+NTNMzEA9gQhEC
AwEAAaOBjDCBiTAdBgNVHQ4EFgQU/zahokxLvvFUpbnM6z/pwS1KsvwwHwYDVR0j
BBgwFoAU/zahokxLvvFUpbnM6z/pwS1KsvwwDwYDVR0TAQH/BAUwAwEB/zAhBgNV
HREEGjAYghZwdWJsaWMubG9raS5mb3VuZGF0aW9uMBMGA1UdJQQMMAoGCCsGAQUF
BwMBMA0GCSqGSIb3DQEBCwUAA4IBAQBql+JvoqpaYrFFTOuDn08U+pdcd3GM7tbI
zRH5LU+YnIpp9aRheek+2COW8DXsIy/kUngETCMLmX6ZaUj/WdHnTDkB0KTgxSHv
ad3ZznKPKZ26qJOklr+0ZWj4J3jHbisSzql6mqq7R2Kp4ESwzwqxvkbykM5RUnmz
Go/3Ol7bpN/ZVwwEkGfD/5rRHf57E/gZn2pBO+zotlQgr7HKRsIXQ2hIXVQqWmPQ
lvfIwrwAZlfES7BARFnHOpyVQxV8uNcV5K5eXzuVFjHBqvq+BtyGhWkP9yKJCHS9
OUXxch0rzRsH2C/kRVVhEk0pI3qlFiRC8pCJs98SNE9l69EQtG7I
-----END CERTIFICATE-----

View File

@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEDTCCAvWgAwIBAgIUWk96HLAovn4uFSI057KhnMxqosowDQYJKoZIhvcNAQEL
BQAwejELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3RvcmlhMRIwEAYDVQQHDAlN
ZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNoIEZvdW5kYXRpb24x
HTAbBgNVBAMMFHNlZWQxLmdldHNlc3Npb24ub3JnMB4XDTIzMDQwNTAxMjQzNVoX
DTMzMDQwNTAxMjQzNVowejELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3Rvcmlh
MRIwEAYDVQQHDAlNZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNo
IEZvdW5kYXRpb24xHTAbBgNVBAMMFHNlZWQxLmdldHNlc3Npb24ub3JnMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2wlGkR2aDOHoizik4mqvWEwDPOQG
o/Afd/6VqKzo4BpNerVZQNgdMgdLTedZE4FRfetubonYu6iSYALK2iKoGsIlru1u
Q9dUl0abA9v+yg6duh1aHw8oS16JPL0zdq8QevJaTxd0MeDnx4eXfFjtv8L0xO4r
CRFH+H6ATcJy+zhVBcWLjiNPe6mGSHM4trx3hwJY6OuuWX5FkO0tMqj9aKJtJ+l0
NArra0BZ9MaMwAFE7AxWwyD0jWIcSvwK06eap+6jBcZIr+cr7fPO5mAlT+CoGB68
yUFwh1wglcVdNPoa1mbFQssCsCRa3MWgpzbMq+KregVzjVEtilwLFjx7FQIDAQAB
o4GKMIGHMB0GA1UdDgQWBBQ1XAjGKhyIU22mYdUEIlzlktogNzAfBgNVHSMEGDAW
gBQ1XAjGKhyIU22mYdUEIlzlktogNzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdEQQY
MBaCFHNlZWQxLmdldHNlc3Npb24ub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0G
CSqGSIb3DQEBCwUAA4IBAQC4PRiu4LyxK71Gk+f3dDvjinuE9F0XtAamKfRlLMEo
KxK8dtLrT8p62rME7QiigSv15AmSNyqAp751N/j0th1prOnxBoG38BXKLBDDClri
u91MR4h034G6LIYCiM99ldc8Q5a5WCKu9/9z6CtVxZcNlfe477d6lKHSwb3mQ581
1Ui3RnpkkU1n4XULI+TW2n/Hb8gN6IyTHFB9y2jb4kdg7N7PZIN8FS3n3XGiup9r
b/Rujkuy7rFW78Q1BuHWrQPbJ3RU2CKh1j5o6mtcJFRqP1PfqWmbuaomam48s5hU
4JEiR9tyxP+ewl/bToFcet+5Lp9wRLxn0afm/3V00WyP
-----END CERTIFICATE-----

View File

@ -1,25 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEITCCAwmgAwIBAgIUJsox1ZQPK/6iDsCC+MUJfNAlFuYwDQYJKoZIhvcNAQEL
BQAwgYAxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0b3JpYTESMBAGA1UEBwwJ
TWVsYm91cm5lMSUwIwYDVQQKDBxPeGVuIFByaXZhY3kgVGVjaCBGb3VuZGF0aW9u
MSMwIQYDVQQDDBpzdG9yYWdlLnNlZWQxLmxva2kubmV0d29yazAeFw0yMTA0MDcw
MTE5MjZaFw0yMzA0MDcwMTE5MjZaMIGAMQswCQYDVQQGEwJBVTERMA8GA1UECAwI
VmljdG9yaWExEjAQBgNVBAcMCU1lbGJvdXJuZTElMCMGA1UECgwcT3hlbiBQcml2
YWN5IFRlY2ggRm91bmRhdGlvbjEjMCEGA1UEAwwac3RvcmFnZS5zZWVkMS5sb2tp
Lm5ldHdvcmswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtWH3Rz8Dd
kEmM7tcBWHrJ/G8drr/+qidboEVYzxpyRjszaDxKXVhx4eBBsAD5RuCWuTuZmM8k
TKEDLtf8xfb5SQ7YNX+346s9NXS5Poy4CIPASiW/QWXgIHFbVdv2hC+cKOP61OLM
OGnOxfig6tQyd6EaCkedpY1DvSa2lPnQSOwC/jXCx6Vboc0zTY5R2bHtNc9hjIFP
F4VClLAQSh2F4R1V9MH5KZMW+CCP6oaJY658W9JYXYRwlLrL2EFOVxHgcxq/6+fw
+axXK9OXJrGZjuA+hiz+L/uAOtE4WuxrSeuNMHSrMtM9QqVn4bBuMJ21mAzfNoMP
OIwgMT9DwUjVAgMBAAGjgZAwgY0wHQYDVR0OBBYEFOubJp9SoXIw+ONiWgkOaW8K
zI/TMB8GA1UdIwQYMBaAFOubJp9SoXIw+ONiWgkOaW8KzI/TMA8GA1UdEwEB/wQF
MAMBAf8wJQYDVR0RBB4wHIIac3RvcmFnZS5zZWVkMS5sb2tpLm5ldHdvcmswEwYD
VR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAIiHNhNrjYvwXVWs
gacx8T/dpqpu9GE3L17LotgQr4R+IYHpNtcmwOTdtWWFfUTr75OCs+c3DqgRKEoj
lnULOsVcalpAGIvW15/fmZWOf66Dpa4+ljDmAc3SOQiD0gGNtqblgI5zG1HF38QP
hjYRhCZ5CVeGOLucvQ8tVVwQvArPFIkBr0jH9jHVgRWEI2MeI3FsU2H93D4TfGln
N4SmmCfYBqygaaZBWkJEt0bYhn8uGHdU9UY9L2FPtfHVKkmFgO7cASGlvXS7B/TT
/8IgbtM3O8mZc2asmdQhGwoAKz93ryyCd8X2UZJg/IwCSCayOlYZWY2fR4OPQmmV
gxJsm+g=
-----END CERTIFICATE-----

View File

@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEDTCCAvWgAwIBAgIUXkVaUNO/G727mNeaiso9MjvBEm4wDQYJKoZIhvcNAQEL
BQAwejELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3RvcmlhMRIwEAYDVQQHDAlN
ZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNoIEZvdW5kYXRpb24x
HTAbBgNVBAMMFHNlZWQyLmdldHNlc3Npb24ub3JnMB4XDTIzMDQwNTAxMjI0MloX
DTMzMDQwNTAxMjI0MlowejELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3Rvcmlh
MRIwEAYDVQQHDAlNZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNo
IEZvdW5kYXRpb24xHTAbBgNVBAMMFHNlZWQyLmdldHNlc3Npb24ub3JnMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvT493tt1EWdyIa++X59ffrQt+ghK
+3Hv/guCPmR0FxPUeVnayoLbeKgbe8dduThh7nlmlYnpwbulvDnMF/rRpX51AZiT
A8UGktBzGXi17/D/X71EXGqlM41QZfVm5MCdQcghvbwO8MP0nWmbV4DdiNYAwSNh
fpGMEiblCvKtGN71clTkOW+8Moq4eOxT9tKIlOv97uvkUS21NgmSzsj453hrb6oj
XR3rtW264zn99+Gv83rDE1jk0qfDjxCkaUb0BvRDREc+1q3p8GZ6euEFBM3AcXe7
Yl0qbJgIXd5I+W5nMJJCyJHPTxQNvS+uJqL4kLvdwQRFAkwEM+t9GCH1PQIDAQAB
o4GKMIGHMB0GA1UdDgQWBBQOdqxllTHj+fmGjmdgIXBl+k0PRDAfBgNVHSMEGDAW
gBQOdqxllTHj+fmGjmdgIXBl+k0PRDAPBgNVHRMBAf8EBTADAQH/MB8GA1UdEQQY
MBaCFHNlZWQyLmdldHNlc3Npb24ub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0G
CSqGSIb3DQEBCwUAA4IBAQBkmmX+mopdnhzQC5b5rgbU7wVhlDaG7eJCRgUvqkYm
Pbv6XFfvtshykhw2BjSyQetofJaBh5KOR7g0MGRSn3AqRPBeEpXfkBI9urhqFwBF
F5atmp1rTCeHuAS6w4mL6rmj7wHl2CRSom7czRdUCNM+Tu1iK6xOrtOLwQ1H1ps1
KK3siJb3W0eKykHnheQPn77RulVBNLz1yedEUTVkkuVhzSUj5yc8tiwrcagwWX6m
BlfVCJgsBbrJ754rg0AJ0k59wriRamimcUIBvKIo3g3UhJHDI8bt4+SvsRYkSmbi
rzVthAlJjSlRA28X/OLnknWcgEdkGhu0F1tkBtVjIQXd
-----END CERTIFICATE-----

View File

@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEDTCCAvWgAwIBAgIUTz5rHKUe+VA9IM6vY6QACc0ORFkwDQYJKoZIhvcNAQEL
BQAwejELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3RvcmlhMRIwEAYDVQQHDAlN
ZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNoIEZvdW5kYXRpb24x
HTAbBgNVBAMMFHNlZWQzLmdldHNlc3Npb24ub3JnMB4XDTIzMDQwNTAxMjYzMVoX
DTMzMDQwNTAxMjYzMVowejELMAkGA1UEBhMCQVUxETAPBgNVBAgMCFZpY3Rvcmlh
MRIwEAYDVQQHDAlNZWxib3VybmUxJTAjBgNVBAoMHE94ZW4gUHJpdmFjeSBUZWNo
IEZvdW5kYXRpb24xHTAbBgNVBAMMFHNlZWQzLmdldHNlc3Npb24ub3JnMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6FgxIk9KmYISL5fk7BLaGAW6lBx8
b4VL3DjlyrFMz7ZhSbcUcavWyyYB+iJxBRhfQGJ7vbwJZ1AwVJisjDFdiLcWzTF8
gzZ7LVXH8qlVnqcx0gksrWYFnG3Y2WJrxEBFdD29lP7LVN3xLQdplMitOciqg5jN
oRjtwGo+wzaMW6WNPzgTvxLzPce9Rl3oN4tSK7qlA9VtsyHwOWBMcogv9LC9IUFZ
2yu0RdcxPdlwLwywYtSRt/W87KbAWTcYY1DfN2VA68p9Cip7/dPOokRduMh1peux
swmIybpC/wz/Ql6J6scSOjDUp/2UsIdYIvyP/Dibi4nHRmD+oz9kb+J3AQIDAQAB
o4GKMIGHMB0GA1UdDgQWBBSQAFetDPIzVg9rfgOI7bfaeEHd8TAfBgNVHSMEGDAW
gBSQAFetDPIzVg9rfgOI7bfaeEHd8TAPBgNVHRMBAf8EBTADAQH/MB8GA1UdEQQY
MBaCFHNlZWQzLmdldHNlc3Npb24ub3JnMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0G
CSqGSIb3DQEBCwUAA4IBAQCiBNdbKNSHyCZJKvC/V+pHy9E/igwvih2GQ5bNZJFA
daOiKBgaADxaxB4lhtzasr2LdgZdLrn0oONw+wYaui9Z12Yfdr9oWuOgktn8HKLY
oKkJc5EcMYFsd00FnnFcO2U8lQoL6PB/tdcEmpOfqtvShpNhp8SbadSNiqlttvtV
1dqvqSBiRdQm1kz2b8hA6GR6SPzSKlSuwI0J+ZcXEi232EJFbgJ3ESHFVHrhUZro
8A16/WDvZOMWCjOqJsFBw15WzosW9kyNwBtZinXVO3LW/7tVl08PDcarpH4IWjd0
LDpU7zGjcD/A19tfdfMFTOmETuq40I8xxtlR2NENFOAL
-----END CERTIFICATE-----

View File

@ -1,25 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEITCCAwmgAwIBAgIUc486Dy9Y00bUFfDeYmJIgSS5xREwDQYJKoZIhvcNAQEL
BQAwgYAxCzAJBgNVBAYTAkFVMREwDwYDVQQIDAhWaWN0b3JpYTESMBAGA1UEBwwJ
TWVsYm91cm5lMSUwIwYDVQQKDBxPeGVuIFByaXZhY3kgVGVjaCBGb3VuZGF0aW9u
MSMwIQYDVQQDDBpzdG9yYWdlLnNlZWQzLmxva2kubmV0d29yazAeFw0yMTA0MDcw
MTIwNTJaFw0yMzA0MDcwMTIwNTJaMIGAMQswCQYDVQQGEwJBVTERMA8GA1UECAwI
VmljdG9yaWExEjAQBgNVBAcMCU1lbGJvdXJuZTElMCMGA1UECgwcT3hlbiBQcml2
YWN5IFRlY2ggRm91bmRhdGlvbjEjMCEGA1UEAwwac3RvcmFnZS5zZWVkMy5sb2tp
Lm5ldHdvcmswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtokMlsFzf
piYeD0EVNikMyvjltpF6fUEde9NOVrTtNTQT6kkDk+/0HF5LYgPaatv6v7fpUQHi
kIwd6F0LTRGeWDFdsaWMdtlR1n/GxLPrOROsE8dcLt6GLavPf9rDabgva93m/JD6
XW+Ne+MPEwqS8dAmFGhZd0gju6AtKFoSHnIf5pSQN6fSZUF/JQtHLVprAKKWKDiS
ZwmWbmrZR2aofLD/VRpetabajnZlv9EeWloQwvUsw1C1hkAmmtFeeXtg7ePwrOzo
6CnmcUJwOmi+LWqQV4A+58RZPFKaZoC5pzaKd0OYB8eZ8HB1F41UjGJgheX5Cyl4
+amfF3l8dSq1AgMBAAGjgZAwgY0wHQYDVR0OBBYEFM9VSq4pGydjtX92Beul4+ml
jBKtMB8GA1UdIwQYMBaAFM9VSq4pGydjtX92Beul4+mljBKtMA8GA1UdEwEB/wQF
MAMBAf8wJQYDVR0RBB4wHIIac3RvcmFnZS5zZWVkMy5sb2tpLm5ldHdvcmswEwYD
VR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAAYxmhhkcKE1n6g1
JqOa3UCBo4EfbqY5+FDZ0FVqv/cwemwVpKLbe6luRIS8poomdPCyMOS45V7wN3H9
cFpfJ1TW19ydPVKmCXrl29ngmnY1q7YDwE/4qi3VK/UiqDkTHMKWjVPkenOyi8u6
VVQANXSnKrn6GtigNFjGyD38O+j7AUSXBtXOJczaoF6r6BWgwQZ2WmgjuwvKTWSN
4r8uObERoAQYVaeXfgdr4e9X/JdskBDaLFfoW/rrSozHB4FqVNFW96k+aIUgRa5p
9kv115QcBPCSh9qOyTHij4tswS6SyOFaiKrNC4hgHQXP4QgioKmtsR/2Y+qJ6ddH
6oo+4QU=
-----END CERTIFICATE-----

View File

@ -9,6 +9,145 @@
<string name="save">Save</string> <string name="save">Save</string>
<string name="note_to_self">Note to Self</string> <string name="note_to_self">Note to Self</string>
<string name="version_s">Version %s</string> <string name="version_s">Version %s</string>
<!--Accessibility ID's-->
<!-- Landing Page -->
<string name="AccessibilityId_create_session_id">Create session ID</string>
<string name="AccessibilityId_restore_your_session">Restore Your Session</string>
<string name="AccessibilityId_link_a_device">Link a device</string>
<string name="AccessibilityId_link_device">Link Device</string>
<!-- Session ID Page-->
<string name="AccessibilityId_session_id">Session ID</string>
<string name="AccessibilityId_recovery_phrase_reminder">Recovery phrase reminder</string>
<string name="AccessibilityId_continue">Continue</string>
<!-- Recovery phrase input -->
<string name="AccessibilityId_copy_session_id">Copy Session ID</string>
<!--Restore by seed page-->
<string name="AccessibilityId_enter_your_recovery_phrase">Enter your recovery phrase</string>
<!--Create Display Name -->
<string name="AccessibilityId_enter_display_name">Enter display name</string>
<!--Message Notifications Options-->
<string name="AccessibilityId_message_notifications">Message Notifications</string>
<string name="AccessibilityId_fast_mode_notifications_option">Fast mode notifications option</string>
<string name="AccessibilityId_slow_mode_notifications_option">Slow mode notifications option</string>
<string name="AccessibilityId_continue_message_notifications">Continue with settings</string>
<!--Recovery Phrase reminder-->
<string name="AccessibilityId_recovery_phrase">Recovery Phrase</string>
<string name="AccessibilityId_copy_recovery_phrase">Copy Recovery Phrase</string>
<!--Home Page-->
<string name="AccessibilityId_profile_picture">User settings</string>
<string name="AccessibilityId_search_icon">Search icon</string>
<string name="AccessibilityId_conversation_list_item">Conversation list item</string>
<string name="AccessibilityId_details">Details</string>
<string name="AccessibilityId_pin">Pin</string>
<!--Settings Page -->
<string name="AccessibilityId_blocked_contacts">Blocked contacts</string>
<!--Message requests-->
<string name="AccessibilityId_message_request_banner">Message requests banner</string>
<string name="AccessibilityId_message_request">Message request</string>
<string name="AccessibilityId_empty_message_request_folder">No pending message requests</string>
<string name="AccessibilityId_clear_all_message_requests">Clear all</string>
<!--New conversation pop up-->
<string name="AccessibilityId_new_conversation_button">New conversation button</string>
<string name="AccessibilityId_new_direct_message">New direct message</string>
<string name="AccessibilityId_create_group">Create group</string>
<string name="AccessibilityId_join_community">Join community</string>
<!-- Conversation options (three dots menu)-->
<string name="AccessibilityId_all_media">All media</string>
<string name="AccessibilityId_search">Search</string>
<string name="AccessibilityId_add_to_home_screen">Add to home screen</string>
<string name="AccessibilityId_disappearing_messages">Disappearing messages</string>
<string name="AccessibilityId_block">Block</string>
<string name="AccessibilityId_block_confirm">Confirm block</string>
<string name="AccessibilityId_notification_settings">Notification settings</string>
<string name="AccessibilityId_mute_notifications">Mute notifications</string>
<string name="AccessibilityId_delete">Delete</string>
<string name="AccessibilityId_enable">Enable</string>
<!-- Conversation options for closed group-->
<string name="AccessibilityId_edit_group">Edit group</string>
<string name="AccessibilityId_leave_group">Leave group</string>
<string name="AccessibilityId_group_name">Group name</string>
<string name="AccessibilityId_accept_name_change">Accept name change</string>
<string name="AccessibilityId_cancel_name_change">Cancel name change</string>
<string name="AccessibilityId_apply_changes">Apply changes</string>
<string name="AccessibilityId_add_members">Add members</string>
<string name="AccessibilityId_done">Done</string>
<string name="AccessibilityId_mentions_list">Mentions list</string>
<string name="AccessibilityId_contact_mentions">Contact mentions</string>
<!-- Conversation icons -->
<string name="AccessibilityId_call_button">Call button</string>
<string name="AccessibilityId_settings">Settings</string>
<string name="AccessibilityId_disappearing_messages_timer">Disappearing messages timer</string>
<string name="AccessibilityId_disappearing_messages_time_picker">Time selector</string>
<string name="AccessibilityId_accept_message_request_button">Accept message request</string>
<string name="AccessibilityId_decline_message_request_button">Decline message request</string>
<string name="AccessibilityId_block_message_request_button">Block message request</string>
<string name="AccessibilityId_timer_icon">Timer icon</string>
<!-- Configuration messages -->
<string name="AccessibilityId_control_message">Configuration message</string>
<string name="AccessibilityId_blocked_banner">Blocked banner</string>
<string name="AccessibilityId_blocked_banner_text">Blocked banner text</string>
<!--New Session -->
<string name="AccessibilityId_session_id_input">Session id input box</string>
<string name="AccessibilityId_next">Next</string>
<!-- New group -->
<string name="AccessibilityId_group_name_input">Group name input</string>
<string name="AccessibilityId_continue_group_creation">Continue group creation</string>
<string name="AccessibilityId_contact">Contact</string>
<string name="AccessibilityId_select_contact">Select contact</string>
<!--Conversation screen -->
<string name="AccessibilityId_message_input">Message input box</string>
<string name="AccessibilityId_microphone_button">New voice message</string>
<string name="AccessibilityId_send_message_button">Send message button</string>
<string name="AccessibilityId_attachments_button">Attachments button</string>
<string name="AccessibilityId_select_camera_button">Select camera button</string>
<string name="AccessibilityId_images_folder">Images folder</string>
<string name="AccessibilityId_documents_folder">Documents folder</string>
<string name="AccessibilityId_gif_button">GIF button</string>
<string name="AccessibilityId_untrusted_attachment_message">Untrusted attachment message</string>
<string name="AccessibilityId_download_media">Download media</string>
<string name="AccessibilityId_dont_download_media">Don\'t download media</string>
<!-- Conversation View-->
<string name="AccessibilityId_message_sent_status_tick">Message sent status: Sent</string>
<string name="AccessibilityId_message_sent_status_pending">Message sent status pending</string>
<string name="AccessibilityId_message_request_config_message">Message request has been accepted</string>
<string name="AccessibilityId_message_body">Message Body</string>
<string name="AccessibilityId_voice_message">Voice message</string>
<string name="AccessibilityId_document">Document</string>
<string name="AccessibilityId_deleted_message">Deleted message</string>
<string name="AccessibilityId_delete_message">Delete message</string>
<string name="AccessibilityId_reply_message">Reply to message</string>
<string name="AccessibilityId_select">Select</string>
<string name="AccessibilityId_save_attachment">Save attachment</string>
<!-- Delete message modal-->
<string name="AccessibilityId_delete_just_for_me">Delete just for me</string>
<string name="AccessibilityId_delete_for_everyone">Delete for everyone</string>
<string name="AccessibilityId_cancel_deletion">Cancel deletion</string>
<!--Settings Page-->
<string name="AccessibilityId_username_input">Username input</string>
<string name="AccessibilityId_username_text">Username text</string>
<string name="AccessibilityId_user_settings">User settings</string>
<string name="AccessibilityId_username">Username</string>
<string name="AccessibilityId_privacy">Privacy</string>
<string name="AccessibilityId_show_recovery_phrase">Show recovery phrase</string>
<string name="AccessibilityId_edit_user_nickname">Edit user nickname</string>
<string name="AccessibilityId_apply">Apply</string>
<string name="AccessibilityId_cancel">Cancel</string>
<string name="AccessibilityId_message_user">Message user</string>
<string name="AccessibilityId_notifications">Notifications</string>
<string name="AccessibilityId_conversations">Conversations</string>
<string name="AccessibilityId_message_requests">Message requests</string>
<string name="AccessibilityId_appearance">Appearance</string>
<string name="AccessibilityId_invite_friend">Invite a friend</string>
<string name="AccessibilityId_help">Help</string>
<string name="AccessibilityId_clear_data">Clear data</string>
<!-- Recovery Phrase Dialog-->
<string name="AccessibilityId_cancel_button">Cancel</string>
<!-- Link preview Dialog-->
<string name="AccessibilityId_enable_link_preview_button">Enable</string>
<string name="AccessibilityId_cancel_link_preview_button">Cancel</string>
<!-- AbstractNotificationBuilder --> <!-- AbstractNotificationBuilder -->
<string name="AbstractNotificationBuilder_new_message">New message</string> <string name="AbstractNotificationBuilder_new_message">New message</string>
<!-- AlbumThumbnailView --> <!-- AlbumThumbnailView -->

View File

@ -4,21 +4,21 @@
<domain includeSubdomains="true">127.0.0.1</domain> <domain includeSubdomains="true">127.0.0.1</domain>
</domain-config> </domain-config>
<domain-config cleartextTrafficPermitted="false"> <domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="false">public.loki.foundation</domain> <domain includeSubdomains="false">seed1.getsession.org</domain>
<trust-anchors> <trust-anchors>
<certificates src="@raw/lf_session_cert"/> <certificates src="@raw/seed1"/>
</trust-anchors> </trust-anchors>
</domain-config> </domain-config>
<domain-config cleartextTrafficPermitted="false"> <domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="false">storage.seed1.loki.network</domain> <domain includeSubdomains="false">seed2.getsession.org</domain>
<trust-anchors> <trust-anchors>
<certificates src="@raw/seed1cert"/> <certificates src="@raw/seed2"/>
</trust-anchors> </trust-anchors>
</domain-config> </domain-config>
<domain-config cleartextTrafficPermitted="false"> <domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="false">storage.seed3.loki.network</domain> <domain includeSubdomains="false">seed3.getsession.org</domain>
<trust-anchors> <trust-anchors>
<certificates src="@raw/seed3cert"/> <certificates src="@raw/seed3"/>
</trust-anchors> </trust-anchors>
</domain-config> </domain-config>
</network-security-config> </network-security-config>

View File

@ -72,12 +72,16 @@ object SnodeAPI {
private val minimumSnodePoolCount = 12 private val minimumSnodePoolCount = 12
private val minimumSwarmSnodeCount = 3 private val minimumSwarmSnodeCount = 3
// Use port 4433 if the API level can handle the network security configuration and enforce pinned certificates // Use port 4433 if the API level can handle the network security configuration and enforce pinned certificates
private val seedNodePort = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) 443 else 4433 private val seedNodePort = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) 443 else 4443
private val seedNodePool by lazy { private val seedNodePool by lazy {
if (useTestnet) { if (useTestnet) {
setOf( "http://public.loki.foundation:38157" ) setOf( "http://public.loki.foundation:38157" )
} else { } else {
setOf( "https://storage.seed1.loki.network:$seedNodePort", "https://storage.seed3.loki.network:$seedNodePort", "https://public.loki.foundation:$seedNodePort" ) setOf(
"https://seed1.getsession.org:$seedNodePort",
"https://seed2.getsession.org:$seedNodePort",
"https://seed3.getsession.org:$seedNodePort",
)
} }
} }
private const val snodeFailureThreshold = 3 private const val snodeFailureThreshold = 3