rework strings

This commit is contained in:
B. Petersen 2018-12-12 01:50:35 +01:00
parent 33f07b584b
commit defac037de
No known key found for this signature in database
GPG key ID: 3B88E92DEA8E9AFC
131 changed files with 905 additions and 1662 deletions

View file

@ -114,7 +114,7 @@
</activity-alias> </activity-alias>
<activity android:name=".ConversationListArchiveActivity" <activity android:name=".ConversationListArchiveActivity"
android:label="@string/AndroidManifest_archived_conversations" android:label="@string/chat_archived_chats_title"
android:launchMode="singleTask" android:launchMode="singleTask"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:parentActivityName=".ConversationListActivity"> android:parentActivityName=".ConversationListActivity">
@ -150,7 +150,7 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".ContactMultiSelectionActivity" <activity android:name=".ContactMultiSelectionActivity"
android:label="@string/AndroidManifest__select_contacts" android:label="@string/contacts_title"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
@ -169,12 +169,12 @@
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".LogViewActivity" <activity android:name=".LogViewActivity"
android:label="@string/AndroidManifest__view_log" android:label="@string/pref_view_log"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
<activity android:name=".MediaPreviewActivity" <activity android:name=".MediaPreviewActivity"
android:label="@string/AndroidManifest__media_preview" android:label="@string/media_preview"
android:windowSoftInputMode="stateHidden" android:windowSoftInputMode="stateHidden"
android:launchMode="singleTask" android:launchMode="singleTask"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
@ -232,7 +232,7 @@
android:theme="@style/Theme.AppCompat.Dialog.Alert" android:theme="@style/Theme.AppCompat.Dialog.Alert"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"
android:icon="@drawable/clear_profile_avatar" android:icon="@drawable/clear_profile_avatar"
android:label="@string/AndroidManifest_remove_photo"> android:label="@string/menu_delete_image">
<intent-filter> <intent-filter>
<action android:name="org.thoughtcrime.securesms.action.CLEAR_PROFILE_PHOTO"/> <action android:name="org.thoughtcrime.securesms.action.CLEAR_PROFILE_PHOTO"/>

View file

@ -9,7 +9,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
android:contentDescription="@string/qr_scan_activity__title" /> android:contentDescription="@string/qrscan_title" />
<TextView <TextView
android:id="@+id/qrShowHint" android:id="@+id/qrShowHint"

View file

@ -41,14 +41,14 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_image_white_24dp" android:src="@drawable/ic_image_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__gallery_description" android:contentDescription="@string/gallery"
app:circleColor="@color/purple_400"/> app:circleColor="@color/purple_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/attachment_type_selector__gallery"/> android:text="@string/gallery"/>
</LinearLayout> </LinearLayout>
@ -64,14 +64,14 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_headset_white_24dp" android:src="@drawable/ic_headset_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__audio_description" android:contentDescription="@string/audio"
app:circleColor="@color/orange_400"/> app:circleColor="@color/orange_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__audio"/> android:text="@string/audio"/>
</LinearLayout> </LinearLayout>
@ -87,14 +87,14 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_insert_drive_file_white_24dp" android:src="@drawable/ic_insert_drive_file_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__file_description" android:contentDescription="@string/file"
app:circleColor="@color/red_400"/> app:circleColor="@color/red_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/attachment_type_selector__file"/> android:text="@string/file"/>
</LinearLayout> </LinearLayout>
@ -111,7 +111,7 @@
android:src="@drawable/ic_gif_white_24dp" android:src="@drawable/ic_gif_white_24dp"
android:visibility="gone" android:visibility="gone"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__gif_description" android:contentDescription="@string/gif"
app:circleColor="@color/cyan_400"/> app:circleColor="@color/cyan_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
@ -119,7 +119,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__gif"/> android:text="@string/gif"/>
</LinearLayout> </LinearLayout>
@ -146,7 +146,7 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_camera_white_24dp" android:src="@drawable/ic_camera_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__camera_description" android:contentDescription="@string/camera"
app:circleColor="@color/green_400"/> app:circleColor="@color/green_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
@ -154,7 +154,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__camera"/> android:text="@string/camera"/>
</LinearLayout> </LinearLayout>
@ -171,14 +171,14 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_location_on_white_24dp" android:src="@drawable/ic_location_on_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__location_description" android:contentDescription="@string/location"
app:circleColor="@color/blue_grey_400"/> app:circleColor="@color/blue_grey_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__location"/> android:text="@string/location"/>
</LinearLayout> </LinearLayout>
@ -194,14 +194,14 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_person_white_24dp" android:src="@drawable/ic_person_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__contact_description" android:contentDescription="@string/contact"
app:circleColor="@color/blue_400"/> app:circleColor="@color/blue_400"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel" style="@style/AttachmentTypeLabel"
android:text="@string/attachment_type_selector__contact"/> android:text="@string/contact"/>
</LinearLayout> </LinearLayout>
@ -217,7 +217,7 @@
android:layout_height="53dp" android:layout_height="53dp"
android:src="@drawable/ic_keyboard_arrow_down_white_24dp" android:src="@drawable/ic_keyboard_arrow_down_white_24dp"
android:scaleType="center" android:scaleType="center"
android:contentDescription="@string/attachment_type_selector__drawer_description" android:contentDescription="@string/menu_add_attachment"
app:circleColor="@color/gray50"/> app:circleColor="@color/gray50"/>
<TextView android:layout_marginTop="10dp" <TextView android:layout_marginTop="10dp"

View file

@ -31,7 +31,7 @@
android:src="@drawable/ic_play_circle_fill_white_48dp" android:src="@drawable/ic_play_circle_fill_white_48dp"
android:scaleType="centerInside" android:scaleType="centerInside"
tools:visibility="gone" tools:visibility="gone"
android:contentDescription="@string/audio_view__play_accessibility_description"/> android:contentDescription="@string/menu_play"/>
<ImageView android:id="@+id/pause" <ImageView android:id="@+id/pause"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -43,7 +43,7 @@
android:background="@drawable/circle_touch_highlight_background" android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_pause_circle_fill_white_48dp" android:src="@drawable/ic_pause_circle_fill_white_48dp"
android:scaleType="centerInside" android:scaleType="centerInside"
android:contentDescription="@string/audio_view__pause_accessibility_description"/> android:contentDescription="@string/menu_pause"/>
</org.thoughtcrime.securesms.components.AnimatingToggle> </org.thoughtcrime.securesms.components.AnimatingToggle>

View file

@ -21,7 +21,7 @@
android:contentDescription="@string/email_address" android:contentDescription="@string/email_address"
android:fontFamily="sans-serif" android:fontFamily="sans-serif"
android:gravity="center_vertical" android:gravity="center_vertical"
android:hint="@string/contact_selection_activity__enter_name_or_email" android:hint="@string/contacts_enter_name_or_email"
android:inputType="textPersonName" android:inputType="textPersonName"
android:textCursorDrawable="@null" android:textCursorDrawable="@null"
android:textSize="18sp" /> android:textSize="18sp" />

View file

@ -22,7 +22,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center|center_vertical" android:gravity="center|center_vertical"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"
android:text="@string/contact_selection_group_activity__finding_contacts" android:text="@string/one_moment"
android:textSize="20sp" /> android:textSize="20sp" />
</android.support.v4.widget.SwipeRefreshLayout> </android.support.v4.widget.SwipeRefreshLayout>

View file

@ -20,7 +20,7 @@
android:foreground="@drawable/contact_photo_background" android:foreground="@drawable/contact_photo_background"
android:cropToPadding="true" android:cropToPadding="true"
tools:src="@color/blue_600" tools:src="@color/blue_600"
android:contentDescription="@string/SingleContactSelectionActivity_contact_photo" /> android:contentDescription="@null" />
<LinearLayout android:layout_width="0dp" <LinearLayout android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View file

@ -26,7 +26,7 @@
android:layout_height="150dp" android:layout_height="150dp"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:visibility="gone" android:visibility="gone"
android:contentDescription="@string/conversation_activity__attachment_thumbnail" android:contentDescription="@string/menu_add_attachment"
app:minWidth="100dp" app:minWidth="100dp"
app:maxWidth="300dp" app:maxWidth="300dp"
app:minHeight="100dp" app:minHeight="100dp"

View file

@ -41,7 +41,7 @@
android:layout_gravity="center" android:layout_gravity="center"
android:visibility="visible" android:visibility="visible"
style="@style/NoMessagesTextView" style="@style/NoMessagesTextView"
tools:text="@string/ConversationActivity_NoMessagesHint" tools:text="@string/chat_no_messages_hint"
/> />
<View <View
@ -65,7 +65,7 @@
android:tint="@color/grey_600" android:tint="@color/grey_600"
android:elevation="1dp" android:elevation="1dp"
android:alpha="0.9" android:alpha="0.9"
android:contentDescription="@string/conversation_fragment__scroll_to_the_bottom_content_description" android:contentDescription="@string/menu_scroll_to_bottom"
android:src="@drawable/ic_scroll_down"/> android:src="@drawable/ic_scroll_down"/>
</FrameLayout> </FrameLayout>

View file

@ -62,7 +62,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:background="@drawable/touch_highlight_background" android:background="@drawable/touch_highlight_background"
android:contentDescription="@string/conversation_activity__emoji_toggle_description" /> android:contentDescription="@string/menu_toggle_keyboard" />
<org.thoughtcrime.securesms.components.ComposeText <org.thoughtcrime.securesms.components.ComposeText
style="@style/ComposeEditText" style="@style/ComposeEditText"
@ -100,7 +100,7 @@
android:paddingTop="6dp" android:paddingTop="6dp"
android:paddingBottom="6dp" android:paddingBottom="6dp"
android:background="@drawable/touch_highlight_background" android:background="@drawable/touch_highlight_background"
android:contentDescription="@string/conversation_activity__quick_attachment_drawer_toggle_camera_description" /> android:contentDescription="@string/camera" />
<org.thoughtcrime.securesms.components.MicrophoneRecorderView <org.thoughtcrime.securesms.components.MicrophoneRecorderView
android:id="@+id/recorder_view" android:id="@+id/recorder_view"
@ -123,7 +123,7 @@
android:paddingBottom="6dp" android:paddingBottom="6dp"
android:src="?quick_mic_icon" android:src="?quick_mic_icon"
android:background="@null" android:background="@null"
android:contentDescription="@string/conversation_activity__quick_attachment_drawer_record_and_send_audio_description" /> android:contentDescription="@string/audio" />
<ImageView <ImageView
android:id="@+id/quick_audio_fab" android:id="@+id/quick_audio_fab"
@ -177,7 +177,7 @@
android:drawableLeft="@drawable/ic_keyboard_arrow_left_grey600_24dp" android:drawableLeft="@drawable/ic_keyboard_arrow_left_grey600_24dp"
android:drawableStart="@drawable/ic_keyboard_arrow_left_grey600_24dp" android:drawableStart="@drawable/ic_keyboard_arrow_left_grey600_24dp"
style="@style/Signal.Text.Caption" style="@style/Signal.Text.Caption"
android:text="@string/conversation_input_panel__slide_to_cancel" android:text="@string/chat_record_slide_to_cancel"
android:textAllCaps="true" android:textAllCaps="true"
android:textColor="@color/core_light_60" android:textColor="@color/core_light_60"
android:ellipsize="none" android:ellipsize="none"
@ -212,7 +212,7 @@
android:layout_gravity="center" android:layout_gravity="center"
android:background="@drawable/circle_touch_highlight_background" android:background="@drawable/circle_touch_highlight_background"
android:src="@drawable/ic_attach_white_24dp" android:src="@drawable/ic_attach_white_24dp"
android:contentDescription="@string/ConversationActivity_add_attachment" android:contentDescription="@string/menu_add_attachment"
android:nextFocusLeft="@+id/embedded_text_editor" /> android:nextFocusLeft="@+id/embedded_text_editor" />
<org.thoughtcrime.securesms.components.SendButton <org.thoughtcrime.securesms.components.SendButton
@ -224,7 +224,7 @@
android:paddingBottom="6dp" android:paddingBottom="6dp"
android:paddingLeft="11dp" android:paddingLeft="11dp"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:contentDescription="@string/conversation_activity__send" android:contentDescription="@string/menu_send"
android:nextFocusLeft="@+id/embedded_text_editor" android:nextFocusLeft="@+id/embedded_text_editor"
android:src="?conversation_transport_sms_indicator" android:src="?conversation_transport_sms_indicator"
android:background="@drawable/circle_touch_highlight_background" /> android:background="@drawable/circle_touch_highlight_background" />

View file

@ -15,7 +15,7 @@
android:src="@drawable/msg_encr_out" android:src="@drawable/msg_encr_out"
android:visibility="gone" android:visibility="gone"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
android:contentDescription="@string/conversation_item__secure_message_description" android:contentDescription="@string/chat_input_placeholder"
tools:visibility="visible"/> tools:visibility="visible"/>
<TextView <TextView

View file

@ -39,7 +39,7 @@
android:layout_height="36dp" android:layout_height="36dp"
android:layout_marginBottom="6dp" android:layout_marginBottom="6dp"
android:cropToPadding="true" android:cropToPadding="true"
android:contentDescription="@string/conversation_item_received__contact_photo_description" /> android:contentDescription="@null" />
</FrameLayout> </FrameLayout>

View file

@ -8,7 +8,7 @@
android:layout_height="@dimen/media_bubble_default_dimens" android:layout_height="@dimen/media_bubble_default_dimens"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:adjustViewBounds="true" android:adjustViewBounds="true"
android:contentDescription="@string/conversation_item__mms_image_description" android:contentDescription="@string/image"
android:visibility="gone" android:visibility="gone"
android:elevation="8dp" android:elevation="8dp"
app:conversationThumbnail_minWidth="@dimen/media_bubble_min_width" app:conversationThumbnail_minWidth="@dimen/media_bubble_min_width"

View file

@ -10,7 +10,7 @@
android:layout_gravity="center" android:layout_gravity="center"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:adjustViewBounds="true" android:adjustViewBounds="true"
android:contentDescription="@string/conversation_item__mms_image_description" android:contentDescription="@string/chat_input_placeholder"
android:visibility="gone" android:visibility="gone"
android:elevation="8dp" android:elevation="8dp"
app:conversationThumbnail_minWidth="@dimen/media_bubble_min_width" app:conversationThumbnail_minWidth="@dimen/media_bubble_min_width"

View file

@ -11,7 +11,7 @@
android:clickable="false" android:clickable="false"
android:longClickable="false" android:longClickable="false"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:contentDescription="@string/conversation_item__mms_image_description" android:contentDescription="@string/image"
app:thumbnail_radius="1dp"/> app:thumbnail_radius="1dp"/>
<ImageView <ImageView

View file

@ -35,7 +35,7 @@
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<TextView android:text="@string/conversation_list_fragment__give_your_inbox_something_to_write_home_about_get_started_by_messaging_a_friend" <TextView android:text="@string/chat_no_chats_yet_hint"
android:textSize="20sp" android:textSize="20sp"
android:padding="16dp" android:padding="16dp"
android:gravity="center" android:gravity="center"
@ -75,7 +75,7 @@
app:backgroundTint="@color/signal_primary" app:backgroundTint="@color/signal_primary"
android:src="@drawable/ic_add_white_24dp" android:src="@drawable/ic_add_white_24dp"
android:focusable="true" android:focusable="true"
android:contentDescription="@string/conversation_list_fragment__fab_content_description"/> android:contentDescription="@string/menu_new_chat"/>
</android.support.design.widget.CoordinatorLayout> </android.support.design.widget.CoordinatorLayout>

View file

@ -11,7 +11,7 @@
android:textSize="25sp" android:textSize="25sp"
android:gravity="center" android:gravity="center"
android:padding="16dp" android:padding="16dp"
android:text="@string/conversation_list_item_inbox_zero__inbox_zeeerrro"/> android:text="@string/chat_all_done_hint"/>
<ImageView <ImageView
android:layout_gravity="center" android:layout_gravity="center"
@ -26,6 +26,6 @@
android:gravity="center" android:gravity="center"
android:textSize="20sp" android:textSize="20sp"
android:padding="16dp" android:padding="16dp"
android:text="@string/conversation_list_item_inbox_zero__zip_zilch_zero_nada_nyou_re_all_caught_up"/> android:text="@string/chat_all_done_explain"/>
</org.thoughtcrime.securesms.ConversationListItemInboxZero> </org.thoughtcrime.securesms.ConversationListItemInboxZero>

View file

@ -20,7 +20,7 @@
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:cropToPadding="true" android:cropToPadding="true"
tools:src="@drawable/ic_contact_picture" tools:src="@drawable/ic_contact_picture"
android:contentDescription="@string/conversation_list_item_view__contact_photo_image" android:contentDescription="@string/pref_profile_photo"
android:layout_marginLeft="12dp" android:layout_marginLeft="12dp"
android:layout_marginRight="12dp" /> android:layout_marginRight="12dp" />
@ -114,7 +114,7 @@
android:paddingTop="1dp" android:paddingTop="1dp"
android:paddingBottom="1dp" android:paddingBottom="1dp"
style="@style/Signal.Text.Caption" style="@style/Signal.Text.Caption"
android:text="@string/conversation_list_item_view__archived" android:text="@string/chat_archived_label"
android:textColor="?attr/conversation_list_item_date_color" android:textColor="?attr/conversation_list_item_date_color"
android:textAllCaps="true" android:textAllCaps="true"
android:background="@drawable/archived_indicator_background" /> android:background="@drawable/archived_indicator_background" />

