mirror of https://github.com/oxen-io/session-ios
Added rounding to the settings and updated the SettingVC to use the config approach
Removed some unused codepull/672/head
parent
2bc9334244
commit
f98e2a157e
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_apperance.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,308 @@
|
||||
%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 24.000000 24.000000 ]
|
||||
>>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 7.843140 7.830475 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
9.276358 -0.000002 m
|
||||
9.108232 -0.000002 8.948511 0.067249 8.830823 0.184938 c
|
||||
0.184939 8.835024 l
|
||||
0.067251 8.952713 0.000000 9.116636 0.000000 9.284762 c
|
||||
0.000000 9.452888 0.067251 9.612608 0.189142 9.730296 c
|
||||
0.479159 10.016110 l
|
||||
0.735551 10.268299 1.004554 10.533098 1.269352 10.797897 c
|
||||
2.673205 12.201750 l
|
||||
3.824869 13.353414 4.980735 14.509280 6.136602 15.656740 c
|
||||
6.275306 15.795444 6.422417 15.887914 6.552715 15.971977 c
|
||||
6.594747 15.997196 6.640981 16.026617 6.678809 16.056040 c
|
||||
6.783888 16.131697 6.909983 16.169525 7.040281 16.169525 c
|
||||
7.397548 16.169525 l
|
||||
7.511033 16.169525 7.620316 16.140102 7.716989 16.081259 c
|
||||
7.742208 16.068649 7.767426 16.056040 7.788441 16.043430 c
|
||||
7.885114 15.992992 8.019615 15.925742 8.141506 15.808054 c
|
||||
8.486165 15.484411 8.759370 15.211206 9.007357 14.950611 c
|
||||
9.234326 14.711031 9.360421 14.425217 9.389843 14.122590 c
|
||||
9.742908 14.097371 10.058145 13.908230 10.419616 13.546759 c
|
||||
12.647286 11.319088 l
|
||||
13.155868 10.810507 13.277760 10.230471 13.000351 9.633623 c
|
||||
13.588793 9.911032 14.160422 9.797546 14.669003 9.297371 c
|
||||
14.895972 9.074605 l
|
||||
15.122943 8.851837 15.349913 8.629070 15.564274 8.397898 c
|
||||
15.702978 8.250787 15.812260 8.091067 15.908932 7.952363 c
|
||||
15.946760 7.897722 15.984590 7.843081 16.026621 7.788440 c
|
||||
16.106482 7.679158 16.152716 7.544657 16.152716 7.410156 c
|
||||
16.152716 7.052888 l
|
||||
16.152716 6.914184 16.106482 6.783887 16.026621 6.674604 c
|
||||
15.988793 6.619964 15.950965 6.565323 15.913136 6.510682 c
|
||||
15.812261 6.367775 15.698776 6.199649 15.547462 6.052538 c
|
||||
14.173032 4.673904 12.798600 3.295270 11.424169 1.916636 c
|
||||
9.826971 0.319439 l
|
||||
9.826971 0.319439 9.780736 0.252189 9.772330 0.243782 c
|
||||
9.663048 0.100876 9.494922 0.012608 9.314186 -0.000002 c
|
||||
9.301577 -0.000002 9.288967 -0.000002 9.276358 -0.000002 c
|
||||
9.276358 -0.000002 l
|
||||
h
|
||||
1.525745 9.276356 m
|
||||
9.263749 1.538352 l
|
||||
10.537304 2.811908 l
|
||||
11.911735 4.186338 13.286166 5.564972 14.660597 6.943606 c
|
||||
14.732051 7.015059 14.803504 7.120139 14.883364 7.233624 c
|
||||
14.803504 7.347109 14.723643 7.456390 14.647986 7.540454 c
|
||||
14.446235 7.759018 14.231875 7.964972 14.021717 8.175130 c
|
||||
13.790545 8.402101 l
|
||||
13.681262 8.511382 13.626622 8.523991 13.626622 8.523991 c
|
||||
13.626622 8.523991 13.571980 8.523992 13.437480 8.431522 c
|
||||
11.403153 7.048685 l
|
||||
11.289668 6.973028 11.150964 6.888966 10.949212 6.855340 c
|
||||
10.701226 6.809106 10.453241 6.918387 10.314537 7.128545 c
|
||||
10.175833 7.338702 10.175833 7.611907 10.314537 7.822065 c
|
||||
10.415412 7.977582 l
|
||||
10.474256 8.070051 10.537303 8.162520 10.596148 8.254990 c
|
||||
11.798249 10.041329 l
|
||||
11.936954 10.247284 11.924344 10.272503 11.768827 10.432222 c
|
||||
9.541157 12.659893 l
|
||||
9.364624 12.836426 9.301577 12.865848 9.288967 12.870050 c
|
||||
9.288967 12.870050 9.221718 12.861645 8.994747 12.752362 c
|
||||
8.956919 12.735550 8.919089 12.718737 8.868651 12.697721 c
|
||||
8.780386 12.659893 l
|
||||
8.545009 12.559017 8.271805 12.613659 8.091069 12.794394 c
|
||||
7.910333 12.975130 7.855693 13.248335 7.952366 13.483711 c
|
||||
8.007006 13.609806 l
|
||||
8.044834 13.706478 8.078460 13.786338 8.116288 13.866198 c
|
||||
8.179336 14.004902 8.149913 14.038527 8.103678 14.084762 c
|
||||
7.876708 14.328545 7.620316 14.580733 7.296673 14.883361 c
|
||||
7.288267 14.887564 7.271453 14.895970 7.254641 14.904376 c
|
||||
7.246236 14.904376 l
|
||||
7.162173 14.849735 7.082312 14.799297 7.040281 14.761469 c
|
||||
5.884414 13.614009 4.732750 12.458142 3.576883 11.306479 c
|
||||
2.168827 9.902626 l
|
||||
1.958669 9.692468 1.744308 9.478107 1.534151 9.276356 c
|
||||
1.525745 9.276356 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 -0.058136 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
3.740806 0.058136 m
|
||||
3.072505 0.058136 l
|
||||
3.005254 0.058136 2.938004 0.070744 2.874956 0.091761 c
|
||||
2.866550 0.091761 2.820315 0.108572 2.816112 0.112776 c
|
||||
1.635026 0.335543 0.748161 1.037469 0.273205 2.147101 c
|
||||
0.184939 2.353056 0.130298 2.559011 0.084063 2.739746 c
|
||||
0.067250 2.811200 0.046235 2.882654 0.025219 2.954108 c
|
||||
0.008406 3.012952 0.000000 3.071796 0.000000 3.130640 c
|
||||
0.000000 3.794739 l
|
||||
0.000000 3.836771 0.000000 3.878802 0.012609 3.920834 c
|
||||
0.210158 4.887559 0.626270 5.602096 1.290368 6.114880 c
|
||||
1.576182 6.333444 1.916638 6.589835 2.278109 6.829414 c
|
||||
3.686165 7.758311 5.094221 8.687208 6.506480 9.607698 c
|
||||
6.968827 9.910326 7.019265 10.212953 7.010859 10.469345 c
|
||||
7.002452 10.692112 6.901577 10.885458 6.687216 11.099819 c
|
||||
6.271104 11.515930 l
|
||||
5.892820 11.890011 5.518739 12.264091 5.144659 12.642376 c
|
||||
4.526795 13.268646 4.522593 14.079854 5.136253 14.701921 c
|
||||
5.522943 15.092813 5.909633 15.483707 6.300526 15.874600 c
|
||||
6.754466 16.328541 l
|
||||
6.792295 16.366369 6.834326 16.404198 6.872155 16.429417 c
|
||||
7.124344 16.631168 7.506831 16.631168 7.733801 16.399994 c
|
||||
16.362873 7.770922 l
|
||||
16.480562 7.653234 16.547812 7.489310 16.547812 7.321184 c
|
||||
16.547812 7.153058 16.476358 6.993338 16.358669 6.875649 c
|
||||
16.102278 6.623461 l
|
||||
15.887918 6.413303 15.669353 6.203145 15.454992 5.988784 c
|
||||
15.135552 5.669345 l
|
||||
14.971629 5.505422 14.811910 5.345701 14.647986 5.185982 c
|
||||
14.021717 4.580728 13.214711 4.584932 12.592645 5.198592 c
|
||||
12.079861 5.702971 11.571280 6.215755 11.066901 6.724336 c
|
||||
10.844133 6.947103 10.646585 7.052183 10.423819 7.060589 c
|
||||
10.058144 7.077402 9.797548 6.926087 9.557969 6.560413 c
|
||||
9.520141 6.501569 l
|
||||
8.608056 5.101919 7.662347 3.651831 6.712435 2.239572 c
|
||||
6.401402 1.777225 6.048337 1.340096 5.661647 0.932390 c
|
||||
5.262347 0.512075 4.720140 0.243074 4.005604 0.108574 c
|
||||
3.934151 0.083353 l
|
||||
3.875307 0.066542 3.812259 0.053932 3.749212 0.053932 c
|
||||
3.740806 0.058136 l
|
||||
h
|
||||
3.181787 1.319081 m
|
||||
3.639930 1.319081 l
|
||||
3.686165 1.335895 3.728197 1.344299 3.770228 1.352706 c
|
||||
4.215762 1.436769 4.535202 1.583880 4.745359 1.806647 c
|
||||
5.081612 2.159712 5.392645 2.546402 5.661647 2.945702 c
|
||||
6.607356 4.353758 7.548862 5.795440 8.460946 7.195090 c
|
||||
8.498775 7.253934 l
|
||||
9.104029 8.182831 9.902628 8.350957 10.470054 8.325738 c
|
||||
11.012259 8.304722 11.516638 8.065143 11.962173 7.615405 c
|
||||
12.466551 7.106824 12.970929 6.598242 13.479510 6.098067 c
|
||||
13.609808 5.967769 13.639231 5.967769 13.773731 6.098067 c
|
||||
13.933452 6.253584 14.088967 6.409101 14.244484 6.564617 c
|
||||
14.572330 6.892463 l
|
||||
14.723643 7.039573 14.874957 7.190886 15.026271 7.333794 c
|
||||
7.279860 15.071798 l
|
||||
7.191595 14.983532 l
|
||||
6.804904 14.596842 6.418214 14.214355 6.035727 13.823462 c
|
||||
5.918039 13.705773 5.901227 13.676351 6.044134 13.533443 c
|
||||
6.414011 13.159363 6.788092 12.785282 7.157969 12.415405 c
|
||||
7.574081 11.999293 l
|
||||
8.011209 11.562165 8.246586 11.066195 8.267601 10.528191 c
|
||||
8.292820 9.964968 8.124695 9.166368 7.191595 8.556911 c
|
||||
5.779335 7.636420 4.371279 6.711727 2.967426 5.782830 c
|
||||
2.639580 5.564266 2.320140 5.324686 2.051139 5.118731 c
|
||||
1.647636 4.807698 1.391244 4.366367 1.252540 3.731691 c
|
||||
1.252540 3.218906 l
|
||||
1.269352 3.164265 1.281962 3.109624 1.294571 3.054982 c
|
||||
1.332399 2.903669 1.370228 2.760763 1.420666 2.647278 c
|
||||
1.731699 1.920133 2.265499 1.495613 3.055692 1.352706 c
|
||||
3.097723 1.344299 3.135552 1.335894 3.169177 1.323284 c
|
||||
3.181787 1.319081 l
|
||||
h
|
||||
3.446585 1.789834 m
|
||||
3.438179 1.789834 l
|
||||
2.505079 1.794038 1.740105 2.559012 1.735902 3.496316 c
|
||||
1.735902 3.954459 1.912434 4.387383 2.240280 4.715229 c
|
||||
2.563923 5.038872 2.992645 5.219607 3.446585 5.219607 c
|
||||
3.454992 5.219607 l
|
||||
4.392295 5.215405 5.157268 4.446227 5.161471 3.513127 c
|
||||
5.161471 3.059187 4.984939 2.626262 4.657093 2.298415 c
|
||||
4.329247 1.974772 3.900526 1.794037 3.446585 1.794037 c
|
||||
3.446585 1.789834 l
|
||||
h
|
||||
3.446585 3.954458 m
|
||||
3.328897 3.954458 3.219615 3.908223 3.131349 3.819957 c
|
||||
3.043082 3.731691 2.996848 3.618206 2.996848 3.500518 c
|
||||
2.996848 3.256736 3.202802 3.054983 3.446585 3.050780 c
|
||||
3.560070 3.067593 3.681962 3.097015 3.770228 3.185282 c
|
||||
3.858494 3.273548 3.904729 3.387033 3.904729 3.504721 c
|
||||
3.904729 3.744300 3.694571 3.954458 3.454992 3.954458 c
|
||||
3.446585 3.954458 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
7782
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
<< /Type /XObject
|
||||
/Length 4 0 R
|
||||
/Group << /Type /Group
|
||||
/S /Transparency
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Resources << >>
|
||||
/BBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
>>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 0.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
|
||||
232
|
||||
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
|
||||
/E1 gs
|
||||
/X1 Do
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
7 0 obj
|
||||
46
|
||||
endobj
|
||||
|
||||
8 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.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
|
||||
0000008040 00000 n
|
||||
0000008063 00000 n
|
||||
0000008543 00000 n
|
||||
0000008565 00000 n
|
||||
0000008863 00000 n
|
||||
0000008965 00000 n
|
||||
0000008986 00000 n
|
||||
0000009159 00000 n
|
||||
0000009233 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 10 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
9293
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_bin.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,99 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.488892 19.632660 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
22.014719 4.367340 m
|
||||
1.007468 4.367340 l
|
||||
0.451059 4.367340 0.000000 3.940892 0.000000 3.414841 c
|
||||
0.000000 0.952485 l
|
||||
0.000000 0.426434 0.451059 -0.000014 1.007468 -0.000014 c
|
||||
22.014719 -0.000014 l
|
||||
22.571127 -0.000014 23.022186 0.426434 23.022186 0.952485 c
|
||||
23.022186 3.414841 l
|
||||
23.022186 3.940892 22.571127 4.367340 22.014719 4.367340 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.488892 6.667847 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
20.294537 10.664303 m
|
||||
2.732070 10.664303 l
|
||||
2.628341 10.664284 2.525786 10.643614 2.431059 10.603654 c
|
||||
2.336332 10.563694 2.251548 10.505341 2.182249 10.432368 c
|
||||
2.112950 10.359396 2.060672 10.273441 2.028817 10.180111 c
|
||||
1.996962 10.086781 1.986233 9.988169 1.997347 9.890663 c
|
||||
3.884717 -6.048100 l
|
||||
3.904239 -6.218344 3.989554 -6.375778 4.124343 -6.490164 c
|
||||
4.259133 -6.604548 4.433859 -6.667818 4.614983 -6.667847 c
|
||||
18.411621 -6.667847 l
|
||||
18.592745 -6.667818 18.767473 -6.604548 18.902264 -6.490164 c
|
||||
19.037052 -6.375778 19.122368 -6.218344 19.141890 -6.048100 c
|
||||
21.029259 9.890663 l
|
||||
21.040373 9.988169 21.029642 10.086781 20.997787 10.180111 c
|
||||
20.965933 10.273441 20.913654 10.359396 20.844357 10.432368 c
|
||||
20.775057 10.505341 20.690273 10.563694 20.595547 10.603654 c
|
||||
20.500818 10.643614 20.398264 10.664284 20.294537 10.664303 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1394
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001484 00000 n
|
||||
0000001507 00000 n
|
||||
0000001680 00000 n
|
||||
0000001754 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1813
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_help.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 3.902100 7.436493 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
8.337853 16.563507 m
|
||||
3.334153 16.563507 0.104244 14.230644 0.000000 8.687475 c
|
||||
4.550323 8.687475 l
|
||||
4.793558 11.728733 6.287726 12.540161 8.337853 12.540161 c
|
||||
10.387981 12.540161 11.428761 11.289207 11.428761 9.803192 c
|
||||
11.428761 7.267470 10.601424 6.760327 6.148726 3.920319 c
|
||||
6.148726 0.000008 l
|
||||
10.735459 0.000008 l
|
||||
10.735459 3.345551 l
|
||||
13.305151 4.596507 16.195831 6.625084 16.195831 10.308723 c
|
||||
16.195831 13.992363 13.478892 16.563507 8.337853 16.563507 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 3.902100 19.166840 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
11.011788 -14.333673 m
|
||||
5.731754 -14.333673 l
|
||||
5.731754 -19.166840 l
|
||||
11.011788 -19.166840 l
|
||||
11.011788 -14.333673 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
800
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000000890 00000 n
|
||||
0000000912 00000 n
|
||||
0000001085 00000 n
|
||||
0000001159 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1218
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_invite.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,122 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 11.287659 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
10.038038 0.000012 m
|
||||
13.518059 0.000012 16.353167 2.849327 16.353167 6.356177 c
|
||||
16.353167 9.863026 13.518059 12.712341 10.038038 12.712341 c
|
||||
6.558018 12.712341 3.722911 9.863026 3.722911 6.356177 c
|
||||
3.722911 2.849327 6.553830 0.000012 10.038038 0.000012 c
|
||||
h
|
||||
10.038038 11.026356 m
|
||||
12.596754 11.026356 14.678066 8.931520 14.678066 6.356177 c
|
||||
14.678066 3.780835 12.596754 1.685998 10.038038 1.685998 c
|
||||
7.479322 1.685998 5.398011 3.780835 5.398011 6.356177 c
|
||||
5.398011 8.931520 7.479322 11.026356 10.038038 11.026356 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 13.251831 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
23.216888 -7.093771 m
|
||||
19.435352 -7.093771 l
|
||||
19.435352 -3.287659 l
|
||||
19.435352 -2.853517 19.087769 -2.503675 18.656429 -2.503675 c
|
||||
18.225090 -2.503675 17.877508 -2.853517 17.877508 -3.287659 c
|
||||
17.877508 -7.093771 l
|
||||
14.095969 -7.093771 l
|
||||
13.664631 -7.093771 13.317047 -7.443611 13.317047 -7.877752 c
|
||||
13.317047 -8.311893 13.664631 -8.661736 14.095969 -8.661736 c
|
||||
17.877508 -8.661736 l
|
||||
17.877508 -12.467850 l
|
||||
17.877508 -12.901989 18.225090 -13.251831 18.656429 -13.251831 c
|
||||
19.087769 -13.251831 19.435352 -12.901989 19.435352 -12.467850 c
|
||||
19.435352 -8.661736 l
|
||||
23.216888 -8.661736 l
|
||||
23.648228 -8.661736 23.995811 -8.311893 23.995811 -7.877752 c
|
||||
23.995811 -7.443611 23.648228 -7.093771 23.216888 -7.093771 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 15.359314 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
16.206596 -7.515268 m
|
||||
16.206596 -6.280284 l
|
||||
15.377421 -5.888292 14.460304 -5.664898 13.484558 -5.664898 c
|
||||
6.432385 -5.664898 l
|
||||
2.876985 -5.664898 0.000000 -8.564793 0.000000 -12.139082 c
|
||||
0.000000 -13.841927 l
|
||||
0.000000 -14.099041 0.205200 -14.305574 0.460653 -14.305574 c
|
||||
1.210260 -14.305574 l
|
||||
1.465713 -14.305574 1.670913 -14.099041 1.670913 -13.841927 c
|
||||
1.670913 -12.139082 l
|
||||
1.670913 -9.492085 3.802478 -7.350883 6.428198 -7.350883 c
|
||||
13.476182 -7.350883 l
|
||||
13.899145 -7.350883 14.305356 -7.409895 14.699005 -7.515268 c
|
||||
16.206596 -7.515268 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
2084
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000002174 00000 n
|
||||
0000002197 00000 n
|
||||
0000002370 00000 n
|
||||
0000002444 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
2503
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_link.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,119 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 5.000000 4.957031 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
13.180191 13.115493 m
|
||||
12.402289 13.892069 11.323112 14.042969 9.946011 14.042969 c
|
||||
4.134184 14.042969 l
|
||||
2.776993 14.042969 1.696493 13.892069 0.918559 13.115493 c
|
||||
0.141978 12.338914 0.000000 11.268697 0.000000 9.914982 c
|
||||
0.000000 4.146585 l
|
||||
0.000000 2.766711 0.141978 1.702695 0.918559 0.927503 c
|
||||
1.697854 0.149537 2.776993 -0.000006 4.146584 -0.000006 c
|
||||
9.946011 -0.000006 l
|
||||
11.323112 -0.000006 12.403645 0.149537 13.180191 0.927503 c
|
||||
13.956801 1.704049 14.098795 2.766711 14.098795 4.146585 c
|
||||
14.098795 9.896383 l
|
||||
14.098795 11.274897 13.956801 12.346476 13.180191 13.115493 c
|
||||
h
|
||||
12.617570 10.108065 m
|
||||
12.617570 3.941111 l
|
||||
12.617570 3.149404 12.517962 2.432404 12.093529 2.006616 c
|
||||
11.675289 1.589731 10.943192 1.481156 10.159034 1.481156 c
|
||||
3.941103 1.481156 l
|
||||
3.156964 1.481156 2.423473 1.589731 1.999047 2.006616 c
|
||||
1.582175 2.432404 1.481173 3.149404 1.481173 3.941111 c
|
||||
1.481173 10.089472 l
|
||||
1.481173 10.887365 1.582175 11.616772 1.999047 12.035005 c
|
||||
2.423473 12.459431 3.163163 12.561794 3.959702 12.561794 c
|
||||
10.159034 12.561794 l
|
||||
10.943192 12.561794 11.675289 12.453232 12.093529 12.035005 c
|
||||
12.517962 11.610572 12.617570 10.893565 12.617570 10.108065 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 5.000000 13.060150 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
9.412357 -3.042511 m
|
||||
9.788599 -3.042511 10.030975 -2.756910 10.030975 -2.357380 c
|
||||
10.030975 1.161995 l
|
||||
10.030975 1.678799 9.741376 1.911201 9.272816 1.911201 c
|
||||
5.733462 1.911201 l
|
||||
5.323707 1.911201 5.062879 1.668818 5.062879 1.292628 c
|
||||
5.062879 0.916439 5.328545 0.674062 5.741778 0.674062 c
|
||||
7.018399 0.674062 l
|
||||
8.055644 0.795024 l
|
||||
6.932081 -0.231801 l
|
||||
4.283275 -2.886775 l
|
||||
4.155662 -3.014382 4.070536 -3.192824 4.070536 -3.369849 c
|
||||
4.070536 -3.768606 4.344208 -4.028660 4.727204 -4.028660 c
|
||||
4.931782 -4.028660 5.099916 -3.953823 5.235697 -3.819378 c
|
||||
7.877652 -1.178787 l
|
||||
8.898316 -0.067582 l
|
||||
8.787611 -1.159884 l
|
||||
8.787611 -2.367121 l
|
||||
8.787611 -2.775490 9.029987 -3.042511 9.412357 -3.042511 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
2079
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000002169 00000 n
|
||||
0000002192 00000 n
|
||||
0000002365 00000 n
|
||||
0000002439 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
2498
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_msg.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,91 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 1.000000 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
0.914983 0.008142 m
|
||||
0.796035 0.008142 0.677086 0.024427 0.567288 0.065142 c
|
||||
0.219595 0.187283 0.000000 0.488562 0.000000 0.822412 c
|
||||
0.000000 17.922062 l
|
||||
0.000000 19.615742 1.546320 21.000000 3.458635 21.000000 c
|
||||
20.541365 21.000000 l
|
||||
22.444529 21.000000 24.000000 19.623884 24.000000 17.922062 c
|
||||
24.000000 6.791004 l
|
||||
24.000000 5.097324 22.453680 3.713068 20.541365 3.713068 c
|
||||
5.416698 3.713068 l
|
||||
1.573768 0.244282 l
|
||||
1.399922 0.089571 1.162027 0.000000 0.924131 0.000000 c
|
||||
0.914983 0.008142 l
|
||||
h
|
||||
3.458635 19.371462 m
|
||||
2.561951 19.371462 1.829966 18.720047 1.829966 17.922062 c
|
||||
1.829966 2.801086 l
|
||||
4.373618 5.097324 l
|
||||
4.547464 5.252036 4.776209 5.341606 5.023254 5.341606 c
|
||||
20.532221 5.341606 l
|
||||
21.428904 5.341606 22.160889 5.993020 22.160889 6.791004 c
|
||||
22.160889 17.922062 l
|
||||
22.160889 18.720047 21.428904 19.371462 20.532221 19.371462 c
|
||||
3.449486 19.371462 l
|
||||
3.458635 19.371462 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1003
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001093 00000 n
|
||||
0000001116 00000 n
|
||||
0000001289 00000 n
|
||||
0000001363 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
1422
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_msg_req.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,121 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 1.500000 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
0.914983 0.008142 m
|
||||
0.796035 0.008142 0.677086 0.024427 0.567288 0.065142 c
|
||||
0.219595 0.187283 0.000000 0.488562 0.000000 0.822412 c
|
||||
0.000000 17.922062 l
|
||||
0.000000 19.615742 1.546320 21.000000 3.458635 21.000000 c
|
||||
20.541365 21.000000 l
|
||||
22.444529 21.000000 24.000000 19.623884 24.000000 17.922062 c
|
||||
24.000000 6.791004 l
|
||||
24.000000 5.097324 22.453680 3.713068 20.541365 3.713068 c
|
||||
5.416698 3.713068 l
|
||||
1.573768 0.244282 l
|
||||
1.399922 0.089571 1.162027 0.000000 0.924131 0.000000 c
|
||||
0.914983 0.008142 l
|
||||
h
|
||||
3.458635 19.371462 m
|
||||
2.561951 19.371462 1.829966 18.720047 1.829966 17.922062 c
|
||||
1.829966 2.801086 l
|
||||
4.373618 5.097324 l
|
||||
4.547464 5.252036 4.776209 5.341606 5.023254 5.341606 c
|
||||
20.532221 5.341606 l
|
||||
21.428904 5.341606 22.160889 5.993020 22.160889 6.791004 c
|
||||
22.160889 17.922062 l
|
||||
22.160889 18.720047 21.428904 19.371462 20.532221 19.371462 c
|
||||
3.449486 19.371462 l
|
||||
3.458635 19.371462 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 9.209106 12.630783 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
2.873591 5.708511 m
|
||||
1.149096 5.708511 0.035927 4.904504 0.000000 2.994084 c
|
||||
1.568242 2.994084 l
|
||||
1.652071 4.042235 2.167027 4.321889 2.873591 4.321889 c
|
||||
3.580156 4.321889 3.938854 3.890755 3.938854 3.378609 c
|
||||
3.938854 2.504688 3.653718 2.329904 2.119122 1.351112 c
|
||||
2.119122 0.000000 l
|
||||
3.699912 0.000000 l
|
||||
3.699912 1.153022 l
|
||||
4.585541 1.584157 5.581797 2.283293 5.581797 3.552838 c
|
||||
5.581797 4.822382 4.645420 5.708511 2.873591 5.708511 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 9.209106 16.673569 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
3.795147 -4.940009 m
|
||||
1.975415 -4.940009 l
|
||||
1.975415 -6.605731 l
|
||||
3.795147 -6.605731 l
|
||||
3.795147 -4.940009 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1744
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001834 00000 n
|
||||
0000001857 00000 n
|
||||
0000002030 00000 n
|
||||
0000002104 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
2163
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_privacy.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,113 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 3.315186 18.125109 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
8.682752 -7.852200 m
|
||||
7.766013 -7.852200 7.022931 -8.595794 7.022931 -9.513163 c
|
||||
7.022931 -10.200179 7.438895 -10.790205 8.036592 -11.044806 c
|
||||
8.036592 -12.855295 l
|
||||
8.036592 -13.061399 8.202171 -13.227093 8.408134 -13.227093 c
|
||||
8.965447 -13.227093 l
|
||||
9.171411 -13.227093 9.336988 -13.061399 9.336988 -12.855295 c
|
||||
9.336988 -11.044806 l
|
||||
9.930647 -10.790205 10.350650 -10.204220 10.350650 -9.513163 c
|
||||
10.350650 -8.595794 9.607568 -7.852200 8.690829 -7.852200 c
|
||||
8.682752 -7.852200 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 3.315186 0.000000 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
15.281665 14.217197 m
|
||||
15.281665 16.900602 l
|
||||
15.281665 20.537746 12.321448 23.500000 8.682764 23.500000 c
|
||||
5.044080 23.500000 2.087902 20.537746 2.087902 16.900602 c
|
||||
2.087902 14.217197 l
|
||||
0.840007 13.465521 0.000000 12.103611 0.000000 10.543680 c
|
||||
0.000000 4.287790 l
|
||||
0.000000 1.923645 1.922323 0.000000 4.284843 0.000000 c
|
||||
13.084723 0.000000 l
|
||||
15.447243 0.000000 17.369566 1.923645 17.369566 4.287790 c
|
||||
17.369566 10.543680 l
|
||||
17.369566 12.103611 16.529560 13.469562 15.281665 14.217197 c
|
||||
h
|
||||
4.107149 16.900602 m
|
||||
4.107149 19.426397 6.158705 21.479364 8.682764 21.479364 c
|
||||
11.206823 21.479364 13.258379 19.426397 13.258379 16.900602 c
|
||||
13.258379 14.879966 l
|
||||
4.107149 14.879966 l
|
||||
4.107149 16.900602 l
|
||||
h
|
||||
15.350318 4.287790 m
|
||||
15.350318 3.039038 14.332619 2.020638 13.084723 2.020638 c
|
||||
4.284843 2.020638 l
|
||||
3.036948 2.020638 2.019248 3.039038 2.019248 4.287790 c
|
||||
2.019248 10.543680 l
|
||||
2.019248 11.792434 3.036948 12.810834 4.284843 12.810834 c
|
||||
13.084723 12.810834 l
|
||||
14.332619 12.810834 15.350318 11.792434 15.350318 10.543680 c
|
||||
15.350318 4.287790 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
1738
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000001828 00000 n
|
||||
0000001851 00000 n
|
||||
0000002024 00000 n
|
||||
0000002098 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
2157
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_recovery.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,211 @@
|
||||
%PDF-1.7
|
||||
|
||||
1 0 obj
|
||||
<< >>
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
<< /Length 3 0 R >>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 1.906494 0.000031 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
10.088854 23.999969 m
|
||||
9.792789 23.999969 9.500896 23.933001 9.221511 23.803249 c
|
||||
8.925447 23.665125 8.625214 23.535374 8.324979 23.401436 c
|
||||
8.141503 23.321909 7.958026 23.238199 7.778720 23.158672 c
|
||||
7.745361 23.141932 l
|
||||
7.641113 23.091703 l
|
||||
7.578564 23.062405 l
|
||||
6.089904 22.396902 l
|
||||
4.446957 21.664431 2.808179 20.931957 1.165232 20.199486 c
|
||||
0.393797 19.843714 -0.031534 19.157284 0.001825 18.345285 c
|
||||
0.005995 18.211348 0.001825 18.060667 0.001825 17.897430 c
|
||||
0.001825 17.784420 0.001825 17.667225 0.001825 17.554214 c
|
||||
0.001825 14.059277 l
|
||||
0.001825 13.967196 0.001825 13.875113 0.001825 13.783031 c
|
||||
0.001825 13.716063 0.001825 13.653279 0.001825 13.586310 c
|
||||
0.001825 12.870581 -0.006515 12.121366 0.093563 11.330296 c
|
||||
0.147772 10.865699 0.239510 10.426215 0.327079 9.999289 c
|
||||
0.352098 9.873722 0.377118 9.752341 0.402137 9.626775 c
|
||||
0.422987 9.530507 l
|
||||
0.452176 9.434239 l
|
||||
0.514725 9.241704 l
|
||||
0.681521 8.722695 0.852488 8.186944 1.086003 7.638638 c
|
||||
1.365388 6.989876 1.707321 6.336927 2.161842 5.587713 c
|
||||
2.224391 5.483074 l
|
||||
2.282769 5.416107 l
|
||||
3.592124 3.444712 5.293450 1.921169 7.340879 0.891523 c
|
||||
7.353388 0.891523 l
|
||||
7.365899 0.878965 l
|
||||
8.083124 0.531565 8.808690 0.259504 9.521746 0.071156 c
|
||||
9.717732 0.020927 9.901208 0.000000 10.080514 0.000000 c
|
||||
10.259821 0.000000 10.447467 0.020927 10.630943 0.066967 c
|
||||
10.647622 0.066967 l
|
||||
10.664303 0.075340 l
|
||||
11.427398 0.280432 12.123775 0.569235 12.707562 0.828739 c
|
||||
12.770110 0.858038 l
|
||||
12.832660 0.891523 l
|
||||
12.870189 0.912451 12.911888 0.937565 12.949417 0.958492 c
|
||||
14.146183 1.573769 15.242870 2.377394 16.214462 3.356813 c
|
||||
16.806589 3.955349 17.361189 4.641779 17.957487 5.520744 c
|
||||
17.982506 5.554232 l
|
||||
18.003355 5.587713 l
|
||||
18.507914 6.412270 18.895718 7.169855 19.191782 7.906511 c
|
||||
19.412786 8.467377 19.583754 9.011498 19.733871 9.522136 c
|
||||
19.750551 9.572362 l
|
||||
19.763062 9.622591 l
|
||||
19.938196 10.371804 20.138353 11.367966 20.159203 12.418540 c
|
||||
20.171713 12.816168 20.175882 13.226352 20.180054 13.632351 c
|
||||
20.180054 14.029979 l
|
||||
20.184221 14.050906 l
|
||||
20.184221 14.071834 l
|
||||
20.171711 15.214491 20.171711 16.378075 20.184221 17.520731 c
|
||||
20.184221 17.646297 20.184221 17.755123 20.180054 17.859760 c
|
||||
20.180054 17.985327 20.171713 18.102524 20.180054 18.177864 c
|
||||
20.250940 19.077757 19.783909 19.852085 18.929077 20.232971 c
|
||||
17.394548 20.915216 15.864188 21.601646 14.333828 22.283892 c
|
||||
12.411498 23.146116 l
|
||||
12.002846 23.326096 l
|
||||
11.648402 23.480961 11.293960 23.635826 10.947857 23.799063 c
|
||||
10.664303 23.928816 10.380748 23.991598 10.093024 23.991598 c
|
||||
10.088854 23.999969 l
|
||||
h
|
||||
10.080514 1.678406 m
|
||||
10.047155 1.678406 10.001287 1.678406 9.942907 1.695150 c
|
||||
9.334099 1.854200 8.708611 2.088591 8.087294 2.389950 c
|
||||
6.302569 3.285660 4.813909 4.616667 3.667182 6.345301 c
|
||||
3.617143 6.420639 l
|
||||
3.583784 6.462496 l
|
||||
3.170962 7.144741 2.862388 7.726534 2.620533 8.299955 c
|
||||
2.416207 8.777108 2.266090 9.254260 2.103463 9.760713 c
|
||||
2.040914 9.953248 l
|
||||
2.015895 10.074629 1.990875 10.196011 1.961686 10.338319 c
|
||||
1.878288 10.748504 1.799059 11.133574 1.749020 11.539574 c
|
||||
1.661452 12.221819 1.665622 12.878951 1.669792 13.586310 c
|
||||
1.669792 13.661651 1.669792 13.732804 1.669792 13.820701 c
|
||||
1.669792 13.900226 1.669792 13.975566 1.669792 14.055092 c
|
||||
1.669792 17.550030 l
|
||||
1.669792 17.654669 1.669792 17.759308 1.669792 17.863947 c
|
||||
1.669792 18.039740 1.678132 18.219719 1.669792 18.416439 c
|
||||
1.669792 18.500151 1.661452 18.583862 1.840758 18.667572 c
|
||||
3.483706 19.400045 5.126653 20.132517 6.769600 20.864988 c
|
||||
8.258261 21.530493 l
|
||||
8.291619 21.547234 l
|
||||
8.354168 21.576534 l
|
||||
8.458417 21.626760 l
|
||||
8.637722 21.706285 8.812860 21.785810 9.008846 21.869522 c
|
||||
9.313250 22.003460 9.613483 22.137398 9.934566 22.283892 c
|
||||
10.009626 22.317377 10.059665 22.321562 10.093024 22.321562 c
|
||||
10.126383 22.321562 10.176423 22.317377 10.251481 22.283892 c
|
||||
10.605924 22.120655 10.960367 21.961605 11.331490 21.798368 c
|
||||
11.735971 21.618389 l
|
||||
13.658302 20.756165 l
|
||||
15.192832 20.069735 16.723192 19.383303 18.257721 18.701057 c
|
||||
18.524593 18.583862 18.532934 18.437368 18.524593 18.299244 c
|
||||
18.512085 18.140194 18.516254 17.981142 18.524593 17.809534 c
|
||||
18.524593 17.721638 18.528765 17.629555 18.528765 17.541658 c
|
||||
18.516256 16.382259 18.516256 15.210304 18.528765 14.050906 c
|
||||
18.528765 13.653279 l
|
||||
18.520426 13.255651 18.516254 12.853838 18.503746 12.456210 c
|
||||
18.482895 11.560501 18.303591 10.673164 18.149303 10.003476 c
|
||||
18.007526 9.530508 17.849068 9.024055 17.657253 8.534346 c
|
||||
17.398718 7.885584 17.048445 7.207525 16.593924 6.466682 c
|
||||
16.056005 5.675611 15.559785 5.064520 15.042714 4.541325 c
|
||||
14.196221 3.687471 13.241312 2.984301 12.203002 2.452736 c
|
||||
12.144623 2.423435 l
|
||||
12.086245 2.389950 l
|
||||
12.086245 2.389950 12.057055 2.373209 12.044545 2.364838 c
|
||||
11.523305 2.134632 10.897819 1.870943 10.247312 1.699335 c
|
||||
10.193103 1.686779 10.134724 1.678406 10.084684 1.678406 c
|
||||
10.080514 1.678406 l
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 1.906494 21.036652 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
5.873068 -7.554950 m
|
||||
5.059934 -7.554950 4.396918 -8.216269 4.396918 -9.036636 c
|
||||
4.396918 -9.857005 5.055765 -10.518322 5.873068 -10.518322 c
|
||||
6.690372 -10.518322 7.349218 -9.857005 7.349218 -9.036636 c
|
||||
7.349218 -8.216269 6.690372 -7.554950 5.873068 -7.554950 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 1.906494 21.036652 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
10.093023 -7.554950 m
|
||||
9.279889 -7.554950 8.616873 -8.216269 8.616873 -9.036636 c
|
||||
8.616873 -9.857005 9.275720 -10.518322 10.093023 -10.518322 c
|
||||
10.910327 -10.518322 11.569174 -9.857005 11.569174 -9.036636 c
|
||||
11.569174 -8.216269 10.910327 -7.554950 10.093023 -7.554950 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 1.906494 21.036652 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
14.312980 -7.554950 m
|
||||
13.499846 -7.554950 12.836828 -8.216269 12.836828 -9.036636 c
|
||||
12.836828 -9.857005 13.495676 -10.518322 14.312980 -10.518322 c
|
||||
15.130283 -10.518322 15.789130 -9.857005 15.789130 -9.036636 c
|
||||
15.789130 -8.216269 15.130283 -7.554950 14.312980 -7.554950 c
|
||||
h
|
||||
f
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
6034
|
||||
endobj
|
||||
|
||||
4 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
/Resources 1 0 R
|
||||
/Contents 2 0 R
|
||||
/Parent 5 0 R
|
||||
>>
|
||||
endobj
|
||||
|
||||
5 0 obj
|
||||
<< /Kids [ 4 0 R ]
|
||||
/Count 1
|
||||
/Type /Pages
|
||||
>>
|
||||
endobj
|
||||
|
||||
6 0 obj
|
||||
<< /Pages 5 0 R
|
||||
/Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
|
||||
xref
|
||||
0 7
|
||||
0000000000 65535 f
|
||||
0000000010 00000 n
|
||||
0000000034 00000 n
|
||||
0000006124 00000 n
|
||||
0000006147 00000 n
|
||||
0000006320 00000 n
|
||||
0000006394 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 6 0 R
|
||||
/Size 7
|
||||
>>
|
||||
startxref
|
||||
6453
|
||||
%%EOF
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "icon_speaker.pdf",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -0,0 +1,178 @@
|
||||
%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 24.000000 24.000000 ]
|
||||
>>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 1.000000 -0.030197 cm
|
||||
0.000000 0.000000 0.000000 scn
|
||||
19.462608 0.030197 m
|
||||
18.919228 0.031466 18.390785 0.200081 17.955881 0.510967 c
|
||||
12.072273 4.652666 l
|
||||
11.403143 5.124496 10.593321 5.379530 9.761348 5.380438 c
|
||||
3.092020 5.380438 l
|
||||
2.272341 5.381605 1.486594 5.692862 0.906993 6.245991 c
|
||||
0.327392 6.799118 0.001222 7.548988 0.000000 8.331227 c
|
||||
0.000000 15.750109 l
|
||||
0.001222 16.532349 0.327392 17.282219 0.906993 17.835346 c
|
||||
1.486594 18.388475 2.272341 18.699734 3.092020 18.700901 c
|
||||
9.849164 18.700901 l
|
||||
10.681964 18.705595 11.491492 18.963621 12.160089 19.437489 c
|
||||
17.937405 23.548307 l
|
||||
18.315399 23.817577 18.764448 23.981174 19.234310 24.020786 c
|
||||
19.704172 24.060396 20.176323 23.974461 20.597929 23.772600 c
|
||||
21.019535 23.570740 21.373953 23.260904 21.621571 22.877771 c
|
||||
21.869188 22.494638 22.000217 22.053314 22.000000 21.603167 c
|
||||
22.000000 2.460524 l
|
||||
21.998779 1.816320 21.730082 1.198832 21.252760 0.743311 c
|
||||
20.775436 0.287790 20.128420 0.031364 19.453384 0.030197 c
|
||||
19.462608 0.030197 l
|
||||
h
|
||||
3.092020 16.495525 m
|
||||
2.884861 16.495525 2.686188 16.416988 2.539705 16.277197 c
|
||||
2.393222 16.137403 2.310926 15.947805 2.310926 15.750109 c
|
||||
2.310926 8.331227 l
|
||||
2.310926 8.133531 2.393222 7.943933 2.539705 7.804142 c
|
||||
2.686188 7.664349 2.884861 7.585812 3.092020 7.585812 c
|
||||
9.770600 7.585812 l
|
||||
11.092910 7.582773 12.379868 7.178019 13.444978 6.430197 c
|
||||
19.328585 2.284098 l
|
||||
19.361866 2.258144 19.402451 2.242189 19.445232 2.238264 c
|
||||
19.488014 2.234339 19.531078 2.242609 19.568930 2.262035 c
|
||||
19.608538 2.279341 19.641914 2.307396 19.664928 2.342691 c
|
||||
19.687941 2.377989 19.699558 2.418968 19.698328 2.460524 c
|
||||
19.698328 21.603167 l
|
||||
19.700840 21.644947 19.689758 21.686449 19.666592 21.721983 c
|
||||
19.643423 21.757515 19.609318 21.785347 19.568930 21.801655 c
|
||||
19.533316 21.824224 19.491510 21.836262 19.448759 21.836262 c
|
||||
19.406008 21.836262 19.364201 21.824224 19.328585 21.801655 c
|
||||
13.546645 17.686420 l
|
||||
12.476994 16.928680 11.181296 16.517551 9.849164 16.513172 c
|
||||
3.092020 16.495525 l
|
||||
h
|
||||
f*
|
||||
n
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
2 0 obj
|
||||
2055
|
||||
endobj
|
||||
|
||||
3 0 obj
|
||||
<< /Type /XObject
|
||||
/Length 4 0 R
|
||||
/Group << /Type /Group
|
||||
/S /Transparency
|
||||
>>
|
||||
/Subtype /Form
|
||||
/Resources << >>
|
||||
/BBox [ 0.000000 0.000000 24.000000 24.000000 ]
|
||||
>>
|
||||
stream
|
||||
/DeviceRGB CS
|
||||
/DeviceRGB cs
|
||||
q
|
||||
1.000000 0.000000 -0.000000 1.000000 0.000000 0.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
|
||||
232
|
||||
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
|
||||
/E1 gs
|
||||
/X1 Do
|
||||
Q
|
||||
|
||||
endstream
|
||||
endobj
|
||||
|
||||
7 0 obj
|
||||
46
|
||||
endobj
|
||||
|
||||
8 0 obj
|
||||
<< /Annots []
|
||||
/Type /Page
|
||||
/MediaBox [ 0.000000 0.000000 24.000000 24.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
|
||||
0000002313 00000 n
|
||||
0000002336 00000 n
|
||||
0000002816 00000 n
|
||||
0000002838 00000 n
|
||||
0000003136 00000 n
|
||||
0000003238 00000 n
|
||||
0000003259 00000 n
|
||||
0000003432 00000 n
|
||||
0000003506 00000 n
|
||||
trailer
|
||||
<< /ID [ (some) (id) ]
|
||||
/Root 10 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3566
|
||||
%%EOF
|
@ -0,0 +1,547 @@
|
||||
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
||||
|
||||
import Foundation
|
||||
import Combine
|
||||
import GRDB
|
||||
import DifferenceKit
|
||||
import SessionUIKit
|
||||
import SessionMessagingKit
|
||||
import SessionUtilitiesKit
|
||||
import SignalUtilitiesKit
|
||||
|
||||
class SettingsViewModel: SettingsTableViewModel<SettingsViewModel.NavButton, SettingsViewModel.Section, SettingsViewModel.Item> {
|
||||
// MARK: - Config
|
||||
|
||||
enum NavState {
|
||||
case standard
|
||||
case editing
|
||||
}
|
||||
|
||||
enum NavButton: Equatable {
|
||||
case close
|
||||
case qrCode
|
||||
case cancel
|
||||
case done
|
||||
}
|
||||
|
||||
public enum Section: SettingSection {
|
||||
case profileInfo
|
||||
case menus
|
||||
case footer
|
||||
}
|
||||
|
||||
public enum Item: Differentiable {
|
||||
case profileInfo
|
||||
case path
|
||||
case privacy
|
||||
case notifications
|
||||
case conversations
|
||||
case messageRequests
|
||||
case appearance
|
||||
case inviteAFriend
|
||||
case recoveryPhrase
|
||||
case help
|
||||
case clearData
|
||||
}
|
||||
|
||||
// MARK: - Variables
|
||||
|
||||
private let userSessionId: String
|
||||
private lazy var imagePickerHandler: ImagePickerHandler = ImagePickerHandler(viewModel: self)
|
||||
fileprivate var oldDisplayName: String
|
||||
private var editedDisplayName: String?
|
||||
|
||||
// MARK: - Initialization
|
||||
|
||||
init() {
|
||||
self.userSessionId = getUserHexEncodedPublicKey()
|
||||
self.oldDisplayName = Profile.fetchOrCreateCurrentUser().name
|
||||
|
||||
super.init(closeNavItemId: .close)
|
||||
}
|
||||
|
||||
// MARK: - Navigation
|
||||
|
||||
lazy var navState: AnyPublisher<NavState, Never> = {
|
||||
Publishers
|
||||
.MergeMany(
|
||||
isEditing
|
||||
.filter { $0 }
|
||||
.map { _ in .editing }
|
||||
.eraseToAnyPublisher(),
|
||||
navItemTapped
|
||||
.filter { $0 == .cancel }
|
||||
.map { _ in .standard }
|
||||
.handleEvents(receiveOutput: { [weak self] _ in
|
||||
self?.setIsEditing(false)
|
||||
self?.editedDisplayName = self?.oldDisplayName
|
||||
})
|
||||
.eraseToAnyPublisher(),
|
||||
navItemTapped
|
||||
.filter { $0 == .done }
|
||||
.handleEvents(receiveOutput: { [weak self] _ in
|
||||
let updatedNickname: String = (self?.editedDisplayName ?? "")
|
||||
.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
|
||||
guard !updatedNickname.isEmpty else {
|
||||
self?.transitionToScreen(
|
||||
ConfirmationModal(
|
||||
info: ConfirmationModal.Info(
|
||||
title: "vc_settings_display_name_missing_error".localized(),
|
||||
cancelTitle: "BUTTON_OK".localized(),
|
||||
cancelStyle: .textPrimary
|
||||
)
|
||||
),
|
||||
transitionType: .present
|
||||
)
|
||||
return
|
||||
}
|
||||
guard !ProfileManager.isToLong(profileName: updatedNickname) else {
|
||||
self?.transitionToScreen(
|
||||
ConfirmationModal(
|
||||
info: ConfirmationModal.Info(
|
||||
title: "vc_settings_display_name_too_long_error".localized(),
|
||||
cancelTitle: "BUTTON_OK".localized(),
|
||||
cancelStyle: .textPrimary
|
||||
)
|
||||
),
|
||||
transitionType: .present
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
self?.setIsEditing(false)
|
||||
self?.oldDisplayName = updatedNickname
|
||||
self?.updateProfile(
|
||||
name: updatedNickname,
|
||||
profilePicture: nil,
|
||||
profilePictureFilePath: nil,
|
||||
isUpdatingDisplayName: true,
|
||||
isUpdatingProfilePicture: false
|
||||
)
|
||||
})
|
||||
.map { _ in .standard }
|
||||
.eraseToAnyPublisher()
|
||||
)
|
||||
.removeDuplicates()
|
||||
.prepend(.standard) // Initial value
|
||||
.eraseToAnyPublisher()
|
||||
}()
|
||||
|
||||
override var leftNavItems: AnyPublisher<[NavItem]?, Never> {
|
||||
navState
|
||||
.map { navState -> [NavItem] in
|
||||
switch navState {
|
||||
case .standard:
|
||||
return [
|
||||
NavItem(
|
||||
id: .close,
|
||||
image: UIImage(named: "X")?
|
||||
.withRenderingMode(.alwaysTemplate),
|
||||
style: .plain,
|
||||
accessibilityIdentifier: "Close button"
|
||||
)
|
||||
]
|
||||
|
||||
case .editing:
|
||||
return [
|
||||
NavItem(
|
||||
id: .cancel,
|
||||
systemItem: .cancel,
|
||||
accessibilityIdentifier: "Cancel button"
|
||||
)
|
||||
]
|
||||
}
|
||||
}
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
override var rightNavItems: AnyPublisher<[NavItem]?, Never> {
|
||||
navState
|
||||
.map { [weak self] navState -> [NavItem] in
|
||||
switch navState {
|
||||
case .standard:
|
||||
return [
|
||||
NavItem(
|
||||
id: .qrCode,
|
||||
image: UIImage(named: "QRCode")?
|
||||
.withRenderingMode(.alwaysTemplate),
|
||||
style: .plain,
|
||||
accessibilityIdentifier: "Show QR code button",
|
||||
action: { [weak self] in
|
||||
self?.transitionToScreen(QRCodeVC())
|
||||
}
|
||||
)
|
||||
]
|
||||
|
||||
case .editing:
|
||||
return [
|
||||
NavItem(
|
||||
id: .done,
|
||||
systemItem: .done,
|
||||
accessibilityIdentifier: "Done button"
|
||||
)
|
||||
]
|
||||
}
|
||||
}
|
||||
.eraseToAnyPublisher()
|
||||
}
|
||||
|
||||
// MARK: - Content
|
||||
|
||||
override var title: String { "vc_settings_title".localized() }
|
||||
|
||||
private var _settingsData: [SectionModel] = []
|
||||
public override var settingsData: [SectionModel] { _settingsData }
|
||||
|
||||
public override var observableSettingsData: ObservableData { _observableSettingsData }
|
||||
|
||||
/// This is all the data the screen needs to populate itself, please see the following link for tips to help optimise
|
||||
/// performance https://github.com/groue/GRDB.swift#valueobservation-performance
|
||||
///
|
||||
/// **Note:** This observation will be triggered twice immediately (and be de-duped by the `removeDuplicates`)
|
||||
/// this is due to the behaviour of `ValueConcurrentObserver.asyncStartObservation` which triggers it's own
|
||||
/// fetch (after the ones in `ValueConcurrentObserver.asyncStart`/`ValueConcurrentObserver.syncStart`)
|
||||
/// just in case the database has changed between the two reads - unfortunately it doesn't look like there is a way to prevent this
|
||||
private lazy var _observableSettingsData: ObservableData = ValueObservation
|
||||
.trackingConstantRegion { db -> [SectionModel] in
|
||||
let userPublicKey: String = getUserHexEncodedPublicKey(db)
|
||||
let profile: Profile = Profile.fetchOrCreateCurrentUser(db)
|
||||
|
||||
return [
|
||||
SectionModel(
|
||||
model: .profileInfo,
|
||||
elements: [
|
||||
SettingInfo(
|
||||
id: .profileInfo,
|
||||
title: profile.displayName(),
|
||||
action: .threadInfo(
|
||||
threadViewModel: SessionThreadViewModel(
|
||||
threadId: profile.id,
|
||||
threadIsNoteToSelf: true,
|
||||
contactProfile: profile
|
||||
),
|
||||
style: ThreadInfoStyle(
|
||||
separatorTitle: "your_session_id".localized(),
|
||||
descriptionStyle: .monoLarge,
|
||||
descriptionActions: [
|
||||
ThreadInfoStyle.Action(
|
||||
title: "copy".localized(),
|
||||
run: { [weak self] button in
|
||||
self?.copySessionId(profile.id, button: button)
|
||||
}
|
||||
),
|
||||
ThreadInfoStyle.Action(
|
||||
title: "share".localized(),
|
||||
run: { [weak self] _ in
|
||||
self?.shareSessionId(profile.id)
|
||||
}
|
||||
)
|
||||
]
|
||||
),
|
||||
avatarTapped: { [weak self] in self?.updateProfilePicture() },
|
||||
titleTapped: { [weak self] in self?.setIsEditing(true) },
|
||||
titleChanged: { [weak self] text in self?.editedDisplayName = text }
|
||||
)
|
||||
)
|
||||
]
|
||||
),
|
||||
SectionModel(
|
||||
model: .menus,
|
||||
elements: [
|
||||
SettingInfo(
|
||||
id: .privacy,
|
||||
icon: UIImage(named: "icon_privacy")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "vc_settings_privacy_button_title".localized(),
|
||||
action: .push(showChevron: false) {
|
||||
SettingsTableViewController(viewModel: PrivacySettingsViewModel())
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .notifications,
|
||||
icon: UIImage(named: "icon_speaker")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "vc_settings_notifications_button_title".localized(),
|
||||
action: .push(showChevron: false) {
|
||||
SettingsTableViewController(viewModel: NotificationSettingsViewModel())
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .conversations,
|
||||
icon: UIImage(named: "icon_msg")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "CONVERSATION_SETTINGS_TITLE".localized(),
|
||||
action: .push(showChevron: false) {
|
||||
SettingsTableViewController(viewModel: ConversationSettingsViewModel())
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .messageRequests,
|
||||
icon: UIImage(named: "icon_msg_req")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "MESSAGE_REQUESTS_TITLE".localized(),
|
||||
action: .push(showChevron: false) {
|
||||
MessageRequestsViewController()
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .appearance,
|
||||
icon: UIImage(named: "icon_apperance")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "APPEARANCE_TITLE".localized(),
|
||||
action: .push(showChevron: false) {
|
||||
AppearanceViewController()
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .inviteAFriend,
|
||||
icon: UIImage(named: "icon_invite")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "vc_settings_invite_a_friend_button_title".localized(),
|
||||
action: .present {
|
||||
let invitation: String = "Hey, I've been using Session to chat with complete privacy and security. Come join me! Download it at https://getsession.org/. My Session ID is \(profile.id) !"
|
||||
|
||||
return UIActivityViewController(
|
||||
activityItems: [ invitation ],
|
||||
applicationActivities: nil
|
||||
)
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .recoveryPhrase,
|
||||
icon: UIImage(named: "icon_recovery")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "vc_settings_recovery_phrase_button_title".localized(),
|
||||
action: .present {
|
||||
SeedModal()
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .help,
|
||||
icon: UIImage(named: "icon_help")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "HELP_TITLE".localized(),
|
||||
action: .push(showChevron: false) {
|
||||
SettingsTableViewController(
|
||||
viewModel: HelpViewModel()
|
||||
)
|
||||
}
|
||||
),
|
||||
SettingInfo(
|
||||
id: .clearData,
|
||||
icon: UIImage(named: "icon_bin")?.withRenderingMode(.alwaysTemplate),
|
||||
title: "vc_settings_clear_all_data_button_title".localized(),
|
||||
action: .present(tintColor: .danger) {
|
||||
NukeDataModal()
|
||||
}
|
||||
)
|
||||
]
|
||||
)
|
||||
]
|
||||
}
|
||||
.removeDuplicates()
|
||||
.publisher(in: Storage.shared)
|
||||
|
||||
// MARK: - Functions
|
||||
|
||||
public override func updateSettings(_ updatedSettings: [SectionModel]) {
|
||||
self._settingsData = updatedSettings
|
||||
}
|
||||
|
||||
private func updateProfilePicture() {
|
||||
let actionSheet: UIAlertController = UIAlertController(
|
||||
title: "Update Profile Picture",
|
||||
message: nil,
|
||||
preferredStyle: .actionSheet
|
||||
)
|
||||
actionSheet.addAction(UIAlertAction(
|
||||
title: "MEDIA_FROM_LIBRARY_BUTTON".localized(),
|
||||
style: .default,
|
||||
handler: { [weak self] _ in
|
||||
self?.showPhotoLibraryForAvatar()
|
||||
}
|
||||
))
|
||||
actionSheet.addAction(UIAlertAction(title: "cancel".localized(), style: .cancel, handler: nil))
|
||||
|
||||
self.transitionToScreen(actionSheet, transitionType: .present)
|
||||
}
|
||||
|
||||
private func showPhotoLibraryForAvatar() {
|
||||
Permissions.requestLibraryPermissionIfNeeded { [weak self] in
|
||||
let picker: UIImagePickerController = UIImagePickerController()
|
||||
picker.sourceType = .photoLibrary
|
||||
picker.mediaTypes = [ "public.image" ]
|
||||
picker.delegate = self?.imagePickerHandler
|
||||
|
||||
self?.transitionToScreen(picker, transitionType: .present)
|
||||
}
|
||||
}
|
||||
|
||||
fileprivate func updateProfile(
|
||||
name: String,
|
||||
profilePicture: UIImage?,
|
||||
profilePictureFilePath: String?,
|
||||
isUpdatingDisplayName: Bool,
|
||||
isUpdatingProfilePicture: Bool
|
||||
) {
|
||||
let imageFilePath: String? = (
|
||||
profilePictureFilePath ??
|
||||
ProfileManager.profileAvatarFilepath(id: self.userSessionId)
|
||||
)
|
||||
|
||||
let viewController = ModalActivityIndicatorViewController(canCancel: false) { [weak self] modalActivityIndicator in
|
||||
ProfileManager.updateLocal(
|
||||
queue: DispatchQueue.global(qos: .default),
|
||||
profileName: name,
|
||||
image: profilePicture,
|
||||
imageFilePath: imageFilePath,
|
||||
success: { db, updatedProfile in
|
||||
if isUpdatingDisplayName {
|
||||
UserDefaults.standard[.lastDisplayNameUpdate] = Date()
|
||||
}
|
||||
|
||||
if isUpdatingProfilePicture {
|
||||
UserDefaults.standard[.lastProfilePictureUpdate] = Date()
|
||||
}
|
||||
|
||||
try MessageSender.syncConfiguration(db, forceSyncNow: true).retainUntilComplete()
|
||||
|
||||
// Wait for the database transaction to complete before updating the UI
|
||||
db.afterNextTransactionCommit { _ in
|
||||
DispatchQueue.main.async {
|
||||
modalActivityIndicator.dismiss(completion: {})
|
||||
}
|
||||
}
|
||||
},
|
||||
failure: { [weak self] error in
|
||||
DispatchQueue.main.async {
|
||||
modalActivityIndicator.dismiss {
|
||||
let isMaxFileSizeExceeded: Bool = (error == .avatarUploadMaxFileSizeExceeded)
|
||||
|
||||
self?.transitionToScreen(
|
||||
ConfirmationModal(
|
||||
info: ConfirmationModal.Info(
|
||||
title: (isMaxFileSizeExceeded ?
|
||||
"Maximum File Size Exceeded" :
|
||||
"Couldn't Update Profile"
|
||||
),
|
||||
explanation: (isMaxFileSizeExceeded ?
|
||||
"Please select a smaller photo and try again" :
|
||||
"Please check your internet connection and try again"
|
||||
),
|
||||
cancelTitle: "BUTTON_OK".localized(),
|
||||
cancelStyle: .textPrimary
|
||||
)
|
||||
),
|
||||
transitionType: .present
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
self.transitionToScreen(viewController, transitionType: .present)
|
||||
}
|
||||
|
||||
private func copySessionId(_ sessionId: String, button: OutlineButton?) {
|
||||
UIPasteboard.general.string = sessionId
|
||||
|
||||
guard let button: OutlineButton = button else { return }
|
||||
|
||||
// Ensure we are on the main thread just in case
|
||||
DispatchQueue.main.async {
|
||||
button.isUserInteractionEnabled = false
|
||||
|
||||
UIView.transition(
|
||||
with: button,
|
||||
duration: 0.25,
|
||||
options: .transitionCrossDissolve,
|
||||
animations: {
|
||||
button.setTitle("copied".localized(), for: .normal)
|
||||
},
|
||||
completion: { _ in
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(4)) {
|
||||
button.isUserInteractionEnabled = true
|
||||
|
||||
UIView.transition(
|
||||
with: button,
|
||||
duration: 0.25,
|
||||
options: .transitionCrossDissolve,
|
||||
animations: {
|
||||
button.setTitle("copy".localized(), for: .normal)
|
||||
},
|
||||
completion: nil
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private func shareSessionId(_ sessionId: String) {
|
||||
let shareVC = UIActivityViewController(
|
||||
activityItems: [ sessionId ],
|
||||
applicationActivities: nil
|
||||
)
|
||||
|
||||
self.transitionToScreen(shareVC, transitionType: .present)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - ImagePickerHandler
|
||||
|
||||
class ImagePickerHandler: NSObject, UIImagePickerControllerDelegate & UINavigationControllerDelegate {
|
||||
private let viewModel: SettingsViewModel
|
||||
|
||||
// MARK: - Initialization
|
||||
|
||||
init(viewModel: SettingsViewModel) {
|
||||
self.viewModel = viewModel
|
||||
}
|
||||
|
||||
// MARK: - UIImagePickerControllerDelegate
|
||||
|
||||
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
|
||||
picker.dismiss(animated: true)
|
||||
}
|
||||
|
||||
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
|
||||
guard
|
||||
let imageUrl: URL = info[.imageURL] as? URL,
|
||||
let rawAvatar: UIImage = info[.originalImage] as? UIImage
|
||||
else {
|
||||
picker.presentingViewController?.dismiss(animated: true)
|
||||
return
|
||||
}
|
||||
let name: String = self.viewModel.oldDisplayName
|
||||
|
||||
picker.presentingViewController?.dismiss(animated: true) { [weak self] in
|
||||
// Check if the user selected an animated image (if so then don't crop, just
|
||||
// set the avatar directly
|
||||
guard
|
||||
let type: Any = try? imageUrl.resourceValues(forKeys: [.typeIdentifierKey])
|
||||
.allValues
|
||||
.first,
|
||||
let typeString: String = type as? String,
|
||||
MIMETypeUtil.supportedAnimatedImageUTITypes().contains(typeString)
|
||||
else {
|
||||
let viewController: CropScaleImageViewController = CropScaleImageViewController(
|
||||
srcImage: rawAvatar,
|
||||
successCompletion: { resultImage in
|
||||
self?.viewModel.updateProfile(
|
||||
name: name,
|
||||
profilePicture: resultImage,
|
||||
profilePictureFilePath: nil,
|
||||
isUpdatingDisplayName: false,
|
||||
isUpdatingProfilePicture: true
|
||||
)
|
||||
}
|
||||
)
|
||||
self?.viewModel.transitionToScreen(viewController, transitionType: .present)
|
||||
return
|
||||
}
|
||||
|
||||
self?.viewModel.updateProfile(
|
||||
name: name,
|
||||
profilePicture: nil,
|
||||
profilePictureFilePath: imageUrl.path,
|
||||
isUpdatingDisplayName: false,
|
||||
isUpdatingProfilePicture: true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,83 +0,0 @@
|
||||
import UIKit
|
||||
|
||||
@objc(LKAppModeManager)
|
||||
public final class AppModeManager : NSObject {
|
||||
private let delegate: AppModeManagerDelegate
|
||||
|
||||
public var currentAppMode: AppMode {
|
||||
return AppModeManager.getAppModeOrSystemDefault()
|
||||
}
|
||||
|
||||
public static var shared: AppModeManager!
|
||||
|
||||
@objc(configureWithDelegate:)
|
||||
public static func configure(delegate: AppModeManagerDelegate) {
|
||||
shared = AppModeManager(delegate: delegate)
|
||||
}
|
||||
|
||||
private init(delegate: AppModeManagerDelegate) {
|
||||
self.delegate = delegate
|
||||
super.init()
|
||||
}
|
||||
|
||||
private override init() { preconditionFailure("Use init(delegate:) instead.") }
|
||||
|
||||
public func setCurrentAppMode(to appMode: AppMode) {
|
||||
delegate.setCurrentAppMode(to: appMode)
|
||||
}
|
||||
|
||||
public func setAppModeToSystemDefault() {
|
||||
delegate.setAppModeToSystemDefault()
|
||||
}
|
||||
|
||||
@objc public static func getAppModeOrSystemDefault() -> AppMode {
|
||||
let userDefaults = UserDefaults.standard
|
||||
|
||||
guard userDefaults.dictionaryRepresentation().keys.contains("appMode") else {
|
||||
return (UITraitCollection.current.userInterfaceStyle == .dark ? .dark : .light)
|
||||
}
|
||||
|
||||
let mode = userDefaults.integer(forKey: "appMode")
|
||||
return AppMode(rawValue: mode) ?? .light
|
||||
}
|
||||
}
|
||||
|
||||
@objc(LKAppModeManagerDelegate)
|
||||
public protocol AppModeManagerDelegate {
|
||||
|
||||
@objc(setCurrentAppMode:)
|
||||
func setCurrentAppMode(to appMode: AppMode)
|
||||
func setAppModeToSystemDefault()
|
||||
}
|
||||
|
||||
@objc(LKAppMode)
|
||||
public enum AppMode: Int {
|
||||
case light, dark
|
||||
}
|
||||
|
||||
public var isSystemDefault: Bool {
|
||||
return !UserDefaults.standard.dictionaryRepresentation().keys.contains("appMode")
|
||||
}
|
||||
|
||||
public var isLightMode: Bool {
|
||||
return AppModeManager.shared.currentAppMode == .light
|
||||
}
|
||||
|
||||
public var isDarkMode: Bool {
|
||||
return AppModeManager.shared.currentAppMode == .dark
|
||||
}
|
||||
|
||||
@objc public final class LKAppModeUtilities : NSObject {
|
||||
|
||||
@objc public static var isSystemDefault: Bool {
|
||||
return !UserDefaults.standard.dictionaryRepresentation().keys.contains("appMode")
|
||||
}
|
||||
|
||||
@objc public static var isLightMode: Bool {
|
||||
return AppModeManager.shared.currentAppMode == .light
|
||||
}
|
||||
|
||||
@objc public static var isDarkMode: Bool {
|
||||
return AppModeManager.shared.currentAppMode == .dark
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
import UIKit
|
||||
|
||||
@objc public extension UIColor {
|
||||
|
||||
@objc convenience init(hex value: UInt) {
|
||||
let red = CGFloat((value >> 16) & 0xff) / 255
|
||||
let green = CGFloat((value >> 8) & 0xff) / 255
|
||||
let blue = CGFloat((value >> 0) & 0xff) / 255
|
||||
self.init(red: red, green: green, blue: blue, alpha: 1)
|
||||
}
|
||||
}
|
||||
|
||||
@objc(LKColors)
|
||||
public final class Colors : NSObject {
|
||||
|
||||
@objc public static var grey: UIColor { UIColor(named: "session_grey")! }
|
||||
@objc public static var accent: UIColor { UIColor(named: "session_accent")! }
|
||||
@objc public static var text: UIColor { UIColor(named: "session_text")! }
|
||||
@objc public static var destructive: UIColor { UIColor(named: "session_destructive")! }
|
||||
@objc public static var unimportant: UIColor { UIColor(named: "session_unimportant")! }
|
||||
@objc public static var border: UIColor { UIColor(named: "session_border")! }
|
||||
@objc public static var cellBackground: UIColor { UIColor(named: "session_cell_background")! }
|
||||
@objc public static var cellSelected: UIColor { UIColor(named: "session_cell_selected")! }
|
||||
@objc public static var cellPinned: UIColor { UIColor(named: "session_cell_pinned")! }
|
||||
@objc public static var navigationBarBackground: UIColor { UIColor(named: "session_navigation_bar_background")! }
|
||||
@objc public static var searchBarPlaceholder: UIColor { UIColor(named: "session_search_bar_placeholder")! } // Also used for the icons
|
||||
@objc public static var searchBarBackground: UIColor { UIColor(named: "session_search_bar_background")! }
|
||||
@objc public static var expandedButtonGlowColor: UIColor { UIColor(named: "session_expanded_button_glow_color")! }
|
||||
@objc public static var separator: UIColor { UIColor(named: "session_separator")! }
|
||||
@objc public static var unimportantButtonBackground: UIColor { UIColor(named: "session_unimportant_button_background")! }
|
||||
@objc public static var buttonBackground: UIColor { UIColor(named: "session_button_background")! }
|
||||
@objc public static var settingButtonSelected: UIColor { UIColor(named: "session_setting_button_selected")! }
|
||||
@objc public static var modalBackground: UIColor { UIColor(named: "session_modal_background")! }
|
||||
@objc public static var modalBorder: UIColor { UIColor(named: "session_modal_border")! }
|
||||
@objc public static var fakeChatBubbleBackground: UIColor { UIColor(named: "session_fake_chat_bubble_background")! }
|
||||
@objc public static var fakeChatBubbleText: UIColor { UIColor(named: "session_fake_chat_bubble_text")! }
|
||||
@objc public static var composeViewBackground: UIColor { UIColor(named: "session_compose_view_background")! }
|
||||
@objc public static var composeViewTextFieldBackground: UIColor { UIColor(named: "session_compose_view_text_field_background")! }
|
||||
@objc public static var receivedMessageBackground: UIColor { UIColor(named: "session_received_message_background")! }
|
||||
@objc public static var sentMessageBackground: UIColor { UIColor(named: "session_sent_message_background")! }
|
||||
@objc public static var newConversationButtonCollapsedBackground: UIColor { UIColor(named: "session_new_conversation_button_collapsed_background")! }
|
||||
@objc public static var pnOptionBackground: UIColor { UIColor(named: "session_pn_option_background")! }
|
||||
@objc public static var pnOptionBorder: UIColor { UIColor(named: "session_pn_option_border")! }
|
||||
@objc public static var pathsBuilding: UIColor { UIColor(named: "session_paths_building")! }
|
||||
@objc public static var callMessageBackground: UIColor { UIColor(named: "session_call_message_background")! }
|
||||
@objc public static var pinIcon: UIColor { UIColor(named: "session_pin_icon")! }
|
||||
@objc public static var sessionHeading: UIColor { UIColor(named: "session_heading")! }
|
||||
@objc public static var sessionMessageRequestsBubble: UIColor { UIColor(named: "session_message_requests_bubble")! }
|
||||
@objc public static var sessionMessageRequestsIcon: UIColor { UIColor(named: "session_message_requests_icon")! }
|
||||
@objc public static var sessionMessageRequestsTitle: UIColor { UIColor(named: "session_message_requests_title")! }
|
||||
@objc public static var sessionMessageRequestsInfoText: UIColor { UIColor(named: "session_message_requests_info_text")! }
|
||||
@objc public static var blockActionBackground: UIColor { UIColor(named: "session_block_action_background")! }
|
||||
@objc public static var sessionEmojiPlusButtonBackground: UIColor { UIColor(named: "session_emoji_plus_button_background")! }
|
||||
@objc public static var sessionContactsSearchBarBackground: UIColor { UIColor(named: "session_contacts_search_bar_background")! }
|
||||
@objc public static var sessionNewConversationCellBackground: UIColor { UIColor(named: "session_new_conversation_cell_background")! }
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x7B",
|
||||
"green" : "0xE9",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x82",
|
||||
"green" : "0xF7",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x6D",
|
||||
"green" : "0x6D",
|
||||
"red" : "0x6D"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x2D",
|
||||
"green" : "0x2D",
|
||||
"red" : "0x2D"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x97",
|
||||
"green" : "0x97",
|
||||
"red" : "0x97"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFC",
|
||||
"green" : "0xFC",
|
||||
"red" : "0xFC"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x1B",
|
||||
"green" : "0x1B",
|
||||
"red" : "0x1B"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xF5",
|
||||
"green" : "0xF5",
|
||||
"red" : "0xF5"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x21",
|
||||
"green" : "0x21",
|
||||
"red" : "0x21"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFC",
|
||||
"green" : "0xFC",
|
||||
"red" : "0xFC"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x16",
|
||||
"green" : "0x16",
|
||||
"red" : "0x16"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "247",
|
||||
"green" : "247",
|
||||
"red" : "247"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x1C",
|
||||
"green" : "0x1C",
|
||||
"red" : "0x1C"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xDF",
|
||||
"green" : "0xDF",
|
||||
"red" : "0xDF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x0C",
|
||||
"green" : "0x0C",
|
||||
"red" : "0x0C"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFC",
|
||||
"green" : "0xFC",
|
||||
"red" : "0xFC"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x1B",
|
||||
"green" : "0x1B",
|
||||
"red" : "0x1B"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xED",
|
||||
"green" : "0xED",
|
||||
"red" : "0xED"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x14",
|
||||
"green" : "0x14",
|
||||
"red" : "0x14"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0xFF",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x00",
|
||||
"green" : "0x00",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x3A",
|
||||
"green" : "0x3A",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0xFF",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x23",
|
||||
"green" : "0x23",
|
||||
"red" : "0x23"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x44",
|
||||
"green" : "0x7C",
|
||||
"red" : "0x07"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xF5",
|
||||
"green" : "0xF5",
|
||||
"red" : "0xF5"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x46",
|
||||
"green" : "0x41",
|
||||
"red" : "0x3F"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x00",
|
||||
"green" : "0x00",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x30",
|
||||
"green" : "0x2F",
|
||||
"red" : "0x31"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xF9",
|
||||
"green" : "0xF9",
|
||||
"red" : "0xF9"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x00",
|
||||
"green" : "0x00",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x82",
|
||||
"green" : "0xF7",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x58",
|
||||
"green" : "0x58",
|
||||
"red" : "0x58"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x43",
|
||||
"green" : "0x43",
|
||||
"red" : "0x43"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xFF",
|
||||
"green" : "0xFF",
|
||||
"red" : "0xFF"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xAD",
|
||||
"green" : "0xAD",
|
||||
"red" : "0xAD"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x9F",
|
||||
"green" : "0x9F",
|
||||
"red" : "0x9F"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"colors" : [
|
||||
{
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0x00",
|
||||
"green" : "0x00",
|
||||
"red" : "0x00"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"color" : {
|
||||
"color-space" : "srgb",
|
||||
"components" : {
|
||||
"alpha" : "1.000",
|
||||
"blue" : "0xAD",
|
||||
"green" : "0xAD",
|
||||
"red" : "0xAD"
|
||||
}
|
||||
},
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue