diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 921daf8c9a..8dc861b936 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -334,10 +334,9 @@
android:launchMode="singleTask"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
-
+
+
diff --git a/res/drawable/ic_archive_solid_24dp.xml b/res/drawable/ic_archive_solid_24dp.xml
new file mode 100644
index 0000000000..81b018af42
--- /dev/null
+++ b/res/drawable/ic_archive_solid_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_arrow_down_14.xml b/res/drawable/ic_arrow_down_14.xml
new file mode 100644
index 0000000000..e395ff178c
--- /dev/null
+++ b/res/drawable/ic_arrow_down_14.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/res/drawable/ic_check_circle_solid_20.xml b/res/drawable/ic_check_circle_solid_20.xml
new file mode 100644
index 0000000000..a0c85f7943
--- /dev/null
+++ b/res/drawable/ic_check_circle_solid_20.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/res/drawable/ic_grid_outline_20.xml b/res/drawable/ic_grid_outline_20.xml
new file mode 100644
index 0000000000..136b041f3a
--- /dev/null
+++ b/res/drawable/ic_grid_outline_20.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_grid_solid_20.xml b/res/drawable/ic_grid_solid_20.xml
new file mode 100644
index 0000000000..158e745e65
--- /dev/null
+++ b/res/drawable/ic_grid_solid_20.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_list_outline_20.xml b/res/drawable/ic_list_outline_20.xml
new file mode 100644
index 0000000000..08491aebf3
--- /dev/null
+++ b/res/drawable/ic_list_outline_20.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/ic_list_solid_20.xml b/res/drawable/ic_list_solid_20.xml
new file mode 100644
index 0000000000..459afe225f
--- /dev/null
+++ b/res/drawable/ic_list_solid_20.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/media_overview_size_pill_background.xml b/res/drawable/media_overview_size_pill_background.xml
new file mode 100644
index 0000000000..2aeeddc40b
--- /dev/null
+++ b/res/drawable/media_overview_size_pill_background.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/drawable/storage_legend_audio.xml b/res/drawable/storage_legend_audio.xml
new file mode 100644
index 0000000000..4857e5015b
--- /dev/null
+++ b/res/drawable/storage_legend_audio.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/storage_legend_files.xml b/res/drawable/storage_legend_files.xml
new file mode 100644
index 0000000000..b40e8481e3
--- /dev/null
+++ b/res/drawable/storage_legend_files.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/storage_legend_photos.xml b/res/drawable/storage_legend_photos.xml
new file mode 100644
index 0000000000..f9f87c08f3
--- /dev/null
+++ b/res/drawable/storage_legend_photos.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/res/drawable/storage_legend_videos.xml b/res/drawable/storage_legend_videos.xml
new file mode 100644
index 0000000000..b4d161204c
--- /dev/null
+++ b/res/drawable/storage_legend_videos.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/res/layout/audio_view.xml b/res/layout/audio_view.xml
index be31665670..907d95c319 100644
--- a/res/layout/audio_view.xml
+++ b/res/layout/audio_view.xml
@@ -1,87 +1,43 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context="org.thoughtcrime.securesms.components.AudioView">
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
diff --git a/res/layout/audio_view_circle.xml b/res/layout/audio_view_circle.xml
new file mode 100644
index 0000000000..9aa6da342d
--- /dev/null
+++ b/res/layout/audio_view_circle.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/audio_view_small.xml b/res/layout/audio_view_small.xml
new file mode 100644
index 0000000000..9e958b31de
--- /dev/null
+++ b/res/layout/audio_view_small.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/media_overview_activity.xml b/res/layout/media_overview_activity.xml
index dfb82fb86f..2e57534c1b 100644
--- a/res/layout/media_overview_activity.xml
+++ b/res/layout/media_overview_activity.xml
@@ -1,39 +1,121 @@
-
+
+ android:id="@+id/appBarLayout"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="?android:attr/actionBarSize"
+ android:background="?attr/media_overview_toolbar_background"
+ android:titleTextColor="?attr/media_overview_toolbar_foreground"
+ app:layout_scrollFlags="scroll|enterAlways" />
+ android:id="@+id/tab_layout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top"
+ android:background="?attr/media_overview_toolbar_background"
+ app:tabBackground="?attr/media_overview_toolbar_background"
+ app:tabIndicatorColor="@color/textsecure_primary"
+ app:tabSelectedTextColor="@color/textsecure_primary" />
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/media_overview_detail_item_audio.xml b/res/layout/media_overview_detail_item_audio.xml
new file mode 100644
index 0000000000..f5bc716a3d
--- /dev/null
+++ b/res/layout/media_overview_detail_item_audio.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/media_overview_detail_item_document.xml b/res/layout/media_overview_detail_item_document.xml
new file mode 100644
index 0000000000..942f07fc60
--- /dev/null
+++ b/res/layout/media_overview_detail_item_document.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/media_overview_detail_item_media.xml b/res/layout/media_overview_detail_item_media.xml
new file mode 100644
index 0000000000..30b90f8eff
--- /dev/null
+++ b/res/layout/media_overview_detail_item_media.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/layout/media_overview_detail_text.xml b/res/layout/media_overview_detail_text.xml
new file mode 100644
index 0000000000..13de189849
--- /dev/null
+++ b/res/layout/media_overview_detail_text.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/media_overview_document_item.xml b/res/layout/media_overview_document_item.xml
deleted file mode 100644
index 400c88cf76..0000000000
--- a/res/layout/media_overview_document_item.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/res/layout/media_overview_documents_fragment.xml b/res/layout/media_overview_documents_fragment.xml
deleted file mode 100644
index b109d705ba..0000000000
--- a/res/layout/media_overview_documents_fragment.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/res/layout/media_overview_gallery_fragment.xml b/res/layout/media_overview_gallery_fragment.xml
deleted file mode 100644
index 44ccb7e9ee..0000000000
--- a/res/layout/media_overview_gallery_fragment.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/res/layout/media_overview_gallery_item.xml b/res/layout/media_overview_gallery_item.xml
index 44112d8af9..d0b49f1145 100644
--- a/res/layout/media_overview_gallery_item.xml
+++ b/res/layout/media_overview_gallery_item.xml
@@ -1,28 +1,50 @@
-
+
+ android:id="@+id/image"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:contentDescription="@string/media_preview_activity__media_content_description"
+ android:padding="2dp" />
+
+
+ android:visibility="gone"
+ tools:showIn="@layout/media_overview_gallery_item"
+ tools:visibility="visible">
+ android:layout_marginTop="8dp"
+ android:layout_marginStart="8dp"
+ android:contentDescription="@string/MediaOverviewActivity_Selected_description"
+ app:srcCompat="@drawable/ic_check_circle_solid_20" />
+
diff --git a/res/layout/media_overview_gallery_item_header.xml b/res/layout/media_overview_gallery_item_header.xml
deleted file mode 100644
index 6766df9c87..0000000000
--- a/res/layout/media_overview_gallery_item_header.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/res/layout/media_overview_document_item_header.xml b/res/layout/media_overview_item_header.xml
similarity index 100%
rename from res/layout/media_overview_document_item_header.xml
rename to res/layout/media_overview_item_header.xml
diff --git a/res/layout/media_overview_page_fragment.xml b/res/layout/media_overview_page_fragment.xml
new file mode 100644
index 0000000000..568934a931
--- /dev/null
+++ b/res/layout/media_overview_page_fragment.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
diff --git a/res/layout/media_overview_selected_overlay.xml b/res/layout/media_overview_selected_overlay.xml
new file mode 100644
index 0000000000..e987752f2c
--- /dev/null
+++ b/res/layout/media_overview_selected_overlay.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/preference_storage_category.xml b/res/layout/preference_storage_category.xml
new file mode 100644
index 0000000000..61fba6eb99
--- /dev/null
+++ b/res/layout/preference_storage_category.xml
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/layout/thumbnail_view.xml b/res/layout/thumbnail_view.xml
index 6b6119653c..c97ec38b5d 100644
--- a/res/layout/thumbnail_view.xml
+++ b/res/layout/thumbnail_view.xml
@@ -30,7 +30,9 @@
android:layout_height="wrap_content"
android:padding="6dp"
android:src="@drawable/ic_caption_28"
- android:visibility="gone" />
+ android:visibility="gone"
+ android:contentDescription="@string/ThumbnailView_Has_a_caption_description"
+ tools:visibility="visible" />
diff --git a/res/menu/media_preview.xml b/res/menu/media_preview.xml
index 7143884f6d..806f1c6fbe 100644
--- a/res/menu/media_preview.xml
+++ b/res/menu/media_preview.xml
@@ -4,17 +4,17 @@
+ app:showAsAction="never"/>
+ app:showAsAction="never"/>
+ app:showAsAction="never"/>
+ app:showAsAction="never"/>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 34b79563ea..693b2ba846 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -324,4 +324,10 @@
- 2
+
+ - @string/MediaOverviewActivity_Newest
+ - @string/MediaOverviewActivity_Oldest
+ - @string/MediaOverviewActivity_Storage_used
+
+
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index ab012af1ea..a579ed6e40 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -185,6 +185,7 @@
+
@@ -212,9 +213,12 @@
+
+
+
@@ -275,6 +279,8 @@
+
+
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 85651e8e2a..ec8b7f96a4 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -46,7 +46,7 @@
#00FFFFFF
#00000000
- #88000000
+ #99000000
#44ff2d00
@@ -55,4 +55,10 @@
#90010101
#88000000
+ @color/core_grey_50
+ #ff5951C8
+ #ff9BCFBD
+ #ff2090EA
+ #ffA23474
+
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index ab7013380d..be8511ab2a 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -148,4 +148,6 @@
20dp
16dp
+ 8dp
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a049335284..8f8d9d0e8c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -88,6 +88,9 @@
Yesterday
This week
This month
+ Large
+ Medium
+ Small
Incoming call
@@ -351,6 +354,10 @@
Unknown file
+ Unnamed file
+ Audio file
+ Image file
+ Video file
Optimize for missing Play Services
@@ -480,18 +487,28 @@
Media
- - Delete selected message?
- - Delete selected messages?
+ - Delete selected item?
+ - Delete selected items?
- - This will permanently delete the selected message.
- - This will permanently delete all %1$d selected messages.
+ - This will permanently delete the selected file. Any message text associated with this item will also be deleted.
+ - This will permanently delete all %1$d selected files. Any message text associated with these items will also be deleted.
Deleting
Deleting messages…
- Documents
+ Files
Select all
Collecting attachments…
+ Audio
+ All
+ Sort by
+ Newest
+ Oldest
+ Storage used
+ All storage use
+ Grid view
+ List view
+ Selected
Signal call in progress
@@ -872,6 +889,7 @@
Unable to save to external storage without permissions
Delete message?
This will permanently delete this message.
+ %1$s to %2$s
%1$d new messages in %2$d conversations
@@ -930,6 +948,10 @@
Signal
New message
+
+ Play video
+ Has a caption
+
- %d Item
@@ -1393,6 +1415,7 @@
Automatically delete older messages once a conversation exceeds a specified length
Delete old messages
Chats and media
+ Storage
Conversation length limit
Trim all conversations now
Scan through all conversations and enforce conversation length limits
@@ -1421,6 +1444,12 @@
When roaming
Media auto-download
Message trimming
+ Storage usage
+ Photos
+ Videos
+ Files
+ Audio
+ Review storage
Use system emoji
Disable Signal\'s built-in emoji support
Relay all calls through the Signal server to avoid revealing your IP address to your contact. Enabling will reduce call quality.
@@ -1576,9 +1605,6 @@
Forward
All media
-
- No documents
-
Media preview
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 7764035897..640bf789cf 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -23,10 +23,13 @@
- @color/textsecure_primary_dark
- @color/white
+ - @color/core_grey_02
- @color/core_grey_70
- @color/core_grey_50
- @color/core_grey_90
- @color/core_grey_60
+ - @drawable/ic_grid_outline_20
+ - @drawable/ic_list_outline_20