View file

@ -37,7 +37,7 @@
android:clickable="true" android:clickable="true"
app:inverted="true" app:inverted="true"
tools:src="@drawable/ic_contact_picture" tools:src="@drawable/ic_contact_picture"
android:contentDescription="@string/conversation_list_item_view__contact_photo_image"/> android:contentDescription="@string/pref_profile_photo"/>
<LinearLayout <LinearLayout
android:orientation="vertical" android:orientation="vertical"

View file

@ -18,7 +18,7 @@
android:src="@drawable/ic_delivery_status_sent" android:src="@drawable/ic_delivery_status_sent"
android:paddingLeft="2dp" android:paddingLeft="2dp"
android:visibility="gone" android:visibility="gone"
android:contentDescription="@string/conversation_item_sent__delivered_description" /> android:contentDescription="@string/message_delivered" />
<ImageView android:id="@+id/read_indicator" <ImageView android:id="@+id/read_indicator"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@ -27,7 +27,7 @@
android:src="@drawable/ic_delivery_status_read" android:src="@drawable/ic_delivery_status_read"
android:paddingLeft="2dp" android:paddingLeft="2dp"
android:visibility="gone" android:visibility="gone"
android:contentDescription="@string/conversation_item_sent__message_read" android:contentDescription="@string/message_read"
android:tint="@color/core_blue" android:tint="@color/core_blue"
tools:visibility="visible"/> tools:visibility="visible"/>
@ -38,7 +38,7 @@
android:src="@drawable/ic_delivery_status_failed" android:src="@drawable/ic_delivery_status_failed"
android:paddingLeft="2dp" android:paddingLeft="2dp"
android:visibility="gone" android:visibility="gone"
android:contentDescription="@string/conversation_item_sent__send_failed_indicator_description" android:contentDescription="@string/error"
android:tint="@color/core_blue" android:tint="@color/core_blue"
tools:visibility="visible"/> tools:visibility="visible"/>

View file

@ -26,7 +26,7 @@
android:layout_height="70dp" android:layout_height="70dp"
position="bottom_right" position="bottom_right"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:contentDescription="@string/GroupCreateActivity_avatar_content_description" /> android:contentDescription="@string/group_avatar" />
<org.thoughtcrime.securesms.components.emoji.EmojiEditText <org.thoughtcrime.securesms.components.emoji.EmojiEditText
android:id="@+id/group_name" android:id="@+id/group_name"
@ -37,7 +37,7 @@
android:lines="1" android:lines="1"
android:maxLength="255" android:maxLength="255"
android:inputType="textAutoCorrect" android:inputType="textAutoCorrect"
android:hint="@string/GroupCreateActivity_group_name_hint" /> android:hint="@string/group_name" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -88,7 +88,7 @@
app:cpb_colorProgress="@color/textsecure_primary" app:cpb_colorProgress="@color/textsecure_primary"
app:cpb_cornerRadius="20dp" app:cpb_cornerRadius="20dp"
app:cpb_selectorIdle="@drawable/progress_button_state" app:cpb_selectorIdle="@drawable/progress_button_state"
app:cpb_textIdle="@string/recipients_panel__add_members"/> app:cpb_textIdle="@string/group_add_members"/>
<com.dd.CircularProgressButton <com.dd.CircularProgressButton
android:id="@+id/verify_button" android:id="@+id/verify_button"
@ -106,7 +106,7 @@
app:cpb_cornerRadius="20dp" app:cpb_cornerRadius="20dp"
app:cpb_selectorIdle="@drawable/progress_button_state" app:cpb_selectorIdle="@drawable/progress_button_state"
android:visibility="gone" android:visibility="gone"
app:cpb_textIdle="@string/qr_show_activity__title"/> app:cpb_textIdle="@string/qrshow_title"/>
</LinearLayout> </LinearLayout>

View file

@ -20,14 +20,14 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:contentDescription="@string/InviteActivity_heart_content_description" android:contentDescription="@null"
android:src="@drawable/love_heart" /> android:src="@drawable/love_heart" />
<TextView android:layout_width="match_parent" <TextView android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20sp" android:textSize="20sp"
android:text="@string/InviteActivity_friends_dont_let_friends" android:text="@string/invite_slogan"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:layout_marginBottom="30dp" android:layout_marginBottom="30dp"
android:layout_marginTop="18dp" android:layout_marginTop="18dp"
@ -59,7 +59,7 @@
android:drawablePadding="10dp" android:drawablePadding="10dp"
android:drawableLeft="@drawable/ic_share_black_18dp" android:drawableLeft="@drawable/ic_share_black_18dp"
android:drawableStart="@drawable/ic_share_black_18dp" android:drawableStart="@drawable/ic_share_black_18dp"
android:text="@string/InviteActivity_share" android:text="@string/menu_share"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:ignore="ButtonStyle" /> tools:ignore="ButtonStyle" />

View file

@ -17,6 +17,6 @@
android:textSize="24sp" android:textSize="24sp"
android:gravity="center" android:gravity="center"
android:visibility="gone" android:visibility="gone"
android:text="@string/media_overview_documents_fragment__no_documents_found" /> android:text="@string/media_no_documents_hint" />
</RelativeLayout> </RelativeLayout>

View file

@ -17,6 +17,6 @@
android:textSize="24sp" android:textSize="24sp"
android:gravity="center" android:gravity="center"
android:visibility="gone" android:visibility="gone"
android:text="@string/media_overview_activity__no_media" /> android:text="@string/media_no_media_hint" />
</RelativeLayout> </RelativeLayout>

View file

@ -9,7 +9,7 @@
android:id="@+id/image" android:id="@+id/image"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:contentDescription="@string/media_preview_activity__media_content_description" /> android:contentDescription="@string/media_preview" />
<FrameLayout <FrameLayout
android:id="@+id/selected_indicator" android:id="@+id/selected_indicator"

View file

@ -8,7 +8,7 @@
android:id="@+id/image" android:id="@+id/image"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:contentDescription="@string/media_preview_activity__media_content_description" /> android:contentDescription="@string/media_preview" />
<ViewStub android:id="@+id/video_player_stub" <ViewStub android:id="@+id/video_player_stub"
android:inflatedId="@+id/video_player" android:inflatedId="@+id/video_player"

View file

@ -9,7 +9,7 @@
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/preferences_autocrypt__explain" android:text="@string/autocrypt_explain"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingRight="16dp" android:paddingRight="16dp"
android:paddingTop="8dp" android:paddingTop="8dp"

View file

@ -34,7 +34,7 @@
android:id="@+id/name_text" android:id="@+id/name_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/profile_create_activity__your_name" android:hint="@string/pref_your_name"
android:inputType="textCapWords" /> android:inputType="textCapWords" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -52,7 +52,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="top|left" android:gravity="top|left"
android:hint="@string/default_status_hint" android:hint="@string/pref_default_status_label"
android:inputType="textMultiLine" android:inputType="textMultiLine"
android:maxLines="3" /> android:maxLines="3" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -84,7 +84,7 @@
android:layout_marginLeft="3dp" android:layout_marginLeft="3dp"
android:clickable="true" android:clickable="true"
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="@string/profile_create_activity__who_can_see_this_information" android:text="@string/pref_who_can_see_this_information"
android:textColor="#73B7F0" /> android:textColor="#73B7F0" />
</LinearLayout> </LinearLayout>
@ -103,7 +103,7 @@
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginBottom="20dp" android:layout_marginBottom="20dp"
android:layout_marginTop="0dp" android:layout_marginTop="0dp"
android:text="@string/profile_create_activity__password_account" android:text="@string/pref_password_and_account_settings"
android:textColor="#73B7F0" android:textColor="#73B7F0"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="normal" android:textStyle="normal"

View file

@ -34,7 +34,7 @@
android:background="@color/signal_primary" android:background="@color/signal_primary"
android:gravity="center" android:gravity="center"
android:padding="16dp" android:padding="16dp"
android:text="@string/RegistrationActivity_header" android:text="@string/login_header"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20sp" android:textSize="20sp"
android:textStyle="bold" /> android:textStyle="bold" />
@ -48,7 +48,7 @@
android:paddingBottom="48dp" android:paddingBottom="48dp"
android:paddingLeft="16dp" android:paddingLeft="16dp"
android:paddingRight="16dp" android:paddingRight="16dp"
android:text="@string/RegistrationActivity_subheader" android:text="@string/login_subheader"
android:textColor="@color/white" android:textColor="@color/white"
app:layout_constraintTop_toBottomOf="@id/header" /> app:layout_constraintTop_toBottomOf="@id/header" />
@ -120,7 +120,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="48dp" android:layout_height="48dp"
android:gravity="center" android:gravity="center"
android:text="@string/advanced" android:text="@string/menu_advanced"
android:textColor="@color/blue_400" android:textColor="@color/blue_400"
app:layout_constraintEnd_toStartOf="@+id/advanced_icon" app:layout_constraintEnd_toStartOf="@+id/advanced_icon"
app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_chainStyle="packed"
@ -131,7 +131,7 @@
android:id="@+id/advanced_icon" android:id="@+id/advanced_icon"
android:layout_width="40dp" android:layout_width="40dp"
android:layout_height="40dp" android:layout_height="40dp"
android:contentDescription="@string/icon" android:contentDescription="@null"
android:padding="8dp" android:padding="8dp"
android:src="@drawable/ic_menu_remove_holo_light" android:src="@drawable/ic_menu_remove_holo_light"
android:tint="@color/blue_400" android:tint="@color/blue_400"
@ -146,7 +146,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="24dp" android:layout_height="24dp"
android:gravity="center" android:gravity="center"
android:text="@string/RegistrationActivity_inbox" android:text="@string/login_inbox"
app:layout_constraintStart_toStartOf="@id/guideline_root_start" app:layout_constraintStart_toStartOf="@id/guideline_root_start"
app:layout_constraintTop_toBottomOf="@id/advanced_text" /> app:layout_constraintTop_toBottomOf="@id/advanced_text" />
@ -162,7 +162,7 @@
android:id="@+id/imap_login_text" android:id="@+id/imap_login_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_imap_login" /> android:hint="@string/login_imap_login" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -179,7 +179,7 @@
android:id="@+id/imap_server_text" android:id="@+id/imap_server_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_imap_server" /> android:hint="@string/login_imap_server" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -196,7 +196,7 @@
android:id="@+id/imap_port_text" android:id="@+id/imap_port_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_imap_port" android:hint="@string/login_imap_port"
android:inputType="number" /> android:inputType="number" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -206,7 +206,7 @@
style="@style/TextAppearance.AppCompat.Caption" style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/RegistrationActivity_imap_security" android:text="@string/login_imap_security"
app:layout_constraintEnd_toEndOf="@id/guideline_root_end" app:layout_constraintEnd_toEndOf="@id/guideline_root_end"
app:layout_constraintStart_toStartOf="@id/guideline_root_start" app:layout_constraintStart_toStartOf="@id/guideline_root_start"
app:layout_constraintTop_toBottomOf="@id/imap_port" /> app:layout_constraintTop_toBottomOf="@id/imap_port" />
@ -231,7 +231,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="24dp" android:layout_height="24dp"
android:gravity="center" android:gravity="center"
android:text="@string/RegistrationActivity_outbox" android:text="@string/login_outbox"
app:layout_constraintStart_toStartOf="@id/guideline_root_start" app:layout_constraintStart_toStartOf="@id/guideline_root_start"
app:layout_constraintTop_toBottomOf="@id/outbox_view_spacer_top" /> app:layout_constraintTop_toBottomOf="@id/outbox_view_spacer_top" />
@ -247,7 +247,7 @@
android:id="@+id/smtp_login_text" android:id="@+id/smtp_login_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_smtp_login" /> android:hint="@string/login_smtp_login" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -264,7 +264,7 @@
android:id="@+id/smtp_password_text" android:id="@+id/smtp_password_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_smtp_password" android:hint="@string/login_smtp_password"
android:inputType="textPassword" /> android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -282,7 +282,7 @@
android:id="@+id/smtp_server_text" android:id="@+id/smtp_server_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_smtp_server" /> android:hint="@string/login_smtp_server" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -299,7 +299,7 @@
android:id="@+id/smtp_port_text" android:id="@+id/smtp_port_text"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="@string/RegistrationActivity_smtp_port" android:hint="@string/login_smtp_port"
android:inputType="number" /> android:inputType="number" />
</android.support.design.widget.TextInputLayout> </android.support.design.widget.TextInputLayout>
@ -309,7 +309,7 @@
style="@style/TextAppearance.AppCompat.Caption" style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/RegistrationActivity_smtp_security" android:text="@string/login_smtp_security"
app:layout_constraintEnd_toEndOf="@id/guideline_root_end" app:layout_constraintEnd_toEndOf="@id/guideline_root_end"
app:layout_constraintStart_toStartOf="@id/guideline_root_start" app:layout_constraintStart_toStartOf="@id/guideline_root_start"
app:layout_constraintTop_toBottomOf="@id/smtp_port" /> app:layout_constraintTop_toBottomOf="@id/smtp_port" />
@ -341,7 +341,7 @@
app:cpb_colorProgress="@color/textsecure_primary" app:cpb_colorProgress="@color/textsecure_primary"
app:cpb_cornerRadius="50dp" app:cpb_cornerRadius="50dp"
app:cpb_selectorIdle="@drawable/progress_button_state" app:cpb_selectorIdle="@drawable/progress_button_state"
app:cpb_textIdle="@string/registration_activity__login" app:cpb_textIdle="@string/login_title"
app:layout_constraintEnd_toEndOf="@id/guideline_root_end" app:layout_constraintEnd_toEndOf="@id/guideline_root_end"
app:layout_constraintStart_toStartOf="@id/guideline_root_start" app:layout_constraintStart_toStartOf="@id/guideline_root_start"
app:layout_constraintTop_toBottomOf="@id/register_button_spacer_top" /> app:layout_constraintTop_toBottomOf="@id/register_button_spacer_top" />

View file

@ -50,6 +50,6 @@
android:nextFocusLeft="@+id/container" android:nextFocusLeft="@+id/container"
android:nextFocusRight="@+id/container" android:nextFocusRight="@+id/container"
android:src="@drawable/ic_close_white_24dp" android:src="@drawable/ic_close_white_24dp"
android:contentDescription="@string/InviteActivity_cancel"/> android:contentDescription="@string/cancel"/>
</LinearLayout> </LinearLayout>

View file

@ -23,7 +23,7 @@
<TextView android:layout_width="wrap_content" <TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/ShareActivity_share_with" android:text="@string/chat_share_with_title"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20sp" android:textSize="20sp"
android:layout_alignParentStart="true" android:layout_alignParentStart="true"

View file

@ -12,7 +12,7 @@
android:clickable="false" android:clickable="false"
android:longClickable="false" android:longClickable="false"
android:scaleType="fitCenter" android:scaleType="fitCenter"
android:contentDescription="@string/conversation_item__mms_image_description" /> android:contentDescription="@null" />
<FrameLayout <FrameLayout
android:id="@+id/play_overlay" android:id="@+id/play_overlay"

View file

@ -14,7 +14,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="7dp" android:padding="7dp"
android:background="@drawable/circle_tintable" android:background="@drawable/circle_tintable"
android:contentDescription="@string/transport_selection_list_item__transport_icon" android:contentDescription="@string/menu_send"
tools:src="@drawable/ic_send_push_white_24dp" tools:src="@drawable/ic_send_push_white_24dp"
tools:backgroundTint="@color/textsecure_primary" /> tools:backgroundTint="@color/textsecure_primary" />

View file

@ -41,7 +41,7 @@
app:cpb_colorProgress="@color/textsecure_primary" app:cpb_colorProgress="@color/textsecure_primary"
app:cpb_cornerRadius="20dp" app:cpb_cornerRadius="20dp"
app:cpb_selectorIdle="@drawable/progress_button_state" app:cpb_selectorIdle="@drawable/progress_button_state"
app:cpb_textIdle="@string/WelcomeActivity_start_messaging" app:cpb_textIdle="@string/welcome_start_messaging"
app:layout_constraintBottom_toTopOf="@id/skip_button_bottom_spacer" app:layout_constraintBottom_toTopOf="@id/skip_button_bottom_spacer"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/> app:layout_constraintStart_toStartOf="parent"/>

View file

@ -2,12 +2,12 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu 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">
<item android:title="@string/conversation_list_batch__menu_delete_selected" <item android:title="@string/menu_delete_chat"
android:id="@+id/menu_delete_selected" android:id="@+id/menu_delete_selected"
android:icon="?menu_trash_icon" android:icon="?menu_trash_icon"
app:showAsAction="always" /> app:showAsAction="always" />
<item android:title="@string/conversation_list_batch__menu_select_all" <item android:title="@string/menu_select_all"
android:id="@+id/menu_select_all" android:id="@+id/menu_select_all"
android:icon="?menu_selectall_icon" android:icon="?menu_selectall_icon"
app:showAsAction="always"/> app:showAsAction="always"/>

View file

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/conversation__menu_view_profile" <item android:title="@string/menu_view_profile"
android:id="@+id/menu_conversation_settings"/> android:id="@+id/menu_conversation_settings"/>
<item android:title="@string/conversation__menu_add_attachment" <item android:title="@string/menu_add_attachment"
android:id="@+id/menu_add_attachment" /> android:id="@+id/menu_add_attachment" />
<item android:title="@string/conversation__menu_view_all_media" <item android:title="@string/menu_all_media"
android:id="@+id/menu_view_media" /> android:id="@+id/menu_view_media" />
</menu> </menu>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/conversation__menu_archive_chat" <item android:title="@string/menu_archive_chat"
android:id="@+id/menu_archive_chat"/> android:id="@+id/menu_archive_chat"/>
</menu> </menu>

