aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Graphics/drawables/linked_dns.svg608
-rw-r--r--Graphics/drawables/linked_github.svg6
-rw-r--r--Graphics/drawables/linked_https.svg298
-rw-r--r--Graphics/drawables/linked_twitter.svg54
-rwxr-xr-xGraphics/update-drawables.sh2
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java2
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java2
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GithubResource.java2
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java2
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java53
-rw-r--r--OpenKeychain/src/main/res/anim/fade_in_down.xml11
-rw-r--r--OpenKeychain/src/main/res/anim/fade_in_quick.xml7
-rw-r--r--OpenKeychain/src/main/res/anim/fade_out_quick.xml7
-rw-r--r--OpenKeychain/src/main/res/anim/fade_out_up.xml11
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/linked_dns.pngbin0 -> 8141 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/linked_github.pngbin0 -> 1464 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/linked_https.pngbin0 -> 2526 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-hdpi/linked_twitter.pngbin0 -> 1785 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/linked_dns.pngbin0 -> 5238 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/linked_github.pngbin0 -> 1107 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/linked_https.pngbin0 -> 1836 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-mdpi/linked_twitter.pngbin0 -> 1353 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/linked_dns.pngbin0 -> 14798 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/linked_github.pngbin0 -> 2376 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/linked_https.pngbin0 -> 3620 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xhdpi/linked_twitter.pngbin0 -> 2125 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/linked_dns.pngbin0 -> 22410 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/linked_github.pngbin0 -> 3404 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/linked_https.pngbin0 -> 4811 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable-xxhdpi/linked_twitter.pngbin0 -> 2840 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable/dns.pngbin2043 -> 0 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable/github.pngbin1714 -> 0 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable/ssl_lock.pngbin479 -> 0 bytes
-rw-r--r--OpenKeychain/src/main/res/drawable/twitter.pngbin5122 -> 0 bytes
-rw-r--r--OpenKeychain/src/main/res/layout/cert_list_widget.xml1
-rw-r--r--OpenKeychain/src/main/res/layout/linked_create_dns_fragment_step1.xml28
-rw-r--r--OpenKeychain/src/main/res/layout/linked_create_github_fragment_step1.xml31
-rw-r--r--OpenKeychain/src/main/res/layout/linked_create_https_fragment_step1.xml29
-rw-r--r--OpenKeychain/src/main/res/layout/linked_create_twitter_fragment_step1.xml30
-rw-r--r--OpenKeychain/src/main/res/layout/linked_create_verify.xml4
-rw-r--r--OpenKeychain/src/main/res/layout/linked_id_item.xml12
-rw-r--r--OpenKeychain/src/main/res/layout/linked_id_view_fragment.xml36
-rw-r--r--OpenKeychain/src/main/res/layout/linked_select_fragment.xml24
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml10
44 files changed, 1116 insertions, 154 deletions
diff --git a/Graphics/drawables/linked_dns.svg b/Graphics/drawables/linked_dns.svg
new file mode 100644
index 000000000..743334793
--- /dev/null
+++ b/Graphics/drawables/linked_dns.svg
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="70.132355"
+ height="71.075157"
+ id="svg3275"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="New document 3">
+ <defs
+ id="defs3277">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4114"
+ id="radialGradient4120"
+ gradientTransform="scale(1.64399,0.608276)"
+ cx="15.115514"
+ cy="63.965389"
+ fx="15.115514"
+ fy="63.965389"
+ r="12.289036"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4114">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4116" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4118" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3962"
+ id="radialGradient3968"
+ gradientTransform="scale(0.999989,1.000011)"
+ cx="18.247644"
+ cy="15.716079"
+ fx="18.247644"
+ fy="15.716079"
+ r="29.993349"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient3962">
+ <stop
+ style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3964" />
+ <stop
+ style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+ offset="0.15517241"
+ id="stop4134" />
+ <stop
+ style="stop-color:#4074ae;stop-opacity:1.0000000;"
+ offset="0.75000000"
+ id="stop4346" />
+ <stop
+ style="stop-color:#36486c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3966" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4126"
+ id="radialGradient4132"
+ gradientTransform="scale(0.999989,1.000011)"
+ cx="15.601279"
+ cy="12.142302"
+ fx="15.601279"
+ fy="12.142302"
+ r="43.526714"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient4126">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4128" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.16494845;"
+ offset="1.0000000"
+ id="stop4130" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6001"
+ id="linearGradient6007"
+ x1="-25.176178"
+ y1="30.057165"
+ x2="-22.252472"
+ y2="21.041553"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6001">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6003" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6005" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6001"
+ id="linearGradient6011"
+ gradientUnits="userSpaceOnUse"
+ x1="-25.176178"
+ y1="30.057165"
+ x2="-22.113543"
+ y2="22.661524" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4825"
+ id="radialGradient5987"
+ gradientUnits="userSpaceOnUse"
+ cx="12.071323"
+ cy="12.493138"
+ fx="12.071323"
+ fy="12.493138"
+ r="6.7175145" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4825">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4827" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4829" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6001"
+ id="linearGradient6015"
+ gradientUnits="userSpaceOnUse"
+ x1="-22.822565"
+ y1="28.337734"
+ x2="-22.113543"
+ y2="22.661524" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6001"
+ id="linearGradient6019"
+ gradientUnits="userSpaceOnUse"
+ x1="-21.658581"
+ y1="15.649428"
+ x2="-21.962101"
+ y2="21.336346" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4825"
+ id="radialGradient5983"
+ gradientUnits="userSpaceOnUse"
+ cx="12.071323"
+ cy="12.493138"
+ fx="12.071323"
+ fy="12.493138"
+ r="6.7175145" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4825"
+ id="radialGradient5985"
+ gradientUnits="userSpaceOnUse"
+ cx="12.071323"
+ cy="12.493138"
+ fx="12.071323"
+ fy="12.493138"
+ r="6.7175145" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4825"
+ id="radialGradient5989"
+ gradientUnits="userSpaceOnUse"
+ cx="12.071323"
+ cy="12.493138"
+ fx="12.071323"
+ fy="12.493138"
+ r="6.7175145" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="68.701965"
+ inkscape:cy="-347.3207"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="784"
+ inkscape:window-x="0"
+ inkscape:window-y="16"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata3280">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-256.29803,-113.96632)">
+ <g
+ transform="matrix(1.6227144,0,0,1.6227144,251.95754,108.13469)"
+ id="g3288">
+ <path
+ transform="matrix(1,0,0,1.243244,0,-10.27241)"
+ d="m 45.052803,38.908627 c 0,4.128399 -9.045214,7.475128 -20.203051,7.475128 -11.157836,0 -20.2030502,-3.346729 -20.2030502,-7.475128 0,-4.1284 9.0452142,-7.475129 20.2030502,-7.475129 11.157837,0 20.203051,3.346729 20.203051,7.475129 z"
+ sodipodi:ry="7.4751287"
+ sodipodi:rx="20.203051"
+ sodipodi:cy="38.908627"
+ sodipodi:cx="24.849752"
+ id="path4112"
+ style="fill:url(#radialGradient4120);fill-opacity:1;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3214"
+ d="m 43.959853,23.485499 c 0,10.709718 -8.682103,19.391723 -19.390348,19.391723 -10.709226,0 -19.3908387,-8.682103 -19.3908387,-19.391723 0,-10.709227 8.6816127,-19.3903473 19.3908387,-19.3903473 10.708245,0 19.390348,8.6811203 19.390348,19.3903473 l 0,0 z"
+ style="fill:url(#radialGradient3968);fill-opacity:1;fill-rule:nonzero;stroke:#39396c;stroke-miterlimit:4;stroke-opacity:1" />
+ <g
+ transform="matrix(0.982371,0,0,0.982371,0.121079,0.232914)"
+ style="fill:#204a87;fill-opacity:0.71345029;fill-rule:nonzero;stroke:none"
+ id="g4136">
+ <g
+ style="fill:#204a87"
+ id="g4138">
+ <g
+ style="fill:#204a87"
+ id="g4142">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4144"
+ d="m 44.0713,20.7144 c 0,0.2627 0,0 0,0 l -0.5449,0.6172 c -0.334,-0.3936 -0.709,-0.7246 -1.0898,-1.0703 l -0.8359,0.123 -0.7637,-0.8633 0,1.0684 0.6543,0.4951 0.4355,0.4932 0.582,-0.6582 c 0.1465,0.2744 0.291,0.5488 0.4365,0.8232 l 0,0.8223 -0.6553,0.7402 -1.1992,0.8232 -0.9082,0.9063 -0.582,-0.6602 0.291,-0.7402 -0.5811,-0.6582 -0.9814,-2.0977 -0.8359,-0.9453 -0.2188,0.2461 0.3281,1.1934 0.6172,0.6992 c 0.3525,1.0176 0.7012,1.9902 1.1641,2.9629 0.7178,0 1.3945,-0.0762 2.1074,-0.166 l 0,0.5762 -0.8721,2.1392 -0.7998,0.9043 -0.6543,1.4004 c 0,0.7676 0,1.5352 0,2.3027 l 0.2188,0.9063 -0.3633,0.4102 -0.8008,0.4941 -0.8359,0.6992 0.6914,0.7813 -0.9453,0.8242 0.1816,0.5332 -1.418,1.6055 -0.9443,0 -0.7998,0.4941 -0.5098,0 0,-0.6582 -0.2168,-1.3184 c -0.2813,-0.8262 -0.5742,-1.6465 -0.8721,-2.4668 0,-0.6055 0.0361,-1.2051 0.0723,-1.8105 l 0.3643,-0.8223 -0.5098,-0.9883 0.0371,-1.3574 -0.6914,-0.7813 0.3457,-1.1309 -0.5625,-0.6382 -0.9824,0 -0.3271,-0.3701 -0.9814,0.6177 -0.3994,-0.4536 -0.9092,0.7817 c -0.6172,-0.6997 -1.2354,-1.3989 -1.8535,-2.0981 l -0.7266,-1.7285 0.6543,-0.9863 -0.3633,-0.4111 0.7988,-1.8936 c 0.6563,-0.8164 1.3418,-1.5996 2.0352,-2.3857 l 1.2363,-0.3291 1.3809,-0.1641 0.9453,0.2471 1.3447,1.3564 0.4727,-0.5342 0.6533,-0.082 1.2363,0.4111 0.9453,0 0.6543,-0.5762 0.291,-0.4111 -0.6553,-0.4111 -1.0908,-0.082 c -0.3027,-0.4199 -0.584,-0.8613 -0.9434,-1.2344 l -0.3643,0.1641 -0.1455,1.0703 -0.6543,-0.7402 -0.1445,-0.8242 -0.7266,-0.5742 -0.292,0 0.7275,0.8223 -0.291,0.7402 -0.5811,0.1641 0.3633,-0.7402 -0.6553,-0.3281 -0.5801,-0.6582 -1.0918,0.2461 -0.1445,0.3281 -0.6543,0.4121 -0.3633,0.9053 -0.9082,0.4521 -0.4004,-0.4521 -0.4355,0 0,-1.4814 0.9453,-0.4941 0.7266,0 -0.1465,-0.5752 -0.5801,-0.5762 0.9805,-0.2061 0.5449,-0.6162 0.4355,-0.7412 0.8008,0 -0.2188,-0.5752 0.5098,-0.3291 0,0.6582 1.0898,0.2461 1.0898,-0.9043 0.0732,-0.4121 0.9443,-0.6577 c -0.3418,0.0425 -0.6836,0.0737 -1.0176,0.1646 l 0,-0.7411 0.3633,-0.8228 -0.3633,0 -0.7984,0.7402 -0.2188,0.4116 0.2188,0.5767 -0.3643,0.9863 -0.5811,-0.3291 -0.5078,-0.5752 -0.8008,0.5752 -0.291,-1.3159 1.3809,-0.9048 0,-0.4941 0.873,-0.5757 1.3809,-0.3296 0.9453,0.3296 1.7441,0.3291 -0.4355,0.4932 -0.9453,0 0.9453,0.9873 0.7266,-0.8223 0.2207,-0.3618 c 0,0 2.7871,2.498 4.3799,5.2305 1.5928,2.7334 2.3408,5.9551 2.3408,6.6094 z" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4146">
+ <g
+ style="fill:#204a87"
+ id="g4150">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4152"
+ d="m 26.0703,9.2363 -0.0732,0.4932 0.5098,0.3291 0.8711,-0.5757 -0.4355,-0.4937 -0.582,0.3296 -0.29,-0.0825" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4154">
+ <g
+ style="fill:#204a87"
+ id="g4158">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4160"
+ d="m 26.8701,5.8633 -1.8906,-0.7407 -2.1797,0.2466 -2.6904,0.7402 -0.5088,0.4941 1.6719,1.1514 0,0.6582 -0.6543,0.6582 0.873,1.729 0.5801,-0.3301 0.7285,-1.1514 c 1.123,-0.3472 2.1299,-0.7407 3.1973,-1.2344 l 0.873,-2.2212" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4162">
+ <g
+ style="fill:#204a87"
+ id="g4166">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4168"
+ d="m 28.833,12.7749 -0.291,-0.7412 -0.5098,0.165 0.1465,0.9043 0.6543,-0.3281" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4170">
+ <g
+ style="fill:#204a87"
+ id="g4174">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4176"
+ d="m 29.123,12.6089 -0.1455,0.9883 0.7998,-0.165 0.5811,-0.5752 -0.5088,-0.4941 C 29.6787,11.9078 29.4824,11.483 29.2685,11.0465 l -0.4355,0 0,0.4932 0.29,0.3291 0,0.7402" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4178">
+ <g
+ style="fill:#204a87"
+ id="g4182">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4184"
+ d="m 18.3652,28.2422 -0.582,-1.1523 -1.0903,-0.2466 -0.5815,-1.5625 -1.4536,0.1641 -1.2354,-0.9043 -1.3091,1.1514 0,0.1816 c -0.396,-0.1143 -0.8828,-0.1299 -1.2354,-0.3467 l -0.291,-0.8223 0,-0.9053 -0.8721,0.082 c 0.0728,-0.5762 0.145,-1.1514 0.2183,-1.7275 l -0.5093,0 -0.5083,0.6582 -0.5093,0.2461 -0.7271,-0.4102 -0.0728,-0.9053 0.1455,-0.9873 1.0908,-0.8223 0.8721,0 0.145,-0.4941 1.0903,0.2461 0.7998,0.9883 0.1455,-1.6465 1.3813,-1.1514 0.5088,-1.2344 1.0176,-0.4111 0.5815,-0.8223 1.3081,-0.248 0.6548,-0.9863 c -0.6543,0 -1.3086,0 -1.9629,0 l 1.2358,-0.5762 0.8716,0 1.2363,-0.4121 0.1455,-0.4922 -0.4365,-0.4121 -0.5088,-0.165 0.1455,-0.4932 -0.3633,-0.7402 -0.8726,0.3281 0.1455,-0.6577 -1.0176,-0.5762 -0.7993,1.3979 0.0723,0.4941 -0.7993,0.3301 -0.5093,1.0693 -0.2178,-0.9873 -1.3813,-0.5762 -0.2183,-0.7402 1.8174,-1.0703 0.7998,-0.7402 0.0728,-0.9048 -0.436,-0.2471 -0.5815,-0.0825 -0.3633,0.9053 c 0,0 -0.6079,0.1191 -0.7642,0.1577 -1.9961,1.8394 -6.0293,5.8101 -6.9663,13.3062 0.0371,0.1738 0.6792,1.1816 0.6792,1.1816 l 1.5264,0.9043 1.5264,0.4121 0.6548,0.8232 1.0171,0.7402 0.5815,-0.082 0.436,0.1963 0,0.1328 -0.5811,1.563 -0.4365,0.6582 0.1455,0.3301 -0.3633,1.2324 1.3086,2.3867 1.3081,1.1523 0.582,0.8223 -0.0732,1.7285 0.4365,0.9863 -0.4365,1.8926 c 0,0 -0.0342,-0.0117 0.0215,0.1777 0.0562,0.1895 2.3291,1.4512 2.4736,1.3438 0.144,-0.1094 0.2671,-0.2051 0.2671,-0.2051 l -0.145,-0.4102 0.5811,-0.5762 0.2183,-0.5762 0.9453,-0.3301 0.7266,-1.8105 -0.2178,-0.4922 0.5078,-0.7402 1.0908,-0.248 0.582,-1.3164 -0.1455,-1.6445 0.8721,-1.2344 0.1455,-1.2344 C 20.7331,29.4607 19.5495,28.8513 18.365,28.242" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4186">
+ <g
+ style="fill:#204a87"
+ id="g4190">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4192"
+ d="m 16.7656,9.5649 0.7266,0.4937 0.582,0 0,-0.5757 -0.7266,-0.3291 -0.582,0.4111" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4194">
+ <g
+ style="fill:#204a87"
+ id="g4198">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4200"
+ d="m 14.876,8.9072 -0.3638,0.9048 0.7271,0 0.3638,-0.8228 C 15.9166,8.7675 16.2286,8.5444 16.5479,8.331 l 0.7271,0.2471 c 0.4844,0.3291 0.9688,0.6582 1.4536,0.9868 L 19.4561,8.9072 18.6558,8.5781 18.292,7.8374 16.9111,7.6728 16.8383,7.2612 16.184,7.4262 15.8936,8.002 15.5298,7.2613 l -0.145,0.3291 0.0728,0.8228 -0.5816,0.494" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4202">
+ <g
+ id="g4204"
+ style="opacity:0.75;fill:#204a87">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ d=""
+ id="path4206" />
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4208">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ d=""
+ id="path4210" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4212">
+ <g
+ id="g4214"
+ style="opacity:0.75;fill:#204a87">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ d=""
+ id="path4216" />
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4218">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ d=""
+ id="path4220" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4222">
+ <g
+ style="fill:#204a87"
+ id="g4226">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4228"
+ d="M 17.4922,6.8496 17.856,6.521 18.5831,6.3564 c 0.498,-0.2422 0.998,-0.4053 1.5264,-0.5762 l -0.29,-0.4937 -0.9385,0.1348 -0.4434,0.4419 -0.731,0.106 -0.6499,0.3052 -0.3159,0.1528 -0.1929,0.2583 0.9443,0.1641" />
+ </g>
+ </g>
+ <g
+ style="fill:#204a87"
+ id="g4230">
+ <g
+ style="fill:#204a87"
+ id="g4234">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#204a87"
+ id="path4236"
+ d="m 18.7285,14.6665 0.4365,-0.6582 -0.6548,-0.4932 0.2183,1.1514" />
+ </g>
+ </g>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ id="path4122"
+ d="m 42.975093,23.485534 c 0,10.16582 -8.241178,18.406906 -18.4056,18.406906 -10.165354,0 -18.4060669,-8.241179 -18.4060669,-18.406906 0,-10.165354 8.2407129,-18.4056 18.4060669,-18.4056 10.164422,0 18.4056,8.240246 18.4056,18.4056 l 0,0 z"
+ style="opacity:0.39560439;fill:none;stroke:url(#radialGradient4132);stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ transform="matrix(1.131034,0.613097,-0.476556,0.879144,54.09058,16.04435)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m -2.8284283,21.041553 c 0,5.223263 -7.0439603,9.457553 -15.7331257,9.457553 -8.689165,0 -15.733126,-4.23429 -15.733126,-9.457553 0,-5.223262 7.043961,-9.457552 15.733126,-9.457552 8.6891654,0 15.7331257,4.23429 15.7331257,9.457552 z"
+ sodipodi:ry="9.4575529"
+ sodipodi:rx="15.733126"
+ sodipodi:cy="21.041553"
+ sodipodi:cx="-18.561554"
+ id="path5991"
+ style="color:#000000;fill:none;stroke:url(#linearGradient6007);stroke-width:0.88164198;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:url(#linearGradient6011);stroke-width:0.88164198;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path6009"
+ sodipodi:cx="-18.561554"
+ sodipodi:cy="21.041553"
+ sodipodi:rx="15.733126"
+ sodipodi:ry="9.4575529"
+ d="m -2.8284283,21.041553 c 0,5.223263 -7.0439603,9.457553 -15.7331257,9.457553 -8.689165,0 -15.733126,-4.23429 -15.733126,-9.457553 0,-5.223262 7.043961,-9.457552 15.733126,-9.457552 8.6891654,0 15.7331257,4.23429 15.7331257,9.457552 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(0.939326,-0.879086,0.683307,0.730131,32.31406,-4.451561)" />
+ <g
+ id="g4933"
+ transform="matrix(-1.045772,0.767251,0.767251,1.045772,35.61651,-22.14396)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient5987);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path4935"
+ sodipodi:cx="12.071323"
+ sodipodi:cy="12.493138"
+ sodipodi:rx="6.7175145"
+ sodipodi:ry="6.7175145"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="translate(14.95026,22.93047)" />
+ <path
+ transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ sodipodi:ry="6.7175145"
+ sodipodi:rx="6.7175145"
+ sodipodi:cy="12.493138"
+ sodipodi:cx="12.071323"
+ id="path4937"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ </g>
+ <path
+ transform="matrix(-1.280316,-0.126159,0.09806226,-0.99518,-2.405125,40.52387)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m -2.8284283,21.041553 c 0,5.223263 -7.0439603,9.457553 -15.7331257,9.457553 -8.689165,0 -15.733126,-4.23429 -15.733126,-9.457553 0,-5.223262 7.043961,-9.457552 15.733126,-9.457552 8.6891654,0 15.7331257,4.23429 15.7331257,9.457552 z"
+ sodipodi:ry="9.4575529"
+ sodipodi:rx="15.733126"
+ sodipodi:cy="21.041553"
+ sodipodi:cx="-18.561554"
+ id="path6013"
+ style="color:#000000;fill:none;stroke:url(#linearGradient6015);stroke-width:0.88164198;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.917874,-0.858983,0.667701,0.713433,27.63317,-6.909069)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m -2.8284283,21.041553 c 0,5.223263 -7.0439603,9.457553 -15.7331257,9.457553 -8.689165,0 -15.733126,-4.23429 -15.733126,-9.457553 0,-5.223262 7.043961,-9.457552 15.733126,-9.457552 8.6891654,0 15.7331257,4.23429 15.7331257,9.457552 z"
+ sodipodi:ry="9.4575529"
+ sodipodi:rx="15.733126"
+ sodipodi:cy="21.041553"
+ sodipodi:cx="-18.561554"
+ id="path6017"
+ style="color:#000000;fill:none;stroke:url(#linearGradient6019);stroke-width:0.90226138;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(-0.806276,0.59154,0.59154,0.806276,12.38564,-18.02921)"
+ id="g5075">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient5983);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path5077"
+ sodipodi:cx="12.071323"
+ sodipodi:cy="12.493138"
+ sodipodi:rx="6.7175145"
+ sodipodi:ry="6.7175145"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="translate(14.95026,22.93047)" />
+ <path
+ transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ sodipodi:ry="6.7175145"
+ sodipodi:rx="6.7175145"
+ sodipodi:cy="12.493138"
+ sodipodi:cx="12.071323"
+ id="path5079"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g4945"
+ transform="matrix(-0.806276,0.59154,0.59154,0.806276,13.4991,-31.50022)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ transform="translate(14.95026,22.93047)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ sodipodi:ry="6.7175145"
+ sodipodi:rx="6.7175145"
+ sodipodi:cy="12.493138"
+ sodipodi:cx="12.071323"
+ id="path4947"
+ style="color:#000000;fill:url(#radialGradient5985);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path4949"
+ sodipodi:cx="12.071323"
+ sodipodi:cy="12.493138"
+ sodipodi:rx="6.7175145"
+ sodipodi:ry="6.7175145"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)" />
+ </g>
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(-0.870227,0.638572,0.638458,0.870381,25.20503,-35.31278)"
+ id="g4939">
+ <path
+ transform="translate(14.95026,22.93047)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ sodipodi:ry="6.7175145"
+ sodipodi:rx="6.7175145"
+ sodipodi:cy="12.493138"
+ sodipodi:cx="12.071323"
+ id="path4941"
+ style="color:#000000;fill:url(#radialGradient5989);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path4943"
+ sodipodi:cx="12.071323"
+ sodipodi:cy="12.493138"
+ sodipodi:rx="6.7175145"
+ sodipodi:ry="6.7175145"
+ d="m 18.788838,12.493138 c 0,3.709981 -3.007534,6.717515 -6.717515,6.717515 -3.7099804,0 -6.7175141,-3.007534 -6.7175141,-6.717515 0,-3.7099805 3.0075337,-6.7175142 6.7175141,-6.7175142 3.709981,0 6.717515,3.0075337 6.717515,6.7175142 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/Graphics/drawables/linked_github.svg b/Graphics/drawables/linked_github.svg
new file mode 100644
index 000000000..e107a97cf
--- /dev/null
+++ b/Graphics/drawables/linked_github.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generator: Adobe Illustrator 16.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="512px" height="512px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<path d="M256,32C132.3,32,32,134.9,32,261.7c0,101.5,64.2,187.5,153.2,217.9c1.4,0.3,2.6,0.4,3.8,0.4c8.3,0,11.5-6.1,11.5-11.4 c0-5.5-0.2-19.9-0.3-39.1c-8.4,1.9-15.9,2.7-22.6,2.7c-43.1,0-52.9-33.5-52.9-33.5c-10.2-26.5-24.9-33.6-24.9-33.6 c-19.5-13.7-0.1-14.1,1.4-14.1c0.1,0,0.1,0,0.1,0c22.5,2,34.3,23.8,34.3,23.8c11.2,19.6,26.2,25.1,39.6,25.1c10.5,0,20-3.4,25.6-6 c2-14.8,7.8-24.9,14.2-30.7c-49.7-5.8-102-25.5-102-113.5c0-25.1,8.7-45.6,23-61.6c-2.3-5.8-10-29.2,2.2-60.8c0,0,1.6-0.5,5-0.5 c8.1,0,26.4,3.1,56.6,24.1c17.9-5.1,37-7.6,56.1-7.7c19,0.1,38.2,2.6,56.1,7.7c30.2-21,48.5-24.1,56.6-24.1c3.4,0,5,0.5,5,0.5 c12.2,31.6,4.5,55,2.2,60.8c14.3,16.1,23,36.6,23,61.6c0,88.2-52.4,107.6-102.3,113.3c8,7.1,15.2,21.1,15.2,42.5 c0,30.7-0.3,55.5-0.3,63c0,5.4,3.1,11.5,11.4,11.5c1.2,0,2.6-0.1,4-0.4C415.9,449.2,480,363.1,480,261.7C480,134.9,379.7,32,256,32z " fill="#000000"/>
+</svg>
diff --git a/Graphics/drawables/linked_https.svg b/Graphics/drawables/linked_https.svg
new file mode 100644
index 000000000..10cdd9728
--- /dev/null
+++ b/Graphics/drawables/linked_https.svg
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.43+devel"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/emblems"
+ sodipodi:docname="emblem-readonly.svg">
+ <defs
+ id="defs3">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient11327">
+ <stop
+ style="stop-color:#7d6400;stop-opacity:1;"
+ offset="0"
+ id="stop11329" />
+ <stop
+ style="stop-color:#be9700;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11331" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2092">
+ <stop
+ id="stop2094"
+ offset="0"
+ style="stop-color:#fff7b0;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffec41;stop-opacity:1.0000000;"
+ offset="0.20999999"
+ id="stop2098" />
+ <stop
+ id="stop2293"
+ offset="0.83999997"
+ style="stop-color:#e2cc00;stop-opacity:1;" />
+ <stop
+ id="stop2100"
+ offset="1"
+ style="stop-color:#c3af00;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11335">
+ <stop
+ style="stop-color:#6f716d;stop-opacity:1;"
+ offset="0"
+ id="stop11337" />
+ <stop
+ style="stop-color:#9ea09c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11339" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10591">
+ <stop
+ style="stop-color:#cad0c6;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop10593" />
+ <stop
+ id="stop10599"
+ offset="0.50000000"
+ style="stop-color:#eaece9;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#c5cbc0;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop10595" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ id="stop11522"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11524"
+ offset="1.0000000"
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508"
+ inkscape:collect="always">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1348"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.435476e-15,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#ef2929"
+ fill="#729fcf"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="24.194962"
+ inkscape:cy="-13.983676"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="872"
+ inkscape:window-height="707"
+ inkscape:window-x="155"
+ inkscape:window-y="230" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <dc:title>Read Only Emblem</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>emblem</rdf:li>
+ <rdf:li>read-only</rdf:li>
+ <rdf:li>nowrite</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(2.243788e-2,0,0,2.086758e-2,44.06795,40.547)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ ry="5.4548240"
+ rx="5.4548240"
+ y="3.5233452"
+ x="4.4147282"
+ height="40.061924"
+ width="40.061924"
+ id="rect11518"
+ style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9b9b9b;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect11528"
+ width="37.696587"
+ height="37.696587"
+ x="5.5973887"
+ y="4.7060070"
+ rx="4.2426391"
+ ry="4.2426391" />
+ <path
+ style="opacity:0.69886361;color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 23.906254,10.878347 C 19.835833,11.005873 17.137508,12.963117 17.137508,17.000087 L 17.137508,21.120489 L 16.221429,21.120489 C 15.54928,21.120489 15,21.583436 15,22.163203 L 15,32.993974 C 15,33.573741 15.54928,34.036689 16.221429,34.036688 L 32.795528,34.036688 C 33.467687,34.036688 34,33.57374 34,32.993974 L 34,22.163203 C 34,21.583437 33.467687,21.120489 32.795528,21.120489 L 31.862492,21.120489 L 31.87946,17.067359 C 31.87946,12.782023 28.950269,10.931241 24.516968,10.878347 C 24.310278,10.875868 24.10644,10.872076 23.906254,10.878347 z M 24.313392,13.58604 C 24.388241,13.584353 24.4735,13.58604 24.550894,13.58604 C 29.469737,13.58604 29.092541,17.084436 29.165175,18.126891 L 29.165175,21.120489 L 19.902675,21.120489 L 19.902675,18.143709 C 19.885214,17.109531 19.597992,13.692412 24.313392,13.58604 z "
+ id="path2086"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+</svg>
diff --git a/Graphics/drawables/linked_twitter.svg b/Graphics/drawables/linked_twitter.svg
new file mode 100644
index 000000000..af980c761
--- /dev/null
+++ b/Graphics/drawables/linked_twitter.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="300"
+ height="300"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ sodipodi:docname="linked_twitter.svg">
+ <metadata
+ id="metadata10">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs8" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1280"
+ inkscape:window-height="784"
+ id="namedview6"
+ showgrid="false"
+ inkscape:zoom="0.78666667"
+ inkscape:cx="150"
+ inkscape:cy="150"
+ inkscape:window-x="0"
+ inkscape:window-y="16"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2" />
+ <path
+ d="m 281.28401,68.569314 c -9.65988,4.28511 -20.04313,7.179922 -30.93839,8.482259 11.12106,-6.666601 19.66371,-17.223148 23.68494,-29.802782 -10.4095,6.174287 -21.93755,10.656323 -34.20867,13.071949 -9.82529,-10.4699 -23.82542,-17.010469 -39.31956,-17.010469 -29.74895,0 -53.86976,24.118185 -53.86976,53.86714 0,4.222089 0.47656,8.333909 1.39423,12.276369 C 103.25633,107.20751 63.563924,85.760954 36.994667,53.1697 c -4.636951,7.955811 -7.294139,17.208707 -7.294139,27.081265 0,18.68959 9.510213,35.177545 23.964582,44.837425 -8.830162,-0.27963 -17.136501,-2.70314 -24.399132,-6.73749 -0.0053,0.22449 -0.0053,0.4503 -0.0053,0.67742 0,26.09926 18.56881,47.8714 43.21213,52.82081 -4.520108,1.23144 -9.279153,1.88917 -14.1918,1.88917 -3.47115,0 -6.845148,-0.33871 -10.135126,-0.96625 6.855651,21.40061 26.749116,36.97614 50.322472,37.40938 -18.436212,14.44912 -41.662979,23.06004 -66.902329,23.06004 -4.348126,0 -8.635861,-0.25469 -12.850078,-0.75357 23.839862,15.28539 52.155197,24.20483 82.576325,24.20483 99.08398,0 153.26883,-82.08401 153.26883,-153.27014 0,-2.33554 -0.0525,-4.657955 -0.15623,-6.969866 10.52504,-7.593467 19.65715,-17.081362 26.87909,-27.88341 z"
+ style="fill:#3aaae1"
+ id="path4"
+ inkscape:connector-curvature="0" />
+</svg>
diff --git a/Graphics/update-drawables.sh b/Graphics/update-drawables.sh
index a2da5bbfc..4de6f4efe 100755
--- a/Graphics/update-drawables.sh
+++ b/Graphics/update-drawables.sh
@@ -41,7 +41,7 @@ inkscape -w 192 -h 192 -e "$XDPI_DIR/${NAME}_96dp.png" "$SRC_DIR/$NAME.svg"
inkscape -w 256 -h 256 -e "$XXDPI_DIR/${NAME}_96dp.png" "$SRC_DIR/$NAME.svg"
done
-for NAME in "create_key_robot"
+for NAME in "create_key_robot" "linked_dns" "linked_https" "linked_github" "linked_twitter"
do
echo $NAME
inkscape -w 48 -h 48 -e "$MDPI_DIR/$NAME.png" "$SRC_DIR/$NAME.svg"
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java
index 368d0f4da..a8faa435d 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/DnsResource.java
@@ -112,7 +112,7 @@ public class DnsResource extends LinkedCookieResource {
@Override
public @DrawableRes int getDisplayIcon() {
- return R.drawable.dns;
+ return R.drawable.linked_dns;
}
@Override
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java
index 597d5aee0..8f5c0f8c2 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GenericHttpsResource.java
@@ -65,7 +65,7 @@ public class GenericHttpsResource extends LinkedCookieResource {
@Override
public @DrawableRes
int getDisplayIcon() {
- return R.drawable.ssl_lock;
+ return R.drawable.linked_https;
}
@Override
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GithubResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GithubResource.java
index 723898d20..d411395a3 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GithubResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/GithubResource.java
@@ -182,7 +182,7 @@ public class GithubResource extends LinkedCookieResource {
@Override
public @DrawableRes
int getDisplayIcon() {
- return R.drawable.github;
+ return R.drawable.linked_github;
}
@Override
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java
index 54444ee5e..935268da6 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/linked/resources/TwitterResource.java
@@ -108,7 +108,7 @@ public class TwitterResource extends LinkedCookieResource {
@Override
public @DrawableRes int getDisplayIcon() {
- return R.drawable.twitter;
+ return R.drawable.linked_twitter;
}
@Override
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java
index e0db0174e..aa99a2907 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/linked/LinkedIdViewFragment.java
@@ -25,10 +25,11 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
-import android.widget.TextView;
+import android.widget.TextSwitcher;
import android.widget.ViewAnimator;
import org.sufficientlysecure.keychain.Constants;
+import org.sufficientlysecure.keychain.Constants.key;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.CertifyResult;
import org.sufficientlysecure.keychain.operations.results.LinkedVerifyResult;
@@ -180,16 +181,12 @@ public class LinkedIdViewFragment extends Fragment implements
private void loadIdentity(RawLinkedIdentity linkedId, int certStatus) {
mLinkedId = linkedId;
- setShowVerifying(false);
-
if (mLinkedId instanceof LinkedIdentity) {
LinkedResource res = ((LinkedIdentity) mLinkedId).mResource;
mLinkedResource = (LinkedCookieResource) res;
}
if (!mIsSecret) {
- mViewHolder.mLinkedIdHolder.vVerified.setVisibility(View.VISIBLE);
-
switch (certStatus) {
case Certs.VERIFIED_SECRET:
KeyFormattingUtils.setStatusImage(mContext, mViewHolder.mLinkedIdHolder.vVerified,
@@ -204,12 +201,12 @@ public class LinkedIdViewFragment extends Fragment implements
null, State.INVALID, KeyFormattingUtils.DEFAULT_COLOR);
break;
}
- } else {
- mViewHolder.mLinkedIdHolder.vVerified.setVisibility(View.GONE);
}
mViewHolder.mLinkedIdHolder.setData(mContext, mLinkedId);
+ setShowVerifying(false);
+
// no resource, nothing further we can do…
if (mLinkedResource == null) {
mViewHolder.vButtonView.setVisibility(View.GONE);
@@ -255,7 +252,7 @@ public class LinkedIdViewFragment extends Fragment implements
private final View vButtonBack;
private final ViewAnimator vProgress;
- private final TextView vText;
+ private final TextSwitcher vText;
ViewHolder(View root) {
vLinkedCerts = (CertListWidget) root.findViewById(R.id.linked_id_certs);
@@ -274,18 +271,18 @@ public class LinkedIdViewFragment extends Fragment implements
vItemCertified = (ViewAnimator) root.findViewById(R.id.linked_id_certified);
vProgress = (ViewAnimator) root.findViewById(R.id.linked_cert_progress);
- vText = (TextView) root.findViewById(R.id.linked_cert_text);
+ vText = (TextSwitcher) root.findViewById(R.id.linked_cert_text);
}
enum VerifyState {
VERIFYING, VERIFY_OK, VERIFY_ERROR, CERTIFYING
}
- void setVerifyingState(VerifyState state, boolean isSecret) {
+ void setVerifyingState(Context context, VerifyState state, boolean isSecret) {
switch (state) {
case VERIFYING:
vProgress.setDisplayedChild(0);
- vText.setText("Verifying…");
+ vText.setText(context.getString(R.string.linked_text_verifying));
vKeySpinner.setVisibility(View.GONE);
break;
@@ -303,25 +300,30 @@ public class LinkedIdViewFragment extends Fragment implements
case VERIFY_ERROR:
showButton(1);
vProgress.setDisplayedChild(2);
- vText.setText("Error");
+ vText.setText(context.getString(R.string.linked_text_error));
vKeySpinner.setVisibility(View.GONE);
break;
case CERTIFYING:
vProgress.setDisplayedChild(0);
- vText.setText("Confirming…");
+ vText.setText(context.getString(R.string.linked_text_confirming));
vKeySpinner.setVisibility(View.GONE);
break;
}
}
- void showVerifyingContainer(boolean show, boolean isSecret) {
+ void showVerifyingContainer(Context context, boolean show, boolean isSecret) {
if (vVerifyingContainer.getDisplayedChild() == (show ? 1 : 0)) {
return;
}
+ vVerifyingContainer.setInAnimation(context, show ? R.anim.fade_in_up : R.anim.fade_in_down);
+ vVerifyingContainer.setOutAnimation(context, show ? R.anim.fade_out_up : R.anim.fade_out_down);
vVerifyingContainer.setDisplayedChild(show ? 1 : 0);
- vItemCertified.setDisplayedChild(show && !isSecret ? 1 : 0);
+
+ vItemCertified.setInAnimation(context, show ? R.anim.fade_in_up : R.anim.fade_in_down);
+ vItemCertified.setOutAnimation(context, show ? R.anim.fade_out_up : R.anim.fade_out_down);
+ vItemCertified.setDisplayedChild(show || isSecret ? 1 : 0);
}
void showButton(int which) {
@@ -363,7 +365,7 @@ public class LinkedIdViewFragment extends Fragment implements
mViewHolder.showButton(0);
mViewHolder.vKeySpinner.setVisibility(View.GONE);
- mViewHolder.showVerifyingContainer(false, mIsSecret);
+ mViewHolder.showVerifyingContainer(mContext, false, mIsSecret);
return;
}
@@ -376,7 +378,7 @@ public class LinkedIdViewFragment extends Fragment implements
manager.beginTransaction().addToBackStack("verification").commit();
manager.executePendingTransactions();
manager.addOnBackStackChangedListener(this);
- mViewHolder.showVerifyingContainer(true, mIsSecret);
+ mViewHolder.showVerifyingContainer(mContext, true, mIsSecret);
}
@@ -449,7 +451,7 @@ public class LinkedIdViewFragment extends Fragment implements
setShowVerifying(true);
mViewHolder.vKeySpinner.setVisibility(View.GONE);
- mViewHolder.setVerifyingState(VerifyState.VERIFYING, mIsSecret);
+ mViewHolder.setVerifyingState(mContext, VerifyState.VERIFYING, mIsSecret);
mInProgress = new AsyncTask<Void,Void,LinkedVerifyResult>() {
@Override
@@ -474,10 +476,10 @@ public class LinkedIdViewFragment extends Fragment implements
return;
}
if (result.success()) {
- mViewHolder.vText.setText(mLinkedResource.getVerifiedText(mIsSecret));
- mViewHolder.setVerifyingState(VerifyState.VERIFY_OK, mIsSecret);
+ mViewHolder.vText.setText(getString(mLinkedResource.getVerifiedText(mIsSecret)));
+ mViewHolder.setVerifyingState(mContext, VerifyState.VERIFY_OK, mIsSecret);
} else {
- mViewHolder.setVerifyingState(VerifyState.VERIFY_ERROR, mIsSecret);
+ mViewHolder.setVerifyingState(mContext, VerifyState.VERIFY_ERROR, mIsSecret);
result.createNotify(getActivity()).show();
}
mInProgress = null;
@@ -493,8 +495,12 @@ public class LinkedIdViewFragment extends Fragment implements
}
// get the user's passphrase for this key (if required)
- Passphrase passphrase;
long certifyKeyId = mViewHolder.vKeySpinner.getSelectedItemId();
+ if (certifyKeyId == key.none || certifyKeyId == key.symmetric) {
+ Notify.create(getActivity(), R.string.select_key_to_certify, Style.ERROR).show();
+ }
+
+ Passphrase passphrase;
try {
passphrase = PassphraseCacheService.getCachedPassphrase(
getActivity(), certifyKeyId, certifyKeyId);
@@ -541,7 +547,7 @@ public class LinkedIdViewFragment extends Fragment implements
return;
}
- mViewHolder.setVerifyingState(VerifyState.CERTIFYING, false);
+ mViewHolder.setVerifyingState(mContext, VerifyState.CERTIFYING, false);
Bundle data = new Bundle();
{
@@ -577,6 +583,7 @@ public class LinkedIdViewFragment extends Fragment implements
if (message.arg1 == MessageStatus.OKAY.ordinal()) {
CertifyResult result = data.getParcelable(CertifyResult.EXTRA_RESULT);
result.createNotify(getActivity()).show();
+ // no need to do anything else, we will get a loader refresh!
}
}
diff --git a/OpenKeychain/src/main/res/anim/fade_in_down.xml b/OpenKeychain/src/main/res/anim/fade_in_down.xml
new file mode 100644
index 000000000..fb9ed416e
--- /dev/null
+++ b/OpenKeychain/src/main/res/anim/fade_in_down.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <translate android:fromYDelta="-10" android:toYDelta="0"
+ android:interpolator="@android:anim/decelerate_interpolator"
+ android:duration="200"
+ />
+ <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
+ android:interpolator="@android:anim/accelerate_interpolator"
+ android:duration="200"
+ />
+</set> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/anim/fade_in_quick.xml b/OpenKeychain/src/main/res/anim/fade_in_quick.xml
new file mode 100644
index 000000000..e0725de3d
--- /dev/null
+++ b/OpenKeychain/src/main/res/anim/fade_in_quick.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
+ android:interpolator="@android:anim/bounce_interpolator"
+ android:duration="400"
+ />
+</set> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/anim/fade_out_quick.xml b/OpenKeychain/src/main/res/anim/fade_out_quick.xml
new file mode 100644
index 000000000..94fc508d7
--- /dev/null
+++ b/OpenKeychain/src/main/res/anim/fade_out_quick.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
+ android:interpolator="@android:anim/decelerate_interpolator"
+ android:duration="150"
+ />
+</set> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/anim/fade_out_up.xml b/OpenKeychain/src/main/res/anim/fade_out_up.xml
new file mode 100644
index 000000000..65049a387
--- /dev/null
+++ b/OpenKeychain/src/main/res/anim/fade_out_up.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <translate android:fromYDelta="0.0" android:toYDelta="-10"
+ android:interpolator="@android:anim/decelerate_interpolator"
+ android:duration="200"
+ />
+ <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
+ android:interpolator="@android:anim/decelerate_interpolator"
+ android:duration="150"
+ />
+</set> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/linked_dns.png b/OpenKeychain/src/main/res/drawable-hdpi/linked_dns.png
new file mode 100644
index 000000000..898160fd1
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/linked_dns.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/linked_github.png b/OpenKeychain/src/main/res/drawable-hdpi/linked_github.png
new file mode 100644
index 000000000..bba0729ff
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/linked_github.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/linked_https.png b/OpenKeychain/src/main/res/drawable-hdpi/linked_https.png
new file mode 100644
index 000000000..83585a890
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/linked_https.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-hdpi/linked_twitter.png b/OpenKeychain/src/main/res/drawable-hdpi/linked_twitter.png
new file mode 100644
index 000000000..f80f9cc07
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-hdpi/linked_twitter.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/linked_dns.png b/OpenKeychain/src/main/res/drawable-mdpi/linked_dns.png
new file mode 100644
index 000000000..6dbbf6fd6
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/linked_dns.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/linked_github.png b/OpenKeychain/src/main/res/drawable-mdpi/linked_github.png
new file mode 100644
index 000000000..a2dd32029
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/linked_github.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/linked_https.png b/OpenKeychain/src/main/res/drawable-mdpi/linked_https.png
new file mode 100644
index 000000000..6ffd0bef7
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/linked_https.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-mdpi/linked_twitter.png b/OpenKeychain/src/main/res/drawable-mdpi/linked_twitter.png
new file mode 100644
index 000000000..5b0ca3f40
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-mdpi/linked_twitter.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/linked_dns.png b/OpenKeychain/src/main/res/drawable-xhdpi/linked_dns.png
new file mode 100644
index 000000000..5056cb0b1
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/linked_dns.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/linked_github.png b/OpenKeychain/src/main/res/drawable-xhdpi/linked_github.png
new file mode 100644
index 000000000..b5a861ad1
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/linked_github.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/linked_https.png b/OpenKeychain/src/main/res/drawable-xhdpi/linked_https.png
new file mode 100644
index 000000000..9973bfde2
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/linked_https.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xhdpi/linked_twitter.png b/OpenKeychain/src/main/res/drawable-xhdpi/linked_twitter.png
new file mode 100644
index 000000000..35e22cafe
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xhdpi/linked_twitter.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/linked_dns.png b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_dns.png
new file mode 100644
index 000000000..f28ebc695
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_dns.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/linked_github.png b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_github.png
new file mode 100644
index 000000000..38d7a12f4
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_github.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/linked_https.png b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_https.png
new file mode 100644
index 000000000..25e1baf28
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_https.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable-xxhdpi/linked_twitter.png b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_twitter.png
new file mode 100644
index 000000000..62116fd34
--- /dev/null
+++ b/OpenKeychain/src/main/res/drawable-xxhdpi/linked_twitter.png
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable/dns.png b/OpenKeychain/src/main/res/drawable/dns.png
deleted file mode 100644
index 69d0a4fa8..000000000
--- a/OpenKeychain/src/main/res/drawable/dns.png
+++ /dev/null
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable/github.png b/OpenKeychain/src/main/res/drawable/github.png
deleted file mode 100644
index 8b25551a9..000000000
--- a/OpenKeychain/src/main/res/drawable/github.png
+++ /dev/null
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable/ssl_lock.png b/OpenKeychain/src/main/res/drawable/ssl_lock.png
deleted file mode 100644
index 00c4d8e4f..000000000
--- a/OpenKeychain/src/main/res/drawable/ssl_lock.png
+++ /dev/null
Binary files differ
diff --git a/OpenKeychain/src/main/res/drawable/twitter.png b/OpenKeychain/src/main/res/drawable/twitter.png
deleted file mode 100644
index 3533e0488..000000000
--- a/OpenKeychain/src/main/res/drawable/twitter.png
+++ /dev/null
Binary files differ
diff --git a/OpenKeychain/src/main/res/layout/cert_list_widget.xml b/OpenKeychain/src/main/res/layout/cert_list_widget.xml
index 715e4bfa5..7052a1901 100644
--- a/OpenKeychain/src/main/res/layout/cert_list_widget.xml
+++ b/OpenKeychain/src/main/res/layout/cert_list_widget.xml
@@ -12,7 +12,6 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
- android:minHeight="?android:attr/listPreferredItemHeight"
>
<TextView
diff --git a/OpenKeychain/src/main/res/layout/linked_create_dns_fragment_step1.xml b/OpenKeychain/src/main/res/layout/linked_create_dns_fragment_step1.xml
index c0a898843..9df381ea0 100644
--- a/OpenKeychain/src/main/res/layout/linked_create_dns_fragment_step1.xml
+++ b/OpenKeychain/src/main/res/layout/linked_create_dns_fragment_step1.xml
@@ -12,30 +12,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
+ android:padding="16dp"
android:orientation="vertical">
- <LinearLayout
- android:layout_width="match_parent"
+ <TextView
+ android:drawableLeft="@drawable/linked_dns"
+ android:drawablePadding="8dp"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:orientation="horizontal">
-
- <ImageView
- android:layout_width="60dip"
- android:layout_height="60dip"
- android:padding="8dp"
- android:src="@drawable/dns"
- android:layout_gravity="center_vertical" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/linked_create_dns_1_1" />
-
- </LinearLayout>
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/linked_create_dns_1_1" />
<TextView
android:layout_width="wrap_content"
diff --git a/OpenKeychain/src/main/res/layout/linked_create_github_fragment_step1.xml b/OpenKeychain/src/main/res/layout/linked_create_github_fragment_step1.xml
index 20c394afa..2b8a810e0 100644
--- a/OpenKeychain/src/main/res/layout/linked_create_github_fragment_step1.xml
+++ b/OpenKeychain/src/main/res/layout/linked_create_github_fragment_step1.xml
@@ -12,32 +12,17 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
+ android:padding="16dp"
android:orientation="vertical">
- <LinearLayout
- android:layout_marginTop="16dp"
- android:layout_width="match_parent"
+ <TextView
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal">
-
- <ImageView
- android:id="@+id/certify_key_action_certify_image"
- android:layout_width="60dip"
- android:layout_height="60dip"
- android:padding="8dp"
- android:src="@drawable/github"
- android:layout_gravity="center_vertical" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/linked_create_github_1_1" />
-
- </LinearLayout>
+ android:layout_gravity="center_vertical"
+ android:drawableLeft="@drawable/linked_github"
+ android:drawablePadding="8dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/linked_create_github_1_1" />
<TextView
android:layout_width="wrap_content"
diff --git a/OpenKeychain/src/main/res/layout/linked_create_https_fragment_step1.xml b/OpenKeychain/src/main/res/layout/linked_create_https_fragment_step1.xml
index 5dfed35c4..a18c1883a 100644
--- a/OpenKeychain/src/main/res/layout/linked_create_https_fragment_step1.xml
+++ b/OpenKeychain/src/main/res/layout/linked_create_https_fragment_step1.xml
@@ -12,31 +12,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
+ android:padding="16dp"
android:orientation="vertical">
- <LinearLayout
- android:layout_width="match_parent"
+ <TextView
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
- android:orientation="horizontal">
-
- <ImageView
- android:id="@+id/certify_key_action_certify_image"
- android:layout_width="60dip"
- android:layout_height="60dip"
- android:padding="8dp"
- android:src="@drawable/ssl_lock"
- android:layout_gravity="center_vertical" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/linked_create_https_1_1" />
-
- </LinearLayout>
+ android:drawableLeft="@drawable/linked_https"
+ android:drawablePadding="8dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/linked_create_https_1_1" />
<TextView
android:layout_width="wrap_content"
diff --git a/OpenKeychain/src/main/res/layout/linked_create_twitter_fragment_step1.xml b/OpenKeychain/src/main/res/layout/linked_create_twitter_fragment_step1.xml
index 76521fa11..129939e5b 100644
--- a/OpenKeychain/src/main/res/layout/linked_create_twitter_fragment_step1.xml
+++ b/OpenKeychain/src/main/res/layout/linked_create_twitter_fragment_step1.xml
@@ -12,32 +12,16 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingLeft="16dp"
- android:paddingRight="16dp"
+ android:padding="16dp"
android:orientation="vertical">
- <LinearLayout
- android:layout_marginTop="16dp"
- android:layout_width="match_parent"
+ <TextView
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal">
-
- <ImageView
- android:id="@+id/certify_key_action_certify_image"
- android:layout_width="60dip"
- android:layout_height="60dip"
- android:padding="8dp"
- android:src="@drawable/twitter"
- android:layout_gravity="center_vertical" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="@string/linked_create_twitter_1_1" />
-
- </LinearLayout>
+ android:drawableLeft="@drawable/linked_twitter"
+ android:drawablePadding="8dp"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/linked_create_twitter_1_1" />
<TextView
android:layout_width="wrap_content"
diff --git a/OpenKeychain/src/main/res/layout/linked_create_verify.xml b/OpenKeychain/src/main/res/layout/linked_create_verify.xml
index 837bae09a..234f43334 100644
--- a/OpenKeychain/src/main/res/layout/linked_create_verify.xml
+++ b/OpenKeychain/src/main/res/layout/linked_create_verify.xml
@@ -58,7 +58,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:buttonBarButtonStyle"
- android:text="Verify"
+ android:text="@string/linked_button_verify"
android:id="@+id/button_verify"
/>
@@ -66,7 +66,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:buttonBarButtonStyle"
- android:text="Retry"
+ android:text="@string/linked_button_retry"
android:id="@+id/button_retry"
/>
diff --git a/OpenKeychain/src/main/res/layout/linked_id_item.xml b/OpenKeychain/src/main/res/layout/linked_id_item.xml
index 900d3a5d5..6b39144a8 100644
--- a/OpenKeychain/src/main/res/layout/linked_id_item.xml
+++ b/OpenKeychain/src/main/res/layout/linked_id_item.xml
@@ -14,7 +14,7 @@
android:id="@+id/linked_id_type_icon"
android:layout_marginLeft="14dp"
android:layout_marginStart="14dp"
- android:src="@drawable/dns"
+ tools:src="@drawable/linked_dns"
android:layout_gravity="center_vertical"
android:scaleType="fitCenter" />
@@ -32,16 +32,18 @@
android:id="@+id/linked_id_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Title"
- android:textAppearance="?android:attr/textAppearanceMedium" />
+ tools:text="Title"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ />
<TextView
android:id="@+id/linked_id_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/tertiary_text_light"
- android:text="comment"
- android:textAppearance="?android:attr/textAppearanceSmall" />
+ tools:text="comment"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ />
</LinearLayout>
diff --git a/OpenKeychain/src/main/res/layout/linked_id_view_fragment.xml b/OpenKeychain/src/main/res/layout/linked_id_view_fragment.xml
index 2fb79a4bf..e25dfca70 100644
--- a/OpenKeychain/src/main/res/layout/linked_id_view_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/linked_id_view_fragment.xml
@@ -28,7 +28,7 @@
style="@style/CardViewHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Linked Identity" />
+ android:text="@string/card_linked_identity" />
<include layout="@layout/linked_id_item" />
@@ -36,10 +36,9 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/linked_verify_container"
- android:inAnimation="@anim/fade_in"
- android:outAnimation="@anim/fade_out"
android:layout_marginLeft="12dp"
android:layout_marginRight="12dp"
+ android:measureAllChildren="false"
>
<include layout="@layout/cert_list_widget" />
@@ -47,28 +46,33 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal"
- android:singleLine="true">
+ android:baselineAligned="false"
+ android:animateLayoutChanges="true"
+ >
- <LinearLayout
- android:orientation="vertical"
- android:layout_gravity="center_vertical"
+ <TextSwitcher
+ android:id="@+id/linked_cert_text"
+ android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_marginLeft="8dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
- android:layout_height="wrap_content"
+ android:inAnimation="@anim/fade_in_quick"
+ android:outAnimation="@anim/fade_out_quick"
android:layout_weight="1">
<TextView
- android:id="@+id/linked_cert_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Verifying…"
android:textAppearance="?android:attr/textAppearanceMedium" />
- </LinearLayout>
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+
+ </TextSwitcher>
<ViewAnimator
android:layout_width="22dp"
@@ -137,7 +141,7 @@
android:id="@+id/button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="View"
+ android:text="@string/linked_button_view"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle"
/>
@@ -152,21 +156,21 @@
android:id="@+id/button_verify"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Verify"
+ android:text="@string/linked_button_verify"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle" />
<Button
android:id="@+id/button_retry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Retry"
+ android:text="@string/linked_button_retry"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle" />
<Button
android:id="@+id/button_confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="Confirm"
+ android:text="@string/linked_button_confirm"
android:textColor="@color/link_text_material_light"
style="?android:attr/borderlessButtonStyle" />
</ViewAnimator>
diff --git a/OpenKeychain/src/main/res/layout/linked_select_fragment.xml b/OpenKeychain/src/main/res/layout/linked_select_fragment.xml
index a183cdc93..25b7bd413 100644
--- a/OpenKeychain/src/main/res/layout/linked_select_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/linked_select_fragment.xml
@@ -48,7 +48,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
- android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -58,15 +57,16 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
- android:src="@drawable/ssl_lock"
+ android:src="@drawable/linked_https"
android:layout_gravity="center_vertical" />
<TextView
android:paddingLeft="8dp"
+ android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
- android:text="Website (HTTPS)"
+ android:text="@string/linked_title_https"
android:layout_weight="1"
android:gravity="center_vertical" />
@@ -83,7 +83,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
- android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -92,16 +91,17 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
- android:src="@drawable/dns"
+ android:src="@drawable/linked_dns"
android:layout_gravity="center"
/>
<TextView
android:paddingLeft="8dp"
+ android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
- android:text="Domain Name (DNS)"
+ android:text="@string/linked_title_dns"
android:layout_weight="1"
android:gravity="center_vertical" />
@@ -118,7 +118,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
- android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -127,16 +126,17 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
- android:src="@drawable/twitter"
+ android:src="@drawable/linked_twitter"
android:layout_gravity="center"
/>
<TextView
android:paddingLeft="8dp"
+ android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
- android:text="Twitter"
+ android:text="@string/linked_title_twitter"
android:layout_weight="1"
android:gravity="center_vertical" />
@@ -153,7 +153,6 @@
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:clickable="true"
- android:paddingRight="4dp"
android:background="?android:selectableItemBackground"
android:orientation="horizontal">
@@ -162,16 +161,17 @@
android:layout_width="60dip"
android:layout_height="60dip"
android:padding="8dp"
- android:src="@drawable/github"
+ android:src="@drawable/linked_github"
android:layout_gravity="center"
/>
<TextView
android:paddingLeft="8dp"
+ android:paddingRight="8dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="0dip"
android:layout_height="match_parent"
- android:text="Github"
+ android:text="@string/linked_title_github"
android:layout_weight="1"
android:gravity="center_vertical" />
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 4c7400e4f..4816f1fab 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -1354,8 +1354,16 @@
<string name="section_linked_identities">"Linked Identities"</string>
<string name="btn_finish">"Finish"</string>
<string name="linked_title_https">Website (HTTPS)</string>
- <string name="linked_title_dns">Domain Name</string>
+ <string name="linked_title_dns">Domain Name (DNS)</string>
<string name="linked_title_github">Github</string>
<string name="linked_title_twitter">Twitter</string>
+ <string name="card_linked_identity">Linked Identity</string>
+ <string name="linked_button_verify">Verify</string>
+ <string name="linked_button_retry">Retry</string>
+ <string name="linked_button_confirm">Confirm</string>
+ <string name="linked_button_view">View</string>
+ <string name="linked_text_verifying">Verifying…</string>
+ <string name="linked_text_error">Error</string>
+ <string name="linked_text_confirming">Confirming…</string>
</resources>