+
     Gi  c                   s^    ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 Rs
R tR tR# )i    N)helpers)	IHardwareFc                 s   a aaaaa R  oR oV 3R loV 3R loV 3R loV VVVVV3R lpRs \        P                  ! VR7      S n        S P                  P	                  4        R# )	c                 2    \         P                  ! R 4       R# )z"Function enableNFC not implementedNloggingdebugZenable   &4/usr/lib/waydroid/tools/services/hardware_manager.py	enableNFCZstart.<locals>.enableNFC   s    :;    c                 r   )z(Function enableBluetooth not implementedNr   r   r   r   enableBluetoothZstart.<locals>.enableBluetooth   s    @Ar
   c                  s  < \         P                  P                  S4      p V R ,          R,          R8X  d,   \         P                  P                  P                  S4       R# \         P                  P                  P                  S4       R# )ZwaydroidZsuspend_actionstopN)toolsZconfigZloadZactionsZsession_managerr   Zcontainer_managerZfreeze)Zcfgargss    r   suspendZstart.<locals>.suspend   sY    ll%z?+,6MM))..t4MM++2248r
   c                  s   < \         P                  P                  S 4       \         P                  P                  S 4       R # N)r    lxcr   startr   s   r   rebootZstart.<locals>.reboot   s'    $r
   c                 s  < \         P                  P                  S4       \         P                  P	                  S4       \         P                  P                  SWW#4       R SP                  R&   \         P                  P                  SSP                  SP                  4       \         P                  P                  S4       \         P                  P                  S4       R# )ZfalseZbackground_startN)r    r   r   ZimagesZumount_rootfsZreplaceZsessionZmount_rootfsZimages_pathZprotocolZset_aidl_versionr   )Z
system_zipZsystem_timeZ
vendor_zipZvendor_timer   s   &&&&r   upgradeZstart.<locals>.upgrade    s    $$T*tZ)	8+2'(##D$*:*:DLLI))$/$r
   c                  sZ   < \         '       g   \        P                  ! S SSSSS4       K)  R # r   )stoppingr   Zadd_service)r   r   r	   r   r   r   s   r   service_threadZstart.<locals>.service_thread*   s)    (!!i'67L r
   F)ZtargetN)r   	threadingZThreadZhardware_managerr   )r   r   r   r	   r   r   r   s   f @@@@@r   r   r      sU    <B9  L L H%,,NCD!r
   c                 s    R s  V P                  '       d   V P                  P                  4        R# R#   \         d    \        P
                  ! R4        R# i ; i)Tz$Hardware service is not even startedN)r   ZhardwareLoopZquitZAttributeErrorr   r   r   r   r   r   r   4   sK    H>""$  ><=>s   4 4 !AA)r   r   ZosZtools.actions.container_managerr   Ztools.actions.session_managerZtools.configr    Ztools.interfacesr   r   r   r   ) r
   r   <module>r      s/      	 & $   &$"L>r
   