mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2024-10-14 16:59:40 +02:00
Add Games stub service
Games proxy service (chimera) yet to be done for full Play Games support
This commit is contained in:
parent
ba57628fc9
commit
d22e231b44
2
extern/GmsApi
vendored
2
extern/GmsApi
vendored
@ -1 +1 @@
|
||||
Subproject commit d2b942d87f5b5d0547e7e5f279bcc734d69cdef4
|
||||
Subproject commit 4f6a84de9d95fef255579c5ce06a89363dc05aa8
|
291
play-services-core/ic_gamepad.svg
Normal file
291
play-services-core/ic_gamepad.svg
Normal file
@ -0,0 +1,291 @@
|
||||
<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="299.98224"
|
||||
height="299.67419"
|
||||
viewBox="0 0 299.98226 299.6742"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="ic_gamepad.svg"
|
||||
inkscape:export-filename="/home/marvin/Development/IDEA/microg_gradle_build_root/play-services-core/src/main/res/drawable-xxhdpi/ic_gamepad.png"
|
||||
inkscape:export-xdpi="43.202557"
|
||||
inkscape:export-ydpi="43.202557">
|
||||
<defs
|
||||
id="defs4">
|
||||
<filter
|
||||
style="color-interpolation-filters:sRGB;"
|
||||
inkscape:label="Drop Shadow"
|
||||
id="filter4067"
|
||||
x="-0.5"
|
||||
y="-0.5"
|
||||
width="2"
|
||||
height="2">
|
||||
<feFlood
|
||||
flood-opacity="1"
|
||||
flood-color="rgb(0,0,0)"
|
||||
result="flood"
|
||||
id="feFlood4069" />
|
||||
<feComposite
|
||||
in="flood"
|
||||
in2="SourceGraphic"
|
||||
operator="in"
|
||||
result="composite1"
|
||||
id="feComposite4071" />
|
||||
<feGaussianBlur
|
||||
in="composite"
|
||||
stdDeviation="6"
|
||||
result="blur"
|
||||
id="feGaussianBlur4073" />
|
||||
<feComponentTransfer
|
||||
id="feComponentTransfer13">
|
||||
<feFuncA
|
||||
type="linear"
|
||||
slope="0.2"
|
||||
id="feFuncA15" />
|
||||
</feComponentTransfer>
|
||||
<feOffset
|
||||
dx="0"
|
||||
dy="6"
|
||||
result="offset"
|
||||
id="feOffset4075"
|
||||
stdDeviation="8" />
|
||||
<feComposite
|
||||
in="SourceGraphic"
|
||||
in2="offset"
|
||||
operator="over"
|
||||
result="composite2"
|
||||
id="feComposite4077" />
|
||||
</filter>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4266">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4268"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4270">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4272"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4274">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4276"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4278">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4280"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4282">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4284"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4286">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4288"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4290">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4292"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4294">
|
||||
<path
|
||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 354.99922,92.361314 c -29.48241,0 -53.85,21.058586 -58.98632,49.011716 l -0.0234,-0.004 -19.10156,108.32813 a 24.999997,24.999997 0 0 0 20.27929,28.96094 24.999997,24.999997 0 0 0 22.00977,-6.94922 l 0.01,0.008 0.19141,-0.19336 44.16406,-44.16211 102.91407,0 44.16406,44.16211 0.1914,0.19336 0.0117,-0.008 a 24.999997,24.999997 0 0 0 22.00782,6.94922 24.999997,24.999997 0 0 0 20.27929,-28.96094 l -19.09961,-108.32813 -0.004,0 -0.0195,0.004 C 528.85138,113.4199 504.48183,92.361314 474.99941,92.361314 l -119.99804,0 -0.002,0 z"
|
||||
id="path4296"
|
||||
inkscape:connector-curvature="0" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2"
|
||||
inkscape:cx="177.50974"
|
||||
inkscape:cy="142.62777"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-left="11.5"
|
||||
fit-margin-right="11.5"
|
||||
fit-margin-top="56.5"
|
||||
fit-margin-bottom="56.5"
|
||||
units="px" />
|
||||
<metadata
|
||||
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>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-265.00899,-35.861337)">
|
||||
<path
|
||||
style="opacity:1;fill:#689f38;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 534.00781,141.36914 -49.24023,8.68164 0.4082,2.31055 -190.17578,0 0,75 171.45703,0 44.16406,44.16211 0.19141,0.19336 0.01,-0.008 a 25,25 0 0 0 22.00976,6.94922 25,25 0 0 0 20.2793,-28.96093 L 534.01,141.36896 l -0.002,0 z"
|
||||
id="rect4154"
|
||||
inkscape:connector-curvature="0"
|
||||
clip-path="url(#clipPath4294)" />
|
||||
<path
|
||||
style="opacity:1;fill:#8bc34a;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 355,92.361328 c -29.48242,0 -53.85001,21.058592 -58.98633,49.011722 l -0.0234,-0.004 -19.10156,108.32813 a 25,25 0 0 0 20.2793,28.96093 25,25 0 0 0 22.00976,-6.94922 l 0.008,0.008 0.1914,-0.19336 59.16407,-59.16211 96.45898,0 c 33.24,0 60,-26.76 60,-60 0,-33.24 -26.76,-60.000002 -60,-60.000002 l -120,0 z"
|
||||
id="rect4152"
|
||||
inkscape:connector-curvature="0"
|
||||
clip-path="url(#clipPath4290)" />
|
||||
<g
|
||||
id="g4210"
|
||||
clip-path="url(#clipPath4286)">
|
||||
<path
|
||||
id="rect4147"
|
||||
d="m 349,122.36133 0,24 -24,0 0,16 24,0 0,24 16,0 0,-24 24,0 0,-16 -24,0 0,-24 -16,0 z"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g4204">
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4158"
|
||||
cx="478"
|
||||
cy="174.3622"
|
||||
r="10" />
|
||||
<circle
|
||||
r="10"
|
||||
cy="132.3622"
|
||||
cx="478"
|
||||
id="circle4164"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="circle4166"
|
||||
cx="458"
|
||||
cy="153.8622"
|
||||
r="10" />
|
||||
<circle
|
||||
r="10"
|
||||
cy="153.8622"
|
||||
cx="498"
|
||||
id="circle4168"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 281.78571,250.21935 13.75,-106.07143 L 390,205.75506 321.96429,272.18363 Z"
|
||||
id="path4187"
|
||||
inkscape:connector-curvature="0"
|
||||
clip-path="url(#clipPath4282)" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4159"
|
||||
d="m 534.00781,141.36914 -49.24023,8.68164 0.4082,2.31055 -190.17578,0 0,75 171.45703,0 44.16406,44.16211 0.19141,0.19336 0.01,-0.008 a 25,25 0 0 0 22.00976,6.94922 25,25 0 0 0 20.2793,-28.96093 L 534.01,141.36896 l -0.002,0 z"
|
||||
style="opacity:1;fill:#689f38;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;"
|
||||
clip-path="url(#clipPath4278)" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4161"
|
||||
d="m 355,92.361328 c -29.48242,0 -53.85001,21.058592 -58.98633,49.011722 l -0.0234,-0.004 -19.10156,108.32813 a 25,25 0 0 0 20.2793,28.96093 25,25 0 0 0 22.00976,-6.94922 l 0.008,0.008 0.1914,-0.19336 59.16407,-59.16211 96.45898,0 c 33.24,0 60,-26.76 60,-60 0,-33.24 -26.76,-60.000002 -60,-60.000002 l -120,0 z"
|
||||
style="opacity:1;fill:#8bc34a;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4067)"
|
||||
clip-path="url(#clipPath4274)" />
|
||||
<g
|
||||
id="g4163"
|
||||
style="filter:url(#filter4067)"
|
||||
clip-path="url(#clipPath4270)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 349,122.36133 0,24 -24,0 0,16 24,0 0,24 16,0 0,-24 24,0 0,-16 -24,0 0,-24 -16,0 z"
|
||||
id="path4165" />
|
||||
<g
|
||||
id="g4167">
|
||||
<circle
|
||||
r="10"
|
||||
cy="174.3622"
|
||||
cx="478"
|
||||
id="circle4169"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="circle4171"
|
||||
cx="478"
|
||||
cy="132.3622"
|
||||
r="10" />
|
||||
<circle
|
||||
r="10"
|
||||
cy="153.8622"
|
||||
cx="458"
|
||||
id="circle4173"
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<circle
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="circle4175"
|
||||
cx="498"
|
||||
cy="153.8622"
|
||||
r="10" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4177"
|
||||
d="m 281.78571,250.21935 13.75,-106.07143 L 390,205.75506 321.96429,272.18363 Z"
|
||||
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
clip-path="url(#clipPath4266)" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
@ -300,6 +300,26 @@
|
||||
android:name=".auth.TokenActivity"
|
||||
android:exported="true"/>
|
||||
|
||||
<!-- Games -->
|
||||
|
||||
<service
|
||||
android:name="org.microg.gms.games.GamesStubService"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.gms.games.service.START"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<activity
|
||||
android:name="org.microg.gms.games.UpgradeActivity"
|
||||
android:theme="@style/Theme.AppCompat.Light.Dialog">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.gms.games.PLAY_GAMES_UPGRADE"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- Other -->
|
||||
|
||||
<service
|
||||
@ -416,7 +436,6 @@
|
||||
android:name="org.microg.gms.DummyService"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="com.google.android.gms.games.service.START"/>
|
||||
<action android:name="com.google.android.gms.plus.service.START"/>
|
||||
<action android:name="com.google.android.gms.plus.service.internal.START"/>
|
||||
<action android:name="com.google.android.gms.panorama.service.START"/>
|
||||
|
@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2013-2015 microG Project Team
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package org.microg.gms.games;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.RemoteException;
|
||||
|
||||
import com.google.android.gms.common.api.CommonStatusCodes;
|
||||
import com.google.android.gms.common.internal.GetServiceRequest;
|
||||
import com.google.android.gms.common.internal.IGmsCallbacks;
|
||||
|
||||
import org.microg.gms.BaseService;
|
||||
import org.microg.gms.common.Services.GAMES;
|
||||
|
||||
import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
|
||||
import static org.microg.gms.common.Constants.GMS_PACKAGE_NAME;
|
||||
import static org.microg.gms.games.UpgradeActivity.ACTION_PLAY_GAMES_UPGRADE;
|
||||
import static org.microg.gms.games.UpgradeActivity.EXTRA_GAME_PACACKE_NAME;
|
||||
|
||||
public class GamesStubService extends BaseService {
|
||||
|
||||
public static final String PARAM_GAME_PACKAGE_NAME = "com.google.android.gms.games.key.gamePackageName";
|
||||
|
||||
public GamesStubService() {
|
||||
super("GmsGamesSvc", GAMES.SERVICE_ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException {
|
||||
String packageName = null;
|
||||
if (request.extras != null) {
|
||||
packageName = request.extras.getString(PARAM_GAME_PACKAGE_NAME);
|
||||
}
|
||||
if (packageName == null) packageName = GMS_PACKAGE_NAME;
|
||||
Intent intent = new Intent(ACTION_PLAY_GAMES_UPGRADE);
|
||||
intent.setPackage(GMS_PACKAGE_NAME);
|
||||
intent.putExtra(EXTRA_GAME_PACACKE_NAME, packageName);
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("pendingIntent", PendingIntent.getActivity(this, packageName.hashCode(), intent, FLAG_UPDATE_CURRENT));
|
||||
callback.onPostInitComplete(CommonStatusCodes.RESOLUTION_REQUIRED, null, bundle);
|
||||
}
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
/*
|
||||
* Copyright 2013-2015 microG Project Team
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package org.microg.gms.games;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.gms.R;
|
||||
|
||||
public class UpgradeActivity extends Activity {
|
||||
public static final String ACTION_PLAY_GAMES_UPGRADE = "com.google.android.gms.games.PLAY_GAMES_UPGRADE";
|
||||
public static final String EXTRA_GAME_PACACKE_NAME = "com.google.android.gms.games.GAME_PACKAGE_NAME";
|
||||
|
||||
private static final String TAG = "GmsUpgActivity";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.games_info);
|
||||
|
||||
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
|
||||
lp.copyFrom(getWindow().getAttributes());
|
||||
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
getWindow().setAttributes(lp);
|
||||
|
||||
String packageName = getIntent().getStringExtra(EXTRA_GAME_PACACKE_NAME);
|
||||
|
||||
// receive package info
|
||||
PackageManager packageManager = getPackageManager();
|
||||
ApplicationInfo applicationInfo;
|
||||
try {
|
||||
applicationInfo = packageManager.getApplicationInfo(packageName, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.w(TAG, e);
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
CharSequence appLabel = packageManager.getApplicationLabel(applicationInfo);
|
||||
Drawable appIcon = packageManager.getApplicationIcon(applicationInfo);
|
||||
|
||||
((ImageView) findViewById(R.id.app_icon)).setImageDrawable(appIcon);
|
||||
((TextView) findViewById(R.id.title)).setText(getString(R.string.games_info_title, appLabel));
|
||||
findViewById(android.R.id.button1).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
BIN
play-services-core/src/main/res/drawable-hdpi/ic_gamepad.png
Normal file
BIN
play-services-core/src/main/res/drawable-hdpi/ic_gamepad.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
play-services-core/src/main/res/drawable-mdpi/ic_gamepad.png
Normal file
BIN
play-services-core/src/main/res/drawable-mdpi/ic_gamepad.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
BIN
play-services-core/src/main/res/drawable-xhdpi/ic_gamepad.png
Normal file
BIN
play-services-core/src/main/res/drawable-xhdpi/ic_gamepad.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
BIN
play-services-core/src/main/res/drawable-xxhdpi/ic_gamepad.png
Normal file
BIN
play-services-core/src/main/res/drawable-xxhdpi/ic_gamepad.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
107
play-services-core/src/main/res/layout/games_info.xml
Normal file
107
play-services-core/src/main/res/layout/games_info.xml
Normal file
@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright 2013-2015 microG Project Team
|
||||
~
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:paddingTop="10dp"
|
||||
android:text="@string/games_title"
|
||||
android:textColor="?attr/colorPrimary"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/no_progress_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@color/dialog_border_color"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:paddingTop="15dp">
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_marginEnd="-3dp"
|
||||
android:layout_marginRight="-3dp"
|
||||
android:background="@drawable/circle_shape_background"
|
||||
android:padding="10dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@drawable/ic_gamepad"/>
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_marginLeft="-3dp"
|
||||
android:layout_marginStart="-3dp"
|
||||
android:background="@drawable/circle_shape_background"
|
||||
android:padding="10dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/app_icon"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/ic_core_service_app"/>
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:padding="15dp"
|
||||
android:text="@string/games_info_title"
|
||||
android:textColor="?attr/colorAccent"
|
||||
android:textSize="18sp"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:text="@string/games_info_content"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="5dp"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp">
|
||||
|
||||
<Button
|
||||
android:id="@android:id/button1"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@android:string/ok"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
@ -16,11 +16,15 @@
|
||||
|
||||
<resources>
|
||||
<string name="gms_app_name">microG Services Core</string>
|
||||
<string name="gms_settings_name">microG Settings</string>
|
||||
|
||||
<string name="google_account_type" translatable="false">com.google</string>
|
||||
|
||||
<string name="just_a_sec">Just a sec…</string>
|
||||
<string name="google_account_label">Google</string>
|
||||
<string name="ask_permission_tos">By continuing, you allow this app and Google to use your information in accordance with their respective terms of service and privacy policies.</string>
|
||||
<string name="ask_scope_permission_title">%s would like to:</string>
|
||||
<string name="ask_service_permission_title">%s would like to use:</string>
|
||||
<string name="ask_scope_permission_title">%1$s would like to:</string>
|
||||
<string name="ask_service_permission_title">%1$s would like to use:</string>
|
||||
<string name="account_manager_title">Google Account Manager</string>
|
||||
<string name="sorry">Sorry…</string>
|
||||
<string name="no_network_error_desc">"You don't have a network connection.
|
||||
@ -45,18 +49,20 @@ This can take a couple of minutes."</string>
|
||||
<string name="pref_auth_trust_google_title">Trust Google for app permissions</string>
|
||||
<string name="pref_auth_trust_google_summary">When disabled, the user is asked before an apps authorization request is sent to Google. Some applications will fail to use the Google account if this is disabled.</string>
|
||||
|
||||
<string name="prefcat_services">Background services</string>
|
||||
|
||||
<string name="pref_checkin_enable" translatable="false">checkin_enable_service</string>
|
||||
<string name="pref_checkin_enable_title">Enable device checkin</string>
|
||||
<string name="pref_checkin_enable_summary">Device checkin is a hidden process that is used to create an unique identifier for Google services. microG Services strips identifying bits other than your Google account name from this data.</string>
|
||||
|
||||
<string name="pref_gcm_enable_mcs" translatable="false">gcm_enable_mcs_service</string>
|
||||
<string name="pref_gcm_enable_mcs_title">Enable Google Cloud Messaging</string>
|
||||
<string name="pref_gcm_enable_mcs_summary">Google Cloud Messaging is a push notification provider used by many applications. To use it you must enable device checkin.</string>
|
||||
|
||||
<string name="prefcat_services">Background services</string>
|
||||
<string name="prefcat_components">Components</string>
|
||||
<string name="prefcat_location_service">Location service</string>
|
||||
|
||||
<string name="gms_settings_name">microG Settings</string>
|
||||
|
||||
<string name="google_account_type" translatable="false">com.google</string>
|
||||
<string name="games_title">Google Play Games</string>
|
||||
<string name="games_info_title">%1$s would like to use Play Games</string>
|
||||
<string name="games_info_content">To use Play Games it is required to install the Google Play Games app. The application might continue without Play Games, but it is possible that it will behave unexpectedly.</string>
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user