+
     Gi-  c                   s    ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RItRtRt	^t
^t^t^t^t^t^t^t^	t^
t^t^t^t ! R R4      tR tR	 tR# )
i    N)helpers)GLibzlineageos.waydroid.IPlatformZwaydroidplatformc                   st   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tRtV tR# )	IPlatformc                sF    \         P                  ! V\        4      V n        R # N)gbinderZClient	INTERFACEclient)selfremotes   &&//usr/lib/waydroid/tools/interfaces/IPlatform.py__init__ZIPlatform.__init__   s    nnVY7    c                   V P                   P                  4       pVP                  V4       VP                  V4       V P                   P                  \        V4      w  rEV'       d   \
        P                  ! R 4       R# VP                  4       pVP                  4       w  rWV^ 8X  d   VP                  4       pV# \
        P                  ! RP                  V4      4       R# Sending reply failedFailed with code: {}N)r   new_requestappend_string16transact_sync_replyTRANSACTION_getproploggingerrorinit_reader
read_int32read_string16format	r   arg1arg2requestreplystatusreader	exceptionrep1	   &&&      r	   getpropZIPlatform.getprop   s    ++))+%%77* MM01  &&(F & 1 1 3FA~++-4;;IFGr   c                s   V P                   P                  4       pVP                  V4       VP                  V4       V P                   P                  \        V4      w  rEV'       d   \
        P                  ! R 4       R# VP                  4       pVP                  4       w  rWV^ 8X  d   R# \
        P                  ! RP                  V4      4       R# )r   Nr   )
r   r   r   r   TRANSACTION_setpropr   r   r   r   r   )r   r   r   r   r   r   r    r!   s   &&&     r	   setpropZIPlatform.setprop2   s    ++))+%%77* MM01 	 &&(F & 1 1 3FA~4;;IFGr   c                s`   V P                   P                  4       pV P                   P                  \        V4      w  r#. pV'       d   \        P
                  ! R 4       V# VP                  4       pVP                  4       w  r6V^ 8X  Ed   VP                  4       w  r7\        V4       F  pVP                  4       w  r9V	^8X  g   K  RVP                  4       RVP                  4       RVP                  4       RVP                  4       RVP                  4       RVP                  4       R. /p
VP                  4       w  r;\        V4       F)  pV
R,          P                  VP                  4       4       K+  	  VP                  V
4       K  	  V# \        P
                  ! RP                  V4      4       V# )	r   namepackageNameactionlaunchIntentcomponentPackageNamecomponentClassName
categoriesr   )r   r   r   TRANSACTION_getAppsInfor   r   r   r   ranger   appendr   )r   r   r   r   Z	apps_listr    r!   ZappsZj	has_valueappinfor-   is   &            r	   getAppsInfoZIPlatform.getAppsInfoE   s   ++))+77#W. 	MM012 / &&(F & 1 1 3FA~%002tA(.(9(9(;%F A~"F$8$8$:)6+?+?+A$f&:&:&<*F,@,@,B2F4H4H4J0&2F2F2H("# .4->->-@*!&z!2A#L1889M9M9OP "3!((1 %&  4;;IFGr   c                s   V P                   P                  4       pVP                  V4       V P                   P                  \        V4      w  r4V'       d   \
        P                  ! R 4       R	# VP                  4       pVP                  4       w  rFV^ 8X  d   VP                  4       w  rGV^8X  d   RVP                  4       RVP                  4       RVP                  4       RVP                  4       RVP                  4       RVP                  4       R. /pVP                  4       w  rI\        V	4       F)  p
VR,          P                  VP                  4       4       K+  	  V#  R	# \
        P                  ! RP                  V4      4       R	# )
r   r'   r(   r)   r*   r+   r,   r-   r   N)r   r   r   r   TRANSACTION_getAppInfor   r   r   r   r   r/   r0   r   )r   r   r   r   r   r    r!   r1   r2   r-   r3   s   &&         r	   
getAppInfoZIPlatform.getAppInfog   s`   ++))+%77"G- MM010 - &&(F & 1 1 3FA~$*$5$5$7!> 4 4 6%v';';'= &"6"6"8&(<(<(>.0D0D0F,f.B.B.D$bG *0):):)<&F":.-44V5I5I5KL / #N "$  4;;IFGr   c                   V P                   P                  4       pVP                  V4       V P                   P                  \        V4      w  r4V'       d   \
        P                  ! R 4       R# VP                  4       pVP                  4       w  rFV^ 8X  d   VP                  4       w  rGV# \
        P                  ! RP                  V4      4       R# r   )