View file

@ -1,37 +1,37 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="@string/conversation_context__menu_message_details" <item android:title="@string/menu_message_details"
android:id="@+id/menu_context_details" android:id="@+id/menu_context_details"
android:icon="?menu_info_icon" android:icon="?menu_info_icon"
app:showAsAction="always" /> app:showAsAction="always" />
<item android:title="@string/conversation_context__menu_delete_message" <item android:title="@string/menu_delete_messages"
android:id="@+id/menu_context_delete_message" android:id="@+id/menu_context_delete_message"
android:icon="?menu_trash_icon" android:icon="?menu_trash_icon"
app:showAsAction="always" /> app:showAsAction="always" />
<item android:title="@string/conversation_context__menu_copy_text" <item android:title="@string/menu_copy_to_clipboard"
android:id="@+id/menu_context_copy" android:id="@+id/menu_context_copy"
android:icon="?menu_copy_icon" android:icon="?menu_copy_icon"
app:showAsAction="always" /> app:showAsAction="always" />
<item android:title="@string/conversation_context__menu_forward_message" <item android:title="@string/menu_forward"
android:id="@+id/menu_context_forward" android:id="@+id/menu_context_forward"
android:icon="?menu_forward_icon" android:icon="?menu_forward_icon"
app:showAsAction="always" /> app:showAsAction="always" />
<item android:title="@string/conversation_context__menu_resend_message" <item android:title="@string/menu_resend"
android:id="@+id/menu_context_resend" android:id="@+id/menu_context_resend"
android:visible="false" android:visible="false"
app:showAsAction="never" /> app:showAsAction="never" />
<item android:title="@string/conversation_context_image__save_attachment" <item android:title="@string/menu_export_attachment"
android:id="@+id/menu_context_save_attachment" android:id="@+id/menu_context_save_attachment"
android:visible="false" android:visible="false"
android:icon="?menu_save_icon" android:icon="?menu_save_icon"
app:showAsAction="always" /> app:showAsAction="always" />
<item android:title="@string/conversation_context__menu_reply_to_message" <item android:title="@string/menu_reply"
android:id="@+id/menu_context_reply" android:id="@+id/menu_context_reply"
android:visible="true" android:visible="true"
android:icon="?menu_reply_icon" android:icon="?menu_reply_icon"

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/conversation__menu_delete_chat" <item android:title="@string/menu_delete_chat"
android:id="@+id/menu_delete_chat"/> android:id="@+id/menu_delete_chat"/>
</menu> </menu>

View file

@ -2,7 +2,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu 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">
<item android:title="@string/conversation_list_batch_archive__menu_archive_selected" <item android:title="@string/menu_archive_chat"
android:id="@+id/menu_archive_selected" android:id="@+id/menu_archive_selected"
android:icon="@drawable/ic_archive_white_24dp" android:icon="@drawable/ic_archive_white_24dp"
app:showAsAction="always"/> app:showAsAction="always"/>

View file

@ -2,7 +2,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu 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">
<item android:title="@string/conversation_list_batch_unarchive__menu_unarchive_selected" <item android:title="@string/menu_unarchive_chat"
android:id="@+id/menu_archive_selected" android:id="@+id/menu_archive_selected"
android:icon="@drawable/ic_unarchive_white_24dp" android:icon="@drawable/ic_unarchive_white_24dp"
app:showAsAction="always"/> app:showAsAction="always"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/conversation_muted__unmute" <item android:title="@string/menu_unmute"
android:id="@+id/menu_unmute_notifications" /> android:id="@+id/menu_unmute_notifications" />
</menu> </menu>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="@string/conversation_popup__menu_expand_popup" <item android:title="@string/menu_expand"
android:id="@+id/menu_expand" android:id="@+id/menu_expand"
android:icon="?menu_popup_expand" android:icon="?menu_popup_expand"
app:showAsAction="ifRoom" /> app:showAsAction="ifRoom" />

View file

@ -2,12 +2,12 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_edit_group" <item android:id="@+id/menu_edit_group"
android:title="@string/conversation__menu_edit_group" android:title="@string/menu_edit_group"
android:icon="?menu_group_icon" android:icon="?menu_group_icon"
app:showAsAction="ifRoom" /> app:showAsAction="ifRoom" />
<item android:id="@+id/menu_leave" <item android:id="@+id/menu_leave"
android:title="@string/conversation__menu_leave_group" android:title="@string/menu_leave_group"
app:showAsAction="collapseActionView"/> app:showAsAction="collapseActionView"/>
</menu> </menu>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/conversation__menu_unarchive_chat" <item android:title="@string/menu_unarchive_chat"
android:id="@+id/menu_archive_chat"/> android:id="@+id/menu_archive_chat"/>
</menu> </menu>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/conversation_unmuted__mute_notifications" <item android:title="@string/menu_mute"
android:id="@+id/menu_mute_notifications" /> android:id="@+id/menu_mute_notifications" />
</menu> </menu>

View file

@ -2,7 +2,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="@string/GroupCreateActivity_menu_apply_button" <item android:title="@string/group_create_button"
android:id="@+id/menu_create_group" android:id="@+id/menu_create_group"
android:icon="?menu_accept_icon" android:icon="?menu_accept_icon"
app:showAsAction="always|withText"/> app:showAsAction="always|withText"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/delete" <item android:id="@+id/delete"
android:title="@string/delete" android:title="@string/menu_delete_messages"
android:icon="@drawable/ic_delete_white_24dp" android:icon="@drawable/ic_delete_white_24dp"
app:showAsAction="always"/> app:showAsAction="always"/>
</menu> </menu>

View file

@ -2,19 +2,19 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu 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">
<item android:id="@+id/media_preview__forward" <item android:id="@+id/media_preview__forward"
android:title="@string/media_preview__forward_title" android:title="@string/menu_forward"
android:icon="@drawable/ic_forward_white_24dp" android:icon="@drawable/ic_forward_white_24dp"
app:showAsAction="always"/> app:showAsAction="always"/>
<item android:id="@+id/save" <item android:id="@+id/save"
android:title="@string/media_preview__save_title" android:title="@string/menu_export_attachment"
android:icon="@drawable/ic_save_white_24dp" android:icon="@drawable/ic_save_white_24dp"
app:showAsAction="always"/> app:showAsAction="always"/>
<item android:id="@+id/media_preview__overview" <item android:id="@+id/media_preview__overview"
android:title="@string/media_preview__all_media_title" android:title="@string/menu_all_media"
android:icon="@drawable/ic_photo_library_white_24dp" android:icon="@drawable/ic_photo_library_white_24dp"
app:showAsAction="ifRoom"/> app:showAsAction="ifRoom"/>
<item android:id="@+id/delete" <item android:id="@+id/delete"
android:title="@string/delete" android:title="@string/menu_delete_messages"
android:icon="@drawable/ic_delete_white_24dp" android:icon="@drawable/ic_delete_white_24dp"
app:showAsAction="ifRoom"/> app:showAsAction="ifRoom"/>
</menu> </menu>

View file

@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/menu_create_profile" android:id="@+id/menu_create_profile"
android:title="@string/profile_create_activity__finish" android:title="@string/ok"
app:showAsAction="always" app:showAsAction="always"
android:icon="?menu_accept_icon"/> android:icon="?menu_accept_icon"/>
</menu> </menu>

View file

@ -2,24 +2,21 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu 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">
<item android:title="@string/qr_scan_activity__title" <item android:title="@string/qrscan_title"
android:id="@+id/menu_qr_scan" android:id="@+id/menu_qr_scan"
android:icon="@drawable/ic_ab_qr" android:icon="@drawable/ic_ab_qr"
app:showAsAction="always"/> app:showAsAction="always"/>
<item android:title="@string/qr_show_activity__title" <item android:title="@string/qrshow_title"
android:id="@+id/menu_qr_show" /> android:id="@+id/menu_qr_show" />
<item android:title="@string/text_secure_normal__menu_new_chat" <item android:title="@string/menu_new_chat"
android:id="@+id/menu_new_chat" /> android:id="@+id/menu_new_chat" />
<item android:title="@string/menu_deaddrop" <item android:title="@string/menu_deaddrop"
android:id="@+id/menu_deaddrop" /> android:id="@+id/menu_deaddrop" />
<item android:title="@string/text_secure_normal__menu_clear_passphrase" <item android:title="@string/menu_settings"
android:id="@+id/menu_clear_passphrase" />
<item android:title="@string/text_secure_normal__menu_settings"
android:id="@+id/menu_settings" /> android:id="@+id/menu_settings" />
</menu> </menu>

View file

@ -2,7 +2,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" <menu 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">
<item android:title="@string/copy_to_clipboard" <item android:title="@string/menu_copy_to_clipboard"
android:id="@+id/copy_log_to_clipboard" /> android:id="@+id/copy_log_to_clipboard" />
</menu> </menu>

View file

@ -2,7 +2,7 @@
<resources> <resources>
<string-array name="language_entries"> <string-array name="language_entries">
<item>@string/preferences__default</item> <item>@string/def</item>
<item>English</item> <item>English</item>
<item>Arabic العربية</item> <item>Arabic العربية</item>
<item>Bulgarian български</item> <item>Bulgarian български</item>
@ -108,8 +108,8 @@
</string-array> </string-array>
<string-array name="pref_theme_entries"> <string-array name="pref_theme_entries">
<item>@string/preferences__light_theme</item> <item>@string/pref_light_theme</item>
<item>@string/preferences__dark_theme</item> <item>@string/pref_dark_theme</item>
</string-array> </string-array>
<string-array name="pref_theme_values" translatable="false"> <string-array name="pref_theme_values" translatable="false">
@ -118,14 +118,14 @@
</string-array> </string-array>
<string-array name="pref_led_color_entries"> <string-array name="pref_led_color_entries">
<item>@string/preferences__green</item> <item>@string/green</item>
<item>@string/preferences__red</item> <item>@string/red</item>
<item>@string/preferences__blue</item> <item>@string/blue</item>
<item>@string/preferences__orange</item> <item>@string/orange</item>
<item>@string/preferences__cyan</item> <item>@string/cyan</item>
<item>@string/preferences__magenta</item> <item>@string/magenta</item>
<item>@string/preferences__white</item> <item>@string/white</item>
<item>@string/preferences__none</item> <item>@string/none</item>
</string-array> </string-array>
@ -141,9 +141,9 @@
</string-array> </string-array>
<string-array name="pref_led_blink_pattern_entries"> <string-array name="pref_led_blink_pattern_entries">
<item>@string/preferences__fast</item> <item>@string/fast</item>
<item>@string/preferences__normal</item> <item>@string/normal</item>
<item>@string/preferences__slow</item> <item>@string/slow</item>
</string-array> </string-array>
<string-array name="pref_led_blink_pattern_values" translatable="false"> <string-array name="pref_led_blink_pattern_values" translatable="false">
@ -153,12 +153,12 @@
</string-array> </string-array>
<string-array name="pref_repeat_alerts_entries"> <string-array name="pref_repeat_alerts_entries">
<item>@string/preferences__never</item> <item>@string/never</item>
<item>@string/preferences__one_time</item> <item>@string/notify_repeat_one_time</item>
<item>@string/preferences__two_times</item> <item>@string/notify_repeat_two_times</item>
<item>@string/preferences__three_times</item> <item>@string/notify_repeat_three_times</item>
<item>@string/preferences__five_times</item> <item>@string/notify_repeat_five_times</item>
<item>@string/preferences__ten_times</item> <item>@string/notify_repeat_ten_times</item>
</string-array> </string-array>
<string-array name="pref_repeat_alerts_values" translatable="false"> <string-array name="pref_repeat_alerts_values" translatable="false">
@ -176,22 +176,22 @@
</string-array> </string-array>
<string-array name="default_or_custom_entries"> <string-array name="default_or_custom_entries">
<item>@string/arrays__use_default</item> <item>@string/def</item>
<item>@string/arrays__use_custom</item> <item>@string/custom</item>
</string-array> </string-array>
<string-array name="mute_durations"> <string-array name="mute_durations">
<item>@string/arrays__mute_for_one_hour</item> <item>@string/mute_for_one_hour</item>
<item>@string/arrays__mute_for_two_hours</item> <item>@string/mute_for_two_hours</item>
<item>@string/arrays__mute_for_one_day</item> <item>@string/mute_for_one_day</item>
<item>@string/arrays__mute_for_seven_days</item> <item>@string/mute_for_seven_days</item>
<item>@string/arrays__mute_for_one_year</item> <item>@string/mute_for_one_year</item>
</string-array> </string-array>
<string-array name="recipient_vibrate_entries"> <string-array name="recipient_vibrate_entries">
<item>@string/arrays__settings_default</item> <item>@string/def</item>
<item>@string/arrays__enabled</item> <item>@string/on</item>
<item>@string/arrays__disabled</item> <item>@string/off</item>
</string-array> </string-array>
<string-array name="recipient_vibrate_values"> <string-array name="recipient_vibrate_values">
@ -201,9 +201,9 @@
</string-array> </string-array>
<string-array name="pref_notification_privacy_entries"> <string-array name="pref_notification_privacy_entries">
<item>@string/arrays__name_and_message</item> <item>@string/notify_name_and_message</item>
<item>@string/arrays__name_only</item> <item>@string/notify_name_only</item>
<item>@string/arrays__no_name_or_message</item> <item>@string/notify_no_name_or_message</item>
</string-array> </string-array>
<string-array name="pref_notification_privacy_values"> <string-array name="pref_notification_privacy_values">
@ -230,10 +230,10 @@
</array> </array>
<string-array name="pref_message_font_size_entries"> <string-array name="pref_message_font_size_entries">
<item>@string/arrays__small</item> <item>@string/small</item>
<item>@string/arrays__normal</item> <item>@string/normal</item>
<item>@string/arrays__large</item> <item>@string/large</item>
<item>@string/arrays__extra_large</item> <item>@string/extra_large</item>
</string-array> </string-array>
<string-array name="pref_message_font_size_values"> <string-array name="pref_message_font_size_values">
@ -244,9 +244,9 @@
</string-array> </string-array>
<string-array name="pref_notification_priority_entries"> <string-array name="pref_notification_priority_entries">
<item>@string/arrays__default</item> <item>@string/def</item>
<item>@string/arrays__high</item> <item>@string/notify_priority_high</item>
<item>@string/arrays__max</item> <item>@string/notify_priority_max</item>
</string-array> </string-array>
<string-array name="pref_notification_priority_values"> <string-array name="pref_notification_priority_values">

File diff suppressed because it is too large Load diff

View file

@ -91,7 +91,7 @@
<item name="android:gravity">center_vertical</item> <item name="android:gravity">center_vertical</item>
<item name="android:imeOptions">flagNoEnterAction</item> <item name="android:imeOptions">flagNoEnterAction</item>
<item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item> <item name="android:inputType">textAutoCorrect|textCapSentences|textMultiLine</item>
<item name="android:contentDescription">@string/conversation_activity__compose_description</item> <item name="android:contentDescription">@string/chat_input_placeholder</item>
</style> </style>
<style name="AttachmentTypeLabel"> <style name="AttachmentTypeLabel">

View file

@ -6,31 +6,31 @@
android:key="preference_category_profile"/> android:key="preference_category_profile"/>
<Preference android:key="preference_category_notifications" <Preference android:key="preference_category_notifications"
android:title="@string/preferences__notifications" android:title="@string/pref_notifications"
android:icon="@drawable/ic_notifications_24dp"/> android:icon="@drawable/ic_notifications_24dp"/>
<Preference android:key="preference_category_app_protection" <Preference android:key="preference_category_app_protection"
android:title="@string/preferences__privacy" android:title="@string/pref_privacy"
android:icon="@drawable/ic_security_24dp"/> android:icon="@drawable/ic_security_24dp"/>
<Preference android:key="preference_category_appearance" <Preference android:key="preference_category_appearance"
android:title="@string/preferences__appearance" android:title="@string/pref_appearance"
android:icon="@drawable/ic_brightness_6_24dp"/> android:icon="@drawable/ic_brightness_6_24dp"/>
<Preference android:key="preference_category_chats" <Preference android:key="preference_category_chats"
android:title="@string/preferences__chats" android:title="@string/pref_chats_and_media"
android:icon="@drawable/ic_forum_24dp"/> android:icon="@drawable/ic_forum_24dp"/>
<Preference android:key="preference_category_advanced" <Preference android:key="preference_category_advanced"
android:title="@string/preferences__advanced" android:title="@string/menu_advanced"
android:icon="@drawable/ic_advanced_24dp"/> android:icon="@drawable/ic_advanced_24dp"/>
<Preference android:key="preference_category_invite" <Preference android:key="preference_category_invite"
android:title="@string/text_secure_normal__invite_friends" android:title="@string/menu_invite"
android:icon="@drawable/ic_invite_24dp"/> android:icon="@drawable/ic_invite_24dp"/>
<Preference android:key="preference_category_help" <Preference android:key="preference_category_help"
android:title="@string/text_secure_normal__help" android:title="@string/menu_help"
android:icon="@drawable/ic_help_24dp"/> android:icon="@drawable/ic_help_24dp"/>
</PreferenceScreen> </PreferenceScreen>

View file

