Ë
    |¾�jî  ã                   óV   — d dl Z d dlmZ  G d„ d«      Z G d„ d«      Z G d„ de«      Zy)	é    N)ÚPluginc                   ó   — e Zd Zd„ Zd„ Zy)ÚActivityc                 ó.   — || _         || _        || _        y ©N)ÚpackageÚactivityÚpid)Úselfr   r	   r
   s       ú[/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/ppadb/plugins/device/utils.pyÚ__init__zActivity.__init__   s   € ØˆŒØ ˆŒØˆ�ó    c                 ód   — dj                  | j                  | j                  | j                  «      S )Nz
{}/{} - {})Úformatr   r	   r
   )r   s    r   Ú__str__zActivity.__str__   s#   € Ø×"Ñ" 4§<¡<°·±ÀÇÁÓIÐIr   N)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r      s   „ òó
Jr   r   c                   ó   — e Zd Zd„ Zy)ÚMemInfoc                 óä   — t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        t        |«      | _        y r   )ÚintÚpssÚprivate_dirtyÚprivate_cleanÚswapped_dirtyÚ	heap_sizeÚ
heap_allocÚ	heap_free)r   r   r   r   r   r   r   r    s           r   r   zMemInfo.__init__   sU   € Ü�s“8ˆŒÜ  Ó/ˆÔÜ  Ó/ˆÔÜ  Ó/ˆÔÜ˜Y›ˆŒÜ˜j›/ˆŒÜ˜Y›ˆ�r   N)r   r   r   r   r   r   r   r   r      s   „ ó(r   r   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd	d„Zd„ Zd„ Zd„ Z	y)
ÚUtilsc                 ó2   — | j                  «       }|r|d   S y )Nr   )Úget_top_activities)r   Ú
activitiess     r   Úget_top_activityzUtils.get_top_activity   s    € Ø×,Ñ,Ó.ˆ
ÙØ˜a‘=Ð àr   c                 ó6  — d}d}| j                  |«      }g }|j                  d«      D ]m  }t        j                  ||«      }|sŒ|j	                  t        |j                  d«      |j                  d«      t        |j                  d«      «      «      «       Œo |S )Nz3ACTIVITY\s([\w\.]+)/([\w\.]+)\s[\w\d]+\spid=([\d]+)z$dumpsys activity top | grep ACTIVITYú
é   é   é   )ÚshellÚsplitÚreÚsearchÚappendr   Úgroupr   )r   ÚpatternÚcmdÚresultr%   ÚlineÚmatchs          r   r$   zUtils.get_top_activities"   sˆ   € ØGˆØ4ˆØ—‘˜C“ˆàˆ
Ø—L‘L Ó&ò 	aˆDÜ—I‘I˜g tÓ,ˆEÚØ×!Ñ!¤(¨5¯;©;°q«>¸5¿;¹;Àq»>Ì3ÈuÏ{É{Ð[\Ë~ÓK^Ó"_Õ`ð	að
 Ðr   c           	      óì   — t        j                  d«      }dj                  |«      }| j                  |«      }|j	                  |d«      }|rt        di |j                  «       ¤ŽS t        ddddddd«      S )Nz¢\s*TOTAL\s*(?P<pss>\d+)\s*(?P<private_dirty>\d+)\s*(?P<private_clean>\d+)\s*(?P<swapped_dirty>\d+)\s*(?P<heap_size>\d+)\s*(?P<heap_alloc>\d+)\s*(?P<heap_free>\d+)zdumpsys meminfo {}r   r   )r.   Úcompiler   r,   r/   r   Ú	groupdict)r   Úpackage_nameÚtotal_meminfo_rer3   r4   r6   s         r   Úget_meminfozUtils.get_meminfo/   sv   € ÜŸ:™:ð '>ó ?Ðð #×)Ñ)¨,Ó7ˆØ—‘˜C“ˆØ ×'Ñ'¨°Ó2ˆáÜÑ/˜UŸ_™_Ó.Ñ/Ð/ä˜1˜a  A q¨!¨QÓ/Ð/r   c                 óŒ   — ddg}|D ]&  }| j                  |j                  |«      «      }|sŒ& n r|j                  «       d   S y )Nzps | grep {}zps -A | grep {}r)   )r,   r   r-   )r   r:   ÚtoyboxÚcmdsr3   r4   s         r   Úget_pidzUtils.get_pidA   sT   € ð
 Ð 1Ð2ˆØò 	ˆCØ—Z‘Z §
¡
¨<Ó 8Ó9ˆFÚÙð	ñ
 Ø—<‘<“> !Ñ$Ð$àr   c                 ó¾   — dj                  |«      }| j                  |«      j                  «       }d}|r)t        j                  ||«      }|j                  d«      }|S y )Nz dumpsys package {} | grep userIdzuserId=([\d]+)r)   ©r   r,   Ústripr.   r/   r1   )r   r:   r3   r4   r2   r6   Úuids          r   Úget_uidzUtils.get_uidQ   sU   € Ø0×7Ñ7¸ÓEˆØ—‘˜C“×&Ñ&Ó(ˆà"ˆáÜ—I‘I˜g vÓ.ˆEØ—+‘+˜a“.ˆCØˆJàr   c                 óŒ   — | j                  dj                  |«      «      }t        t        d„ |j	                  d«      «      «      S )Nzls /proc/{}/taskc                 ó"   — | j                  «       S r   )rC   )r5   s    r   ú<lambda>z Utils.get_tids.<locals>.<lambda>`   s   €  T§Z¡Z£\€ r   r(   )r,   r   ÚlistÚmapr-   )r   r
   r4   s      r   Úget_tidszUtils.get_tids^   s8   € Ø—‘Ð.×5Ñ5°cÓ:Ó;ˆÜ”CÑ1°6·<±<ÀÓ3EÓFÓGÐGr   c                 ó¾   — dj                  |«      }| j                  |«      j                  «       }d}|r)t        j                  ||«      }|j                  d«      }|S y )Nz%dumpsys package {} | grep versionNamezversionName=([\d\.]+)r)   rB   )r   r:   r3   r4   r2   r6   Úversions          r   Úget_package_version_namezUtils.get_package_version_nameb   sU   € Ø5×<Ñ<¸\ÓJˆØ—‘˜C“×&Ñ&Ó(ˆà)ˆáÜ—I‘I˜g vÓ.ˆEØ—k‘k !“nˆGØˆNàr   N)F)
r   r   r   r&   r$   r<   r@   rE   rK   rN   r   r   r   r"   r"      s&   „ òòò0ó$ò òHór   r"   )r.   Úppadb.pluginsr   r   r   r"   r   r   r   ú<module>rP      s/   ðÛ 	Ý  ÷Jñ J÷(ñ (ôSˆFõ Sr   