403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Program Files/Android/Android Studio/plugins/android/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Program Files/Android/Android Studio/plugins/android/lib/utp.jar
PK!<	META-INF/��PK!<"��00META-INF/MANIFEST.MFManifest-Version: 1.0
Created-By: singlejar

PK!<com/PK!<com/android/PK!<com/android/tools/PK!<com/android/tools/utp/PK!<Acom/android/tools/utp/GradleAndroidProjectResolverExtension.class�V�S�~�$8!a'@�4�8�q����(��q[�:���N�]�~9i����C~I~��4qҙ�;��:��w:	��3d@����>��Ǿ��}�/��7�9ӭ�){�U6���Ҩ��q��e[,4��<wG�� �k�	/���#-���]�b�U��H�f�+~_	)�=�F�a,���
a蜷Ke"��:�G:��)�^ȯ޺0���!�[Y/.�,e�򧆜K��.���0��*�r����q��I�f8���������}C��g��4f0���˷l&�8G
g>���E�+AJ�,|�]�0D�Զ%����s䤊P��a<=@Y��m�nM8�fe�WW*�4�n�"<����J�s����v�(�!���
�;c��k&���{�8�.>��g���S�ܥS�BJ˩0d�
ue�Fޒj��|0�DF�W�p��e^��d��(�|�u呖���@O^ߦ�%'m�鼐o�?�8�⍰Yq�Jݶ�������T��Х�>+�*d����n9�W(-S�0Ȳ�0wC�5��fZ��b������z�qL�)?��MϪ�C��p�!^;�%^W�"�Ȍ�:./��"�(�� �M5.���#��Gq�3�	:�S0R�N2d[�/�\��p�Ɣ#��Q�S���Ƒ�thM%�����=)�p��c�xs�*�p��r
��peq�7p+<L�u+t�Ұ�:�8�N�9J$�61̧�9=Z����$��q��e���(ֱʠ�
�����!
�X�z�b$N�F[0�=�^���7�*��\���V���6ގ�"�F��V�7������̧�?!�[��e�p�q�Cߑ+�0�\G��1o�a˞��,��w�t%�δ�f��wy�RHyuS��2�v�o�|Zqlc���	�p�T��	D�b��W�|.�����nm׶���V!��Z(n�Vײ��m���ưHL�B&S�)b2�DL��������?�ͲP��'l�����߀b��-_��Qy�ዃ{/ǵA��i-㎸�����{�~��p0���;?0�M�kl`���ǝ����6�=�H&�c�hJ���!��)%gS��ކΥ^{�p>֧�>N����[?x��FR"�Œ]��XgR�i���,�j�;}���"A]O?yU'����]����ꎲ�"��Y�*���5�.As��U]r���;�+�jIxE��~,�&�7�g�r8ٳ���K��]�V�����Q����F �s�:	
� 1�\�7-n(��<F���F�T �!?%�$��I�8�)�vdn5��v���d۷(���;�n�w棌����=@�����{Om/��>G;G�O�HJ4v�������:��}�_P��5.0��gM�x�y�`G[��B(��H�B�?�wP����z��&R/S;��J-RZ�Zj��E'����X�E
���Z�N�9=�[_�G�	3�	��F��1�_������b��7A�A3�{��R�3CF!�?�O�3�����Ʉ��$xp�.��4�+0I�����DBo��1�m�e0�9Q�'�o����w����>
,��!�ܦ�M��(�
�J��(2^�"9���N�x��x/���w�$~�_�Y�s��蔸'�ĸij#OKJ�(��d��e��ĕ`lK��PK�~N��
PK!<Kcom/android/tools/utp/GradleAndroidProjectResolverExtension$Companion.class�S�OA~3[ڲV,�@TT0���	ԕ4)�,k���L�Q��ΐ�iñ'�O^9�x0M��Q�7[ԫF/o�����M�7�����*
��h%:�U*1AϞ{�u�3��Z�𶍸QI����ri��+��2���@���Y�0�>8l9A<�gB
������(��}�A�@�~��^��`���j��l"dp�O!-ג%�K���[Q�X�k[����r����̮��iV%��w���)��u�e�Ѵ��ą�@�t�?.�@��$Pf|:G}Z|Zt`���son8آd�P���yZ��T�[��7���1�o�)?��"��Rx��[���z3��f���Y��a��Y�������%0��~�$[�Z�|Eu8�k5!�A/mq�V��LM�Y�`Z���,U�互0c8��H�t���6��)o#Z��T�Y�c`g�s��JݳCc�a�	�:��3/��}���\�K�
0	>@� �r)~�+��.�i:��19d�*La̓�L�K0����(���-�W��*�Ta�#�U<��1s0y�����PKZ
rn9�PK!<Gcom/android/tools/utp/GradleAndroidProjectResolverExtension$LOG$2.class�TYOA�z�=V9DT�@<f�uф�I�Հ!1<�δK/��d�w�o���D�&���2V�A<���LuMu�WU_U�����C�a1�-��0�2t��Q�͖�0�a$��Oc��Y��:"^~i�J�VS���Ss0���6�Tn��r�2"V<r}ު����݋�
�&VY�m
6(�d��[B�-醒7�N�\_7"�ާz'����>���* ϐ_�J�����C_ٛY+��Ad02aX�*8/UGo
���L��2��u�p���c.���6|���6�v�W�?
,`��Bo0�0��S��*�n�e��;܍�j�KO�j��p���(���I��J�r��	��B����I2z��g������p?�2߳���NeZ�,�:��hئU�t�RZ�BZx����.9{�Nf,��{�C{��
��:�)f9�i��9�c�+�^�t;�M*�>�rO㹺ih�tH\��:���%�G���T��n�Eܵ�Xi+#[�S�ȺM�ciJ�R"N'%�spY�N�j[:d�_�
�M;&(gU��@<�w����**�|�(���(��>K5��2G�y0:��]�v�\'Yڷ�P3lN�6�bGd�F����2����C����00�HH��n)7�'�P�Tĩ�'o�|D�.N�Ź�Ԑ�-�NZ�}�0�v}���&��Nz^�]:���<EM�#�a��Q�0�Y�py,�\]G_�HM0�`�PKr�t��PK!<3com/android/tools/utp/TaskOutputLineProcessor.class�V[OW��z�k�1Ɖ���Hb `BR�r���)!RHJ/,��.�	�UU��*�ԗ6��ԇ"%$i�
�؟TUM�c�.�<D��{���f�7�#���o�+Оr����:V:�9N�M伕�-�]�I!�Z�9�uR��:YB �h���a�'n�-�)O�O�*����p�qMc.c��h}�my���7
ռk��2%pr���'Mo.kX�K,���r(�9�X.�����<@P�i��M,�.',�3���I$m/K+��	�Rfj�3nd�e��g�{�ۻC3)A�^aTQ���/.�:�A�8$�VW!�XTT�<��{�d]j����B��@�T�6�Q�P����x�,Iud�ܭ�oy������Q�~q �fv���b�iV,~P�u�5/���ك<^��i�J�#c���B�����!
	RF��� �d�p��%-����\�{V)�L���[��K���a�	4�[��}���E�}@�@��VY[ɒ&~SF&g�p�І��oQC�+����pg�1���3����Ԇ�������@eI1Z$2���]����1&�O�	��ׇ��y/g�)���1!���"���}I��5;�����[���5Z7L�H��ܔ�U�����|�w]�~͒�NJ�s�o=8Tj����� ��m������n=�R:E����j�^��m?֔�z=	rWޥEB\+�"a��V=Q_�M��a�իD;��:�h.����*�h�Y�����ʼoR����_�K����Y�f�^�\�H�����a'͚U�sc��93{KF��wRFf��Zr_T6��*
�]����Z�a�����mf�3��4'�\6e^����9�/9~�
�0�9����YC�kר��{t~�:�_�n>J@C[���Z��pk�3Դ���;�Q�M4+����Ʈ�$l=�e��q�d+Q*�aS�E1f��D1bB��̣�)j~-akye3Tp(b�L�
'K��/M��)��L{c��+�P)����4���}��S��-�"����mg���|ݪTl���Sc�ǘ������ZL�T�� ��#\����T=©���>&��#�,IO�k��XG�תX�K���t�5n�� �wߴ�N����:�%�(Xe1Y���W�B�E�M��7��v�/��yn��14���m�<�];���O��d��aFp��] OݸG�}�/Ѓ/чo�/�!�^#Y]�W)i��,����!>���;�R��\Oޠ��*�q�TD`�"_�|���-L�Ĥ����u��P'I)�;}'z����(Ѣ�whP����̤.3�^�ꎶ�(&�cL���P0����\�\?��c���|I|�ħI�>���$��@�H!=�*�\�.�.b..��8�⤋�.N���"����w��/PK2Ww���
PK!<Acom/android/tools/utp/TaskOutputLineProcessor$LineProcessor.class�QMo1��Mv��[�%
_*ؐkT�	�(�E���$&r����7☟�o�"��o���d͛y?=������C;K�V�Rom���_����2)}OuVءr���T"$9�i.�8=L��G��kS�'�=�]��}�͸���g�q:Q~PHm�a��^[�'֟�y�%���ڤ#�%��l���F Д��t���F/���~,�"�r��X�.����#��6IDK��N�Ը��<��9�/ ��!��#&^����(v��Ӹw��Z��_�ϧ�p��4^�Tf���A��d!gʫ��UĄ��U�ʥs�e|n�b�^�=�=�b=�{!��V��u�����"�DL�c�Q�87p��@�s���6�2�63la�)v2�@�9��f��-����p�PK>�Μ��PK!</com/android/tools/utp/TaskOutputProcessor.class�Y	|����&��l�f����+J.Xn�D‚�MIB�t�;l&ٝ�3�kU��a/z���km+������*��큽�ֶ���{3�ݝ�
$I�}o�w����}o��~�����.�&���T94T5���p�[ԇ:��4�jjD�uU������J,��?(EEͲ"k�a�CҐ�6q����aW��9�����d%���4����"iMk��/�Z,8(��(+:͡��h�*��U�=�71��Q���T#.+���DPVIS�x�U�Xt9�(a��"C�[EMLHԑaam8�M�
��P�2/|��PP˟Q��YV�����l�1 �S���IƸahpym]�
Wf��ᴼ� [b��j�"WD�э��4<X�P�no�.�ڤ�D$�lO���_A�;�t&�4ޙae�ҙ�{ݖ�T�5�Ћp��Ik_c+\�T@-��C	��^ԡ�I��I%b�s�]�Y1̛��q�X�[���ܝ'�*|��Na��X��,g`^V2�Te�[��_�v��8Ax��&p�T�8���y|��DV�b��%����vu�Ȗ��q~��V��N�	|X��8�1x��d�ڼ`7������Ӛ�wo��uu�u������:����P{�Z6�b�!j��C6��kʣJ�dW>3���r�r�[(6'�$LLJ�D8|h�f꠨�I	uD�Jj��T��zN�rR�k�m���vQ�����p;�9b��Q)�F�
�.�ZRx=J]
��a0�:��d�\���=��U0��Ѹ�37��ݒnt��ǣ��lMZ���܁+��N
�6��������Wy锻�(ٟ�l^����=�i��m����fw��Ÿ�JQ�,���:�(��Z�z7֞uRդ�'z
@�"�A�U�?:wH
e�$�PWR����d#2`7�,ap����@-F��O��(�T��7s9f 酎�9���㻒�!u�`+E}�c��z�p2��)S]n����9
ﲉ2j}�����s3Ce�R�N��N�0J��I\���p�4P&1�v��3�U{����3��&bT4D��糖�DArwp�r=)�Z�΋;�z�m|@LUcӠ)�Τ�h�V���[��U���%-�i�)	��7�=g8��2�2,F���H\��g�s�6���-x�o��(*�q6J#rDj%���� 1����q��.��5��'��E>��-���>��S�y�e�Ƹ�<��an�-�g�أS2�#Ɠ���c��GUr�F�u&�Qי���S���Q:J��Uo�����hNV�7UF�c�u�P"�'�IN�n�f0�vظ܇y,9���O�-||zU��:����G)Ͷ���ʦ)s?w)���S��f�ad/�o���r�L�����(�ۏ�q���M�ٚ�F�ķcY�}���1|�!4Ed�Y�Se�c�NEz���L��W5�e|�3��vtw�4=��A��gH۬4)���әTf0�[�6g�w(�L;�K��ǥ���?`�8c��.��w3�<K+#�I���f<;�'�)�?��o�.z�U(K?㚓��B�7��&zӒ�E~���>4�R~��-��j����H��2���-jbXT(�Gʸk���l��˵��nhɈ�jm�6$i��?y��L�wj2����0�����+���7J�_�/�;�S/%���[�7�u��쐷�;�R��q���iWb��?�F�+��?�Wѥ/��]�uU��.��^/���5�̒y���2ŕV�/!�P9��܊e�%l
��P�]�ew���m�.)x��"��hK�����ˊ�^^n�K���s)�e��H2�j~����$��gf�dV�d�S�9?/*�Q�~�c���VXƸm������H-�̷C}/q�X	̬xA��x���Mf���y��?��y����I�~\İ��t�U0x�B���H(��L�_m;e�f��Á�C�0�3�rBjUFd]��~K}��c�h$5R�ԌL�b��zw���U����D��u�4��Q#b�G�d�lk��I}�u,XJ.��a�V�(c�C���ۥ&����U�S���R�nn
nT�`��S����.v�]����
�D��k�m�j�WF[�����Bz*`���FjwQ�oxG�?���
�� �η�a>���V_�A%rT��O`5T
�^��`T��y@����AT����>��5�=�\�r��|{—�����8�p7��Q,|u;I��1,Ŋ�*�2V��-Ś��tj�Щ1�S#��~p��-u�0�"��T�,�#Ԇ��BZ�;��!�fַމ�IN�mf��E�ص�]_�>�k��.��&*`�/��F�i3�֓���%������
\����Ђ�ɛKM�V��(EiR@=��H+��sfp�)�C�p�I�^\e+�q��
�1��<;\P���;���k�k6�9���Zh:X]�p/?�J^�x�XE�����փ)-K!�	Љ�� �ME��� � ����
!�˱
�gu��w�6R�Cߓ�~/��!�&�nk<�7���ǰ�����w�]�];�@`Q��Ȣ����Ž4�*�^$����!`?�@y��5`��A��J�m�Nc=��A�}�6�q7����S�W�pߐ�A��p`��=:�-܏�
�!�9����� �W:p�V�p�g'�}S^ܟ縟7q���,�_;�c����%�WQ�j�}����
��愸���]����&��������9�E��O��:p���q?�_���¯��{k���A���E��=O���=��Qk�Js-
��๝��r?hJ
�E�;H�9��yR0Akx�uV�G��X)�u�����1*g��!*�T>C%��wP�r��b��<��J*��j6��T�C[hj1��R���e�Ӌ�V�Њ[)�2�2W+Esw/��
YQ/*u�c��b��<:�tT��1O��f��t�:��zD�M:nбO����PK�7����&PK!<9com/android/tools/utp/TaskOutputProcessor$process$1.class�T�S[E��7	��ؠm�V�%!���?X�E�F��i�Y`��.�wo�?Kge|p���x6\cB�t�>d��9��w�������u����s�6Z�}�u��=�_�KFb��8�f���Z\��L��m$���RYa���D�Vj�B	#T(��Y�N=J3�A��Z��qu��Y#�qs��\57��+cz�dXx3��i��5���`�ֆ@wOEh��}¼2C�3)M-�D%�;C��x���<�1�j�8��g+�q�|#Q�'�G��)�1L�3<j����xވPȞ0���>�z�#��zː��nK�c�T�C�%�Җ_h���NE�5q����Q
���2�=|@҅'"��>�w�u/eH�Q%��E|�;%T1_�>�~yاaH?�'����uP�">)b�����Pc�z<J���|� ����(������ ��f9K���=����/�9V����O��6�������?��%�0��3r�Y:k�ZIɻTR�|��6�
5�A烎�q��m��!�����0/��0�$�I��¤�[/eeW�'cI��g�a�rt0:#i�@)a�P�q��
#S�Dljn3���61�X�Ӊ	Ŷt�7R��1��
�;E�y�1�!
tzJ�c�M�~my�Q���S���ʯ}��h����]\w��E#K�9'���(�eU�[�h�7�}���9����/����N�gӸ?tmupm7���Ҽ�o��c��&�i��)^a������(F0
�>�>���T$��Q��m��j�ݔ��}?Ҿ@����r��e���u�&���PKFL�/�PK!<9com/android/tools/utp/TaskOutputProcessor$Companion.class���OQǿo�l�Z����@Y�xB�X�4)-�ZM84��Kw�#���=�x���ăiz�2��"F�A��|�33o������/c��/c��v"ö������#��U�N"�;���d�P���y0��!?�^��[�~p�:��y�P?a���E�q�C�!�߅��a�?�3�.V;RG���c/:H����F�,��I�k�l�$�KM��;��L��,˰�o�1��h�4os͉Y�Mkd����h�T{��U�;�Z3�k�z]�*1b|�b��k�
{�/X��U�vGJ����{�?i���~C���c�_cf�T�����{Ym���^���jll���;��snӢ���y\c>?����;��\��a�����A�����y��Ih�3X�$�+��p�d������fwS��8h�*��
!�暦+��esf��-��h7)������i��E���<����g��[g���얦az
����ٸM��5��:fq'xw�?%>J��}��U0^�&Ib�Bo^�S���>�
�œ��p9W�~PK9�-7�PK!<<com/android/tools/utp/TaskOutputProcessor$WhenMappings.class�S]OA=C��"�S�
U)
���G$����v�Ȳ���۝fw�jL�����c��(��|Q^���3{�|����"�,QSM��	��J!_
d]5L��A�@nz��/���}���V|�!s`6L�1݊��w�-� ƐX�۵�Cl<��0x,[z`���)=Ox
�W�[�;A�v}��~�Hձ}�]��,;\�{B
�q���
�˭H]:o����b��2�KS��sI�����gx3��)����4�!�B
�=FQ7v�g�Q�Ս�-����L�u!�$s���ʶk:Q�4z���g�l����4.4�]�u��]��5�IH6�K�'�|�_i�C}���������07�жC�b$�6�*!���4���fٔ�<�j��<C"``�pA��WtX��_��)���'� �s�0��
n3t�Q�!ٚ
��S��T�D�(�IZ�J��0��iͥ����K�"�,�j�\v+p�]�۶o��\A�l��p<�\&6<�a��|��[�H�|�ï������O�o�C��,���L����	)�����TIA7��B?�1Jy���<�y,Qfx@Ն��A2� �J�2��d��9��Y�]di�g1�(Kǁ�{X�<D�^#��4��0�!�	
7qK��OPK������PK!<1com/android/tools/utp/TaskOutputProcessorKt.class�T[OA����*)�xAiQ@�K�����&�f��ԥ�ݺ3Kx�ſb|���џ�1��VP�G1�9������ۏ�_��#�����«�S��]�C��kB՗I����R~�\'���bCpWx5�\Y�6�����rN(9;���JH�3��� �:p�Z>W<�l�
k��x U�j�:JKO���+y��ȟF��-�Tz%�.��#��{���_���qy��$�VM�'���p6Wܯ5�>ͧ�
�B�Q��J�8C�����B/ϥЃ���e�8I�d�n�@��o0����ї#���p
gfv�ɶ�9Ѯ���&��ʁ��庐a8W���x|}��O�./x&�ʱUCC�iח|����f�bQ�R��~�P���Ԭ��Y��0�������AÈ���m8R�D�B���v0/�U��c��8
*3��0��bt��i���
���	kgˊ
�"�6��t�Hl�M'�1��g��2��?L!E'����$n2��s�!�;��quR阏����xr)lTd�&*�45�m�D�u{3U���+���ޓU?l�蘳�J�i�!K�r*�a��BS�)LQ�;LE��6��ܥUq���m��?�o���q�c��'���G4�R�\�\ڽ��^!�9����ͷ�l���}�}�w
���=P]�M�ރ}��%�Œ�/ [@��q\-��0^S��T���
n(�PK#
���wPK!<7com/android/tools/utp/TaskOutputProcessorListener.class�U�NA�f[�e)���
���!�)���ᆫ����N�3%^�	|����e���-�1j��o�og���痯^b�a!/���t���SNUW�W�m�T�N �B)d\��/��>����_t��D^��0I?'��V]-��Z�f2����EO8�޻t��q}(��S	����N^�i����ֵ�j��毹�+�{��#�����ڕ�ߒz��y`���W����Rx��K(5\�(_w}W}�o�[��X�r���vL亘�ƒ��Ԟ�;a�a���q����K<\��J�tCi�v��O�ڜe��a�k=�m4 ���_�^���k)c�mڶ1f�GR1;Jس1ML�Ř����b,¾�h1����>���b�Ы�b���M!S��U�fv�v���ߪֺІ���R2��zw0�0d�����0�^:%&��.���4�(׮ћ����,���U�x�`uH�q�K`b���%՚�DH��Ͱ��4�H��;����Jt`j��k�,����O���j��H�tc��J	���y����hK�^S��{1�;��C�(Cb4K��d�ЄI,�zϒ�Β	�"��d��c�x�GxL�`)�'�O	_�9ϰL�N4�fp�4�4�ia�����U\�
�1�[aTaL�j�7n*�n)�+$n+�Q�Q��0�0�PK�K�g�MPK!<META-INF/utp.kotlin_modulec```f```b(���M���K�K)��L�+���)�+-)
I,��JK��S���K��PKSFH�AHPK
!<M�QQMETA-INF/utp.xml<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ 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.
  -->
<idea-plugin>

  <extensions defaultExtensionNs="org.jetbrains.plugins.gradle">
    <projectResolve implementation="com.android.tools.utp.GradleAndroidProjectResolverExtension" />
  </extensions>

</idea-plugin>
PK!<utp/PK
!<:�Fù
�
'utp/addGradleAndroidTestListener.gradle/*
 * Copyright (C) 2021 The Android Open Source Project
 *
 * 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.
 */

import java.lang.reflect.Proxy

/**
 * An action to attach a listener to DeviceProviderInstrumentTestTasks for communicating
 * instrumentation test results between AGP and AS.
 */
class SetupUtpTestResultListenerAction implements Action<TaskExecutionGraph> {

  @Override
  void execute(TaskExecutionGraph taskGraph) {
    final String ENABLE_UTP_TEST_REPORT_PROPERTY = "com.android.tools.utp.GradleAndroidProjectResolverExtension.enable"
    final String ON_RESULT_TAG = "UTP_TEST_RESULT_ON_TEST_RESULT_EVENT"

    taskGraph.allTasks.each { task ->
      if (!task.project.hasProperty(ENABLE_UTP_TEST_REPORT_PROPERTY) ||
          !task.project.property(ENABLE_UTP_TEST_REPORT_PROPERTY).toString().toBoolean()) {
        return
      }

      Class<?> testTaskClass
      try {
        testTaskClass = task.class.classLoader.loadClass(
          "com.android.build.gradle.internal.tasks.DeviceProviderInstrumentTestTask")
      } catch (ClassNotFoundException e) {
        return
      }

      if (!testTaskClass.isInstance(task)) {
        return
      }

      Class<?> listenerClass
      try {
        listenerClass = task.class.classLoader.loadClass(
          "com.android.build.gradle.internal.testing.utp.UtpTestResultListener")
      } catch (ClassNotFoundException e) {
        // Project's AGP version is too old and UtpTestResultListener is not available.
        return
      }

      def listener = Proxy.newProxyInstance(
        listenerClass.classLoader,
        [ listenerClass ] as Class<?>[]) { _, method, args ->
        switch(method.name) {
          case "onTestResultEvent":
            def binaryProto = args[0].class.getMethod("toByteArray").invoke(args[0]) as byte[]
            def encodedProto = Base64.getEncoder().encodeToString(binaryProto)
            println("<${ON_RESULT_TAG}>${encodedProto}</${ON_RESULT_TAG}>")
            break
        }
      }

      def setListenerMethod = testTaskClass.getMethod(
        "setUtpTestResultListener", listenerClass)

      setListenerMethod.invoke(task, listener)
    }
  }
}

gradle.taskGraph.whenReady(new SetupUtpTestResultListenerAction())
PK!<	META-INF/��PK!<"��00+META-INF/MANIFEST.MFPK!<�com/PK!<�com/android/PK!<�com/android/tools/PK!<	com/android/tools/utp/PK!<�~N��
A=com/android/tools/utp/GradleAndroidProjectResolverExtension.classPK!<Z
rn9�K@com/android/tools/utp/GradleAndroidProjectResolverExtension$Companion.classPK!<r�t��G�
com/android/tools/utp/GradleAndroidProjectResolverExtension$LOG$2.classPK!<2Ww���
3Qcom/android/tools/utp/TaskOutputLineProcessor.classPK!<>���A[com/android/tools/utp/TaskOutputLineProcessor$LineProcessor.classPK!<�7����&/ucom/android/tools/utp/TaskOutputProcessor.classPK!<FL�/�9�"com/android/tools/utp/TaskOutputProcessor$process$1.classPK!<9�-7�9U&com/android/tools/utp/TaskOutputProcessor$Companion.classPK!<������<�(com/android/tools/utp/TaskOutputProcessor$WhenMappings.classPK!<#
���w1�+com/android/tools/utp/TaskOutputProcessorKt.classPK!<�K�g�M73/com/android/tools/utp/TaskOutputProcessorListener.classPK!<SFH�AH\2META-INF/utp.kotlin_modulePK
!<M�QQ���2META-INF/utp.xmlPK!<d6utp/PK
!<:�Fù
�
'���6utp/addGradleAndroidTestListener.gradlePK�A

Youez - 2016 - github.com/yon3zu
LinuXploit