diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/Contents.json
deleted file mode 100644
index 9286677d0..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "directChatOff.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "directChatOff@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "directChatOff@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff.png
deleted file mode 100644
index 04b10d525..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff@2x.png
deleted file mode 100644
index 31db105b7..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff@3x.png
deleted file mode 100644
index 8759d79fc..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOff.imageset/directChatOff@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/Contents.json
deleted file mode 100644
index 994f7c4c7..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "directChatOn.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "directChatOn@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "directChatOn@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn.png
deleted file mode 100644
index 1d093e3e9..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn@2x.png
deleted file mode 100644
index 0a60d421b..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn@3x.png
deleted file mode 100644
index d5cfc0049..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/directChatOn.imageset/directChatOn@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/Contents.json
deleted file mode 100644
index ddaaacdcf..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "favourite.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "favourite@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "favourite@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite.png
deleted file mode 100644
index a073830ac..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite@2x.png
deleted file mode 100644
index 9fb29fbe1..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite@3x.png
deleted file mode 100644
index 032c4c6cf..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favourite.imageset/favourite@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/Contents.json
deleted file mode 100644
index ad9a229aa..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "favouriteOff.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "favouriteOff@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "favouriteOff@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff.png
deleted file mode 100644
index fd5c8bd53..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff@2x.png
deleted file mode 100644
index 13d8b05f1..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff@3x.png
deleted file mode 100644
index 0785e80fb..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/favouriteOff.imageset/favouriteOff@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/Contents.json
deleted file mode 100644
index 0393f62ab..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "leave.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "leave@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "leave@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave.png
deleted file mode 100644
index 6484d7363..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave@2x.png
deleted file mode 100644
index ff74e39f8..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave@3x.png
deleted file mode 100644
index d0b772d24..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/leave.imageset/leave@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/Contents.json
deleted file mode 100644
index 499d33aaa..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "notifications.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "notifications@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "notifications@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications.png
deleted file mode 100644
index c349e8be1..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications@2x.png
deleted file mode 100644
index f8384254f..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications@3x.png
deleted file mode 100644
index f9e6ce4e7..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notifications.imageset/notifications@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/Contents.json
deleted file mode 100644
index bd468a4b9..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "notificationsOff.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "notificationsOff@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "notificationsOff@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff.png
deleted file mode 100644
index 251ee225a..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff@2x.png
deleted file mode 100644
index 2ef0716aa..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff@3x.png
deleted file mode 100644
index da6a19b1e..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/notificationsOff.imageset/notificationsOff@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/Contents.json
deleted file mode 100644
index 683a08201..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "priorityHigh.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "priorityHigh@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "priorityHigh@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh.png
deleted file mode 100644
index c84af379d..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh@2x.png
deleted file mode 100644
index b9121080d..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh@3x.png
deleted file mode 100644
index 0007d53ca..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityHigh.imageset/priorityHigh@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/Contents.json
deleted file mode 100644
index b9e753883..000000000
--- a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "priorityLow.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "priorityLow@2x.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "priorityLow@3x.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow.png
deleted file mode 100644
index f49a688ee..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow@2x.png
deleted file mode 100644
index e67d0beee..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow@2x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow@3x.png
deleted file mode 100644
index 17a6cca8c..000000000
Binary files a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/priorityLow.imageset/priorityLow@3x.png and /dev/null differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/Contents.json
new file mode 100644
index 000000000..39a6a241d
--- /dev/null
+++ b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "room_action_direct_chat.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "room_action_direct_chat@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "room_action_direct_chat@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat.png
new file mode 100644
index 000000000..f76685a14
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat@2x.png
new file mode 100644
index 000000000..3c8b956fc
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat@3x.png
new file mode 100644
index 000000000..a336f37f6
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_direct_chat.imageset/room_action_direct_chat@3x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/Contents.json
new file mode 100644
index 000000000..96d0dc30f
--- /dev/null
+++ b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "room_action_favourite.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "room_action_favourite@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "room_action_favourite@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite.png
new file mode 100644
index 000000000..04581456b
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite@2x.png
new file mode 100644
index 000000000..31fae86d4
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite@3x.png
new file mode 100644
index 000000000..b75b71824
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_favourite.imageset/room_action_favourite@3x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/Contents.json
new file mode 100644
index 000000000..0b6c600ac
--- /dev/null
+++ b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "room_action_leave.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "room_action_leave@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "room_action_leave@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave.png
new file mode 100644
index 000000000..7fbae6566
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave@2x.png
new file mode 100644
index 000000000..0eb18989d
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave@3x.png
new file mode 100644
index 000000000..ad6530cc1
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_leave.imageset/room_action_leave@3x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/Contents.json
new file mode 100644
index 000000000..b4c2b7402
--- /dev/null
+++ b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "room_action_notification.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "room_action_notification@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "room_action_notification@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification.png
new file mode 100644
index 000000000..5316c899b
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification@2x.png
new file mode 100644
index 000000000..0a3ef62e8
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification@3x.png
new file mode 100644
index 000000000..960f6eab0
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_notification.imageset/room_action_notification@3x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/Contents.json
new file mode 100644
index 000000000..37467db0f
--- /dev/null
+++ b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "room_action_priority_high.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "room_action_priority_high@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "room_action_priority_high@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high.png
new file mode 100644
index 000000000..b4bfeff73
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high@2x.png
new file mode 100644
index 000000000..65d9f3655
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high@3x.png
new file mode 100644
index 000000000..48369bad7
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_high.imageset/room_action_priority_high@3x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/Contents.json b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/Contents.json
new file mode 100644
index 000000000..41c7f2718
--- /dev/null
+++ b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/Contents.json
@@ -0,0 +1,26 @@
+{
+ "images" : [
+ {
+ "filename" : "room_action_priority_low.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "room_action_priority_low@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "room_action_priority_low@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "template-rendering-intent" : "template"
+ }
+}
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low.png
new file mode 100644
index 000000000..444833135
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low@2x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low@2x.png
new file mode 100644
index 000000000..6350d0a68
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low@3x.png b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low@3x.png
new file mode 100644
index 000000000..105f0f9c1
Binary files /dev/null and b/Riot/Assets/Images.xcassets/Home/RoomContextualMenu/room_action_priority_low.imageset/room_action_priority_low@3x.png differ
diff --git a/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms.png b/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms.png
index 5fe2b267f..1b5e4bdd9 100644
Binary files a/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms.png and b/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms.png differ
diff --git a/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@2x.png b/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@2x.png
index 568f7317a..69b448cd9 100644
Binary files a/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@2x.png and b/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@2x.png differ
diff --git a/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@3x.png b/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@3x.png
index 0a03bf59a..55bba3ba0 100644
Binary files a/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@3x.png and b/Riot/Assets/Images.xcassets/TabBar/tab_rooms.imageset/tab_rooms@3x.png differ
diff --git a/Riot/Assets/Riot-Defaults.plist b/Riot/Assets/Riot-Defaults.plist
index a631b9f60..1b9b9227a 100644
--- a/Riot/Assets/Riot-Defaults.plist
+++ b/Riot/Assets/Riot-Defaults.plist
@@ -86,6 +86,12 @@
matrix.org
+ settingsCopyrightUrl
+ https://riot.im/copyright
+ settingsPrivacyPolicyUrl
+ https://riot.im/privacy
+ settingsTermsConditionsUrl
+ https://riot.im/tac_apple
enableBotCreation
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iOS-Marketing-1024@1x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iOS-Marketing-1024@1x.png
new file mode 100644
index 000000000..4e7c91577
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iOS-Marketing-1024@1x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-20@1x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-20@1x.png
new file mode 100644
index 000000000..ddeabb772
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-20@1x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-20@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-20@2x.png
new file mode 100644
index 000000000..67306c68e
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-20@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-29@1x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-29@1x.png
new file mode 100644
index 000000000..896b1f7bc
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-29@1x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-29@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-29@2x.png
new file mode 100644
index 000000000..be05f8649
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-29@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-40@1x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-40@1x.png
new file mode 100644
index 000000000..67306c68e
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-40@1x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-40@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-40@2x.png
new file mode 100644
index 000000000..96a446b24
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-40@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-76@1x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-76@1x.png
new file mode 100644
index 000000000..e2aca5ee7
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-76@1x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-76@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-76@2x.png
new file mode 100644
index 000000000..5aa1d88d6
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-76@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-83.5@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-83.5@2x.png
new file mode 100644
index 000000000..b2ca1e702
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPad-83.5@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-20@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-20@2x.png
new file mode 100644
index 000000000..67306c68e
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-20@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-20@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-20@3x.png
new file mode 100644
index 000000000..09296535a
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-20@3x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-29@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-29@2x.png
new file mode 100644
index 000000000..be05f8649
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-29@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-29@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-29@3x.png
new file mode 100644
index 000000000..f482ac576
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-29@3x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-40@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-40@2x.png
new file mode 100644
index 000000000..96a446b24
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-40@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-40@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-40@3x.png
new file mode 100644
index 000000000..456e601a0
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-40@3x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-60@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-60@2x.png
new file mode 100644
index 000000000..456e601a0
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-60@2x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-60@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-60@3x.png
new file mode 100644
index 000000000..12feb4e36
Binary files /dev/null and b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/AppIcon~iPhone-60@3x.png differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Contents.json b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Contents.json
index 7021df30b..82463f805 100644
--- a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Contents.json
+++ b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Contents.json
@@ -1,116 +1,116 @@
{
"images" : [
{
- "size" : "20x20",
+ "filename" : "AppIcon~iPhone-20@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-20@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "20x20"
},
{
- "size" : "20x20",
+ "filename" : "AppIcon~iPhone-20@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-20@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "20x20"
},
{
- "size" : "29x29",
+ "filename" : "AppIcon~iPhone-29@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-29@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "29x29"
},
{
- "size" : "29x29",
+ "filename" : "AppIcon~iPhone-29@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-29@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "29x29"
},
{
- "size" : "40x40",
+ "filename" : "AppIcon~iPhone-40@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-40@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "40x40"
},
{
- "size" : "40x40",
+ "filename" : "AppIcon~iPhone-40@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-40@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "40x40"
},
{
- "size" : "60x60",
+ "filename" : "AppIcon~iPhone-60@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-60@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "60x60"
},
{
- "size" : "60x60",
+ "filename" : "AppIcon~iPhone-60@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-60@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "60x60"
},
{
- "size" : "20x20",
+ "filename" : "AppIcon~iPad-20@1x.png",
"idiom" : "ipad",
- "filename" : "Icon-20.png",
- "scale" : "1x"
+ "scale" : "1x",
+ "size" : "20x20"
},
{
- "size" : "20x20",
+ "filename" : "AppIcon~iPad-20@2x.png",
"idiom" : "ipad",
- "filename" : "Icon-20@2x-1.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "20x20"
},
{
- "size" : "29x29",
+ "filename" : "AppIcon~iPad-29@1x.png",
"idiom" : "ipad",
- "filename" : "Icon-29.png",
- "scale" : "1x"
+ "scale" : "1x",
+ "size" : "29x29"
},
{
- "size" : "29x29",
+ "filename" : "AppIcon~iPad-29@2x.png",
"idiom" : "ipad",
- "filename" : "Icon-29@2x-1.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "29x29"
},
{
- "size" : "40x40",
+ "filename" : "AppIcon~iPad-40@1x.png",
"idiom" : "ipad",
- "filename" : "Icon-40.png",
- "scale" : "1x"
+ "scale" : "1x",
+ "size" : "40x40"
},
{
- "size" : "40x40",
+ "filename" : "AppIcon~iPad-40@2x.png",
"idiom" : "ipad",
- "filename" : "Icon-40@2x-1.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "40x40"
},
{
- "size" : "76x76",
+ "filename" : "AppIcon~iPad-76@1x.png",
"idiom" : "ipad",
- "filename" : "Icon-76.png",
- "scale" : "1x"
+ "scale" : "1x",
+ "size" : "76x76"
},
{
- "size" : "76x76",
+ "filename" : "AppIcon~iPad-76@2x.png",
"idiom" : "ipad",
- "filename" : "Icon-76@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "76x76"
},
{
- "size" : "83.5x83.5",
+ "filename" : "AppIcon~iPad-83.5@2x.png",
"idiom" : "ipad",
- "filename" : "Icon-83.5@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "83.5x83.5"
},
{
- "size" : "1024x1024",
+ "filename" : "AppIcon~iOS-Marketing-1024@1x.png",
"idiom" : "ios-marketing",
- "filename" : "Icon-1024.png",
- "scale" : "1x"
+ "scale" : "1x",
+ "size" : "1024x1024"
}
],
"info" : {
- "version" : 1,
- "author" : "xcode"
+ "author" : "xcode",
+ "version" : 1
}
-}
\ No newline at end of file
+}
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-1024.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-1024.png
deleted file mode 100644
index ecd3015a3..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-1024.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20.png
deleted file mode 100755
index fd7681886..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@2x-1.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@2x-1.png
deleted file mode 100755
index 839031adb..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@2x-1.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@2x.png
deleted file mode 100755
index 839031adb..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@2x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@3x.png
deleted file mode 100755
index 78c68287b..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-20@3x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29.png
deleted file mode 100755
index 979854402..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@2x-1.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@2x-1.png
deleted file mode 100755
index 1074e04a9..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@2x-1.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@2x.png
deleted file mode 100755
index 1074e04a9..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@2x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@3x.png
deleted file mode 100755
index b39bcd51f..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-29@3x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40.png
deleted file mode 100755
index 839031adb..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@2x-1.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@2x-1.png
deleted file mode 100755
index 6cedc584c..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@2x-1.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@2x.png
deleted file mode 100755
index 6cedc584c..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@2x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@3x.png
deleted file mode 100755
index 475467f8d..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-40@3x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-60@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-60@2x.png
deleted file mode 100755
index 475467f8d..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-60@2x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-60@3x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-60@3x.png
deleted file mode 100755
index fceef4406..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-60@3x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-76.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-76.png
deleted file mode 100755
index 99615b99e..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-76.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-76@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-76@2x.png
deleted file mode 100755
index fd0ba7c6d..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-76@2x.png and /dev/null differ
diff --git a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
deleted file mode 100755
index 844ae7fe4..000000000
Binary files a/Riot/Assets/SharedImages.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and /dev/null differ
diff --git a/Riot/Assets/en.lproj/Vector.strings b/Riot/Assets/en.lproj/Vector.strings
index 03a1ad57f..ad5d9a030 100644
--- a/Riot/Assets/en.lproj/Vector.strings
+++ b/Riot/Assets/en.lproj/Vector.strings
@@ -489,11 +489,8 @@
"settings_version" = "Version %@";
"settings_olm_version" = "Olm Version %@";
"settings_copyright" = "Copyright";
-"settings_copyright_url" = "https://riot.im/copyright";
"settings_term_conditions" = "Terms & Conditions";
-"settings_term_conditions_url" = "https://riot.im/tac_apple";
"settings_privacy_policy" = "Privacy Policy";
-"settings_privacy_policy_url" = "https://riot.im/privacy";
"settings_third_party_notices" = "Third-party Notices";
"settings_send_crash_report" = "Send anon crash & usage data";
"settings_enable_rageshake" = "Rage shake to report bug";
diff --git a/Riot/Categories/UIImage.swift b/Riot/Categories/UIImage.swift
index 63a35d9da..c413707c2 100644
--- a/Riot/Categories/UIImage.swift
+++ b/Riot/Categories/UIImage.swift
@@ -37,7 +37,7 @@ extension UIImage {
return image
}
- func vc_tintedImage(usingColor tintColor: UIColor) -> UIImage? {
+ @objc func vc_tintedImage(usingColor tintColor: UIColor) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale)
let drawRect = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height)
@@ -49,7 +49,7 @@ extension UIImage {
return tintedImage
}
- func vc_withAlpha(_ alpha: CGFloat) -> UIImage? {
+ @objc func vc_withAlpha(_ alpha: CGFloat) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(size, false, scale)
draw(at: .zero, blendMode: .normal, alpha: alpha)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
diff --git a/Riot/Generated/Images.swift b/Riot/Generated/Images.swift
index 50acce7aa..bcd9ae8f4 100644
--- a/Riot/Generated/Images.swift
+++ b/Riot/Generated/Images.swift
@@ -56,15 +56,12 @@ internal enum Asset {
internal static let encryptionNormal = ImageAsset(name: "encryption_normal")
internal static let encryptionTrusted = ImageAsset(name: "encryption_trusted")
internal static let encryptionWarning = ImageAsset(name: "encryption_warning")
- internal static let directChatOff = ImageAsset(name: "directChatOff")
- internal static let directChatOn = ImageAsset(name: "directChatOn")
- internal static let favourite = ImageAsset(name: "favourite")
- internal static let favouriteOff = ImageAsset(name: "favouriteOff")
- internal static let leave = ImageAsset(name: "leave")
- internal static let notifications = ImageAsset(name: "notifications")
- internal static let notificationsOff = ImageAsset(name: "notificationsOff")
- internal static let priorityHigh = ImageAsset(name: "priorityHigh")
- internal static let priorityLow = ImageAsset(name: "priorityLow")
+ internal static let roomActionDirectChat = ImageAsset(name: "room_action_direct_chat")
+ internal static let roomActionFavourite = ImageAsset(name: "room_action_favourite")
+ internal static let roomActionLeave = ImageAsset(name: "room_action_leave")
+ internal static let roomActionNotification = ImageAsset(name: "room_action_notification")
+ internal static let roomActionPriorityHigh = ImageAsset(name: "room_action_priority_high")
+ internal static let roomActionPriorityLow = ImageAsset(name: "room_action_priority_low")
internal static let createRoom = ImageAsset(name: "create_room")
internal static let closeBanner = ImageAsset(name: "close_banner")
internal static let importFilesButton = ImageAsset(name: "import_files_button")
diff --git a/Riot/Generated/RiotDefaults.swift b/Riot/Generated/RiotDefaults.swift
index 0f811bb56..6dc81a5fe 100644
--- a/Riot/Generated/RiotDefaults.swift
+++ b/Riot/Generated/RiotDefaults.swift
@@ -37,6 +37,9 @@ internal enum RiotDefaults {
internal static let pusherAppIdDev: String = _document["pusherAppIdDev"]
internal static let pusherAppIdProd: String = _document["pusherAppIdProd"]
internal static let roomDirectoryServers: [String: Any] = _document["roomDirectoryServers"]
+ internal static let settingsCopyrightUrl: String = _document["settingsCopyrightUrl"]
+ internal static let settingsPrivacyPolicyUrl: String = _document["settingsPrivacyPolicyUrl"]
+ internal static let settingsTermsConditionsUrl: String = _document["settingsTermsConditionsUrl"]
internal static let showAllEventsInRoomHistory: Bool = _document["showAllEventsInRoomHistory"]
internal static let showLeftMembersInRoomMemberList: Bool = _document["showLeftMembersInRoomMemberList"]
internal static let showRedactionsInRoomHistory: Bool = _document["showRedactionsInRoomHistory"]
diff --git a/Riot/Generated/Strings.swift b/Riot/Generated/Strings.swift
index 8ef473a0b..f6bdd53be 100644
--- a/Riot/Generated/Strings.swift
+++ b/Riot/Generated/Strings.swift
@@ -3354,10 +3354,6 @@ internal enum VectorL10n {
internal static var settingsCopyright: String {
return VectorL10n.tr("Vector", "settings_copyright")
}
- /// https://riot.im/copyright
- internal static var settingsCopyrightUrl: String {
- return VectorL10n.tr("Vector", "settings_copyright_url")
- }
/// Encrypt to verified sessions only
internal static var settingsCryptoBlacklistUnverifiedDevices: String {
return VectorL10n.tr("Vector", "settings_crypto_blacklist_unverified_devices")
@@ -3706,10 +3702,6 @@ internal enum VectorL10n {
internal static var settingsPrivacyPolicy: String {
return VectorL10n.tr("Vector", "settings_privacy_policy")
}
- /// https://riot.im/privacy
- internal static var settingsPrivacyPolicyUrl: String {
- return VectorL10n.tr("Vector", "settings_privacy_policy_url")
- }
/// Profile Picture
internal static var settingsProfilePicture: String {
return VectorL10n.tr("Vector", "settings_profile_picture")
@@ -3762,10 +3754,6 @@ internal enum VectorL10n {
internal static var settingsTermConditions: String {
return VectorL10n.tr("Vector", "settings_term_conditions")
}
- /// https://riot.im/tac_apple
- internal static var settingsTermConditionsUrl: String {
- return VectorL10n.tr("Vector", "settings_term_conditions_url")
- }
/// Third-party Notices
internal static var settingsThirdPartyNotices: String {
return VectorL10n.tr("Vector", "settings_third_party_notices")
diff --git a/Riot/Managers/Theme/Theme.swift b/Riot/Managers/Theme/Theme.swift
index 0054dad68..3216c6eb9 100644
--- a/Riot/Managers/Theme/Theme.swift
+++ b/Riot/Managers/Theme/Theme.swift
@@ -25,6 +25,7 @@ import UIKit
var backgroundColor: UIColor { get }
var baseColor: UIColor { get }
+ var baseIconPrimaryColor: UIColor { get }
var baseTextPrimaryColor: UIColor { get }
var baseTextSecondaryColor: UIColor { get }
@@ -41,6 +42,8 @@ import UIKit
var tintColor: UIColor { get }
var tintBackgroundColor: UIColor { get }
+
+ var tabBarUnselectedItemTintColor: UIColor { get }
var unreadRoomIndentColor: UIColor { get }
@@ -55,6 +58,10 @@ import UIKit
var avatarColors: [UIColor] { get }
var userNameColors: [UIColor] { get }
+
+ var placeholderTextColor: UIColor { get }
+
+ var selectedBackgroundColor: UIColor { get }
// MARK: - Appearance and style
@@ -69,13 +76,6 @@ import UIKit
// MARK: - Colors not defined in the design palette
-
- /// nil is used to keep the default color
- var placeholderTextColor: UIColor { get }
-
- /// nil is used to keep the default color
- var selectedBackgroundColor: UIColor? { get }
-
/// fading behind dialog modals
var overlayBackgroundColor: UIColor { get }
diff --git a/Riot/Managers/Theme/Themes/BlackTheme.swift b/Riot/Managers/Theme/Themes/BlackTheme.swift
index 5e507fc63..a8263c5dc 100644
--- a/Riot/Managers/Theme/Themes/BlackTheme.swift
+++ b/Riot/Managers/Theme/Themes/BlackTheme.swift
@@ -22,8 +22,8 @@ class BlackTheme: DarkTheme {
super.init()
self.identifier = "black"
self.backgroundColor = UIColor(rgb: 0x000000)
- self.baseColor = UIColor(rgb: 0x060708)
- self.headerBackgroundColor = UIColor(rgb: 0x090A0C)
- self.headerBorderColor = UIColor(rgb: 0x0D0F12)
+ self.baseColor = UIColor(rgb: 0x000000)
+ self.headerBackgroundColor = UIColor(rgb: 0x000000)
+ self.headerBorderColor = UIColor(rgb: 0x15191E)
}
}
diff --git a/Riot/Managers/Theme/Themes/DarkTheme.swift b/Riot/Managers/Theme/Themes/DarkTheme.swift
index 55fe6ee91..b1fa0fa6f 100644
--- a/Riot/Managers/Theme/Themes/DarkTheme.swift
+++ b/Riot/Managers/Theme/Themes/DarkTheme.swift
@@ -23,27 +23,29 @@ class DarkTheme: NSObject, Theme {
var identifier: String = "dark"
- var backgroundColor: UIColor = UIColor(rgb: 0x181B21)
+ var backgroundColor: UIColor = UIColor(rgb: 0x15191E)
- var baseColor: UIColor = UIColor(rgb: 0x15171B)
- var baseTextPrimaryColor: UIColor = UIColor(rgb: 0xEDF3FF)
- var baseTextSecondaryColor: UIColor = UIColor(rgb: 0xEDF3FF)
+ var baseColor: UIColor = UIColor(rgb: 0x21262C)
+ var baseIconPrimaryColor: UIColor = UIColor(rgb: 0xEDF3FF)
+ var baseTextPrimaryColor: UIColor = UIColor(rgb: 0xFFFFFF)
+ var baseTextSecondaryColor: UIColor = UIColor(rgb: 0xA9B2BC)
- var searchBackgroundColor: UIColor = UIColor(rgb: 0x181B21)
- var searchPlaceholderColor: UIColor = UIColor(rgb: 0x61708B)
+ var searchBackgroundColor: UIColor = UIColor(rgb: 0x15191E)
+ var searchPlaceholderColor: UIColor = UIColor(rgb: 0xA9B2BC)
- var headerBackgroundColor: UIColor = UIColor(rgb: 0x22262E)
- var headerBorderColor: UIColor = UIColor(rgb: 0x181B21)
- var headerTextPrimaryColor: UIColor = UIColor(rgb: 0xA1B2D1)
- var headerTextSecondaryColor: UIColor = UIColor(rgb: 0xC8C8CD)
+ var headerBackgroundColor: UIColor = UIColor(rgb: 0x21262C)
+ var headerBorderColor: UIColor = UIColor(rgb: 0x15191E)
+ var headerTextPrimaryColor: UIColor = UIColor(rgb: 0xFFFFFF)
+ var headerTextSecondaryColor: UIColor = UIColor(rgb: 0xA9B2BC)
- var textPrimaryColor: UIColor = UIColor(rgb: 0xEDF3FF)
- var textSecondaryColor: UIColor = UIColor(rgb: 0xA1B2D1)
+ var textPrimaryColor: UIColor = UIColor(rgb: 0xFFFFFF)
+ var textSecondaryColor: UIColor = UIColor(rgb: 0xA9B2BC)
- var tintColor: UIColor = UIColor(rgb: 0x03B381)
+ var tintColor: UIColor = UIColor(rgb: 0x0DBD8B)
var tintBackgroundColor: UIColor = UIColor(rgb: 0x1F6954)
+ var tabBarUnselectedItemTintColor: UIColor = UIColor(rgb: 0x8E99A4)
var unreadRoomIndentColor: UIColor = UIColor(rgb: 0x2E3648)
- var lineBreakColor: UIColor = UIColor(rgb: 0x61708B)
+ var lineBreakColor: UIColor = UIColor(rgb: 0x363D49)
var noticeColor: UIColor = UIColor(rgb: 0xFF4B55)
var noticeSecondaryColor: UIColor = UIColor(rgb: 0x61708B)
@@ -70,41 +72,45 @@ class DarkTheme: NSObject, Theme {
var scrollBarStyle: UIScrollView.IndicatorStyle = .white
var keyboardAppearance: UIKeyboardAppearance = .dark
- var placeholderTextColor: UIColor = UIColor(white: 1.0, alpha: 0.3)
- var selectedBackgroundColor: UIColor? = UIColor.black
+ var placeholderTextColor: UIColor = UIColor(rgb: 0xA1B2D1) // Use secondary text color
+ var selectedBackgroundColor: UIColor = UIColor(rgb: 0x040506)
var overlayBackgroundColor: UIColor = UIColor(white: 0.7, alpha: 0.5)
var matrixSearchBackgroundImageTintColor: UIColor = UIColor(rgb: 0x7E7E7E)
func applyStyle(onTabBar tabBar: UITabBar) {
+ tabBar.unselectedItemTintColor = self.tabBarUnselectedItemTintColor
tabBar.tintColor = self.tintColor
- tabBar.barTintColor = self.headerBackgroundColor
+ tabBar.barTintColor = self.baseColor
tabBar.isTranslucent = false
}
-
+
+ // Note: We are not using UINavigationBarAppearance on iOS 13+ atm because of UINavigationBar directly include UISearchBar on their titleView that cause crop issues with UINavigationController pop.
func applyStyle(onNavigationBar navigationBar: UINavigationBar) {
- navigationBar.tintColor = self.baseTextPrimaryColor
+ navigationBar.tintColor = self.textSecondaryColor
navigationBar.titleTextAttributes = [
- NSAttributedString.Key.foregroundColor: self.baseTextPrimaryColor
+ NSAttributedString.Key.foregroundColor: self.textPrimaryColor
]
navigationBar.barTintColor = self.baseColor
+ navigationBar.shadowImage = UIImage() // Remove bottom shadow
// The navigation bar needs to be opaque so that its background color is the expected one
navigationBar.isTranslucent = false
}
-
+
func applyStyle(onSearchBar searchBar: UISearchBar) {
- searchBar.barStyle = .default
+ searchBar.searchBarStyle = .default
+ searchBar.barStyle = .black
searchBar.barTintColor = self.baseColor
+ searchBar.isTranslucent = false
+ searchBar.backgroundImage = UIImage() // Remove top and bottom shadow
+ searchBar.tintColor = self.tintColor
if #available(iOS 13.0, *) {
searchBar.searchTextField.backgroundColor = self.searchBackgroundColor
searchBar.searchTextField.textColor = self.searchPlaceholderColor
- searchBar.tintColor = self.tintColor
} else {
- searchBar.tintColor = self.searchPlaceholderColor
-
if let searchBarTextField = searchBar.vc_searchTextField {
- searchBarTextField.textColor = searchBar.tintColor
+ searchBarTextField.textColor = self.searchPlaceholderColor
}
}
}
diff --git a/Riot/Managers/Theme/Themes/DefaultTheme.swift b/Riot/Managers/Theme/Themes/DefaultTheme.swift
index 5aec50aa1..f613e1232 100644
--- a/Riot/Managers/Theme/Themes/DefaultTheme.swift
+++ b/Riot/Managers/Theme/Themes/DefaultTheme.swift
@@ -25,25 +25,27 @@ class DefaultTheme: NSObject, Theme {
var backgroundColor: UIColor = UIColor(rgb: 0xFFFFFF)
- var baseColor: UIColor = UIColor(rgb: 0x27303A)
+ var baseColor: UIColor = UIColor(rgb: 0xF5F7FA)
+ var baseIconPrimaryColor: UIColor = UIColor(rgb: 0xFFFFFF)
var baseTextPrimaryColor: UIColor = UIColor(rgb: 0xFFFFFF)
- var baseTextSecondaryColor: UIColor = UIColor(rgb: 0xFFFFFF)
+ var baseTextSecondaryColor: UIColor = UIColor(rgb: 0x8F97A3)
var searchBackgroundColor: UIColor = UIColor(rgb: 0xFFFFFF)
- var searchPlaceholderColor: UIColor = UIColor(rgb: 0x61708B)
+ var searchPlaceholderColor: UIColor = UIColor(rgb: 0x8F97A3)
- var headerBackgroundColor: UIColor = UIColor(rgb: 0xF3F8FD)
+ var headerBackgroundColor: UIColor = UIColor(rgb: 0xF5F7FA)
var headerBorderColor: UIColor = UIColor(rgb: 0xE9EDF1)
- var headerTextPrimaryColor: UIColor = UIColor(rgb: 0x61708B)
- var headerTextSecondaryColor: UIColor = UIColor(rgb: 0xC8C8CD)
+ var headerTextPrimaryColor: UIColor = UIColor(rgb: 0x171910)
+ var headerTextSecondaryColor: UIColor = UIColor(rgb: 0x8F97A3)
- var textPrimaryColor: UIColor = UIColor(rgb: 0x2E2F32)
- var textSecondaryColor: UIColor = UIColor(rgb: 0x9E9E9E)
+ var textPrimaryColor: UIColor = UIColor(rgb: 0x171910)
+ var textSecondaryColor: UIColor = UIColor(rgb: 0x8F97A3)
- var tintColor: UIColor = UIColor(rgb: 0x03B381)
+ var tintColor: UIColor = UIColor(rgb: 0x0DBD8B)
var tintBackgroundColor: UIColor = UIColor(rgb: 0xe9fff9)
+ var tabBarUnselectedItemTintColor: UIColor = UIColor(rgb: 0xC1C6CD)
var unreadRoomIndentColor: UIColor = UIColor(rgb: 0x2E3648)
- var lineBreakColor: UIColor = UIColor(rgb: 0xEEEFEF)
+ var lineBreakColor: UIColor = UIColor(rgb: 0xDDE4EE)
var noticeColor: UIColor = UIColor(rgb: 0xFF4B55)
var noticeSecondaryColor: UIColor = UIColor(rgb: 0x61708B)
@@ -65,52 +67,57 @@ class DefaultTheme: NSObject, Theme {
UIColor(rgb: 0x5C56F5),
UIColor(rgb: 0x74D12C)
]
-
- var statusBarStyle: UIStatusBarStyle = .lightContent
+
+ var statusBarStyle: UIStatusBarStyle {
+ if #available(iOS 13.0, *) {
+ return .darkContent
+ } else {
+ return .default
+ }
+ }
var scrollBarStyle: UIScrollView.IndicatorStyle = .default
var keyboardAppearance: UIKeyboardAppearance = .light
- var placeholderTextColor: UIColor = UIColor(white: 0.7, alpha: 1.0) // Use default 70% gray color
- var selectedBackgroundColor: UIColor? {
- // Use a color close to the iOS default selection gray on iOS 13+
- if #available(iOS 13, *) {
- return UIColor(rgb: 0xD1D1D6)
- }
- return nil
- }
+ var placeholderTextColor: UIColor = UIColor(rgb: 0x8F97A3) // Use secondary text color
+
+ var selectedBackgroundColor: UIColor = UIColor(rgb: 0xF5F7FA)
+
var overlayBackgroundColor: UIColor = UIColor(white: 0.7, alpha: 0.5)
var matrixSearchBackgroundImageTintColor: UIColor = UIColor(rgb: 0xE7E7E7)
func applyStyle(onTabBar tabBar: UITabBar) {
+ tabBar.unselectedItemTintColor = self.tabBarUnselectedItemTintColor
tabBar.tintColor = self.tintColor
- tabBar.barTintColor = self.headerBackgroundColor
+ tabBar.barTintColor = self.baseColor
tabBar.isTranslucent = false
}
-
+
+ // Note: We are not using UINavigationBarAppearance on iOS 13+ atm because of UINavigationBar directly include UISearchBar on their titleView that cause crop issues with UINavigationController pop.
func applyStyle(onNavigationBar navigationBar: UINavigationBar) {
- navigationBar.tintColor = self.baseTextPrimaryColor
+ navigationBar.tintColor = self.textSecondaryColor
navigationBar.titleTextAttributes = [
- NSAttributedString.Key.foregroundColor: self.baseTextPrimaryColor
+ NSAttributedString.Key.foregroundColor: self.textPrimaryColor
]
navigationBar.barTintColor = self.baseColor
+ navigationBar.shadowImage = UIImage() // Remove bottom shadow
// The navigation bar needs to be opaque so that its background color is the expected one
navigationBar.isTranslucent = false
}
-
+
func applyStyle(onSearchBar searchBar: UISearchBar) {
- searchBar.barStyle = .default
+ searchBar.searchBarStyle = .default
searchBar.barTintColor = self.baseColor
+ searchBar.isTranslucent = false
+ searchBar.backgroundImage = UIImage() // Remove top and bottom shadow
+ searchBar.tintColor = self.tintColor
if #available(iOS 13.0, *) {
searchBar.searchTextField.backgroundColor = self.searchBackgroundColor
searchBar.searchTextField.textColor = self.searchPlaceholderColor
- searchBar.tintColor = self.tintColor
} else {
- searchBar.tintColor = self.searchPlaceholderColor
-
if let searchBarTextField = searchBar.vc_searchTextField {
- searchBarTextField.textColor = searchBar.tintColor
+ searchBarTextField.textColor = self.searchPlaceholderColor
}
}
}
diff --git a/Riot/Modules/Common/Recents/RecentsViewController.m b/Riot/Modules/Common/Recents/RecentsViewController.m
index 85b8353fe..c96b4abe6 100644
--- a/Riot/Modules/Common/Recents/RecentsViewController.m
+++ b/Riot/Modules/Common/Recents/RecentsViewController.m
@@ -843,134 +843,147 @@
#pragma mark - Swipe actions
-- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
-{
- NSMutableArray* actions = [[NSMutableArray alloc] init];
- MXRoom* room = [self.dataSource getRoomAtIndexPath:indexPath];
-
- if (room)
- {
- // Display no action for the invited room
- if (room.summary.membership == MXMembershipInvite)
- {
- return actions;
- }
-
- // Store the identifier of the room related to the edited cell.
- editedRoomId = room.roomId;
-
- NSString* title = @" ";
-
- // Direct chat toggle
- BOOL isDirect = room.isDirect;
-
- UITableViewRowAction *directAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self makeDirectEditedRoom:!isDirect];
-
- }];
-
- UIImage *actionIcon = isDirect ? [UIImage imageNamed:@"directChatOff"] : [UIImage imageNamed:@"directChatOn"];
- directAction.backgroundColor = [MXKTools convertImageToPatternColor:isDirect ? @"directChatOn" : @"directChatOff" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
- [actions insertObject:directAction atIndex:0];
-
-
- // Notification toggle
- BOOL isMuted = room.isMute || room.isMentionsOnly;
-
- UITableViewRowAction *muteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self muteEditedRoomNotifications:!isMuted];
-
- }];
-
- actionIcon = isMuted ? [UIImage imageNamed:@"notifications"] : [UIImage imageNamed:@"notificationsOff"];
- muteAction.backgroundColor = [MXKTools convertImageToPatternColor:isMuted ? @"notifications" : @"notificationsOff" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
- [actions insertObject:muteAction atIndex:0];
-
- // Favorites management
- MXRoomTag* currentTag = nil;
-
- // Get the room tag (use only the first one).
- if (room.accountData.tags)
- {
- NSArray* tags = room.accountData.tags.allValues;
- if (tags.count)
- {
- currentTag = tags[0];
- }
- }
-
- if (currentTag && [kMXRoomTagFavourite isEqualToString:currentTag.name])
- {
- UITableViewRowAction* action = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self updateEditedRoomTag:nil];
-
- }];
-
- actionIcon = [UIImage imageNamed:@"favourite"];
- action.backgroundColor = [MXKTools convertImageToPatternColor:@"favourite" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
- [actions insertObject:action atIndex:0];
- }
- else
- {
- UITableViewRowAction* action = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self updateEditedRoomTag:kMXRoomTagFavourite];
-
- }];
-
- actionIcon = [UIImage imageNamed:@"favouriteOff"];
- action.backgroundColor = [MXKTools convertImageToPatternColor:@"favouriteOff" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
- [actions insertObject:action atIndex:0];
- }
-
- if (currentTag && [kMXRoomTagLowPriority isEqualToString:currentTag.name])
- {
- UITableViewRowAction* action = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self updateEditedRoomTag:nil];
-
- }];
-
- actionIcon = [UIImage imageNamed:@"priorityHigh"];
- action.backgroundColor = [MXKTools convertImageToPatternColor:@"priorityHigh" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
- [actions insertObject:action atIndex:0];
- }
- else
- {
- UITableViewRowAction* action = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self updateEditedRoomTag:kMXRoomTagLowPriority];
-
- }];
-
- actionIcon = [UIImage imageNamed:@"priorityLow"];
- action.backgroundColor = [MXKTools convertImageToPatternColor:@"priorityLow" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
- [actions insertObject:action atIndex:0];
- }
-
- UITableViewRowAction *leaveAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:title handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
-
- [self leaveEditedRoom];
-
- }];
-
- actionIcon = [UIImage imageNamed:@"leave"];
- leaveAction.backgroundColor = [MXKTools convertImageToPatternColor:@"leave" backgroundColor:ThemeService.shared.theme.headerBackgroundColor patternSize:CGSizeMake(74, 74) resourceSize:actionIcon.size];
-
- [actions insertObject:leaveAction atIndex:0];
- }
-
- return actions;
-}
-
- (void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
[self cancelEditionMode:isRefreshPending];
}
+- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ return UITableViewCellEditingStyleNone;
+}
+
+- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+ MXRoom *room = [self.dataSource getRoomAtIndexPath:indexPath];
+
+ if (!room)
+ {
+ return nil;
+ }
+
+ // Display no action for the invited room
+ if (room.summary.membership == MXMembershipInvite)
+ {
+ return nil;
+ }
+
+ // Store the identifier of the room related to the edited cell.
+ editedRoomId = room.roomId;
+
+ UIColor *selectedColor = ThemeService.shared.theme.tintColor;
+ UIColor *unselectedColor = ThemeService.shared.theme.tabBarUnselectedItemTintColor;
+ UIColor *actionBackgroundColor = ThemeService.shared.theme.baseColor;
+
+ NSString* title = @" ";
+
+ // Direct chat toggle
+
+ BOOL isDirect = room.isDirect;
+
+ UIContextualAction *directChatAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive
+ title:title
+ handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+ [self makeDirectEditedRoom:!isDirect];
+ completionHandler(YES);
+ }];
+ directChatAction.backgroundColor = actionBackgroundColor;
+
+ UIImage *directChatImage = [UIImage imageNamed:@"room_action_direct_chat"];
+ directChatImage = [directChatImage vc_tintedImageUsingColor:isDirect ? selectedColor : unselectedColor];
+ directChatAction.image = directChatImage;
+
+ // Notification toggle
+
+ BOOL isMuted = room.isMute || room.isMentionsOnly;
+
+ UIContextualAction *muteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive
+ title:title
+ handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+ [self muteEditedRoomNotifications:!isMuted];
+ completionHandler(YES);
+ }];
+ muteAction.backgroundColor = actionBackgroundColor;
+
+ UIImage *notificationImage = [UIImage imageNamed:@"room_action_notification"];
+ notificationImage = [notificationImage vc_tintedImageUsingColor:isMuted ? unselectedColor : selectedColor];
+ muteAction.image = notificationImage;
+
+ // Favorites management
+
+ MXRoomTag* currentTag = nil;
+
+ // Get the room tag (use only the first one).
+ if (room.accountData.tags)
+ {
+ NSArray* tags = room.accountData.tags.allValues;
+ if (tags.count)
+ {
+ currentTag = tags[0];
+ }
+ }
+
+ BOOL isFavourite = (currentTag && [kMXRoomTagFavourite isEqualToString:currentTag.name]);
+
+ UIContextualAction *favouriteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive
+ title:title
+ handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+ NSString *favouriteTag = isFavourite ? nil : kMXRoomTagFavourite;
+ [self updateEditedRoomTag:favouriteTag];
+ completionHandler(YES);
+ }];
+ favouriteAction.backgroundColor = actionBackgroundColor;
+
+ UIImage *favouriteImage = [UIImage imageNamed:@"room_action_favourite"];
+ favouriteImage = [favouriteImage vc_tintedImageUsingColor:isFavourite ? selectedColor : unselectedColor];
+ favouriteAction.image = favouriteImage;
+
+ // Priority toggle
+
+ BOOL isInLowPriority = (currentTag && [kMXRoomTagLowPriority isEqualToString:currentTag.name]);
+
+ UIContextualAction *priorityAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive
+ title:title
+ handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+ NSString *priorityTag = isInLowPriority ? nil : kMXRoomTagLowPriority;
+ [self updateEditedRoomTag:priorityTag];
+ completionHandler(YES);
+ }];
+ priorityAction.backgroundColor = actionBackgroundColor;
+
+ UIImage *priorityImage = isInLowPriority ? [UIImage imageNamed:@"room_action_priority_high"] : [UIImage imageNamed:@"room_action_priority_low"];
+ priorityImage = [priorityImage vc_tintedImageUsingColor:selectedColor];
+ priorityAction.image = priorityImage;
+
+ // Leave action
+
+ UIContextualAction *leaveAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive
+ title:title
+ handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+ [self leaveEditedRoom];
+ completionHandler(YES);
+ }];
+ leaveAction.backgroundColor = actionBackgroundColor;
+
+ UIImage *leaveImage = [UIImage imageNamed:@"room_action_leave"];
+ leaveImage = [leaveImage vc_tintedImageUsingColor:selectedColor];
+ leaveAction.image = leaveImage;
+
+ // Create swipe action configuration
+
+ NSArray *actions = @[
+ leaveAction,
+ priorityAction,
+ favouriteAction,
+ muteAction,
+ directChatAction
+ ];
+
+ UISwipeActionsConfiguration *swipeActionConfiguration = [UISwipeActionsConfiguration configurationWithActions:actions];
+ swipeActionConfiguration.performsFirstActionWithFullSwipe = NO;
+ return swipeActionConfiguration;
+}
+
- (void)leaveEditedRoom
{
if (editedRoomId)
diff --git a/Riot/Modules/Home/HomeViewController.m b/Riot/Modules/Home/HomeViewController.m
index 4627b0be3..0ced5cb1a 100644
--- a/Riot/Modules/Home/HomeViewController.m
+++ b/Riot/Modules/Home/HomeViewController.m
@@ -320,6 +320,9 @@
if (editedRoomId)
{
+ UIColor *selectedColor = ThemeService.shared.theme.tintColor;
+ UIColor *unselectedColor = ThemeService.shared.theme.tabBarUnselectedItemTintColor;
+
// Disable collection scrolling during edition
tableViewCell.collectionView.scrollEnabled = NO;
@@ -335,11 +338,13 @@
// Update the edition menu content (Use the button tag to store the current value).
tableViewCell.directChatButton.tag = room.isDirect;
[tableViewCell.directChatButton addTarget:self action:@selector(onDirectChatButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- tableViewCell.directChatImageView.image = tableViewCell.directChatButton.tag ? [UIImage imageNamed:@"directChatOff"] : [UIImage imageNamed:@"directChatOn"];
+ tableViewCell.directChatImageView.image = [UIImage imageNamed:@"room_action_direct_chat"];
+ tableViewCell.directChatImageView.tintColor = room.isDirect ? selectedColor : unselectedColor;
tableViewCell.notificationsButton.tag = room.isMute || room.isMentionsOnly;
[tableViewCell.notificationsButton addTarget:self action:@selector(onNotificationsButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- tableViewCell.notificationsImageView.image = tableViewCell.notificationsButton.tag ? [UIImage imageNamed:@"notifications"] : [UIImage imageNamed:@"notificationsOff"];
+ tableViewCell.notificationsImageView.image = [UIImage imageNamed:@"room_action_notification"];
+ tableViewCell.notificationsImageView.tintColor = tableViewCell.notificationsButton.tag ? unselectedColor : selectedColor;
// Get the room tag (use only the first one).
MXRoomTag* currentTag = nil;
@@ -354,14 +359,17 @@
tableViewCell.favouriteButton.tag = (currentTag && [kMXRoomTagFavourite isEqualToString:currentTag.name]);
[tableViewCell.favouriteButton addTarget:self action:@selector(onFavouriteButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- tableViewCell.favouriteImageView.image = tableViewCell.favouriteButton.tag ? [UIImage imageNamed:@"favouriteOff"] : [UIImage imageNamed:@"favourite"];
+ tableViewCell.favouriteImageView.image = [UIImage imageNamed:@"room_action_favourite"];
+ tableViewCell.favouriteImageView.tintColor = tableViewCell.favouriteButton.tag ? selectedColor : unselectedColor;
tableViewCell.priorityButton.tag = (currentTag && [kMXRoomTagLowPriority isEqualToString:currentTag.name]);
[tableViewCell.priorityButton addTarget:self action:@selector(onPriorityButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- tableViewCell.priorityImageView.image = tableViewCell.priorityButton.tag ? [UIImage imageNamed:@"priorityHigh"] : [UIImage imageNamed:@"priorityLow"];
+ tableViewCell.priorityImageView.image = tableViewCell.priorityButton.tag ? [UIImage imageNamed:@"room_action_priority_high"] : [UIImage imageNamed:@"room_action_priority_low"];
+ tableViewCell.priorityImageView.tintColor = selectedColor;
[tableViewCell.leaveButton addTarget:self action:@selector(onLeaveButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- tableViewCell.leaveImageView.image = [UIImage imageNamed:@"leave"];
+ tableViewCell.leaveImageView.image = [UIImage imageNamed:@"room_action_leave"];
+ tableViewCell.leaveImageView.tintColor = selectedColor;
}
}
diff --git a/Riot/Modules/Home/Views/TableViewCellWithCollectionView.m b/Riot/Modules/Home/Views/TableViewCellWithCollectionView.m
index bb7afbb8c..cae76808a 100644
--- a/Riot/Modules/Home/Views/TableViewCellWithCollectionView.m
+++ b/Riot/Modules/Home/Views/TableViewCellWithCollectionView.m
@@ -18,6 +18,8 @@
#import "ThemeService.h"
#import "Riot-Swift.h"
+static CGFloat const kEditionViewCornerRadius = 10.0;
+
@implementation TableViewCellWithCollectionView
- (void)awakeFromNib
@@ -26,6 +28,8 @@
self.editionViewHeightConstraint.constant = 0;
self.editionViewBottomConstraint.constant = 0;
+
+ self.editionView.layer.masksToBounds = YES;
}
- (void)customizeTableViewCellRendering
@@ -50,5 +54,12 @@
self.collectionView.scrollEnabled = YES;
}
+- (void)layoutSubviews
+{
+ [super layoutSubviews];
+
+ self.editionView.layer.cornerRadius = kEditionViewCornerRadius;
+}
+
@end
diff --git a/Riot/Modules/Home/Views/TableViewCellWithCollectionView.xib b/Riot/Modules/Home/Views/TableViewCellWithCollectionView.xib
index 6817cac44..2031df16a 100644
--- a/Riot/Modules/Home/Views/TableViewCellWithCollectionView.xib
+++ b/Riot/Modules/Home/Views/TableViewCellWithCollectionView.xib
@@ -1,11 +1,9 @@
-
-
-
-
+
+
-
+
@@ -15,11 +13,11 @@
-
+
-
+
@@ -29,7 +27,7 @@
-
+
-
+
@@ -47,7 +45,7 @@
-
+
@@ -57,7 +55,7 @@
-
+
@@ -67,8 +65,8 @@
-
-
+
+
@@ -77,7 +75,7 @@
-
+
@@ -115,8 +113,8 @@
+
-
@@ -152,10 +150,10 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/Riot/Modules/Room/ContextualMenu/RoomContextualMenuToolbarView.swift b/Riot/Modules/Room/ContextualMenu/RoomContextualMenuToolbarView.swift
index 9ef0436e5..153b018c8 100644
--- a/Riot/Modules/Room/ContextualMenu/RoomContextualMenuToolbarView.swift
+++ b/Riot/Modules/Room/ContextualMenu/RoomContextualMenuToolbarView.swift
@@ -44,7 +44,6 @@ final class RoomContextualMenuToolbarView: MXKRoomInputToolbarView, NibOwnerLoad
self.theme = theme
self.backgroundColor = theme.backgroundColor
self.tintColor = theme.tintColor
- self.separatorView.backgroundColor = theme.lineBreakColor
for menuItemView in self.menuItemViews {
menuItemView.titleColor = theme.tintColor
@@ -74,6 +73,7 @@ final class RoomContextualMenuToolbarView: MXKRoomInputToolbarView, NibOwnerLoad
// MARK: - Setup
private func commonInit() {
+ self.separatorView.isHidden = true
}
convenience init() {
diff --git a/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m b/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m
index 0b4ae8d02..e519cb685 100644
--- a/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m
+++ b/Riot/Modules/Room/Members/Detail/RoomMemberDetailsViewController.m
@@ -253,10 +253,10 @@
self.activityIndicator.backgroundColor = ThemeService.shared.theme.overlayBackgroundColor;
self.memberHeaderView.backgroundColor = ThemeService.shared.theme.baseColor;
- self.roomMemberNameLabel.textColor = ThemeService.shared.theme.baseTextPrimaryColor;
+ self.roomMemberNameLabel.textColor = ThemeService.shared.theme.textPrimaryColor;
self.roomMemberStatusLabel.textColor = ThemeService.shared.theme.tintColor;
- self.roomMemberPowerLevelLabel.textColor = ThemeService.shared.theme.baseTextPrimaryColor;
+ self.roomMemberPowerLevelLabel.textColor = ThemeService.shared.theme.textPrimaryColor;
// Check the table view style to select its bg color.
self.tableView.backgroundColor = ((self.tableView.style == UITableViewStylePlain) ? ThemeService.shared.theme.backgroundColor : ThemeService.shared.theme.headerBackgroundColor);
diff --git a/Riot/Modules/Room/Views/Activities/RoomActivitiesView.m b/Riot/Modules/Room/Views/Activities/RoomActivitiesView.m
index 1baaf2079..6797ec07b 100644
--- a/Riot/Modules/Room/Views/Activities/RoomActivitiesView.m
+++ b/Riot/Modules/Room/Views/Activities/RoomActivitiesView.m
@@ -103,6 +103,8 @@
// Reset textContainer.lineFragmentPadding to remove horizontal margin.
self.messageTextView.textContainerInset = UIEdgeInsetsZero;
self.messageTextView.textContainer.lineFragmentPadding = 0;
+
+ self.separatorView.hidden = YES;
xibMainHeightConstraint = self.mainHeightConstraint.constant;
}
@@ -112,8 +114,7 @@
-(void)customizeViewRendering
{
[super customizeViewRendering];
-
- self.separatorView.backgroundColor = ThemeService.shared.theme.lineBreakColor;
+
if (self.messageLabel.textColor != ThemeService.shared.theme.warningColor)
{
self.messageLabel.textColor = ThemeService.shared.theme.textSecondaryColor;
@@ -272,9 +273,6 @@
self.backgroundColor = ThemeService.shared.theme.tintColor;
self.messageTextView.backgroundColor = ThemeService.shared.theme.tintColor;
- // Hide the separator to display correctly the red pink conf call banner
- self.separatorView.hidden = YES;
-
[self checkHeight:YES];
}
@@ -502,17 +500,12 @@
self.messageTextView.backgroundColor = ThemeService.shared.riotColorCuriousBlue;
}
- // Hide the separator to display correctly the banner
- self.separatorView.hidden = YES;
-
[self checkHeight:YES];
}
- (void)reset
{
- self.separatorView.hidden = NO;
-
- self.backgroundColor = UIColor.clearColor;
+ self.backgroundColor = ThemeService.shared.theme.baseColor;
[self resetIcon];
[self resetMessage];
diff --git a/Riot/Modules/Room/Views/InputToolbar/DisabledRoomInputToolbarView.m b/Riot/Modules/Room/Views/InputToolbar/DisabledRoomInputToolbarView.m
index 3c10a800f..6caf38b78 100644
--- a/Riot/Modules/Room/Views/InputToolbar/DisabledRoomInputToolbarView.m
+++ b/Riot/Modules/Room/Views/InputToolbar/DisabledRoomInputToolbarView.m
@@ -39,6 +39,13 @@
}
}
+- (void)awakeFromNib
+{
+ [super awakeFromNib];
+
+ self.separatorView.hidden = YES;
+}
+
#pragma mark - Override MXKView
-(void)customizeViewRendering
@@ -48,8 +55,6 @@
// Remove default toolbar background color
self.backgroundColor = [UIColor clearColor];
- self.separatorView.backgroundColor = ThemeService.shared.theme.lineBreakColor;
-
self.disabledReasonTextView.font = [UIFont systemFontOfSize:15];
self.disabledReasonTextView.textColor = ThemeService.shared.theme.textPrimaryColor;
self.disabledReasonTextView.tintColor = ThemeService.shared.theme.tintColor;
diff --git a/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m b/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m
index 233ccab1d..75b18d774 100644
--- a/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m
+++ b/Riot/Modules/Room/Views/InputToolbar/RoomInputToolbarView.m
@@ -69,6 +69,8 @@
[self.rightInputToolbarButton setTitleColor:ThemeService.shared.theme.tintColor forState:UIControlStateHighlighted];
self.isEncryptionEnabled = _isEncryptionEnabled;
+
+ self.separatorView.hidden = YES;
}
#pragma mark - Override MXKView
@@ -79,9 +81,7 @@
// Remove default toolbar background color
self.backgroundColor = [UIColor clearColor];
-
- self.separatorView.backgroundColor = ThemeService.shared.theme.lineBreakColor;
-
+
// Custom the growingTextView display
growingTextView.layer.cornerRadius = 0;
growingTextView.layer.borderWidth = 0;
diff --git a/Riot/Modules/Room/Views/Title/RoomTitleView.m b/Riot/Modules/Room/Views/Title/RoomTitleView.m
index 8e7329564..0f0c4c1db 100644
--- a/Riot/Modules/Room/Views/Title/RoomTitleView.m
+++ b/Riot/Modules/Room/Views/Title/RoomTitleView.m
@@ -140,7 +140,7 @@
[super customizeViewRendering];
self.backgroundColor = UIColor.clearColor;
- self.displayNameTextField.textColor = (self.mxRoom.summary.displayname.length ? ThemeService.shared.theme.baseTextPrimaryColor : ThemeService.shared.theme.textSecondaryColor);
+ self.displayNameTextField.textColor = (self.mxRoom.summary.displayname.length ? ThemeService.shared.theme.textPrimaryColor : ThemeService.shared.theme.textSecondaryColor);
}
- (void)setRoomPreviewData:(RoomPreviewData *)roomPreviewData
@@ -169,7 +169,7 @@
}
else
{
- self.displayNameTextField.textColor = ThemeService.shared.theme.baseTextPrimaryColor;
+ self.displayNameTextField.textColor = ThemeService.shared.theme.textPrimaryColor;
}
}
}
diff --git a/Riot/Modules/Settings/SettingsViewController.m b/Riot/Modules/Settings/SettingsViewController.m
index be33654b8..caf27bfca 100644
--- a/Riot/Modules/Settings/SettingsViewController.m
+++ b/Riot/Modules/Settings/SettingsViewController.m
@@ -2556,7 +2556,8 @@ SettingsIdentityServerCoordinatorBridgePresenterDelegate>
{
if (row == OTHER_COPYRIGHT_INDEX)
{
- WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithURL:NSLocalizedStringFromTable(@"settings_copyright_url", @"Vector", nil)];
+ NSString *copyrightUrlString = [[NSUserDefaults standardUserDefaults] objectForKey:@"settingsCopyrightUrl"];
+ WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithURL:copyrightUrlString];
webViewViewController.title = NSLocalizedStringFromTable(@"settings_copyright", @"Vector", nil);
@@ -2564,7 +2565,8 @@ SettingsIdentityServerCoordinatorBridgePresenterDelegate>
}
else if (row == OTHER_TERM_CONDITIONS_INDEX)
{
- WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithURL:NSLocalizedStringFromTable(@"settings_term_conditions_url", @"Vector", nil)];
+ NSString *termsConditionsUrlString = [[NSUserDefaults standardUserDefaults] objectForKey:@"settingsTermsConditionsUrl"];
+ WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithURL:termsConditionsUrlString];
webViewViewController.title = NSLocalizedStringFromTable(@"settings_term_conditions", @"Vector", nil);
@@ -2572,7 +2574,8 @@ SettingsIdentityServerCoordinatorBridgePresenterDelegate>
}
else if (row == OTHER_PRIVACY_INDEX)
{
- WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithURL:NSLocalizedStringFromTable(@"settings_privacy_policy_url", @"Vector", nil)];
+ NSString *privacyPolicyUrlString = [[NSUserDefaults standardUserDefaults] objectForKey:@"settingsPrivacyPolicyUrl"];
+ WebViewViewController *webViewViewController = [[WebViewViewController alloc] initWithURL:privacyPolicyUrlString];
webViewViewController.title = NSLocalizedStringFromTable(@"settings_privacy_policy", @"Vector", nil);
diff --git a/Riot/SupportingFiles/Riot.entitlements b/Riot/SupportingFiles/Riot.entitlements
index d65fe32b0..d277e4bf8 100644
--- a/Riot/SupportingFiles/Riot.entitlements
+++ b/Riot/SupportingFiles/Riot.entitlements
@@ -11,6 +11,9 @@
applinks:riot.im
applinks:www.riot.im
webcredentials:riot.im
+ applinks:element.io
+ applinks:*.element.io
+ webcredentials:*.element.io
com.apple.developer.icloud-container-identifiers