@ -1,26 +1,26 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:key="media_download" android:title="@string/preferences_autocrypt"> <PreferenceCategory android:key="media_download" android:title="@string/autocrypt">
<Preference android:key="pref_send_autocrypt_setup_message" <Preference android:key="pref_send_autocrypt_setup_message"
android:title="@string/preferences_autocrypt__send_asm"/> android:title="@string/autocrypt_send_asm_title"/>
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="true" android:defaultValue="true"
android:key="pref_prefer_e2ee" android:key="pref_prefer_e2ee"
android:title="@string/preferences_autocrypt__prefer_e2ee"/> android:title="@string/autocrypt_prefer_e2ee"/>
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:layout="@layout/preference_divider_explain_autocrypt"/> <PreferenceCategory android:layout="@layout/preference_divider_explain_autocrypt"/>
<PreferenceCategory android:key="media_download" android:title="@string/preferences_other"> <PreferenceCategory android:key="media_download" android:title="@string/pref_other">
<Preference android:key="pref_backup" <Preference android:key="pref_backup"
android:title="@string/preferences__backup" android:title="@string/pref_backup"
android:summary="@string/preferences_chats__backup_chats_to_external_storage"/> android:summary="@string/pref_backup_explain"/>
<Preference android:key="pref_manage_keys" <Preference android:key="pref_manage_keys"
android:title="@string/preferences__manage_keys"/> android:title="@string/pref_manage_keys"/>
<Preference android:key="pref_view_log" <Preference android:key="pref_view_log"
android:title="@string/preferences__view_log"/> android:title="@string/pref_view_log"/>
</PreferenceCategory> </PreferenceCategory>
</PreferenceScreen> </PreferenceScreen>

View file

@ -1,63 +1,63 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/preferences_app_protection__screen_lock"> <PreferenceCategory android:title="@string/screenlock_title">
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_android_screen_lock" android:key="pref_android_screen_lock"
android:summary="@string/preferences_app_protection__lock_signal_access_with_android_screen_lock_or_fingerprint" android:summary="@string/screenlock_explain"
android:title="@string/preferences_app_protection__screen_lock" /> android:title="@string/screenlock_title" />
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_timeout_passphrase" android:key="pref_timeout_passphrase"
android:summary="@string/preferences__auto_lock_signal_after_a_specified_time_interval_of_inactivity" android:summary="@string/screenlock_inactivity_timeout_explain"
android:title="@string/preferences__inactivity_timeout_passphrase" /> android:title="@string/screenlock_inactivity_timeout" />
<Preference <Preference
android:dependency="pref_timeout_passphrase" android:dependency="pref_timeout_passphrase"
android:key="pref_timeout_interval" android:key="pref_timeout_interval"
android:title="@string/preferences__inactivity_timeout_interval" /> android:title="@string/screenlock_inactivity_timeout_interval" />
<Preference <Preference
android:key="pref_change_passphrase" android:key="pref_change_passphrase"
android:summary="@string/preferences__change_your_passphrase" android:summary="@string/pref_change_secret_explain"
android:title="@string/preferences__change_passphrase" /> android:title="@string/pref_change_secret" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:layout="@layout/preference_divider" /> <PreferenceCategory android:layout="@layout/preference_divider" />
<PreferenceCategory android:title="@string/preferences_app_protection__app_access"> <PreferenceCategory android:title="@string/pref_app_access">
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_screen_security" android:key="pref_screen_security"
android:summary="@string/preferences__disable_screen_security_to_allow_screen_shots" android:summary="@string/pref_screen_security_explain"
android:title="@string/preferences__screen_security" /> android:title="@string/pref_screen_security" />
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_incognito_keyboard" android:key="pref_incognito_keyboard"
android:summary="@string/preferences__request_keyboard_to_disable_personalized_learning" android:summary="@string/pref_incognito_keyboard_explain"
android:title="@string/preferences__incognito_keyboard" /> android:title="@string/pref_incognito_keyboard" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:layout="@layout/preference_divider" /> <PreferenceCategory android:layout="@layout/preference_divider" />
<PreferenceCategory android:title="@string/preferences_app_protection__communication"> <PreferenceCategory android:title="@string/pref_communication">
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_read_receipts" android:key="pref_read_receipts"
android:summary="@string/preferences__if_read_receipts_are_disabled_you_wont_be_able_to_see_read_receipts" android:summary="@string/pref_read_receipts_explain"
android:title="@string/preferences__read_receipts" /> android:title="@string/pref_read_receipts" />
<Preference <Preference
android:key="preference_category_blocked" android:key="preference_category_blocked"
android:title="@string/preferences_app_protection__blocked_contacts" /> android:title="@string/pref_blocked_contacts" />
</PreferenceCategory> </PreferenceCategory>

View file

@ -3,7 +3,7 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_theme" android:key="pref_theme"
android:title="@string/preferences__theme" android:title="@string/pref_theme"
android:entries="@array/pref_theme_entries" android:entries="@array/pref_theme_entries"
android:entryValues="@array/pref_theme_values" android:entryValues="@array/pref_theme_values"
android:defaultValue="light"> android:defaultValue="light">
@ -11,12 +11,12 @@
<org.thoughtcrime.securesms.preferences.widgets.SignalPreference <org.thoughtcrime.securesms.preferences.widgets.SignalPreference
android:key="pref_chat_background" android:key="pref_chat_background"
android:title="@string/preferences__chat_background" android:title="@string/pref_background"
/> />
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_language" android:key="pref_language"
android:title="@string/preferences__language" android:title="@string/pref_language"
android:entries="@array/language_entries" android:entries="@array/language_entries"
android:entryValues="@array/language_values" android:entryValues="@array/language_values"
android:defaultValue="zz"/> android:defaultValue="zz"/>

View file

@ -2,10 +2,10 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<PreferenceCategory android:title="@string/preferences_chats__chats"> <PreferenceCategory android:title="@string/pref_chats">
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_message_body_text_size" android:key="pref_message_body_text_size"
android:title="@string/preferences_chats__message_text_size" android:title="@string/pref_message_text_size"
android:entries="@array/pref_message_font_size_entries" android:entries="@array/pref_message_font_size_entries"
android:entryValues="@array/pref_message_font_size_values" android:entryValues="@array/pref_message_font_size_values"
android:defaultValue="16"> android:defaultValue="16">
@ -14,34 +14,33 @@
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_system_emoji" android:key="pref_system_emoji"
android:title="@string/preferences_advanced__use_system_emoji" android:title="@string/pref_use_system_emoji"
android:summary="@string/preferences_advanced__disable_signal_built_in_emoji_support" /> android:summary="@string/pref_use_system_emoji_explain" />
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_enter_sends" android:key="pref_enter_sends"
android:summary="@string/preferences__pressing_the_enter_key_will_send_text_messages" android:summary="@string/pref_enter_sends_explain"
android:title="@string/preferences__pref_enter_sends_title"/> android:title="@string/pref_enter_sends"/>
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory android:layout="@layout/preference_divider"/> <PreferenceCategory android:layout="@layout/preference_divider"/>
<PreferenceCategory android:key="message_trimming" android:title="@string/preferences_chats__message_trimming"> <PreferenceCategory android:key="message_trimming" android:title="@string/pref_trim_headline">
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:defaultValue="false" android:defaultValue="false"
android:key="pref_trim_threads" android:key="pref_trim_threads"
android:summary="@string/preferences__automatically_delete_older_messages_once_a_conversation_exceeds_a_specified_length" android:summary="@string/pref_trim_option_explain"
android:title="@string/preferences__delete_old_messages" /> android:title="@string/pref_trim_option" />
<EditTextPreference android:defaultValue="500" <EditTextPreference android:defaultValue="500"
android:key="pref_trim_length" android:key="pref_trim_length"
android:title="@string/preferences__conversation_length_limit" android:title="@string/pref_trim_length_limit"
android:inputType="number" android:inputType="number"
android:dependency="pref_trim_threads" /> android:dependency="pref_trim_threads" />
<Preference android:key="pref_trim_now" <Preference android:key="pref_trim_now"
android:title="@string/preferences__trim_all_conversations_now" android:title="@string/pref_trim_now_button"
android:summary="@string/preferences__scan_through_all_conversations_and_enforce_conversation_length_limits"
android:dependency="pref_trim_threads" /> android:dependency="pref_trim_threads" />
</PreferenceCategory> </PreferenceCategory>

View file

@ -2,17 +2,17 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/preferences_notifications__messages"> <PreferenceCategory android:title="@string/pref_messages">
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:key="pref_key_enable_notifications" android:key="pref_key_enable_notifications"
android:title="@string/preferences__notifications" android:title="@string/pref_notifications"
android:defaultValue="true" /> android:defaultValue="true" />
<org.thoughtcrime.securesms.preferences.widgets.SignalPreference <org.thoughtcrime.securesms.preferences.widgets.SignalPreference
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:key="pref_key_ringtone" android:key="pref_key_ringtone"
android:title="@string/preferences__sound" android:title="@string/pref_sound"
android:persistent="false" android:persistent="false"
android:defaultValue="content://settings/system/notification_sound" /> android:defaultValue="content://settings/system/notification_sound" />
@ -20,12 +20,12 @@
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:key="pref_key_vibrate" android:key="pref_key_vibrate"
android:defaultValue="true" android:defaultValue="true"
android:title="@string/preferences__vibrate"/> android:title="@string/pref_vibrate"/>
<org.thoughtcrime.securesms.preferences.widgets.LEDColorListPreference <org.thoughtcrime.securesms.preferences.widgets.LEDColorListPreference
android:key="pref_led_color" android:key="pref_led_color"
android:defaultValue="blue" android:defaultValue="blue"
android:title="@string/preferences__led_color" android:title="@string/pref_led_color"
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:entries="@array/pref_led_color_entries" android:entries="@array/pref_led_color_entries"
android:entryValues="@array/pref_led_color_values" /> android:entryValues="@array/pref_led_color_values" />
@ -33,28 +33,28 @@
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_led_blink" android:key="pref_led_blink"
android:defaultValue="500,2000" android:defaultValue="500,2000"
android:title="@string/preferences__pref_led_blink_title" android:title="@string/pref_led_pattern"
android:dependency="pref_led_color" android:dependency="pref_led_color"
android:entries="@array/pref_led_blink_pattern_entries" android:entries="@array/pref_led_blink_pattern_entries"
android:entryValues="@array/pref_led_blink_pattern_values" /> android:entryValues="@array/pref_led_blink_pattern_values" />
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:key="pref_key_inthread_notifications" android:key="pref_key_inthread_notifications"
android:title="@string/preferences_notifications__in_chat_sounds" android:title="@string/pref_in_chat_sounds"
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:defaultValue="true" /> android:defaultValue="true" />
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_repeat_alerts" android:key="pref_repeat_alerts"
android:defaultValue="0" android:defaultValue="0"
android:title="@string/preferences__repeat_alerts" android:title="@string/pref_repeat_notify"
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:entries="@array/pref_repeat_alerts_entries" android:entries="@array/pref_repeat_alerts_entries"
android:entryValues="@array/pref_repeat_alerts_values" /> android:entryValues="@array/pref_repeat_alerts_values" />
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_notification_privacy" android:key="pref_notification_privacy"
android:title="@string/preferences_notifications__show" android:title="@string/pref_notifications_show"
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:defaultValue="all" android:defaultValue="all"
android:entries="@array/pref_notification_privacy_entries" android:entries="@array/pref_notification_privacy_entries"
@ -62,7 +62,7 @@
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:key="pref_notification_priority" android:key="pref_notification_priority"
android:title="@string/preferences_notifications__priority" android:title="@string/pref_notifications_priority"
android:dependency="pref_key_enable_notifications" android:dependency="pref_key_enable_notifications"
android:defaultValue="1" android:defaultValue="1"
android:entries="@array/pref_notification_priority_entries" android:entries="@array/pref_notification_priority_entries"

View file

@ -2,10 +2,10 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <PreferenceScreen 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">
<PreferenceCategory android:key="notification_settings" android:title="@string/recipient_preferences__chat_settings"> <PreferenceCategory android:key="notification_settings" android:title="@string/pref_chat_settings">
<org.thoughtcrime.securesms.components.SwitchPreferenceCompat <org.thoughtcrime.securesms.components.SwitchPreferenceCompat
android:key="pref_key_recipient_mute" android:key="pref_key_recipient_mute"
android:title="@string/recipient_preferences__mute_conversation" android:title="@string/menu_mute"
android:defaultValue="false" android:defaultValue="false"
android:disableDependentsState="true" android:disableDependentsState="true"
android:persistent="false" /> android:persistent="false" />
@ -13,13 +13,13 @@
<org.thoughtcrime.securesms.preferences.widgets.SignalPreference <org.thoughtcrime.securesms.preferences.widgets.SignalPreference
android:dependency="pref_key_recipient_mute" android:dependency="pref_key_recipient_mute"
android:key="pref_key_recipient_ringtone" android:key="pref_key_recipient_ringtone"
android:title="@string/recipient_preferences__notification_sound" android:title="@string/pref_sound"
android:persistent="false"/> android:persistent="false"/>
<org.thoughtcrime.securesms.preferences.widgets.SignalListPreference <org.thoughtcrime.securesms.preferences.widgets.SignalListPreference
android:dependency="pref_key_recipient_mute" android:dependency="pref_key_recipient_mute"
android:key="pref_key_recipient_vibrate" android:key="pref_key_recipient_vibrate"
android:title="@string/recipient_preferences__vibrate" android:title="@string/pref_vibrate"
android:entries="@array/recipient_vibrate_entries" android:entries="@array/recipient_vibrate_entries"
android:entryValues="@array/recipient_vibrate_values" android:entryValues="@array/recipient_vibrate_values"
android:defaultValue="0" android:defaultValue="0"
@ -30,22 +30,22 @@
<PreferenceCategory android:key="divider" android:layout="@layout/preference_divider"/> <PreferenceCategory android:key="divider" android:layout="@layout/preference_divider"/>
<PreferenceCategory android:key="privacy_settings" android:title="@string/recipient_preferences__contact"> <PreferenceCategory android:key="privacy_settings" android:title="@string/contact">
<Preference android:key="pref_key_recipient_addr" <Preference android:key="pref_key_recipient_addr"
android:title="user@example.org" android:title="user@example.org"
android:persistent="false"/> android:persistent="false"/>
<Preference android:key="pref_key_recipient_edit_name" <Preference android:key="pref_key_recipient_edit_name"
android:title="@string/recipient_preferences__edit_name" android:title="@string/menu_edit_name"
android:persistent="false"/> android:persistent="false"/>
<Preference android:key="pref_key_recipient_encryption_info" <Preference android:key="pref_key_recipient_encryption_info"
android:title="@string/recipient_preferences__encryption_info" android:title="@string/profile_encryption"
android:persistent="false"/> android:persistent="false"/>
<Preference android:key="pref_key_recipient_block" <Preference android:key="pref_key_recipient_block"
android:title="@string/recipient_preferences__block" android:title="@string/menu_block_contact"
android:persistent="false"/> android:persistent="false"/>
</PreferenceCategory> </PreferenceCategory>

View file

@ -166,7 +166,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
//noinspection ConstantConditions //noinspection ConstantConditions
((ApplicationPreferencesActivity) getActivity()).getSupportActionBar().setTitle(R.string.text_secure_normal__menu_settings); ((ApplicationPreferencesActivity) getActivity()).getSupportActionBar().setTitle(R.string.menu_settings);
setCategorySummaries(); setCategorySummaries();
} }
@ -247,9 +247,9 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActionBarA
break; break;
case PREFERENCE_CATEGORY_HELP: case PREFERENCE_CATEGORY_HELP:
try { try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.help_url)))); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.pref_help_url))));
} catch (ActivityNotFoundException e) { } catch (ActivityNotFoundException e) {
Toast.makeText(getActivity(), R.string.ConversationListActivity_there_is_no_browser_installed_on_your_device, Toast.LENGTH_LONG).show(); Toast.makeText(getActivity(), R.string.no_browser_installed, Toast.LENGTH_LONG).show();
} }
break; break;
default: default:

View file

@ -52,7 +52,7 @@ public abstract class BaseActionBarActivity extends AppCompatActivity {
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
shouldLockApp = false; shouldLockApp = false;
} else { } else {
Toast.makeText(this, R.string.security_authentication_failed, Toast.LENGTH_SHORT).show(); Toast.makeText(this, R.string.screenlock_authentication_failed, Toast.LENGTH_SHORT).show();
} }
} }
} }

View file

