
    ^j                     f    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  G d deee	      Zy	)
    )UnknownMethodException)Self)CanExecuteCommands)CanExecuteScripts)CanRememberExtensionPresence)MobileCommandc                   >    e Zd Zd\  ZZdedefdZdedefdZ	d	dZ
y)
Power)offonpercentreturnc                     d}d|i}	 | j                  |      j                  ||       | S # t        $ r3 | j                  |      j	                  t
        j                  |       Y | S w xY w)a;  Emulate power capacity change on the connected emulator.

        Android only.

        Args:
            percent: The power capacity to be set. Can be set from 0 to 100

        Usage:
            self.driver.set_power_capacity(50)

        Returns:
            Union['WebDriver', 'Power']: Self instance
        zmobile: powerCapacityr   )assert_extension_existsexecute_scriptr   mark_extension_absenceexecuteCommandSET_POWER_CAPACITY)selfr   ext_nameargss       ]/home/ubuntu/.local/lib/python3.12/site-packages/appium/webdriver/extensions/android/power.pyset_power_capacityzPower.set_power_capacity   su     +7#	\((2AA(DQ  & 	\''199':T:TVZ[	\   !+ 8A'&A'ac_statec                     d}d|i}	 | j                  |      j                  ||       | S # t        $ r3 | j                  |      j	                  t
        j                  |       Y | S w xY w)a|  Emulate power state change on the connected emulator.

        Android only.

        Args:
            ac_state: The power ac state to be set. Use `Power.AC_OFF`, `Power.AC_ON`

        Usage:
            | self.driver.set_power_ac(Power.AC_OFF)
            | self.driver.set_power_ac(Power.AC_ON)

        Returns:
            Union['WebDriver', 'Power']: Self instance
        zmobile: powerACstate)r   r   r   r   r   r   SET_POWER_AC)r   r   r   r   s       r   set_power_aczPower.set_power_ac2   su     %"	V((2AA(DQ  & 	V''199':N:NPTU	Vr   Nc                     | j                   j                  t        j                  dd       | j                   j                  t        j                  dd       y )NPOSTz0/session/$sessionId/appium/device/power_capacityz*/session/$sessionId/appium/device/power_ac)command_executoradd_commandr   r   r   )r   s    r   _add_commandszPower._add_commandsJ   sF    ))&&>	

 	))'*>*>Htu    )r   N)__name__
__module____qualname__AC_OFFAC_ONintr   r   strr    r%    r&   r   r
   r
      s7    MFE# $ .S T 0vr&   r
   N)selenium.common.exceptionsr   typing_extensionsr   /appium.protocols.webdriver.can_execute_commandsr   .appium.protocols.webdriver.can_execute_scriptsr   :appium.protocols.webdriver.can_remember_extension_presencer   appium.webdriver.mobilecommandr   r   r
   r.   r&   r   <module>r5      s.    > " N L c C8v 13O 8vr&   