r   r   r   r   TRANSACTION_installAppr   r   r   r   r   r   r   r   r   r   r    r!   Zret   &&      r	   
installAppZIPlatform.installApp   s    ++))+%77"G- MM01  &&(F & 1 1 3FA~$//1
4;;IFGr   c                r7   r   )
r   r   r   r   TRANSACTION_removeAppr   r   r   r   r   r9   r:   r	   	removeAppZIPlatform.removeApp   s    ++))+%77!7, MM01  &&(F & 1 1 3FA~$//1
4;;IFGr   c                s   V P                   P                  4       pVP                  V4       V P                   P                  \        V4      w  r4V'       d   \
        P                  ! R 4       R# VP                  4       pVP                  4       w  rFV^ 8w  d(   \
        P                  ! RP                  V4      4       R# R# r   )
r   r   r   r   TRANSACTION_launchAppr   r   r   r   r   )r   r   r   r   r   r    r!   s   &&     r	   	launchAppZIPlatform.launchApp   s    ++))+%77!7, MM01&&(F & 1 1 3FA~4;;IFG r   c                r   r   )r   r   r   r   TRANSACTION_launchIntentr   r   r   r   r   r   r   r#   r	   r*   ZIPlatform.launchIntent   s    ++))+%%77$g/ MM01  &&(F & 1 1 3FA~++-4;;IFGr   c                s   V P                   P                  4       pVP                  V4       V P                   P                  \        V4      w  r4V'       d   \
        P                  ! R 4       R# VP                  4       pVP                  4       w  rFV^ 8X  d   VP                  4       pV# \
        P                  ! RP                  V4      4       R# r   )r   r   r   r   TRANSACTION_getAppNamer   r   r   r   r   r   )r   r   r   r   r   r    r!   r"   r:   r	   