@ -49,7 +49,7 @@ public class BlockedAndShareContactsActivity extends PassphraseRequiredActionBar
public void onCreate(Bundle bundle, boolean ready) { public void onCreate(Bundle bundle, boolean ready) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
boolean showOnlyBlocked = getIntent().getBooleanExtra(SHOW_ONLY_BLOCKED_EXTRA, false); boolean showOnlyBlocked = getIntent().getBooleanExtra(SHOW_ONLY_BLOCKED_EXTRA, false);
getSupportActionBar().setTitle(showOnlyBlocked ? R.string.BlockedContactsActivity_blocked_contacts : R.string.ContactsCursorLoader_contacts); getSupportActionBar().setTitle(showOnlyBlocked ? R.string.pref_blocked_contacts : R.string.contacts_headline);
initFragment(android.R.id.content, new BlockedAndShareContactsFragment(), null, getIntent().getExtras()); initFragment(android.R.id.content, new BlockedAndShareContactsFragment(), null, getIntent().getExtras());
} }
@ -148,11 +148,10 @@ public class BlockedAndShareContactsActivity extends PassphraseRequiredActionBar
public void onItemClick(ContactSelectionListItem item, boolean handleActionMode) { public void onItemClick(ContactSelectionListItem item, boolean handleActionMode) {
if(showOnlyBlocked) { if(showOnlyBlocked) {
new AlertDialog.Builder(getActivity()) new AlertDialog.Builder(getActivity())
.setTitle(R.string.RecipientPreferenceActivity_unblock_this_contact_question) .setMessage(R.string.ask_unblock_contact)
.setMessage(R.string.RecipientPreferenceActivity_you_will_once_again_be_able_to_receive_messages_and_calls_from_this_contact)
.setCancelable(true) .setCancelable(true)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(R.string.RecipientPreferenceActivity_unblock, (dialog, which) -> unblockContact(item.getContactId())).show(); .setPositiveButton(R.string.menu_unblock_contact, (dialog, which) -> unblockContact(item.getContactId())).show();
} else { } else {
shareContact(item.getName(), item.getNumber()); shareContact(item.getName(), item.getNumber());
} }

View file

@ -12,9 +12,9 @@ public class ClearProfileAvatarActivity extends Activity {
super.onResume(); super.onResume();
new AlertDialog.Builder(this) new AlertDialog.Builder(this)
.setTitle(R.string.ClearProfileActivity_remove_profile_photo) .setTitle(R.string.pref_profile_photo_remove_ask)
.setNegativeButton(android.R.string.cancel, (dialog, which) -> finish()) .setNegativeButton(android.R.string.cancel, (dialog, which) -> finish())
.setPositiveButton(R.string.ClearProfileActivity_remove, (dialog, which) -> { .setPositiveButton(R.string.ok, (dialog, which) -> {
Intent result = new Intent(); Intent result = new Intent();
result.putExtra("delete", true); result.putExtra("delete", true);
setResult(Activity.RESULT_OK, result); setResult(Activity.RESULT_OK, result);

View file

@ -185,7 +185,7 @@ public class ContactSelectionListFragment extends Fragment
} }
private void handleDeleteSelected() { private void handleDeleteSelected() {
Dialogs.showResponseDialog(getActivity(), getString(R.string.ContactSelectionListFragment_contact_delete_confirmation_title), getString(R.string.ContactSelectionListFragment_contact_delete_confirmation_message), (dialogInterface, i) -> { Dialogs.showResponseDialog(getActivity(), getString(R.string.ask_delete_contacts), (dialogInterface, i) -> {
ContactSelectionListAdapter adapter = getContactSelectionListAdapter(); ContactSelectionListAdapter adapter = getContactSelectionListAdapter();
final SparseIntArray actionModeSelection = adapter.getActionModeSelection().clone(); final SparseIntArray actionModeSelection = adapter.getActionModeSelection().clone();
new Thread(() -> { new Thread(() -> {
@ -197,7 +197,7 @@ public class ContactSelectionListFragment extends Fragment
} }
if (failed) { if (failed) {
Util.runOnMain(()-> { Util.runOnMain(()-> {
Toast.makeText(getActivity(), R.string.ContactSelectionListFragment_error_deleting_contacts_check_existing_conversations, Toast.LENGTH_LONG).show(); Toast.makeText(getActivity(), R.string.error, Toast.LENGTH_LONG).show();
}); });
} }
}).start(); }).start();
@ -282,7 +282,7 @@ public class ContactSelectionListFragment extends Fragment
@Override @Override
public void onLoadFinished(Loader<DcContactsLoader.Ret> loader, DcContactsLoader.Ret data) { public void onLoadFinished(Loader<DcContactsLoader.Ret> loader, DcContactsLoader.Ret data) {
((ContactSelectionListAdapter) recyclerView.getAdapter()).changeData(data); ((ContactSelectionListAdapter) recyclerView.getAdapter()).changeData(data);
emptyText.setText(R.string.contact_selection_group_activity__no_contacts); emptyText.setText(R.string.contacts_empty_hint);
boolean useFastScroller = (recyclerView.getAdapter().getItemCount() > 20); boolean useFastScroller = (recyclerView.getAdapter().getItemCount() > 20);
recyclerView.setVerticalScrollBarEnabled(!useFastScroller); recyclerView.setVerticalScrollBarEnabled(!useFastScroller);
if (useFastScroller) { if (useFastScroller) {

View file

@ -81,7 +81,6 @@ import org.thoughtcrime.securesms.components.camera.QuickAttachmentDrawer.Attach
import org.thoughtcrime.securesms.components.camera.QuickAttachmentDrawer.DrawerState; import org.thoughtcrime.securesms.components.camera.QuickAttachmentDrawer.DrawerState;
import org.thoughtcrime.securesms.components.emoji.EmojiDrawer; import org.thoughtcrime.securesms.components.emoji.EmojiDrawer;
import org.thoughtcrime.securesms.components.location.SignalPlace; import org.thoughtcrime.securesms.components.location.SignalPlace;
import org.thoughtcrime.securesms.components.reminder.ExpiredBuildReminder;
import org.thoughtcrime.securesms.components.reminder.ReminderView; import org.thoughtcrime.securesms.components.reminder.ReminderView;
import org.thoughtcrime.securesms.connect.ApplicationDcContext; import org.thoughtcrime.securesms.connect.ApplicationDcContext;
import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.connect.DcHelper;
@ -399,7 +398,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
super.startActivity(intent); super.startActivity(intent);
} catch (ActivityNotFoundException e) { } catch (ActivityNotFoundException e) {
Log.w(TAG, e); Log.w(TAG, e);
Toast.makeText(this, R.string.ConversationActivity_there_is_no_app_available_to_handle_this_link_on_your_device, Toast.LENGTH_LONG).show(); Toast.makeText(this, R.string.no_app_to_handle_data, Toast.LENGTH_LONG).show();
} }
} }
@ -513,7 +512,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
private void handleLeaveGroup() { private void handleLeaveGroup() {
new AlertDialog.Builder(this) new AlertDialog.Builder(this)
.setMessage(getString(R.string.ConversationActivity_are_you_sure_you_want_to_leave_this_group)) .setMessage(getString(R.string.ask_leave_group))
.setPositiveButton(R.string.yes, (dialog, which) -> { .setPositiveButton(R.string.yes, (dialog, which) -> {
dcContext.removeContactFromChat(threadId, DcContact.DC_CONTACT_ID_SELF); dcContext.removeContactFromChat(threadId, DcContact.DC_CONTACT_ID_SELF);
Toast.makeText(this, getString(R.string.done), Toast.LENGTH_SHORT).show(); Toast.makeText(this, getString(R.string.done), Toast.LENGTH_SHORT).show();
@ -533,7 +532,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
private void handleDeleteChat() { private void handleDeleteChat() {
new AlertDialog.Builder(this) new AlertDialog.Builder(this)
.setMessage(getString(R.string.ConversationActivity_ask_delete_chat)) .setMessage(getResources().getQuantityString(R.plurals.ask_delete_chat, 1, 1))
.setPositiveButton(R.string.yes, (dialog, which) -> { .setPositiveButton(R.string.yes, (dialog, which) -> {
dcContext.deleteChat(threadId); dcContext.deleteChat(threadId);
Toast.makeText(this, getString(R.string.done), Toast.LENGTH_SHORT).show(); Toast.makeText(this, getString(R.string.done), Toast.LENGTH_SHORT).show();
@ -678,11 +677,11 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
} }
protected void updateReminders() { protected void updateReminders() {
if (ExpiredBuildReminder.isEligible()) { // if (ExpiredBuildReminder.isEligible()) {
reminderView.get().showReminder(new ExpiredBuildReminder(this)); // reminderView.get().showReminder(new ExpiredBuildReminder(this));
} else if (reminderView.resolved()) { // } else if (reminderView.resolved()) {
reminderView.get().hide(); // reminderView.get().hide();
} // }
} }
private void initializeViews() { private void initializeViews() {
@ -1053,7 +1052,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
@Override @Override
public void onCameraFail() { public void onCameraFail() {
Toast.makeText(this, R.string.ConversationActivity_quick_camera_unavailable, Toast.LENGTH_SHORT).show(); Toast.makeText(this, R.string.chat_camera_unavailable, Toast.LENGTH_SHORT).show();
quickAttachmentDrawer.hide(false); quickAttachmentDrawer.hide(false);
quickAttachmentToggle.disable(); quickAttachmentToggle.disable();
} }
@ -1069,8 +1068,8 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
Permissions.with(this) Permissions.with(this)
.request(Manifest.permission.RECORD_AUDIO) .request(Manifest.permission.RECORD_AUDIO)
.ifNecessary() .ifNecessary()
.withRationaleDialog(getString(R.string.ConversationActivity_to_send_audio_messages_allow_signal_access_to_your_microphone), R.drawable.ic_mic_white_48dp) .withRationaleDialog(getString(R.string.perm_explain_need_for_mic_access), R.drawable.ic_mic_white_48dp)
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_requires_the_microphone_permission_in_order_to_send_audio_messages)) .withPermanentDenialDialog(getString(R.string.perm_explain_access_to_mic_denied))
.execute(); .execute();
} }
@ -1115,7 +1114,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
@Override @Override
public void onFailure(ExecutionException e) { public void onFailure(ExecutionException e) {
Toast.makeText(ConversationActivity.this, R.string.ConversationActivity_unable_to_record_audio, Toast.LENGTH_LONG).show(); Toast.makeText(ConversationActivity.this, R.string.chat_unable_to_record_audio, Toast.LENGTH_LONG).show();
} }
}); });
} }
@ -1197,13 +1196,13 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
Permissions.with(ConversationActivity.this) Permissions.with(ConversationActivity.this)
.request(Manifest.permission.CAMERA) .request(Manifest.permission.CAMERA)
.ifNecessary() .ifNecessary()
.withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_photo_camera_white_48dp) .withRationaleDialog(getString(R.string.perm_explain_need_for_camera_access), R.drawable.ic_photo_camera_white_48dp)
.withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .withPermanentDenialDialog(getString(R.string.perm_explain_access_to_camera_denied))
.onAllGranted(() -> { .onAllGranted(() -> {
composeText.clearFocus(); composeText.clearFocus();
container.show(composeText, quickAttachmentDrawer); container.show(composeText, quickAttachmentDrawer);
}) })
.onAnyDenied(() -> Toast.makeText(ConversationActivity.this, R.string.ConversationActivity_signal_needs_camera_permissions_to_take_photos_or_video, Toast.LENGTH_LONG).show()) .onAnyDenied(() -> Toast.makeText(ConversationActivity.this, R.string.perm_explain_need_for_camera_access, Toast.LENGTH_LONG).show())
.execute(); .execute();
} else { } else {
container.hideAttachedInput(false); container.hideAttachedInput(false);
@ -1216,7 +1215,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
public void onClick(View v) { public void onClick(View v) {
String rawText = composeText.getTextTrimmed(); String rawText = composeText.getTextTrimmed();
if (rawText.length() < 1 && !attachmentManager.isAttachmentPresent()) { if (rawText.length() < 1 && !attachmentManager.isAttachmentPresent()) {
Toast.makeText(ConversationActivity.this, R.string.ConversationActivity_message_is_empty_exclamation, Toast.makeText(ConversationActivity.this, R.string.chat_please_enter_message,
Toast.LENGTH_SHORT).show(); Toast.LENGTH_SHORT).show();
} }
else { else {

View file

@ -319,7 +319,7 @@ public class ConversationAdapter <V extends View & BindableConversationItem>
} }
public void onBindLastSeenViewHolder(HeaderViewHolder viewHolder, int position) { public void onBindLastSeenViewHolder(HeaderViewHolder viewHolder, int position) {
viewHolder.setText(getContext().getResources().getQuantityString(R.plurals.ConversationAdapter_n_unread_messages, (position + 1), (position + 1))); viewHolder.setText(getContext().getResources().getQuantityString(R.plurals.chat_n_unread_messages, (position + 1), (position + 1)));
} }
static class LastSeenHeader extends StickyHeaderDecoration { static class LastSeenHeader extends StickyHeaderDecoration {

View file

@ -162,18 +162,18 @@ public class ConversationFragment extends Fragment
private void setNoMessageText() { private void setNoMessageText() {
if(threadId==DcChat.DC_CHAT_ID_DEADDROP) { if(threadId==DcChat.DC_CHAT_ID_DEADDROP) {
noMessageTextView.setText(R.string.conversation__no_messages); noMessageTextView.setText(R.string.chat_no_messages);
} }
else if(getListAdapter().isGroupChat()){ else if(getListAdapter().isGroupChat()){
if( dcContext.getChat((int)threadId).isUnpromoted() ) { if( dcContext.getChat((int)threadId).isUnpromoted() ) {
noMessageTextView.setText(R.string.ConversationActivity_MsgNewGroupDraftHint); noMessageTextView.setText(R.string.chat_new_group_hint);
} }
else { else {
noMessageTextView.setText(R.string.conversation__no_messages); noMessageTextView.setText(R.string.chat_no_messages);
} }
}else{ }else{
String name = getListAdapter().getChatName(); String name = getListAdapter().getChatName();
String message = getString(R.string.ConversationActivity_NoMessagesHint, name, name); String message = getString(R.string.chat_no_messages_hint, name, name);
noMessageTextView.setText(message); noMessageTextView.setText(message);
} }
} }
@ -379,7 +379,7 @@ public class ConversationFragment extends Fragment
try { try {
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(result.toString()); clipboard.setText(result.toString());
Toast.makeText(getActivity(), getActivity().getResources().getQuantityString(R.plurals.ConversationFragment_n_selected_messages_copied_to_clipboard, dcMsgsList.size(), dcMsgsList.size()), Toast.LENGTH_LONG).show(); Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.copied_to_clipboard), Toast.LENGTH_LONG).show();
} }
catch(Exception e) { catch(Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -391,12 +391,10 @@ public class ConversationFragment extends Fragment
int messagesCount = messageRecords.size(); int messagesCount = messageRecords.size();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setIconAttribute(R.attr.dialog_alert_icon); builder.setMessage(getActivity().getResources().getQuantityString(R.plurals.ask_delete_messages, messagesCount, messagesCount));
builder.setTitle(getActivity().getResources().getQuantityString(R.plurals.ConversationFragment_delete_selected_messages, messagesCount, messagesCount));
builder.setMessage(getActivity().getResources().getQuantityString(R.plurals.ConversationFragment_this_will_delete_n_selected_messages_here_and_on_server, messagesCount, messagesCount));
builder.setCancelable(true); builder.setCancelable(true);
builder.setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() { builder.setPositiveButton(R.string.menu_delete_messages, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
int[] ids = DcMsg.msgSetToIds(messageRecords); int[] ids = DcMsg.msgSetToIds(messageRecords);
@ -456,8 +454,8 @@ public class ConversationFragment extends Fragment
Permissions.with(this) Permissions.with(this)
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
.ifNecessary() .ifNecessary()
.withPermanentDenialDialog(getString(R.string.MediaPreviewActivity_signal_needs_the_storage_permission_in_order_to_write_to_external_storage_but_it_has_been_permanently_denied)) .withPermanentDenialDialog(getString(R.string.perm_explain_access_to_storage_denied))
.onAnyDenied(() -> Toast.makeText(getContext(), R.string.MediaPreviewActivity_unable_to_write_to_external_storage_without_permission, Toast.LENGTH_LONG).show()) .onAnyDenied(() -> Toast.makeText(getContext(), R.string.perm_explain_access_to_storage_denied, Toast.LENGTH_LONG).show())
.onAllGranted(() -> { .onAllGranted(() -> {
SaveAttachmentTask saveTask = new SaveAttachmentTask(getContext()); SaveAttachmentTask saveTask = new SaveAttachmentTask(getContext());
SaveAttachmentTask.Attachment attachment = new SaveAttachmentTask.Attachment( SaveAttachmentTask.Attachment attachment = new SaveAttachmentTask.Attachment(
@ -696,8 +694,8 @@ public class ConversationFragment extends Fragment
}); });
} }
builder1.setTitle(getActivity().getString(R.string.autocrypt__continue_transfer_title)); builder1.setTitle(getActivity().getString(R.string.autocrypt_continue_transfer_title));
builder1.setMessage(getActivity().getString(R.string.autocrypt__continue_transfer_please_enter_code)); builder1.setMessage(getActivity().getString(R.string.autocrypt_continue_transfer_please_enter_code));
builder1.setNegativeButton(android.R.string.cancel, null); builder1.setNegativeButton(android.R.string.cancel, null);
builder1.setCancelable(false); // prevent the dialog from being dismissed accidentally (when the dialog is closed, the setup code is gone forever and the user has to create a new setup message) builder1.setCancelable(false); // prevent the dialog from being dismissed accidentally (when the dialog is closed, the setup code is gone forever and the user has to create a new setup message)
builder1.setPositiveButton(android.R.string.ok, (dialog, which) -> { builder1.setPositiveButton(android.R.string.ok, (dialog, which) -> {
@ -710,14 +708,14 @@ public class ConversationFragment extends Fragment
boolean success = dcContext.continueKeyTransfer(dcMsg.getId(), setup_code); boolean success = dcContext.continueKeyTransfer(dcMsg.getId(), setup_code);
android.app.AlertDialog.Builder builder2 = new android.app.AlertDialog.Builder(getActivity()); android.app.AlertDialog.Builder builder2 = new android.app.AlertDialog.Builder(getActivity());
builder2.setTitle(getActivity().getString(R.string.autocrypt__continue_transfer_title)); builder2.setTitle(getActivity().getString(R.string.autocrypt_continue_transfer_title));
builder2.setMessage(getActivity().getString(success? R.string.autocrypt__continue_transfer_succeeded : R.string.autocrypt__continue_transfer_bad_code)); builder2.setMessage(getActivity().getString(success? R.string.autocrypt_continue_transfer_succeeded : R.string.autocrypt_bad_setup_code));
if( success ) { if( success ) {
builder2.setPositiveButton(android.R.string.ok, null); builder2.setPositiveButton(android.R.string.ok, null);
} }
else { else {
builder2.setNegativeButton(android.R.string.cancel, null); builder2.setNegativeButton(android.R.string.cancel, null);
builder2.setPositiveButton(R.string.autocrypt__continue_button_retry, (dialog1, which1) -> querySetupCode(dcMsg, preload1)); builder2.setPositiveButton(R.string.autocrypt_continue_transfer_retry, (dialog1, which1) -> querySetupCode(dcMsg, preload1));
} }
builder2.show(); builder2.show();
}); });

View file

@ -360,7 +360,7 @@ public class ConversationItem extends LinearLayout
String text = messageRecord.getText(); String text = messageRecord.getText();
if (messageRecord.isSetupMessage()) { if (messageRecord.isSetupMessage()) {
bodyText.setText(context.getString(R.string.autocrypt__asm_tap_body)); bodyText.setText(context.getString(R.string.autocrypt_asm_click_body));
bodyText.setVisibility(View.VISIBLE); bodyText.setVisibility(View.VISIBLE);
} }
else if (text.isEmpty()) { else if (text.isEmpty()) {
@ -650,7 +650,7 @@ public class ConversationItem extends LinearLayout
} }
}) })
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.setMessage(context.getString(R.string.new_conversation_activity__ask_start_chat_with, dcContext.getContact(messageRecord.getFromId()).getDisplayName())) .setMessage(context.getString(R.string.ask_start_chat_with, dcContext.getContact(messageRecord.getFromId()).getDisplayName()))
.show(); .show();
} }

View file

@ -72,7 +72,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
initializeSearchListener(); initializeSearchListener();
TooltipCompat.setTooltipText(searchAction, getText(R.string.SearchToolbar_search_for_conversations_contacts_and_messages)); TooltipCompat.setTooltipText(searchAction, getText(R.string.search_explain));
} }
@Override @Override
@ -94,8 +94,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
inflater.inflate(R.menu.text_secure_normal, menu); inflater.inflate(R.menu.text_secure_normal, menu);
menu.findItem(R.id.menu_clear_passphrase).setVisible(false/*!TextSecurePreferences.isPasswordDisabled(this)*/);
super.onPrepareOptionsMenu(menu); super.onPrepareOptionsMenu(menu);
return true; return true;
} }

View file

@ -4,7 +4,6 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.MenuItem; import android.view.MenuItem;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.DynamicTheme;
@ -24,7 +23,7 @@ public class ConversationListArchiveActivity extends PassphraseRequiredActionBar
@Override @Override
protected void onCreate(Bundle icicle, boolean ready) { protected void onCreate(Bundle icicle, boolean ready) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle(R.string.AndroidManifest_archived_conversations); getSupportActionBar().setTitle(R.string.chat_archived_chats_title);
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putBoolean(ConversationListFragment.ARCHIVE, true); bundle.putBoolean(ConversationListFragment.ARCHIVE, true);

View file

@ -60,8 +60,6 @@ import org.thoughtcrime.securesms.ConversationListAdapter.ItemClickListener;
import org.thoughtcrime.securesms.components.recyclerview.DeleteItemAnimator; import org.thoughtcrime.securesms.components.recyclerview.DeleteItemAnimator;
import org.thoughtcrime.securesms.components.registration.PulsingFloatingActionButton; import org.thoughtcrime.securesms.components.registration.PulsingFloatingActionButton;
import org.thoughtcrime.securesms.components.reminder.DozeReminder; import org.thoughtcrime.securesms.components.reminder.DozeReminder;
import org.thoughtcrime.securesms.components.reminder.ExpiredBuildReminder;
import org.thoughtcrime.securesms.components.reminder.OutdatedBuildReminder;
import org.thoughtcrime.securesms.components.reminder.Reminder; import org.thoughtcrime.securesms.components.reminder.Reminder;
import org.thoughtcrime.securesms.components.reminder.ReminderView; import org.thoughtcrime.securesms.components.reminder.ReminderView;
import org.thoughtcrime.securesms.connect.ApplicationDcContext; import org.thoughtcrime.securesms.connect.ApplicationDcContext;
@ -185,15 +183,15 @@ public class ConversationListFragment extends Fragment
@Override @Override
protected Optional<? extends Reminder> doInBackground(Context... params) { protected Optional<? extends Reminder> doInBackground(Context... params) {
final Context context = params[0]; final Context context = params[0];
if (ExpiredBuildReminder.isEligible()) { // if (ExpiredBuildReminder.isEligible()) {
return Optional.of(new ExpiredBuildReminder(context)); // return Optional.of(new ExpiredBuildReminder(context));
} else if (OutdatedBuildReminder.isEligible()) { // } else if (OutdatedBuildReminder.isEligible()) {
return Optional.of(new OutdatedBuildReminder(context)); // return Optional.of(new OutdatedBuildReminder(context));
} else if (DozeReminder.isEligible(context)) { // } else if (DozeReminder.isEligible(context)) {
return Optional.of(new DozeReminder(context)); // return Optional.of(new DozeReminder(context));
} else { // } else {
return Optional.absent(); return Optional.absent();
} // }
} }
@Override @Override
@ -220,14 +218,14 @@ public class ConversationListFragment extends Fragment
int snackBarTitleId; int snackBarTitleId;
if (archive) snackBarTitleId = R.plurals.ConversationListFragment_moved_conversations_to_inbox; if (archive) snackBarTitleId = R.plurals.chat_unarchived;
else snackBarTitleId = R.plurals.ConversationListFragment_conversations_archived; else snackBarTitleId = R.plurals.chat_archived;
int count = selectedConversations.size(); int count = selectedConversations.size();
String snackBarTitle = getResources().getQuantityString(snackBarTitleId, count, count); String snackBarTitle = getResources().getQuantityString(snackBarTitleId, count, count);
new SnackbarAsyncTask<Void>(getView(), snackBarTitle, new SnackbarAsyncTask<Void>(getView(), snackBarTitle,
getString(R.string.ConversationListFragment_undo), getString(R.string.undo),
Snackbar.LENGTH_LONG, true) Snackbar.LENGTH_LONG, true)
{ {
@ -262,11 +260,11 @@ public class ConversationListFragment extends Fragment
final DcContext dcContext = DcHelper.getContext(getActivity()); final DcContext dcContext = DcHelper.getContext(getActivity());
int conversationsCount = getListAdapter().getBatchSelections().size(); int conversationsCount = getListAdapter().getBatchSelections().size();
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
alert.setMessage(getActivity().getResources().getQuantityString(R.plurals.ConversationListFragment_ask_selected_chats, alert.setMessage(getActivity().getResources().getQuantityString(R.plurals.ask_delete_chat,
conversationsCount, conversationsCount)); conversationsCount, conversationsCount));
alert.setCancelable(true); alert.setCancelable(true);
alert.setPositiveButton(R.string.delete, (dialog, which) -> { alert.setPositiveButton(R.string.menu_delete_chat, (dialog, which) -> {
final Set<Long> selectedConversations = (getListAdapter()) final Set<Long> selectedConversations = (getListAdapter())
.getBatchSelections(); .getBatchSelections();
@ -277,8 +275,8 @@ public class ConversationListFragment extends Fragment
@Override @Override
protected void onPreExecute() { protected void onPreExecute() {
dialog = ProgressDialog.show(getActivity(), dialog = ProgressDialog.show(getActivity(),
getActivity().getString(R.string.ConversationListFragment_deleting), getActivity().getString(R.string.one_moment),
getActivity().getString(R.string.ConversationListFragment_deleting_selected_conversations), getActivity().getString(R.string.one_moment),
true, false); true, false);
} }
@ -338,7 +336,7 @@ public class ConversationListFragment extends Fragment
list.setVisibility(View.INVISIBLE); list.setVisibility(View.INVISIBLE);
emptyState.setVisibility(View.GONE); emptyState.setVisibility(View.GONE);
emptySearch.setVisibility(View.VISIBLE); emptySearch.setVisibility(View.VISIBLE);
emptySearch.setText(getString(R.string.ConversationListFragment_no_results_found_for_s_, queryFilter)); emptySearch.setText(getString(R.string.search_no_result_for_x, queryFilter));
} else { } else {
list.setVisibility(View.VISIBLE); list.setVisibility(View.VISIBLE);
emptyState.setVisibility(View.GONE); emptyState.setVisibility(View.GONE);
@ -366,7 +364,7 @@ public class ConversationListFragment extends Fragment
int contactId = item.getContactId(); int contactId = item.getContactId();
DcContact contact = dcContext.getContact(contactId); DcContact contact = dcContext.getContact(contactId);
new AlertDialog.Builder(getActivity()) new AlertDialog.Builder(getActivity())
.setMessage(getActivity().getString(R.string.new_conversation_activity__ask_start_chat_with, contact.getNameNAddr())) .setMessage(getActivity().getString(R.string.ask_start_chat_with, contact.getNameNAddr()))
.setPositiveButton(android.R.string.ok, (dialog, which) -> { .setPositiveButton(android.R.string.ok, (dialog, which) -> {
int belongingChatId = dcContext.createChatByMsgId(msgId); int belongingChatId = dcContext.createChatByMsgId(msgId);
if( belongingChatId != 0 ) { if( belongingChatId != 0 ) {
@ -498,8 +496,8 @@ public class ConversationListFragment extends Fragment
if (archive) { if (archive) {
new SnackbarAsyncTask<Long>(getView(), new SnackbarAsyncTask<Long>(getView(),
getResources().getQuantityString(R.plurals.ConversationListFragment_moved_conversations_to_inbox, 1, 1), getResources().getQuantityString(R.plurals.chat_unarchived, 1, 1),
getString(R.string.ConversationListFragment_undo), getString(R.string.undo),
Snackbar.LENGTH_LONG, false) Snackbar.LENGTH_LONG, false)
{ {
@Override @Override
@ -520,8 +518,8 @@ public class ConversationListFragment extends Fragment
} }
new SnackbarAsyncTask<Long>(getView(), new SnackbarAsyncTask<Long>(getView(),
getResources().getQuantityString(R.plurals.ConversationListFragment_conversations_archived, 1, 1), getResources().getQuantityString(R.plurals.chat_archived, 1, 1),
getString(R.string.ConversationListFragment_undo), getString(R.string.undo),
Snackbar.LENGTH_LONG, false) Snackbar.LENGTH_LONG, false)
{ {
@Override @Override

View file

@ -93,7 +93,7 @@ public class ConversationTitleView extends RelativeLayout {
} }
private void setComposeTitle() { private void setComposeTitle() {
this.title.setText(R.string.ConversationActivity_compose_message); this.title.setText(null);
this.subtitle.setText(null); this.subtitle.setText(null);
this.subtitle.setVisibility(View.GONE); this.subtitle.setVisibility(View.GONE);
} }

View file

@ -102,7 +102,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
setContentView(R.layout.profile_create_activity); setContentView(R.layout.profile_create_activity);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
getSupportActionBar().setTitle(R.string.CreateProfileActivity_your_profile_info); getSupportActionBar().setTitle(R.string.pref_profile_info_headline);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp); getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
@ -211,7 +211,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
.circleCrop() .circleCrop()
.into(avatar); .into(avatar);
} else { } else {
Toast.makeText(CreateProfileActivity.this, R.string.CreateProfileActivity_error_setting_profile_photo, Toast.LENGTH_LONG).show(); Toast.makeText(CreateProfileActivity.this, R.string.error, Toast.LENGTH_LONG).show();
} }
} }
}.execute(); }.execute();
@ -261,7 +261,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
}); });
informationLabel.setOnClickListener(view -> { informationLabel.setOnClickListener(view -> {
Dialogs.showInfoDialog(this, getString(R.string.profile_create_activity__who_can_see_this_information), getString(R.string.profile_create_activity__who_can_see_this_information_explained)); Dialogs.showInfoDialog(this, getString(R.string.pref_who_can_see_profile_explain));
}); });
} }
@ -360,7 +360,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
private void initializeStatusText() { private void initializeStatusText() {
String status = DcHelper.get(this, DcHelper.CONFIG_SELF_STATUS); String status = DcHelper.get(this, DcHelper.CONFIG_SELF_STATUS);
if (status.isEmpty()) { if (status.isEmpty()) {
status = getString(R.string.default_status_text); status = getString(R.string.pref_default_status_text);
} }
statusView.setText(status); statusView.setText(status);
} }
@ -388,7 +388,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
extraIntents.add(new Intent("org.thoughtcrime.securesms.action.CLEAR_PROFILE_PHOTO")); extraIntents.add(new Intent("org.thoughtcrime.securesms.action.CLEAR_PROFILE_PHOTO"));
} }
Intent chooserIntent = Intent.createChooser(galleryIntent, getString(R.string.CreateProfileActivity_profile_photo)); Intent chooserIntent = Intent.createChooser(galleryIntent, getString(R.string.pref_profile_photo));
if (!extraIntents.isEmpty()) { if (!extraIntents.isEmpty()) {
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, extraIntents.toArray(new Intent[0])); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, extraIntents.toArray(new Intent[0]));
@ -448,7 +448,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) handleFinishedLollipop(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) handleFinishedLollipop();
else handleFinishedLegacy(); else handleFinishedLegacy();
} else { } else {
Toast.makeText(CreateProfileActivity.this, R.string.CreateProfileActivity_problem_setting_profile, Toast.LENGTH_LONG).show(); Toast.makeText(CreateProfileActivity.this, R.string.error, Toast.LENGTH_LONG).show();
} }
} }
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
@ -456,7 +456,7 @@ public class CreateProfileActivity extends BaseActionBarActivity {
private void setStatusText() { private void setStatusText() {
String newStatus = statusView.getText().toString().trim(); String newStatus = statusView.getText().toString().trim();
String defaultStatus = getString(R.string.default_status_text); String defaultStatus = getString(R.string.pref_default_status_text);
if (newStatus.equals(defaultStatus)) { if (newStatus.equals(defaultStatus)) {
DcHelper.set(this, DcHelper.CONFIG_SELF_STATUS, null); DcHelper.set(this, DcHelper.CONFIG_SELF_STATUS, null);
} else { } else {

View file

@ -139,13 +139,13 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
String title; String title;
if(isEdit()) { if(isEdit()) {
title = getString(R.string.GroupCreateActivity_actionbar_edit_title); title = getString(R.string.menu_edit_group);
} }
else if(verified) { else if(verified) {
title = getString(R.string.GroupCreateActivity_actionbar_verified_title); title = getString(R.string.menu_new_verified_group);
} }
else { else {
title = getString(R.string.GroupCreateActivity_actionbar_title); title = getString(R.string.menu_new_group);
} }
getSupportActionBar().setTitle(title); getSupportActionBar().setTitle(title);
} }
@ -304,7 +304,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
private boolean showGroupNameEmptyToast(String groupName) { private boolean showGroupNameEmptyToast(String groupName) {
if(groupName == null) { if(groupName == null) {
Toast.makeText(this, getString(R.string.GroupCreateActivity_please_enter_group_name), Toast.LENGTH_LONG).show(); Toast.makeText(this, getString(R.string.group_please_enter_group_name), Toast.LENGTH_LONG).show();
return true; return true;
} }
return false; return false;
@ -443,8 +443,8 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
FillExistingGroupInfoAsyncTask(GroupCreateActivity activity) { FillExistingGroupInfoAsyncTask(GroupCreateActivity activity) {
super(activity, super(activity,
R.string.GroupCreateActivity_loading_group_details, R.string.one_moment,
R.string.please_wait); R.string.one_moment);
this.activity = activity; this.activity = activity;
} }

View file

@ -35,7 +35,7 @@ public class InviteActivity extends PassphraseRequiredActionBarActivity {
setContentView(R.layout.invite_activity); setContentView(R.layout.invite_activity);
assert getSupportActionBar() != null; assert getSupportActionBar() != null;
getSupportActionBar().setTitle(R.string.AndroidManifest__invite_friends); getSupportActionBar().setTitle(R.string.menu_invite);
initializeResources(); initializeResources();
} }
@ -50,7 +50,7 @@ public class InviteActivity extends PassphraseRequiredActionBarActivity {
heart = ViewUtil.findById(this, R.id.heart); heart = ViewUtil.findById(this, R.id.heart);
String selfMail = DcHelper.getContext(this).getConfig("addr", ""); String selfMail = DcHelper.getContext(this).getConfig("addr", "");
inviteText.setText(getString(R.string.InviteActivity_lets_switch_to_delta_chat, "https://delta.chat", selfMail)); inviteText.setText(getString(R.string.invite_default_text, "https://delta.chat", selfMail));
if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) {
heart.getViewTreeObserver().addOnPreDrawListener(new HeartPreDrawListener()); heart.getViewTreeObserver().addOnPreDrawListener(new HeartPreDrawListener());
@ -72,9 +72,9 @@ public class InviteActivity extends PassphraseRequiredActionBarActivity {
sendIntent.putExtra(Intent.EXTRA_TEXT, inviteText.getText().toString()); sendIntent.putExtra(Intent.EXTRA_TEXT, inviteText.getText().toString());
sendIntent.setType("text/plain"); sendIntent.setType("text/plain");
if (sendIntent.resolveActivity(getPackageManager()) != null) { if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(Intent.createChooser(sendIntent, getString(R.string.InviteActivity_invite_to_signal))); startActivity(Intent.createChooser(sendIntent, getString(R.string.menu_invite)));
} else { } else {
Toast.makeText(InviteActivity.this, R.string.InviteActivity_no_app_to_share_to, Toast.LENGTH_LONG).show(); Toast.makeText(InviteActivity.this, R.string.no_app_to_handle_data, Toast.LENGTH_LONG).show();
} }
} }
} }

View file

@ -168,8 +168,8 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity
@Override @Override
public CharSequence getPageTitle(int position) { public CharSequence getPageTitle(int position) {
if (position == 0) return getString(R.string.MediaOverviewActivity_Media); if (position == 0) return getString(R.string.media_tab_media);
else if (position == 1) return getString(R.string.MediaOverviewActivity_Documents); else if (position == 1) return getString(R.string.media_tab_documents);
else throw new AssertionError(); else throw new AssertionError();
} }
} }
@ -310,24 +310,19 @@ public class MediaOverviewActivity extends PassphraseRequiredActionBarActivity
private void handleDeleteMedia(@NonNull Collection<DcMsg> mediaRecords) { private void handleDeleteMedia(@NonNull Collection<DcMsg> mediaRecords) {
int recordCount = mediaRecords.size(); int recordCount = mediaRecords.size();
Resources res = getContext().getResources(); Resources res = getContext().getResources();
String confirmTitle = res.getQuantityString(R.plurals.MediaOverviewActivity_Media_delete_confirm_title, String confirmMessage = res.getQuantityString(R.plurals.ask_delete_messages,
recordCount,
recordCount);
String confirmMessage = res.getQuantityString(R.plurals.MediaOverviewActivity_Media_delete_confirm_message,
recordCount, recordCount,
recordCount); recordCount);
AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setIconAttribute(R.attr.dialog_alert_icon);
builder.setTitle(confirmTitle);
builder.setMessage(confirmMessage); builder.setMessage(confirmMessage);
builder.setCancelable(true); builder.setCancelable(true);
final DcContext dcContext = DcHelper.getContext(getContext()); final DcContext dcContext = DcHelper.getContext(getContext());
builder.setPositiveButton(R.string.delete, (dialogInterface, i) -> { builder.setPositiveButton(R.string.menu_delete_messages, (dialogInterface, i) -> {
new ProgressDialogAsyncTask<DcMsg, Void, Void>(getContext(), new ProgressDialogAsyncTask<DcMsg, Void, Void>(getContext(),
R.string.MediaOverviewActivity_Media_delete_progress_title, R.string.one_moment,
R.string.MediaOverviewActivity_Media_delete_progress_message) R.string.one_moment)
{ {
@Override @Override
protected Void doInBackground(DcMsg... records) { protected Void doInBackground(DcMsg... records) {

View file

@ -143,10 +143,10 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
if (mediaItem.date > 0) { if (mediaItem.date > 0) {
relativeTimeSpan = DateUtils.getExtendedRelativeTimeSpanString(this,dynamicLanguage.getCurrentLocale(), mediaItem.date); relativeTimeSpan = DateUtils.getExtendedRelativeTimeSpanString(this,dynamicLanguage.getCurrentLocale(), mediaItem.date);
} else { } else {
relativeTimeSpan = getString(R.string.MediaPreviewActivity_draft); relativeTimeSpan = getString(R.string.draft);
} }
if (mediaItem.outgoing) getSupportActionBar().setTitle(getString(R.string.MediaPreviewActivity_you)); if (mediaItem.outgoing) getSupportActionBar().setTitle(getString(R.string.self));
else if (mediaItem.recipient != null) getSupportActionBar().setTitle(mediaItem.recipient.toShortString()); else if (mediaItem.recipient != null) getSupportActionBar().setTitle(mediaItem.recipient.toShortString());
else getSupportActionBar().setTitle(""); else getSupportActionBar().setTitle("");
@ -218,7 +218,7 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
if (!isContentTypeSupported(initialMedia.type)) { if (!isContentTypeSupported(initialMedia.type)) {
Log.w(TAG, "Unsupported media type sent to MediaPreviewActivity, finishing."); Log.w(TAG, "Unsupported media type sent to MediaPreviewActivity, finishing.");
Toast.makeText(getApplicationContext(), R.string.MediaPreviewActivity_unssuported_media_type, Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), R.string.error, Toast.LENGTH_LONG).show();
finish(); finish();
} }
@ -268,8 +268,8 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
Permissions.with(this) Permissions.with(this)
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE) .request(Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE)
.ifNecessary() .ifNecessary()
.withPermanentDenialDialog(getString(R.string.MediaPreviewActivity_signal_needs_the_storage_permission_in_order_to_write_to_external_storage_but_it_has_been_permanently_denied)) .withPermanentDenialDialog(getString(R.string.perm_explain_access_to_storage_denied))
.onAnyDenied(() -> Toast.makeText(this, R.string.MediaPreviewActivity_unable_to_write_to_external_storage_without_permission, Toast.LENGTH_LONG).show()) .onAnyDenied(() -> Toast.makeText(this, R.string.perm_explain_access_to_storage_denied, Toast.LENGTH_LONG).show())
.onAllGranted(() -> { .onAllGranted(() -> {
SaveAttachmentTask saveTask = new SaveAttachmentTask(MediaPreviewActivity.this); SaveAttachmentTask saveTask = new SaveAttachmentTask(MediaPreviewActivity.this);
long saveDate = (mediaItem.date > 0) ? mediaItem.date : System.currentTimeMillis(); long saveDate = (mediaItem.date > 0) ? mediaItem.date : System.currentTimeMillis();
@ -288,12 +288,10 @@ public class MediaPreviewActivity extends PassphraseRequiredActionBarActivity
} }
AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIconAttribute(R.attr.dialog_alert_icon); builder.setMessage(getResources().getQuantityString(R.plurals.ask_delete_messages, 1, 1));
builder.setTitle(R.string.MediaPreviewActivity_media_delete_confirmation_title);
builder.setMessage(R.string.MediaPreviewActivity_media_delete_confirmation_message);
builder.setCancelable(true); builder.setCancelable(true);
builder.setPositiveButton(R.string.delete, (dialogInterface, which) -> { builder.setPositiveButton(R.string.menu_delete_messages, (dialogInterface, which) -> {
new AsyncTask<Void, Void, Void>() { new AsyncTask<Void, Void, Void>() {
@Override @Override
protected Void doInBackground(Void... voids) { protected Void doInBackground(Void... voids) {

View file

@ -24,7 +24,7 @@ public class MuteDialog extends AlertDialog {
public static void show(final Context context, final @NonNull MuteSelectionListener listener) { public static void show(final Context context, final @NonNull MuteSelectionListener listener) {
AlertDialog.Builder builder = new AlertDialog.Builder(context); AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(R.string.MuteDialog_mute_notifications); builder.setTitle(R.string.menu_mute);
builder.setItems(R.array.mute_durations, new DialogInterface.OnClickListener() { builder.setItems(R.array.mute_durations, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, final int which) { public void onClick(DialogInterface dialog, final int which) {

View file

@ -21,7 +21,6 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.widget.Toast; import android.widget.Toast;
@ -69,7 +68,7 @@ public class NewConversationActivity extends ContactSelectionActivity {
if (chatId == 0) { if (chatId == 0) {
String nameNAddr = contactId==0? addr : dcContext.getContact(contactId).getNameNAddr(); String nameNAddr = contactId==0? addr : dcContext.getContact(contactId).getNameNAddr();
new AlertDialog.Builder(this) new AlertDialog.Builder(this)
.setMessage(getString(R.string.new_conversation_activity__ask_start_chat_with, nameNAddr)) .setMessage(getString(R.string.ask_start_chat_with, nameNAddr))
.setCancelable(true) .setCancelable(true)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {

View file

@ -27,11 +27,11 @@ public class QrScanActivity extends AppCompatActivity {
setContentView(R.layout.activity_qr_scan); setContentView(R.layout.activity_qr_scan);
assert getSupportActionBar() != null; assert getSupportActionBar() != null;
getSupportActionBar().setTitle(R.string.qr_scan_activity__title); getSupportActionBar().setTitle(R.string.qrscan_title);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
barcodeScannerView = findViewById(R.id.zxing_barcode_scanner); barcodeScannerView = findViewById(R.id.zxing_barcode_scanner);
barcodeScannerView.setStatusText(getString(R.string.qr_scan_activity__hint) + "\n "); barcodeScannerView.setStatusText(getString(R.string.qrscan_hint) + "\n ");
if (savedInstanceState != null) { if (savedInstanceState != null) {
init(barcodeScannerView, getIntent(), savedInstanceState); init(barcodeScannerView, getIntent(), savedInstanceState);

View file

@ -62,9 +62,9 @@ public class QrShowActivity extends AppCompatActivity implements DcEventCenter.D
if (chatId != 0) { if (chatId != 0) {
// verified-group // verified-group
String groupName = dcContext.getChat(chatId).getName(); String groupName = dcContext.getChat(chatId).getName();
hint = String.format(this.getString(R.string.qr_show_activity__join_verified_group_hint), groupName); hint = String.format(this.getString(R.string.qrshow_join_verified_group_hint), groupName);
supportActionBar.setTitle(groupName); supportActionBar.setTitle(groupName);
supportActionBar.setSubtitle(R.string.qr_show_activity__join_verified_group_title); supportActionBar.setSubtitle(R.string.qrshow_join_verified_group_title);
} else { } else {
// verify-contact // verify-contact
String selfName = DcHelper.get(this, DcHelper.CONFIG_DISPLAY_NAME); // we cannot use MrContact.getDisplayName() as this would result in "Me" instead of String selfName = DcHelper.get(this, DcHelper.CONFIG_DISPLAY_NAME); // we cannot use MrContact.getDisplayName() as this would result in "Me" instead of
@ -75,9 +75,9 @@ public class QrShowActivity extends AppCompatActivity implements DcEventCenter.D
} else { } else {
nameAndAddress = String.format("%s (%s)", selfName, DcHelper.get(this, DcHelper.CONFIG_ADDRESS)); nameAndAddress = String.format("%s (%s)", selfName, DcHelper.get(this, DcHelper.CONFIG_ADDRESS));
} }
hint = String.format(this.getString(R.string.qr_show_activity__join_contact_hint), nameAndAddress); hint = String.format(this.getString(R.string.qrshow_join_contact_hint), nameAndAddress);
supportActionBar.setTitle(selfName); supportActionBar.setTitle(selfName);
supportActionBar.setSubtitle(R.string.qr_show_activity__join_contact_title); supportActionBar.setSubtitle(R.string.qrshow_join_contact_title);
} }
TextView hintBelowQr = findViewById(R.id.qrShowHint); TextView hintBelowQr = findViewById(R.id.qrShowHint);
hintBelowQr.setText(Html.fromHtml(hint)); hintBelowQr.setText(Html.fromHtml(hint));
@ -165,12 +165,12 @@ public class QrShowActivity extends AppCompatActivity implements DcEventCenter.D
long progress = (Long) data2; long progress = (Long) data2;
String msg = null; String msg = null;
if (progress == 300) { if (progress == 300) {
msg = String.format(getString(R.string.qr_show_activity__joining), dcContext.getContact(contact_id).getNameNAddr()); msg = String.format(getString(R.string.qrshow_x_joining), dcContext.getContact(contact_id).getNameNAddr());
numJoiners++; numJoiners++;
} else if (progress == 600) { } else if (progress == 600) {
msg = String.format(getString(R.string.qr_show_activity__verified), dcContext.getContact(contact_id).getNameNAddr()); msg = String.format(getString(R.string.qrshow_x_verified), dcContext.getContact(contact_id).getNameNAddr());
} else if (progress == 800) { } else if (progress == 800) {
msg = String.format(getString(R.string.qr_show_activity__group_joined), dcContext.getContact(contact_id).getNameNAddr()); msg = String.format(getString(R.string.qrshow_x_has_joined_group), dcContext.getContact(contact_id).getNameNAddr());
} }
if (msg != null) { if (msg != null) {

View file

@ -2,7 +2,6 @@ package org.thoughtcrime.securesms;
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.Color; import android.graphics.Color;
import android.media.Ringtone; import android.media.Ringtone;
@ -311,8 +310,8 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
// contact view // contact view
addrPreference.setTitle(getProfileContact().getAddr()); addrPreference.setTitle(getProfileContact().getAddr());
if (contactToEditRecipient.isBlocked()) blockPreference.setTitle(R.string.RecipientPreferenceActivity_unblock); if (contactToEditRecipient.isBlocked()) blockPreference.setTitle(R.string.menu_unblock_contact);
else blockPreference.setTitle(R.string.RecipientPreferenceActivity_block); else blockPreference.setTitle(R.string.menu_block_contact);
if(chatToEdit.getId()==0) { if(chatToEdit.getId()==0) {
mutePreference.setVisible(false); mutePreference.setVisible(false);
@ -338,9 +337,9 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
private @NonNull String getRingtoneSummary(@NonNull Context context, @Nullable Uri ringtone) { private @NonNull String getRingtoneSummary(@NonNull Context context, @Nullable Uri ringtone) {
if (ringtone == null) { if (ringtone == null) {
return context.getString(R.string.preferences__default); return context.getString(R.string.def);
} else if (ringtone.toString().isEmpty()) { } else if (ringtone.toString().isEmpty()) {
return context.getString(R.string.preferences__silent); return context.getString(R.string.pref_silent);
} else { } else {
Ringtone tone = RingtoneManager.getRingtone(getActivity(), ringtone); Ringtone tone = RingtoneManager.getRingtone(getActivity(), ringtone);
@ -349,16 +348,16 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
} }
} }
return context.getString(R.string.preferences__default); return context.getString(R.string.def);
} }
private @NonNull Pair<String, Integer> getVibrateSummary(@NonNull Context context, @NonNull VibrateState vibrateState) { private @NonNull Pair<String, Integer> getVibrateSummary(@NonNull Context context, @NonNull VibrateState vibrateState) {
if (vibrateState == VibrateState.DEFAULT) { if (vibrateState == VibrateState.DEFAULT) {
return new Pair<>(context.getString(R.string.preferences__default), 0); return new Pair<>(context.getString(R.string.def), 0);
} else if (vibrateState == VibrateState.ENABLED) { } else if (vibrateState == VibrateState.ENABLED) {
return new Pair<>(context.getString(R.string.RecipientPreferenceActivity_enabled), 1); return new Pair<>(context.getString(R.string.on), 1);
} else { } else {
return new Pair<>(context.getString(R.string.RecipientPreferenceActivity_disabled), 2); return new Pair<>(context.getString(R.string.off), 2);
} }
} }
@ -479,7 +478,7 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
final EditText txt = new EditText(getActivity()); final EditText txt = new EditText(getActivity());
txt.setText(dcContact.getName()); txt.setText(dcContact.getName());
new AlertDialog.Builder(getActivity()) new AlertDialog.Builder(getActivity())
.setTitle(R.string.recipient_preferences__edit_name) .setTitle(R.string.menu_edit_name)
.setView(txt) .setView(txt)
.setPositiveButton(android.R.string.ok, (dialog, whichButton) -> { .setPositiveButton(android.R.string.ok, (dialog, whichButton) -> {
String newName = txt.getText().toString(); String newName = txt.getText().toString();
@ -502,20 +501,18 @@ public class RecipientPreferenceActivity extends PassphraseRequiredActionBarActi
private void handleBlock() { private void handleBlock() {
new AlertDialog.Builder(getActivity()) new AlertDialog.Builder(getActivity())
.setTitle(R.string.RecipientPreferenceActivity_block_this_contact_question) .setMessage(R.string.ask_block_contact)
.setMessage(R.string.RecipientPreferenceActivity_you_will_no_longer_receive_messages_and_calls_from_this_contact)
.setCancelable(true) .setCancelable(true)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(R.string.RecipientPreferenceActivity_block, (dialog, which) -> setBlocked(true)).show(); .setPositiveButton(R.string.menu_block_contact, (dialog, which) -> setBlocked(true)).show();
} }
private void handleUnblock() { private void handleUnblock() {
new AlertDialog.Builder(getActivity()) new AlertDialog.Builder(getActivity())
.setTitle(R.string.RecipientPreferenceActivity_unblock_this_contact_question) .setMessage(R.string.ask_unblock_contact)
.setMessage(R.string.RecipientPreferenceActivity_you_will_once_again_be_able_to_receive_messages_and_calls_from_this_contact)
.setCancelable(true) .setCancelable(true)
.setNegativeButton(android.R.string.cancel, null) .setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(R.string.RecipientPreferenceActivity_unblock, (dialog, which) -> setBlocked(false)).show(); .setPositiveButton(R.string.menu_unblock_contact, (dialog, which) -> setBlocked(false)).show();
} }
private void setBlocked(final boolean blocked) { private void setBlocked(final boolean blocked) {

View file

@ -140,14 +140,14 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
} }
private void verifyEmail(TextInputEditText view) { private void verifyEmail(TextInputEditText view) {
String error = getString(R.string.RegistrationActivity_error_mail); String error = getString(R.string.login_error_mail);
String email = view.getText().toString(); String email = view.getText().toString();
if (!matchesEmailPattern(email)) { if (!matchesEmailPattern(email)) {
view.setError(error); view.setError(error);
} }
if (!TextUtils.isEmpty(email) && isGmail(email) && !gmailDialogShown) { if (!TextUtils.isEmpty(email) && isGmail(email) && !gmailDialogShown) {
gmailDialogShown = true; gmailDialogShown = true;
Dialogs.showInfoDialog(this, getString(R.string.RegistrationActivity_dialog_gmail_title), getString(R.string.RegistrationActivity_dialog_gmail_text)); Dialogs.showInfoDialog(this, getString(R.string.login_info_gmail_text));
} }
} }
@ -160,7 +160,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
} }
private void verifyServer(TextInputEditText view) { private void verifyServer(TextInputEditText view) {
String error = getString(R.string.RegistrationActivity_error_server); String error = getString(R.string.login_error_server);
String server = view.getText().toString(); String server = view.getText().toString();
if (!TextUtils.isEmpty(server) && !Patterns.DOMAIN_NAME.matcher(server).matches() if (!TextUtils.isEmpty(server) && !Patterns.DOMAIN_NAME.matcher(server).matches()
&& !Patterns.IP_ADDRESS.matcher(server).matches() && !Patterns.IP_ADDRESS.matcher(server).matches()
@ -170,7 +170,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
} }
private void verifyPort(TextInputEditText view) { private void verifyPort(TextInputEditText view) {
String error = getString(R.string.RegistrationActivity_error_port); String error = getString(R.string.login_error_port);
String portString = view.getText().toString(); String portString = view.getText().toString();
if (!portString.isEmpty()) { if (!portString.isEmpty()) {
try { try {
@ -197,7 +197,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
private void onLogin() { private void onLogin() {
if (!verifyRequiredFields()) { if (!verifyRequiredFields()) {
Toast.makeText(this, R.string.RegistrationActivity_error_required_fields, Toast.LENGTH_LONG).show(); Toast.makeText(this, R.string.login_error_required_fields, Toast.LENGTH_LONG).show();
return; return;
} }
setupConfig(); setupConfig();
@ -208,7 +208,7 @@ public class RegistrationActivity extends BaseActionBarActivity implements DcEve
} }
progressDialog = new ProgressDialog(this); progressDialog = new ProgressDialog(this);
progressDialog.setMessage(getString(R.string.loading)); progressDialog.setMessage(getString(R.string.one_moment));
progressDialog.setCanceledOnTouchOutside(false); progressDialog.setCanceledOnTouchOutside(false);
progressDialog.setCancelable(false); progressDialog.setCancelable(false);
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(android.R.string.cancel), (dialog, which) -> stopLoginProcess()); progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(android.R.string.cancel), (dialog, which) -> stopLoginProcess());

View file

@ -162,7 +162,7 @@ public class ShareActivity extends PassphraseRequiredActionBarActivity
private void onConversationClick(int chatId) { private void onConversationClick(int chatId) {
String name = dcContext.getChat(chatId).getName(); String name = dcContext.getChat(chatId).getName();
Dialogs.showResponseDialog(this, "", getString(R.string.ShareActivity_forward_message_to_user_info, name), (dialogInterface, i) -> { Dialogs.showResponseDialog(this, getString(R.string.ask_forward, name), (dialogInterface, i) -> {
int[] value = getIntent().getIntArrayExtra(EXTRA_MSG_IDS); int[] value = getIntent().getIntArrayExtra(EXTRA_MSG_IDS);
dcContext.forwardMsgs(value, chatId); dcContext.forwardMsgs(value, chatId);
createConversation(chatId); createConversation(chatId);

View file

@ -96,8 +96,8 @@ public class TransportOptions {
results.add(new TransportOption(Type.NORMAL_MAIL, R.drawable.ic_send_sms_white_24dp, results.add(new TransportOption(Type.NORMAL_MAIL, R.drawable.ic_send_sms_white_24dp,
context.getResources().getColor(R.color.textsecure_primary), context.getResources().getColor(R.color.textsecure_primary),
context.getString(R.string.ConversationActivity_transport_signal), context.getString(R.string.app_name),
context.getString(R.string.conversation_activity__type_message))); context.getString(R.string.chat_input_placeholder)));
return results; return results;
} }

View file

@ -44,9 +44,9 @@ public class WelcomeActivity extends BaseActionBarActivity implements DcEventCen
private int icons[] = new int[]{R.drawable.intro1, R.drawable.intro2, R.drawable.intro3, R.drawable.intro4, R.drawable.intro5, R.drawable.intro6, R.drawable.intro7}; private int icons[] = new int[]{R.drawable.intro1, R.drawable.intro2, R.drawable.intro3, R.drawable.intro4, R.drawable.intro5, R.drawable.intro6, R.drawable.intro7};
private int titles[] = new int[]{R.string.WelcomeActivity_intro1_headline, R.string.WelcomeActivity_intro2_headline, R.string.WelcomeActivity_intro3_headline, R.string.WelcomeActivity_intro4_headline, R.string.WelcomeActivity_intro5_headline, R.string.WelcomeActivity_intro6_headline, R.string.WelcomeActivity_intro7_headline}; private int titles[] = new int[]{R.string.welcome_intro1_headline, R.string.welcome_intro2_headline, R.string.welcome_intro3_headline, R.string.welcome_intro4_headline, R.string.welcome_intro5_headline, R.string.welcome_intro6_headline, R.string.welcome_intro7_headline};
private int messages[] = new int[]{R.string.WelcomeActivity_intro1_message, R.string.WelcomeActivity_intro2_message, R.string.WelcomeActivity_intro3_message, R.string.WelcomeActivity_intro4_message, R.string.WelcomeActivity_intro5_message, R.string.WelcomeActivity_intro6_message, R.string.WelcomeActivity_intro7_message}; private int messages[] = new int[]{R.string.welcome_intro1_message, R.string.welcome_intro2_message, R.string.welcome_intro3_message, R.string.welcome_intro4_message, R.string.welcome_intro5_message, R.string.welcome_intro6_message, R.string.welcome_intro7_message};
WelcomePagerAdapter(Context context) { WelcomePagerAdapter(Context context) {
this.context = context; this.context = context;

View file

@ -144,7 +144,7 @@ public class AudioSlidePlayer implements SensorEventListener {
public boolean onError(MediaPlayer mp, int what, int extra) { public boolean onError(MediaPlayer mp, int what, int extra) {
Log.w(TAG, "MediaPlayer Error: " + what + " , " + extra); Log.w(TAG, "MediaPlayer Error: " + what + " , " + extra);
Toast.makeText(context, R.string.AudioSlidePlayer_error_playing_audio, Toast.LENGTH_SHORT).show(); Toast.makeText(context, R.string.error, Toast.LENGTH_SHORT).show();
synchronized (AudioSlidePlayer.this) { synchronized (AudioSlidePlayer.this) {
mediaPlayer = null; mediaPlayer = null;

View file

@ -61,16 +61,16 @@ public class CustomDefaultPreference extends DialogPreference {
@Override @Override
public String getSummary() { public String getSummary() {
if (isCustom()) { if (isCustom()) {
return getContext().getString(R.string.CustomDefaultPreference_using_custom, return getContext().getString(R.string.pref_using_custom,
getPrettyPrintValue(getCustomValue())); getPrettyPrintValue(getCustomValue()));
} else { } else {
return getContext().getString(R.string.CustomDefaultPreference_using_default, return getContext().getString(R.string.pref_using_default,
getPrettyPrintValue(getDefaultValue())); getPrettyPrintValue(getDefaultValue()));
} }
} }
private String getPrettyPrintValue(String value) { private String getPrettyPrintValue(String value) {
if (TextUtils.isEmpty(value)) return getContext().getString(R.string.CustomDefaultPreference_none); if (TextUtils.isEmpty(value)) return getContext().getString(R.string.none);
else return value; else return value;
} }

View file

@ -74,7 +74,7 @@ public class DocumentView extends FrameLayout {
this.documentSlide = documentSlide; this.documentSlide = documentSlide;
this.fileName.setText(documentSlide.getFileName().or(getContext().getString(R.string.DocumentView_unknown_file))); this.fileName.setText(documentSlide.getFileName().or(getContext().getString(R.string.unknown)));
this.fileSize.setText(Util.getPrettyFileSize(documentSlide.getFileSize())); this.fileSize.setText(Util.getPrettyFileSize(documentSlide.getFileSize()));
this.document.setText(getFileType(documentSlide.getFileName())); this.document.setText(getFileType(documentSlide.getFileName()));
this.setOnClickListener(new OpenClickedListener(documentSlide)); this.setOnClickListener(new OpenClickedListener(documentSlide));

View file

@ -168,7 +168,7 @@ public class InputPanel extends LinearLayout
if (elapsedTime > 1000) { if (elapsedTime > 1000) {
listener.onRecorderFinished(); listener.onRecorderFinished();
} else { } else {
Toast.makeText(getContext(), R.string.InputPanel_tap_and_hold_to_record_a_voice_message_release_to_send, Toast.LENGTH_LONG).show(); Toast.makeText(getContext(), R.string.chat_record_explain, Toast.LENGTH_LONG).show();
listener.onRecorderCanceled(); listener.onRecorderCanceled();
} }
} }

View file

@ -189,7 +189,7 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener
boolean outgoing = messageType != MESSAGE_TYPE_INCOMING; boolean outgoing = messageType != MESSAGE_TYPE_INCOMING;
boolean isOwnNumber = Util.isOwnNumber(getContext(), author.getAddress()); boolean isOwnNumber = Util.isOwnNumber(getContext(), author.getAddress());
authorView.setText(isOwnNumber ? getContext().getString(R.string.QuoteView_you) authorView.setText(isOwnNumber ? getContext().getString(R.string.self)
: author.toShortString()); : author.toShortString());
// We use the raw color resource because Android 4.x was struggling with tints here // We use the raw color resource because Android 4.x was struggling with tints here
@ -215,13 +215,13 @@ public class QuoteView extends FrameLayout implements RecipientModifiedListener
// Given that most types have images, we specifically check images last // Given that most types have images, we specifically check images last
if (!audioSlides.isEmpty()) { if (!audioSlides.isEmpty()) {
mediaDescriptionText.setText(R.string.QuoteView_audio); mediaDescriptionText.setText(R.string.audio);
} else if (!documentSlides.isEmpty()) { } else if (!documentSlides.isEmpty()) {
mediaDescriptionText.setVisibility(GONE); mediaDescriptionText.setVisibility(GONE);
} else if (!videoSlides.isEmpty()) { } else if (!videoSlides.isEmpty()) {
mediaDescriptionText.setText(R.string.QuoteView_video); mediaDescriptionText.setText(R.string.video);
} else if (!imageSlides.isEmpty()) { } else if (!imageSlides.isEmpty()) {
mediaDescriptionText.setText(R.string.QuoteView_photo); mediaDescriptionText.setText(R.string.image);
} }
} }

View file

@ -60,8 +60,8 @@ public class SearchToolbar extends LinearLayout {
searchView.setSubmitButtonEnabled(false); searchView.setSubmitButtonEnabled(false);
if (searchText != null) searchText.setHint(R.string.SearchToolbar_search); if (searchText != null) searchText.setHint(R.string.search);
else searchView.setQueryHint(getResources().getString(R.string.SearchToolbar_search)); else searchView.setQueryHint(getResources().getString(R.string.search));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override @Override

View file

@ -20,8 +20,8 @@ public class DozeReminder extends Reminder {
@RequiresApi(api = Build.VERSION_CODES.M) @RequiresApi(api = Build.VERSION_CODES.M)
public DozeReminder(@NonNull final Context context) { public DozeReminder(@NonNull final Context context) {
super(context.getString(R.string.DozeReminder_optimize_for_missing_play_services), super("R.string.DozeReminder_optimize_for_missing_play_services",
context.getString(R.string.DozeReminder_this_device_does_not_support_play_services_tap_to_disable_system_battery)); "R.string.DozeReminder_this_device_does_not_support_play_services_tap_to_disable_system_battery");
setOkListener(v -> { setOkListener(v -> {
Prefs.setPromptedOptimizeDoze(context, true); Prefs.setPromptedOptimizeDoze(context, true);

View file

@ -1,42 +0,0 @@
package org.thoughtcrime.securesms.components.reminder;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
import android.widget.Toast;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.util.Util;
public class ExpiredBuildReminder extends Reminder {
@SuppressWarnings("unused")
private static final String TAG = ExpiredBuildReminder.class.getSimpleName();
public ExpiredBuildReminder(final Context context) {
super(context.getString(R.string.reminder_header_expired_build),
context.getString(R.string.reminder_header_expired_build_details));
setOkListener(v -> {
try {
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())));
} catch (android.content.ActivityNotFoundException anfe) {
try {
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + context.getPackageName())));
} catch (android.content.ActivityNotFoundException anfe2) {
Log.w(TAG, anfe2);
Toast.makeText(context, R.string.OutdatedBuildReminder_no_web_browser_installed, Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public boolean isDismissable() {
return false;
}
public static boolean isEligible() {
return Util.getDaysTillBuildExpiry() <= 0;
}
}

View file

@ -1,52 +0,0 @@
package org.thoughtcrime.securesms.components.reminder;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.util.Util;
public class OutdatedBuildReminder extends Reminder {
private static final String TAG = OutdatedBuildReminder.class.getSimpleName();
public OutdatedBuildReminder(final Context context) {
super(context.getString(R.string.reminder_header_outdated_build),
getPluralsText(context));
setOkListener(v -> {
try {
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())));
} catch (ActivityNotFoundException anfe) {
try {
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + context.getPackageName())));
} catch (ActivityNotFoundException anfe2) {
Log.w(TAG, anfe2);
Toast.makeText(context, R.string.OutdatedBuildReminder_no_web_browser_installed, Toast.LENGTH_LONG).show();
}
}
});
}
private static CharSequence getPluralsText(final Context context) {
int days = Util.getDaysTillBuildExpiry() - 1;
if (days == 0) {
return context.getString(R.string.reminder_header_outdated_build_details_today);
}
return context.getResources().getQuantityString(R.plurals.reminder_header_outdated_build_details, days, days);
}
@Override
public boolean isDismissable() {
return false;
}
public static boolean isEligible() {
return Util.getDaysTillBuildExpiry() <= 10;
}
}

View file

@ -127,7 +127,7 @@ public class ApplicationDcContext extends DcContext {
try { try {
File file = new File(path); File file = new File(path);
if (!file.exists()) { if (!file.exists()) {
Toast.makeText(context, context.getString(R.string.ShareActivity_file_not_found, path), Toast.LENGTH_LONG).show(); Toast.makeText(context, context.getString(R.string.file_not_found, path), Toast.LENGTH_LONG).show();
return; return;
} }
@ -154,10 +154,10 @@ public class ApplicationDcContext extends DcContext {
intent.setType(mimeType); intent.setType(mimeType);
intent.putExtra(Intent.EXTRA_STREAM, uri); intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(Intent.createChooser(intent, context.getString(R.string.ShareActivity_share_with))); context.startActivity(Intent.createChooser(intent, context.getString(R.string.chat_share_with_title)));
} }
} catch (RuntimeException e) { } catch (RuntimeException e) {
Toast.makeText(context, R.string.ShareActivity_unable_to_open_media, Toast.LENGTH_LONG).show(); Toast.makeText(context, R.string.no_app_to_handle_data, Toast.LENGTH_LONG).show();
Toast.makeText(context, "Media-Type: " + mimeType, Toast.LENGTH_LONG).show(); Toast.makeText(context, "Media-Type: " + mimeType, Toast.LENGTH_LONG).show();
Log.i(TAG, "opening of external activity failed.", e); Log.i(TAG, "opening of external activity failed.", e);
} }
@ -494,19 +494,19 @@ public class ApplicationDcContext extends DcContext {
String s; String s;
switch ((int) data1) { // the integers are defined in the core and used only here, an enum or sth. like that won't have a big benefit switch ((int) data1) { // the integers are defined in the core and used only here, an enum or sth. like that won't have a big benefit
case 3: case 3:
s = context.getString(R.string.summary_draft); s = context.getString(R.string.draft);
break; break;
case 8: case 8:
s = context.getString(R.string.menu_deaddrop); s = context.getString(R.string.menu_deaddrop);
break; break;
case 13: case 13:
s = context.getString(R.string.default_status_text); s = context.getString(R.string.pref_default_status_text);
break; break;
case 42: case 42:
s = context.getString(R.string.autocrypt__asm_subject); s = context.getString(R.string.autocrypt_asm_subject);
break; break;
case 43: case 43:
s = context.getString(R.string.autocrypt__asm_general_body); s = context.getString(R.string.autocrypt_asm_general_body);
break; break;
default: default:
s = null; s = null;

View file

@ -1,10 +1,8 @@
package org.thoughtcrime.securesms.connect; package org.thoughtcrime.securesms.connect;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.Service; import android.app.Service;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.IBinder; import android.os.IBinder;
@ -14,8 +12,6 @@ import android.util.Log;
import org.thoughtcrime.securesms.ConversationListActivity; import org.thoughtcrime.securesms.ConversationListActivity;
import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.R;
import java.util.Locale;
public class KeepAliveService extends Service { public class KeepAliveService extends Service {
static KeepAliveService s_this = null; static KeepAliveService s_this = null;
@ -74,7 +70,7 @@ public class KeepAliveService extends Service {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this); NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.app_name)); builder.setContentTitle(getString(R.string.app_name));
builder.setContentText(getString(R.string.MessageRetrievalService_background_connection_enabled)); builder.setContentText(getString(R.string.notify_background_connection_enabled));
if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN ) { if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN ) {
builder.setPriority(NotificationCompat.PRIORITY_MIN); builder.setPriority(NotificationCompat.PRIORITY_MIN);

Some files were not shown because too many files have changed in this diff Show more