mirror of
https://github.com/ankidroid/Anki-Android.git
synced 2024-09-19 19:42:17 +02:00
Add script to update screenshots on Google Play
remove some old files
This commit is contained in:
parent
08305b48e0
commit
6e8d0024a1
BIN
docs/marketing/512-hires.png
Normal file
BIN
docs/marketing/512-hires.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
@ -10,237 +10,501 @@
|
||||
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="512"
|
||||
height="512"
|
||||
id="svg3141"
|
||||
width="198"
|
||||
height="198"
|
||||
viewBox="0 0 197.99999 198"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:export-filename="application-icon.png"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="application-icon.svg"
|
||||
enable-background="new"
|
||||
inkscape:export-filename="/home/tim/development/Anki-Android/docs/marketing/android_market/logo512-512-alpha.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90"
|
||||
sodipodi:docname="application-icon.svg">
|
||||
<defs
|
||||
id="defs3143">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath2815">
|
||||
<rect
|
||||
style="fill:#d533e4;fill-opacity:0.54098361;stroke:none"
|
||||
id="rect1913"
|
||||
width="23"
|
||||
height="30"
|
||||
x="5"
|
||||
y="1"
|
||||
ry="4.6187186"
|
||||
rx="4.6187186" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3769"
|
||||
id="linearGradient2973"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.954545,0,0,0.965517,1.704545,0.551724)"
|
||||
x1="15.5"
|
||||
y1="5.9497476"
|
||||
x2="4"
|
||||
y2="31" />
|
||||
<linearGradient
|
||||
id="linearGradient3769"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop3771"
|
||||
offset="0"
|
||||
style="stop-color:#3c3c3c;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop3773"
|
||||
offset="1"
|
||||
style="stop-color:#9e9e9e;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4825"
|
||||
id="linearGradient2975"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="253.74718"
|
||||
y1="412.82977"
|
||||
x2="188.00023"
|
||||
y2="542.33295" />
|
||||
<linearGradient
|
||||
id="linearGradient4825">
|
||||
<stop
|
||||
id="stop4827"
|
||||
offset="0"
|
||||
style="stop-color:#0084dd;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop4829"
|
||||
offset="1"
|
||||
style="stop-color:white;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4825"
|
||||
id="linearGradient2977"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="253.74718"
|
||||
y1="412.82977"
|
||||
x2="188.00023"
|
||||
y2="542.33295" />
|
||||
<linearGradient
|
||||
id="linearGradient3122">
|
||||
<stop
|
||||
id="stop3124"
|
||||
offset="0"
|
||||
style="stop-color:#0084dd;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop3126"
|
||||
offset="1"
|
||||
style="stop-color:white;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4843"
|
||||
id="linearGradient2979"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.09240924,0,0,0.09240924,-5.65772,-25.6423)"
|
||||
x1="247"
|
||||
y1="441.86218"
|
||||
x2="292"
|
||||
y2="282.36218" />
|
||||
<linearGradient
|
||||
id="linearGradient4843">
|
||||
<stop
|
||||
style="stop-color:white;stop-opacity:0.49411765;"
|
||||
offset="0"
|
||||
id="stop4845" />
|
||||
<stop
|
||||
style="stop-color:white;stop-opacity:0.25098041;"
|
||||
offset="1"
|
||||
id="stop4847" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="282.36218"
|
||||
x2="292"
|
||||
y1="441.86218"
|
||||
x1="247"
|
||||
gradientTransform="matrix(0.09240924,0,0,0.09240924,-5.65772,-25.6423)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient3139"
|
||||
xlink:href="#linearGradient4843"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
inkscape:export-ydpi="90">
|
||||
<title
|
||||
id="title4207">Anki Flat Design</title>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.9873603"
|
||||
inkscape:cx="238.23778"
|
||||
inkscape:cy="274.54487"
|
||||
inkscape:zoom="2.8"
|
||||
inkscape:cx="44.732536"
|
||||
inkscape:cy="87.724961"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:current-layer="layer5"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1630"
|
||||
inkscape:window-height="1026"
|
||||
inkscape:window-x="50"
|
||||
borderlayer="true"
|
||||
inkscape:window-width="1855"
|
||||
inkscape:window-height="1056"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-bbox-midpoints="true"
|
||||
inkscape:bbox-paths="true"
|
||||
showguides="false"
|
||||
inkscape:snap-bbox-edge-midpoints="true"
|
||||
inkscape:snap-global="true">
|
||||
<sodipodi:guide
|
||||
position="0.0,0"
|
||||
orientation="198.0,0"
|
||||
id="guide4139" />
|
||||
<sodipodi:guide
|
||||
position="99.0,0"
|
||||
orientation="198.0,0"
|
||||
id="guide4141" />
|
||||
<sodipodi:guide
|
||||
position="198.0,0"
|
||||
orientation="198.0,0"
|
||||
id="guide4143" />
|
||||
<sodipodi:guide
|
||||
position="0,0.0"
|
||||
orientation="0,198.0"
|
||||
id="guide4145" />
|
||||
<sodipodi:guide
|
||||
position="0,99.0"
|
||||
orientation="0,198.0"
|
||||
id="guide4147" />
|
||||
<sodipodi:guide
|
||||
position="0,198.0"
|
||||
orientation="0,198.0"
|
||||
id="guide4149" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4641">
|
||||
<stop
|
||||
style="stop-color:#4d4d4d;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop4643" />
|
||||
<stop
|
||||
style="stop-color:#666666;stop-opacity:0.46757679"
|
||||
offset="1"
|
||||
id="stop4645" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4266"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop4268"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0.1" />
|
||||
<stop
|
||||
id="stop4270"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient4181"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop4183"
|
||||
offset="0"
|
||||
style="stop-color:#0288d1;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop4185"
|
||||
offset="1"
|
||||
style="stop-color:#29b6f6;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<clipPath
|
||||
id="clipPath4168"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<rect
|
||||
y="794.77325"
|
||||
x="358.60416"
|
||||
height="325.2691"
|
||||
width="263.64981"
|
||||
id="rect4170"
|
||||
style="opacity:1;fill:#fbe9e7;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</clipPath>
|
||||
<filter
|
||||
id="filter4246"
|
||||
inkscape:label="Drop Shadow"
|
||||
style="color-interpolation-filters:sRGB;">
|
||||
<feFlood
|
||||
id="feFlood4248"
|
||||
result="flood"
|
||||
flood-color="rgb(255,255,255)"
|
||||
flood-opacity="0.2" />
|
||||
<feComposite
|
||||
id="feComposite4250"
|
||||
result="composite1"
|
||||
operator="in"
|
||||
in2="flood"
|
||||
in="SourceGraphic" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur4252"
|
||||
result="blur"
|
||||
stdDeviation="4"
|
||||
in="composite1" />
|
||||
<feOffset
|
||||
id="feOffset4254"
|
||||
result="offset"
|
||||
dy="4"
|
||||
dx="2.77556e-017" />
|
||||
<feComposite
|
||||
id="feComposite4256"
|
||||
result="composite2"
|
||||
operator="atop"
|
||||
in2="offset"
|
||||
in="offset" />
|
||||
</filter>
|
||||
<radialGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-7.8502812e-7,3.09375,-3.0937492,-1.2165089e-6,2721.5333,854.36325)"
|
||||
r="64"
|
||||
fy="879.68774"
|
||||
fx="-6.4646401e-006"
|
||||
cy="879.68774"
|
||||
cx="-6.4646401e-006"
|
||||
id="radialGradient4272"
|
||||
xlink:href="#linearGradient4266"
|
||||
inkscape:collect="always" />
|
||||
<filter
|
||||
id="filter5200"
|
||||
inkscape:label="Drop Shadow"
|
||||
style="color-interpolation-filters:sRGB;">
|
||||
<feFlood
|
||||
id="feFlood5202"
|
||||
result="flood"
|
||||
flood-color="rgb(62,62,62)"
|
||||
flood-opacity="0.2" />
|
||||
<feComposite
|
||||
id="feComposite5204"
|
||||
result="composite1"
|
||||
operator="in"
|
||||
in2="SourceGraphic"
|
||||
in="flood" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur5206"
|
||||
result="blur"
|
||||
stdDeviation="4"
|
||||
in="composite1" />
|
||||
<feOffset
|
||||
id="feOffset5208"
|
||||
result="offset"
|
||||
dy="4"
|
||||
dx="2.77556e-017" />
|
||||
<feComposite
|
||||
id="feComposite5210"
|
||||
result="composite2"
|
||||
operator="atop"
|
||||
in2="offset"
|
||||
in="offset" />
|
||||
</filter>
|
||||
<filter
|
||||
id="filter5330"
|
||||
inkscape:label="Drop Shadow"
|
||||
style="color-interpolation-filters:sRGB;">
|
||||
<feFlood
|
||||
id="feFlood5332"
|
||||
result="flood"
|
||||
flood-color="rgb(0,0,0)"
|
||||
flood-opacity="0.2" />
|
||||
<feComposite
|
||||
id="feComposite5334"
|
||||
result="composite1"
|
||||
operator="out"
|
||||
in2="SourceGraphic"
|
||||
in="flood" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur5336"
|
||||
result="blur"
|
||||
stdDeviation="0"
|
||||
in="composite1" />
|
||||
<feOffset
|
||||
id="feOffset5338"
|
||||
result="offset"
|
||||
dy="-1"
|
||||
dx="2.77556e-017" />
|
||||
<feComposite
|
||||
id="feComposite5340"
|
||||
result="composite2"
|
||||
operator="in"
|
||||
in2="SourceGraphic"
|
||||
in="offset" />
|
||||
</filter>
|
||||
<filter
|
||||
id="filter5590"
|
||||
inkscape:label="Drop Shadow"
|
||||
style="color-interpolation-filters:sRGB;">
|
||||
<feFlood
|
||||
id="feFlood5592"
|
||||
result="flood"
|
||||
flood-color="rgb(0,69,111)"
|
||||
flood-opacity="0.2" />
|
||||
<feComposite
|
||||
id="feComposite5594"
|
||||
result="composite1"
|
||||
operator="out"
|
||||
in2="SourceGraphic"
|
||||
in="flood" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur5596"
|
||||
result="blur"
|
||||
stdDeviation="0"
|
||||
in="composite1" />
|
||||
<feOffset
|
||||
id="feOffset5598"
|
||||
result="offset"
|
||||
dy="-1"
|
||||
dx="2.77556e-017" />
|
||||
<feComposite
|
||||
id="feComposite5600"
|
||||
result="composite2"
|
||||
operator="atop"
|
||||
in2="SourceGraphic"
|
||||
in="offset" />
|
||||
</filter>
|
||||
<filter
|
||||
id="filter6198"
|
||||
inkscape:label="Drop Shadow"
|
||||
style="color-interpolation-filters:sRGB;">
|
||||
<feFlood
|
||||
id="feFlood6200"
|
||||
result="flood"
|
||||
flood-color="rgb(255,255,255)"
|
||||
flood-opacity="0.2" />
|
||||
<feComposite
|
||||
id="feComposite6202"
|
||||
result="composite1"
|
||||
operator="out"
|
||||
in2="SourceGraphic"
|
||||
in="flood" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur6204"
|
||||
result="blur"
|
||||
stdDeviation="0"
|
||||
in="composite1" />
|
||||
<feOffset
|
||||
id="feOffset6206"
|
||||
result="offset"
|
||||
dy="1"
|
||||
dx="2.77556e-017" />
|
||||
<feComposite
|
||||
id="feComposite6208"
|
||||
result="fbSourceGraphic"
|
||||
operator="atop"
|
||||
in2="SourceGraphic"
|
||||
in="offset" />
|
||||
<feColorMatrix
|
||||
id="feColorMatrix6222"
|
||||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
||||
in="fbSourceGraphic"
|
||||
result="fbSourceGraphicAlpha" />
|
||||
<feFlood
|
||||
in="fbSourceGraphic"
|
||||
result="flood"
|
||||
flood-color="rgb(0,0,0)"
|
||||
flood-opacity="0.2"
|
||||
id="feFlood6224" />
|
||||
<feComposite
|
||||
result="composite1"
|
||||
operator="out"
|
||||
in="flood"
|
||||
in2="fbSourceGraphic"
|
||||
id="feComposite6226" />
|
||||
<feGaussianBlur
|
||||
result="blur"
|
||||
stdDeviation="0"
|
||||
in="composite1"
|
||||
id="feGaussianBlur6228" />
|
||||
<feOffset
|
||||
result="offset"
|
||||
dy="-1"
|
||||
dx="2.77556e-017"
|
||||
id="feOffset6230" />
|
||||
<feComposite
|
||||
result="composite2"
|
||||
operator="atop"
|
||||
in="offset"
|
||||
in2="fbSourceGraphic"
|
||||
id="feComposite6232" />
|
||||
</filter>
|
||||
<filter
|
||||
id="filter6378"
|
||||
inkscape:label="Drop Shadow"
|
||||
style="color-interpolation-filters:sRGB;">
|
||||
<feFlood
|
||||
id="feFlood6380"
|
||||
result="flood"
|
||||
flood-color="rgb(255,255,255)"
|
||||
flood-opacity="0.5" />
|
||||
<feComposite
|
||||
id="feComposite6382"
|
||||
result="composite1"
|
||||
operator="out"
|
||||
in2="SourceGraphic"
|
||||
in="flood" />
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur6384"
|
||||
result="blur"
|
||||
stdDeviation="0"
|
||||
in="composite1" />
|
||||
<feOffset
|
||||
id="feOffset6386"
|
||||
result="offset"
|
||||
dy="1"
|
||||
dx="2.77556e-017" />
|
||||
<feComposite
|
||||
id="feComposite6388"
|
||||
result="composite2"
|
||||
operator="in"
|
||||
in2="SourceGraphic"
|
||||
in="offset" />
|
||||
</filter>
|
||||
<linearGradient
|
||||
y2="1022.263"
|
||||
x2="83.887375"
|
||||
y1="942.79626"
|
||||
x1="94.9618"
|
||||
gradientTransform="matrix(0.97143611,-0.13537864,0.13537864,0.97143611,-132.14655,37.991055)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6395"
|
||||
xlink:href="#linearGradient4181"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="939.29724"
|
||||
x2="134.55711"
|
||||
y1="895.45349"
|
||||
x1="113.67747"
|
||||
gradientTransform="matrix(0.87513004,0.41676225,-0.41676225,0.87513004,393.8871,57.480241)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient6397"
|
||||
xlink:href="#linearGradient4181"
|
||||
inkscape:collect="always" />
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4629">
|
||||
<rect
|
||||
style="display:inline;opacity:1;fill:#666666;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect4631"
|
||||
width="128"
|
||||
height="172"
|
||||
x="35.000004"
|
||||
y="13.000023"
|
||||
rx="16" />
|
||||
</clipPath>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4641"
|
||||
id="linearGradient4647"
|
||||
x1="99"
|
||||
y1="99.000023"
|
||||
x2="224.2589"
|
||||
y2="161.62946"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
</defs>
|
||||
<metadata
|
||||
id="metadata3146">
|
||||
id="metadata7">
|
||||
<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>
|
||||
<dc:title>Anki Flat Design</dc:title>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/by/3.0/" />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>not7CD</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:description>not7CD.pl</dc:description>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/by/3.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Notice" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Attribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
inkscape:label="Card"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-540.36219)">
|
||||
transform="translate(0,-854.36216)" />
|
||||
<g
|
||||
sodipodi:insensitive="true"
|
||||
style="display:none"
|
||||
inkscape:label="Finish"
|
||||
id="layer4"
|
||||
inkscape:groupmode="layer">
|
||||
<rect
|
||||
rx="16"
|
||||
y="867.36218"
|
||||
x="34.999996"
|
||||
height="172"
|
||||
width="128"
|
||||
id="rect4192"
|
||||
style="display:inline;opacity:1;fill:url(#radialGradient4272);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
transform="translate(7.6293945e-6,-854.36216)" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer6"
|
||||
inkscape:label="LongShadow"
|
||||
style="opacity:1" />
|
||||
<g
|
||||
style="display:inline"
|
||||
inkscape:label="Stars"
|
||||
id="layer5"
|
||||
inkscape:groupmode="layer">
|
||||
<g
|
||||
transform="matrix(17.056594,0,0,17.056594,-23.546436,523.64594)"
|
||||
style="display:inline"
|
||||
id="g2807"
|
||||
clip-path="url(#clipPath2815)">
|
||||
id="g3410"
|
||||
transform="translate(-8.7624731,0)">
|
||||
<rect
|
||||
ry="0"
|
||||
rx="0"
|
||||
y="0"
|
||||
x="0"
|
||||
height="32"
|
||||
width="32"
|
||||
id="rect2802"
|
||||
style="fill:#000000;fill-opacity:1;stroke:none;display:inline" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient2973);fill-opacity:1;stroke:none"
|
||||
id="rect4875"
|
||||
width="21"
|
||||
height="28"
|
||||
x="6"
|
||||
y="2"
|
||||
ry="4"
|
||||
rx="4" />
|
||||
style="display:inline;opacity:1;fill:#666666;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect4162"
|
||||
width="145.52492"
|
||||
height="195.5491"
|
||||
x="34.999996"
|
||||
y="855.81305"
|
||||
rx="18.190615"
|
||||
transform="translate(7.6293945e-6,-854.36216)" />
|
||||
<path
|
||||
transform="matrix(0.09169279,0.01148462,-0.01148462,0.09169279,1.24989,-28.62005)"
|
||||
d="m 312.50679,544.32837 c -20.28396,20.1643 -45.83498,-32.08006 -74.19864,-28.40036 -29.32333,3.80421 -41.202,60.28859 -67.50841,46.78663 -25.44547,-13.06007 16.34617,-53.50493 4.08171,-79.34329 -12.67942,-26.71258 -70.06997,-20.55523 -65.35797,-49.74645 4.55778,-28.23586 55.93746,-0.9878 76.72126,-20.63649 21.48703,-20.31349 -2.10362,-72.99241 27.11497,-77.53162 28.26233,-4.39065 18.22508,52.89443 43.33464,66.58923 25.95913,14.15816 68.76986,-24.55656 82.11594,1.82928 12.9093,25.52229 -44.67374,33.67836 -49.93898,61.7909 -5.4434,29.06371 44.60573,57.81562 23.63548,78.66217 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0.36"
|
||||
inkscape:flatsided="false"
|
||||
sodipodi:arg2="1.4167054"
|
||||
sodipodi:arg1="0.81345017"
|
||||
sodipodi:r2="60.646587"
|
||||
sodipodi:r1="121.55363"
|
||||
sodipodi:cy="456"
|
||||
sodipodi:cx="229"
|
||||
sodipodi:sides="5"
|
||||
id="path4877"
|
||||
style="fill:none;stroke:none"
|
||||
sodipodi:type="star" />
|
||||
<path
|
||||
sodipodi:type="star"
|
||||
style="fill:url(#linearGradient2975);fill-opacity:1;stroke:#ffffff;stroke-width:15.98369503;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path4879"
|
||||
sodipodi:sides="5"
|
||||
sodipodi:cx="229"
|
||||
sodipodi:cy="456"
|
||||
sodipodi:r1="94"
|
||||
sodipodi:r2="52"
|
||||
sodipodi:arg1="0.80032243"
|
||||
sodipodi:arg2="1.428641"
|
||||
inkscape:flatsided="false"
|
||||
inkscape:rounded="0.21"
|
||||
inkscape:randomized="0"
|
||||
d="m 294.46869,523.45259 c -9.08043,8.81335 -45.57491,-17.76993 -58.10148,-15.97712 -12.52658,1.79282 -40.09949,37.54547 -51.28749,31.63294 -11.18801,-5.91252 2.81678,-48.83551 -2.75921,-60.19499 -5.57599,-11.35947 -48.09928,-26.53469 -45.93342,-39.00218 2.16586,-12.46749 47.31577,-12.41208 56.39619,-21.22544 9.08043,-8.81335 10.3725,-53.9448 22.89908,-55.73762 12.52657,-1.79281 26.42597,41.16443 37.61397,47.07695 11.188,5.91252 54.50984,-6.80503 60.08583,4.55445 5.57599,11.35947 -30.98363,37.85309 -33.14948,50.32059 -2.16586,12.46749 23.31643,49.73906 14.23601,58.55242 z"
|
||||
transform="matrix(0.07507522,4.398431e-4,-4.398431e-4,0.07507522,-2.36792,-12.92398)" />
|
||||
<path
|
||||
transform="matrix(0.03131375,-0.02522366,0.02522366,0.03131375,2.32085,0.206819)"
|
||||
d="m 294.46869,523.45259 c -9.08043,8.81335 -45.57491,-17.76993 -58.10148,-15.97712 -12.52658,1.79282 -40.09949,37.54547 -51.28749,31.63294 -11.18801,-5.91252 2.81678,-48.83551 -2.75921,-60.19499 -5.57599,-11.35947 -48.09928,-26.53469 -45.93342,-39.00218 2.16586,-12.46749 47.31577,-12.41208 56.39619,-21.22544 9.08043,-8.81335 10.3725,-53.9448 22.89908,-55.73762 12.52657,-1.79281 26.42597,41.16443 37.61397,47.07695 11.188,5.91252 54.50984,-6.80503 60.08583,4.55445 5.57599,11.35947 -30.98363,37.85309 -33.14948,50.32059 -2.16586,12.46749 23.31643,49.73906 14.23601,58.55242 z"
|
||||
inkscape:randomized="0"
|
||||
inkscape:rounded="0.21"
|
||||
inkscape:flatsided="false"
|
||||
sodipodi:arg2="1.428641"
|
||||
sodipodi:arg1="0.80032243"
|
||||
sodipodi:r2="52"
|
||||
sodipodi:r1="94"
|
||||
sodipodi:cy="456"
|
||||
sodipodi:cx="229"
|
||||
sodipodi:sides="5"
|
||||
id="path4889"
|
||||
style="fill:url(#linearGradient2977);fill-opacity:1;stroke:#ffffff;stroke-width:24.86989784;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="star" />
|
||||
<path
|
||||
style="fill:url(#linearGradient3139);fill-opacity:1;stroke:none;display:inline"
|
||||
d="m 2.659112,0.45056835 27.630363,0 L 29.457792,20.39883 C 25.879683,16.517642 12.825421,10.535309 3.6153,10.535309 L 2.659112,0.45056835 z"
|
||||
id="path4881"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
transform="matrix(1.1369134,0,0,1.1369134,-4.7919614,-13.328985)"
|
||||
inkscape:connector-curvature="0"
|
||||
clip-path="url(#clipPath4629)"
|
||||
id="path4332"
|
||||
d="m 133.86719,36.148438 c -3.17677,-0.288864 -7.82002,7.359765 -11.05274,7.960937 -3.44823,0.64127 -11.27475,-5.623735 -13.6875,-3.078125 -2.41275,2.54561 4.26233,10.026286 3.80664,13.503906 -0.45568,3.47763 -8.8317,8.985107 -7.15625,12.066406 0.0844,0.155164 0.18792,0.291428 0.3086,0.41211 L 318.21875,279.14648 c 1.7413,1.7413 7.07575,0.068 10.83594,-0.17578 l 10.08984,10.08985 c 0.65625,0.58538 1.33604,0.89427 2.04883,0.76172 3.44823,-0.64127 2.44467,-10.6165 4.85742,-13.16211 2.41275,-2.5456 12.42712,-2.07707 12.88281,-5.55469 0.0948,-0.72364 -0.25525,-1.39002 -0.88281,-2.01758 l -10.55469,-10.55273 c 0,0 0,-0.002 0,-0.002 0.21836,-3.61192 1.18995,-8.15967 -0.38086,-9.73047 L 134.98242,36.669922 c -0.14447,-0.144469 -0.30964,-0.26286 -0.5,-0.353516 -0.19791,-0.09425 -0.40345,-0.148711 -0.61523,-0.167968 z M 84.710938,88.658203 c -0.188085,-0.0077 -0.379919,5.42e-4 -0.572266,0.02734 -6.155121,0.85776 -5.180838,18.594407 -9.65625,22.906257 -4.47541,4.31185 -22.163753,2.67795 -23.25,8.79687 -0.247777,1.39576 0.454834,2.71069 1.71875,3.97461 l 17.675781,17.67578 c -0.445623,6.6333 -3.198221,15.85256 -0.166015,18.88477 L 282.59375,373.05469 c 0.22013,0.22013 0.47166,0.409 0.75586,0.56054 5.48379,2.924 15.12027,-11.99776 21.27539,-12.85546 6.15513,-0.8579 19.50505,10.86062 23.98047,6.54882 4.4754,-4.3119 -6.73664,-18.09005 -5.65039,-24.20898 1.08625,-6.11893 16.35454,-15.19439 13.63672,-20.7832 -0.15931,-0.32761 -0.36772,-0.61382 -0.61719,-0.86329 L 123.84375,109.32031 c -2.82418,-2.82417 -11.09471,-0.92329 -17.54297,-0.51562 L 87.511719,90.015625 c -0.888073,-0.817279 -1.815637,-1.317001 -2.800781,-1.357422 z"
|
||||
style="display:inline;opacity:0.46799999;fill:url(#linearGradient4647);fill-opacity:1;stroke:none;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<g
|
||||
id="g5190"
|
||||
transform="matrix(1.1369134,0,0,1.1369134,-3.5527153,-14.164677)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4164"
|
||||
d="m 83.049581,943.78215 c 6.155121,-0.85778 10.067566,16.46925 15.55135,19.39319 5.483779,2.92393 22.051249,-3.48327 24.769079,2.10553 2.71782,5.58881 -12.55215,14.66411 -13.6384,20.78304 -1.08625,6.11893 10.127,19.89549 5.6516,24.20739 -4.47542,4.3118 -17.825218,-7.4064 -23.980342,-6.5485 -6.155121,0.8577 -15.79242,15.7794 -21.276207,12.8554 -5.483788,-2.924 1.535552,-19.24149 -1.182277,-24.83021 -2.717829,-5.5888 -19.887254,-10.14337 -18.801009,-16.26232 1.086247,-6.11892 18.774248,-4.48553 23.249658,-8.79738 4.475412,-4.31185 3.501427,-22.04838 9.656548,-22.90614 z"
|
||||
inkscape:transform-center-y="-2.8065976"
|
||||
inkscape:transform-center-x="1.6436305"
|
||||
style="display:inline;opacity:1;fill:url(#linearGradient6395);fill-opacity:1;stroke:#ffffff;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
transform="translate(7.6293945e-6,-854.36216)" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4164-3"
|
||||
d="m 133.39163,891.41316 c 3.1666,1.50803 -0.37288,10.8875 1.30256,13.9688 1.67543,3.0813 11.47206,5.20934 11.01637,8.68697 -0.45569,3.47762 -10.46986,3.0098 -12.88261,5.5554 -2.41275,2.54561 -1.40932,12.52035 -4.85755,13.16162 -3.44823,0.64125 -6.09784,-9.02735 -9.26445,-10.53538 -3.16659,-1.50801 -12.34306,2.52866 -14.01849,-0.55263 -1.67545,-3.0813 6.70117,-8.589 7.15685,-12.06663 0.45569,-3.47762 -6.21911,-10.95755 -3.80636,-13.50316 2.41275,-2.54561 10.2394,3.71905 13.68763,3.07778 3.44823,-0.64125 8.49945,-9.3008 11.66605,-7.79277 z"
|
||||
inkscape:transform-center-y="0.35457901"
|
||||
inkscape:transform-center-x="-1.3524214"
|
||||
style="display:inline;opacity:1;fill:url(#linearGradient6397);fill-opacity:1;stroke:#ffffff;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
transform="translate(7.6293945e-6,-854.36216)" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 18 KiB |
Binary file not shown.
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 26 KiB |
@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
pushd res
|
||||
pushd ../docs/marketing/icons/blue
|
||||
|
||||
/bin/cp drawable/anki.png ~1/drawable/
|
||||
|
||||
/bin/cp drawable-ldpi/anki.png ~1/drawable-ldpi/
|
||||
|
||||
/bin/cp drawable-mdpi/anki.png ~1/drawable-mdpi/
|
||||
/bin/cp drawable-mdpi/widget_bg_small.png ~1/drawable-mdpi/
|
||||
/bin/cp drawable-mdpi/widget_bg_small_finish.png ~1/drawable-mdpi/
|
||||
/bin/cp drawable-hdpi/anki.png ~1/drawable-hdpi/
|
||||
/bin/cp drawable-hdpi/widget_bg_small.png ~1/drawable-hdpi/
|
||||
/bin/cp drawable-hdpi/widget_bg_small_finish.png ~1/drawable-hdpi/
|
||||
/bin/cp drawable-xhdpi/anki.png ~1/drawable-xhdpi/
|
||||
/bin/cp drawable-xhdpi/widget_bg_small.png ~1/drawable-xhdpi/
|
||||
/bin/cp drawable-xhdpi/widget_bg_small_finish.png ~1/drawable-xhdpi/
|
||||
|
||||
popd
|
||||
popd
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
find src -name "*\.java" | xargs grep -l 'Log\.d' | xargs sed -i 's/Log\.d/\/\/ Log\.d/g'
|
||||
find src -name "*\.java" | xargs grep -l 'Log\.v' | xargs sed -i 's/Log\.v/\/\/ Log\.v/g'
|
||||
find src -name "*\.java" | xargs grep -l 'Log\.i' | xargs sed -i 's/Log\.i/\/\/ Log\.i/g'
|
151
tools/google-play.py
Executable file
151
tools/google-play.py
Executable file
@ -0,0 +1,151 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Copyright 2014 Google Inc. All Rights Reserved.
|
||||
# Copyright 2015 Tim Rae
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Lists all the apks for a given app."""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
from os.path import expanduser
|
||||
|
||||
from apiclient.discovery import build
|
||||
from apiclient.http import MediaFileUpload
|
||||
import httplib2
|
||||
from oauth2client import client
|
||||
|
||||
|
||||
SERVICE_ACCOUNT_EMAIL = (
|
||||
'294046724212-r3bef6kl46pb9gk0h1pl5rcjmpfrdpjl@developer.gserviceaccount.com')
|
||||
PACKAGE = 'com.ichi2.anki'
|
||||
IMAGES_DIR = './docs/marketing/screenshots/'
|
||||
LISTINGS_DIR = './docs/marketing/localized_description/'
|
||||
LANGS = ['uk', 'pt-PT', 'zh-CN', 'th', 'sl', 'ar', 'de-DE', 'ru-RU', 'hu-HU', 'zh-TW', 'fi-FI', 'el-GR', 'ja-JP', 'pt-BR', 'nl-NL', 'no-NO', 'es-ES', 'it-IT', 'id', 'pl-PL', 'cs-CZ', 'ca', 'sr', 'fr-FR', 'ro', 'en-US', 'ko-KR', 'bg', 'tr-TR', 'fa', 'sv-SE']
|
||||
IMAGE_TYPES = {'phone':'phoneScreenshots', 'sevenInch':'sevenInchScreenshots', 'tenInch':'tenInchScreenshots'}
|
||||
|
||||
|
||||
# Declare command-line flags.
|
||||
argparser = argparse.ArgumentParser(add_help=False)
|
||||
argparser.add_argument('task', help='The task to execute: uploadImages, listApks')
|
||||
|
||||
def uploadImages(service, edit_id):
|
||||
# Check the screenshots dir exists
|
||||
if not os.path.exists(IMAGES_DIR):
|
||||
raise Exception("The directory %s does not exist" % IMAGES_DIR)
|
||||
# Read the language code folders
|
||||
subdirs = os.listdir(IMAGES_DIR)
|
||||
langs = []
|
||||
for l in subdirs:
|
||||
if l in LANGS: langs.append(l)
|
||||
if len(langs) == 0: raise Excetion ("The directory %s is empty" % IMAGES_DIR)
|
||||
print("The following languages were found:\n")
|
||||
print(langs)
|
||||
# Confirm that the user wants to go ahead
|
||||
response = raw_input("This will erase all the images on Google Play that have a language and image type subfolder in %s, and replace them with the images in those subfolders. Type YES if you are sure you want to proceed\n" % IMAGES_DIR)
|
||||
if not response == 'YES':
|
||||
raise Exception('uploadImages was cancelled')
|
||||
# Loop through each language and image type, erase any existing images and upload
|
||||
for l in langs:
|
||||
for k in IMAGE_TYPES:
|
||||
t = IMAGE_TYPES[k]
|
||||
subdir = os.path.join(IMAGES_DIR, l, k)
|
||||
if os.path.exists(subdir):
|
||||
print('Erasing images for language: %s , image type: %s'%(l, t))
|
||||
service.edits().images().deleteall(packageName=PACKAGE,
|
||||
editId=edit_id, language=l, imageType=t).execute()
|
||||
files = os.listdir(subdir)
|
||||
files.sort()
|
||||
cntr = 0
|
||||
for f in files:
|
||||
fn = os.path.join(subdir, f)
|
||||
media = MediaFileUpload(fn, mimetype='image/png')
|
||||
result = service.edits().images().upload(packageName=PACKAGE,
|
||||
editId=edit_id, language=l, imageType=t, media_body=media).execute()
|
||||
if result["image"]["url"]: cntr += 1
|
||||
print('Uploaded %d images for language: %s , image type: %s'%(cntr, l, t))
|
||||
# Comitting changes
|
||||
commit_request = service.edits().commit(
|
||||
editId=edit_id, packageName=PACKAGE).execute()
|
||||
print 'Edit "%s" has been committed' % (commit_request['id'])
|
||||
|
||||
|
||||
def listImages(service, edit_id):
|
||||
images_result = service.edits().images().list(
|
||||
editId=edit_id, packageName=PACKAGE, language='en-us',
|
||||
imageType='phoneScreenshots').execute()
|
||||
|
||||
for image in images_result['images']:
|
||||
print 'url: %s, sha1: %s, id %s' % (
|
||||
image['url'], image['sha1'], image['id'])
|
||||
|
||||
|
||||
def listApks(service, edit_id):
|
||||
apks_result = service.edits().apks().list(
|
||||
editId=edit_id, packageName=PACKAGE).execute()
|
||||
|
||||
for apk in apks_result['apks']:
|
||||
print 'versionCode: %s, binary.sha1: %s' % (
|
||||
apk['versionCode'], apk['binary']['sha1'])
|
||||
|
||||
|
||||
def main():
|
||||
# Load the key in PKCS 12 format that you downloaded from the Google APIs
|
||||
# Console when you created your Service account.
|
||||
key_path = os.path.join(expanduser("~"), "src", "583631bdd16d.p12")
|
||||
f = file(key_path, 'rb')
|
||||
key = f.read()
|
||||
f.close()
|
||||
|
||||
# Create an httplib2.Http object to handle our HTTP requests and authorize it
|
||||
# with the Credentials. Note that the first parameter, service_account_name,
|
||||
# is the Email address created for the Service account. It must be the email
|
||||
# address associated with the key that was created.
|
||||
credentials = client.SignedJwtAssertionCredentials(
|
||||
SERVICE_ACCOUNT_EMAIL,
|
||||
key,
|
||||
scope='https://www.googleapis.com/auth/androidpublisher')
|
||||
http = httplib2.Http()
|
||||
http = credentials.authorize(http)
|
||||
service = build('androidpublisher', 'v2', http=http)
|
||||
edit_request = service.edits().insert(body={}, packageName=PACKAGE)
|
||||
result = edit_request.execute()
|
||||
edit_id = result['id']
|
||||
|
||||
# Process flags and read their values.
|
||||
flags = argparser.parse_args()
|
||||
|
||||
task = flags.task
|
||||
|
||||
try:
|
||||
if task == 'uploadImages':
|
||||
# Upload screenshots
|
||||
uploadImages(service, edit_id)
|
||||
elif task == 'listImages':
|
||||
# List all the images and their URLs.
|
||||
# This task can be used as a non-destructive test to check the API is working
|
||||
listImages(service, edit_id)
|
||||
elif task == 'listApks':
|
||||
# List all the APKs and their hashes.
|
||||
# This task can be used as a non-destructive test to check the API is working
|
||||
listApks(service, edit_id)
|
||||
else:
|
||||
raise ValueError('Unrecognized task name')
|
||||
except client.AccessTokenRefreshError:
|
||||
print ('The credentials have been revoked or expired, please re-run the '
|
||||
'application to re-authorize')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -1,5 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
find src -name "*\.java" | xargs grep -l 'Log.d' | xargs sed -i 's/\/\/ Log\.d/Log\.d/g'
|
||||
find src -name "*\.java" | xargs grep -l 'Log.v' | xargs sed -i 's/\/\/ Log\.v/Log\.v/g'
|
||||
find src -name "*\.java" | xargs grep -l 'Log.i' | xargs sed -i 's/\/\/ Log\.i/Log\.i/g'
|
Loading…
Reference in New Issue
Block a user