getAppNameZIPlatform.getAppName   s    ++))+%77"G- MM01  &&(F & 1 1 3FA~++-4;;IFGr   c                s   V P                   P                  4       pVP                  V4       VP                  V4       VP                  V4       V P                   P	                  \
        V4      w  rVV'       d   \        P                  ! R 4       R# VP                  4       pVP                  4       w  rhV^ 8w  d(   \        P                  ! RP                  V4      4       R# R# r   )r   r   append_int32r   r   TRANSACTION_settingsPutStringr   r   r   r   r   	r   r   r   Zarg3r   r   r   r    r!   	   &&&&     r	   settingsPutStringZIPlatform.settingsPutString   s    ++))+T"%%77)74 MM01&&(F & 1 1 3FA~4;;IFG r   c                s   V P                   P                  4       pVP                  V4       VP                  V4       V P                   P	                  \
        V4      w  rEV'       d   \        P                  ! R 4       R# VP                  4       pVP                  4       w  rWV^ 8X  d   VP                  4       pV# \        P                  ! RP                  V4      4       R# r   )r   r   rC   r   r   TRANSACTION_settingsGetStringr   r   r   r   r   r   r   r#   r	   settingsGetStringZIPlatform.settingsGetString   s    ++))+T"%77)74 MM01  &&(F & 1 1 3FA~++-4;;IFGr   c                s   V P                   P                  4       pVP                  V4       VP                  V4       VP                  V4       V P                   P	                  \
        V4      w  rVV'       d   \        P                  ! R 4       R# VP                  4       pVP                  4       w  rhV^ 8w  d(   \        P                  ! RP                  V4      4       R# R# r   )r   r   rC   r   r   TRANSACTION_settingsPutIntr   r   r   r   r   rE   rF   r	   settingsPutIntZIPlatform.settingsPutInt  s    ++))+T"%T"77&1 MM01&&(F & 1 1 3FA~4;;IFG r   c                s   V P                   P                  4       pVP                  V4       VP                  V4       V P                   P	                  \
        V4      w  rEV'       d   \        P                  ! R 4       R# VP                  4       pVP                  4       w  rWV^ 8X  d   VP                  4       w  rXV# \        P                  ! RP                  V4      4       R# r   )r   r   rC   r   r   rH   r   r   r   r   r   r   r#   r	   settingsGetIntZIPlatform.settingsGetInt  s    ++))+T"%77)74 MM01  &&(F & 1 1 3FA~%0024;;IFGr   )r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__r
   r$   r&   r4   r6   r;   r=   r?   r*   rB   rG   rI   rK   rL   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r	   r   r      sU     8(& DB&&H&&H (H  r   r   c                 s   \         P                  P                  V 4        \        P                  ! R V P
                  ,           V P                  V P                  4      pVP                  4       '       g@   \        P                  ! R4       \        V4      '       g   \        P                  ! R4       R# RpVP                  \        4      w  r4V'       gk   V^ 8  db   \        P                   ! RP#                  \        4      4       \$        P&                  ! ^4       VP                  \        4      w  r4V^,
          pKp  R# \)        V4      #   \         d,    \        P                  ! R T P
                  ,           4      p EL i ; i)z/dev/z%Waiting for binder Service Manager...zService Manager never appearedNi  z)Failed to get service {}, trying again...)r    ZdriversZloadBinderNodesr   ZServiceManagerZBINDER_DRIVERZSERVICE_MANAGER_PROTOCOLZBINDER_PROTOCOLZ	TypeError
is_presentr   Zinfowait_for_managerr   Zget_service_syncSERVICE_NAMEZwarningr   timeZsleepr   )ZargsZserviceManagerZtriesr   r   s   &    r	   get_servicerQ   *  s(   OO##D)N //$:L:L0LdNkNkmq  nB  nB  C $$&&<=//MM:;E#44\BNF19OO;BB<PRJJqM+<<\JNFAIEV-  N //$:L:L0LMNs   =E	 	2E?>E?c                 sz  a a \         P                  ! 4       oS P                  VV 3R  l4      p\         P                  ! ^<V3R l4       \         P                  ! \         P
                  \        P                  V3R lR4       SP                  4        S P                  V4       S P                  4       '       g   R# R# )c                  sT   < SP                  4       '       d   S P                  4       # R # r   )rM   quit)mainloopsms   r	   <lambda>"wait_for_manager.<locals>.<lambda>I  s    bmmoo8==?+WSW+Wr   c                  s$   < S P                  4       # r   rR   )rS   s   r	   rU   rV   J  s    r   c                 s$   < SP                  4       # r   rW   )Z_rS   s   &r	   rU   rV   K  s    hmmor   NFT)r   ZMainLoopZadd_presence_handlerZtimeout_add_secondsZunix_signal_addZPRIORITY_HIGHsignalZSIGINTZrunZremove_handlerrM   )rT   ZhndlrS   s   f @r	   rN   rN   G  sx    }}H""#WXDR!89++V]]<UW[\LLNd==??r   )r   r   rP   Ztoolsr    Zgi.repositoryr   rX   r   rO   r   r%   r.   r5   r8   r<   r>   rA   rD   rH   rJ   ZTRANSACTION_settingsGetIntr@   r   rQ   rN   ) r   r	   <module>rY      s          +	!         !  "    N N`:	r   