Render location events in the timeline (#1136)

* Start location integration in the timeline

* Add warning

* Add LocationRoomTimelineView

* Add GeoURI

* Refine LocationRoomTimelineView

* Refine LocationRoomTimelineView

* Add LocationRoomTimelineView previews

* Cleanup code

* Mock reply

* Add FF for location events

* Update project file

* Fix MapLibreStaticMapView placeholder

* Add MapTilerAttribution

* Add LocationPinView

* Fix layout

* Start reply rendering

* Refactor ReplyView.Icon

* Add localisations

* Fix reactions

* Amend GeoURI regex

* Add log

* Fix tests

* Attribution placement refactor

* Cleanup

* Replace NSRegularExpression with a regex

* Cleanup

* Update unit tests

* isMediaType -> shouldFillBubble
This commit is contained in:
Alfonso Grillo
2023-06-23 12:49:35 +02:00
committed by GitHub
parent 40fab35dd7
commit 07a6235fac
27 changed files with 886 additions and 65 deletions
@@ -0,0 +1,22 @@
{
"images" : [
{
"filename" : "location-pin.pdf",
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"filename" : "location-pin-dark.pdf",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
@@ -0,0 +1,170 @@
%PDF-1.7
1 0 obj
<< /Type /XObject
/Length 2 0 R
/Group << /Type /Group
/S /Transparency
>>
/Subtype /Form
/Resources << >>
/BBox [ 0.000000 0.000000 50.000000 54.000000 ]
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 16.600098 16.852539 cm
0.062745 0.074510 0.090196 scn
8.400001 24.147461 m
3.756000 24.147461 0.000000 20.289217 0.000000 15.518802 c
0.000000 10.378586 5.304000 3.290758 7.488000 0.591221 c
7.968000 -0.000460 8.844001 -0.000460 9.324001 0.591221 c
11.496001 3.290758 16.800001 10.378586 16.800001 15.518802 c
16.800001 20.289217 13.044001 24.147461 8.400001 24.147461 c
h
8.400001 12.437138 m
6.744000 12.437138 5.400000 13.817722 5.400000 15.518802 c
5.400000 17.219879 6.744000 18.600466 8.400001 18.600466 c
10.056001 18.600466 11.400001 17.219879 11.400001 15.518802 c
11.400001 13.817722 10.056001 12.437138 8.400001 12.437138 c
h
f
n
Q
endstream
endobj
2 0 obj
710
endobj
3 0 obj
<< /Type /XObject
/Length 4 0 R
/Group << /Type /Group
/S /Transparency
>>
/Subtype /Form
/Resources << >>
/BBox [ 0.000000 0.000000 50.000000 54.000000 ]
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 13.000000 17.000000 cm
0.000000 0.000000 0.000000 scn
0.000000 24.000000 m
24.000000 24.000000 l
24.000000 0.000000 l
0.000000 0.000000 l
0.000000 24.000000 l
h
f
n
Q
endstream
endobj
4 0 obj
234
endobj
5 0 obj
<< /XObject << /X1 1 0 R >>
/ExtGState << /E1 << /SMask << /Type /Mask
/G 3 0 R
/S /Alpha
>>
/Type /ExtGState
>> >>
>>
endobj
6 0 obj
<< /Length 7 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
-1.000000 0.000000 -0.000000 -1.000000 32.000000 6.000000 cm
0.921569 0.933333 0.949020 scn
7.000000 6.000000 m
13.062179 0.000001 l
0.937822 0.000001 l
7.000000 6.000000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 4.000000 cm
0.921569 0.933333 0.949020 scn
50.000000 25.000000 m
50.000000 11.192883 38.807117 0.000000 25.000000 0.000000 c
11.192882 0.000000 0.000000 11.192883 0.000000 25.000000 c
0.000000 38.807117 11.192882 50.000000 25.000000 50.000000 c
38.807117 50.000000 50.000000 38.807117 50.000000 25.000000 c
h
f
n
Q
q
/E1 gs
/X1 Do
Q
endstream
endobj
7 0 obj
592
endobj
8 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 50.000000 54.000000 ]
/Resources 5 0 R
/Contents 6 0 R
/Parent 9 0 R
>>
endobj
9 0 obj
<< /Kids [ 8 0 R ]
/Count 1
/Type /Pages
>>
endobj
10 0 obj
<< /Pages 9 0 R
/Type /Catalog
>>
endobj
xref
0 11
0000000000 65535 f
0000000010 00000 n
0000000968 00000 n
0000000990 00000 n
0000001472 00000 n
0000001494 00000 n
0000001792 00000 n
0000002440 00000 n
0000002462 00000 n
0000002635 00000 n
0000002709 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 10 0 R
/Size 11
>>
startxref
2769
%%EOF
@@ -0,0 +1,170 @@
%PDF-1.7
1 0 obj
<< /Type /XObject
/Length 2 0 R
/Group << /Type /Group
/S /Transparency
>>
/Subtype /Form
/Resources << >>
/BBox [ 0.000000 0.000000 50.000000 54.000000 ]
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 16.600098 16.852539 cm
1.000000 1.000000 1.000000 scn
8.400001 24.147461 m
3.756000 24.147461 0.000000 20.289217 0.000000 15.518802 c
0.000000 10.378586 5.304000 3.290758 7.488000 0.591221 c
7.968000 -0.000460 8.844001 -0.000460 9.324001 0.591221 c
11.496001 3.290758 16.800001 10.378586 16.800001 15.518802 c
16.800001 20.289217 13.044001 24.147461 8.400001 24.147461 c
h
8.400001 12.437138 m
6.744000 12.437138 5.400000 13.817722 5.400000 15.518802 c
5.400000 17.219879 6.744000 18.600466 8.400001 18.600466 c
10.056001 18.600466 11.400001 17.219879 11.400001 15.518802 c
11.400001 13.817722 10.056001 12.437138 8.400001 12.437138 c
h
f
n
Q
endstream
endobj
2 0 obj
710
endobj
3 0 obj
<< /Type /XObject
/Length 4 0 R
/Group << /Type /Group
/S /Transparency
>>
/Subtype /Form
/Resources << >>
/BBox [ 0.000000 0.000000 50.000000 54.000000 ]
>>
stream
/DeviceRGB CS
/DeviceRGB cs
q
1.000000 0.000000 -0.000000 1.000000 13.000000 17.000000 cm
0.000000 0.000000 0.000000 scn
0.000000 24.000000 m
24.000000 24.000000 l
24.000000 0.000000 l
0.000000 0.000000 l
0.000000 24.000000 l
h
f
n
Q
endstream
endobj
4 0 obj
234
endobj
5 0 obj
<< /XObject << /X1 1 0 R >>
/ExtGState << /E1 << /SMask << /Type /Mask
/G 3 0 R
/S /Alpha
>>
/Type /ExtGState
>> >>
>>
endobj
6 0 obj
<< /Length 7 0 R >>
stream
/DeviceRGB CS
/DeviceRGB cs
q
-1.000000 0.000000 -0.000000 -1.000000 32.000000 6.000000 cm
0.105882 0.113725 0.133333 scn
7.000000 6.000000 m
13.062179 0.000001 l
0.937822 0.000001 l
7.000000 6.000000 l
h
f
n
Q
q
1.000000 0.000000 -0.000000 1.000000 0.000000 4.000000 cm
0.105882 0.113725 0.133333 scn
50.000000 25.000000 m
50.000000 11.192883 38.807117 0.000000 25.000000 0.000000 c
11.192882 0.000000 0.000000 11.192883 0.000000 25.000000 c
0.000000 38.807117 11.192882 50.000000 25.000000 50.000000 c
38.807117 50.000000 50.000000 38.807117 50.000000 25.000000 c
h
f
n
Q
q
/E1 gs
/X1 Do
Q
endstream
endobj
7 0 obj
592
endobj
8 0 obj
<< /Annots []
/Type /Page
/MediaBox [ 0.000000 0.000000 50.000000 54.000000 ]
/Resources 5 0 R
/Contents 6 0 R
/Parent 9 0 R
>>
endobj
9 0 obj
<< /Kids [ 8 0 R ]
/Count 1
/Type /Pages
>>
endobj
10 0 obj
<< /Pages 9 0 R
/Type /Catalog
>>
endobj
xref
0 11
0000000000 65535 f
0000000010 00000 n
0000000968 00000 n
0000000990 00000 n
0000001472 00000 n
0000001494 00000 n
0000001792 00000 n
0000002440 00000 n
0000002462 00000 n
0000002635 00000 n
0000002709 00000 n
trailer
<< /ID [ (some) (id) ]
/Root 10 0 R
/Size 11
>>
startxref
2769
%%EOF
@@ -107,6 +107,7 @@
"common_server_not_supported" = "Server not supported";
"common_server_url" = "Server URL";
"common_settings" = "Settings";
"common_shared_location" = "Shared location";
"common_starting_chat" = "Starting chat…";
"common_sticker" = "Sticker";
"common_success" = "Success";