+
    %i_)                    J   R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
 ^RIHt  ! R R]4      t]! ^R7      R	 R
 l4       t]! ^R7      R R l4       t]! ^R7      R R l4       t]! ^R7      R R l4       t]! ^R7      R R l4       t]! ^R7      R R l4       tR.tR# )zAndroid.)annotationsN)	lru_cache)TYPE_CHECKINGcast)PlatformDirsABCc                     ] tR t^tRt]R R l4       t]R R l4       t]R R l4       t]R R	 l4       t	]R
 R l4       t
]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       tR.tR/# )0Androida  Platform directories for Android.

Follows the guidance `from here <https://android.stackexchange.com/a/216132>`_. Directories are typically located
under the app's private storage (``/data/user/<userid>/<packagename>/``).

Makes use of the `appname <platformdirs.api.PlatformDirsABC.appname>`, `version
<platformdirs.api.PlatformDirsABC.version>`, `opinion <platformdirs.api.PlatformDirsABC.opinion>`, `ensure_exists
<platformdirs.api.PlatformDirsABC.ensure_exists>`.

c                   V ^8  d   QhRR/#    returnstr )formats   "R/var/www/html/photoedit/myenv/lib/python3.14/site-packages/platformdirs/android.py__annotate__Android.__annotate__   s     Z Zs Z    c                J    V P                  \        R\        4       4      R4      # )ze:returns: data directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/files/<AppName>``r   files_append_app_name_and_versionr   _android_folderselfs   &r   user_data_dirAndroid.user_data_dir   "     00e_=N1OQXYYr   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r       s     " "s "r   c                    V P                   # )zA:returns: data directory shared by users, same as `user_data_dir`r   r   s   &r   site_data_dirAndroid.site_data_dir        !!!r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   %   s     a a ar   c                J    V P                  \        R\        4       4      R4      # )zn:returns: config directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/shared_prefs/<AppName>``r   shared_prefsr   r   s   &r   user_config_dirAndroid.user_config_dir$   s"     00e_=N1OQ_``r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   *   s     $ $ $r   c                    V P                   # )zE:returns: config directory shared by users, same as `user_config_dir`)r'   r   s   &r   site_config_dirAndroid.site_config_dir)   s     ###r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   /   s     Z Z Zr   c                J    V P                  \        R\        4       4      R4      # )zf:returns: cache directory tied to the user, e.g.,``/data/user/<userid>/<packagename>/cache/<AppName>``r   cacher   r   s   &r   user_cache_dirAndroid.user_cache_dir.   r   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   4        # # #r   c                    V P                   # )zC:returns: cache directory shared by users, same as `user_cache_dir`)r0   r   s   &r   site_cache_dirAndroid.site_cache_dir3        """r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   9   s     " " "r   c                    V P                   # )zC:returns: state directory tied to the user, same as `user_data_dir`r    r   s   &r   user_state_dirAndroid.user_state_dir8   r#   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   >   r3   r   c                    V P                   # )zC:returns: state directory shared by users, same as `user_state_dir`)r:   r   s   &r   site_state_dirAndroid.site_state_dir=   r7   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   C   s      c r   c                    V P                   pV P                  '       d2   \        P                  P	                  VR4      pV P                  V4       V# )z:returns: log directory tied to the user, same as `user_cache_dir` if not opinionated else ``log`` in it, e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/log``logr0   opinionospathjoin_optionally_create_directoryr   rF   s   & r   user_log_dirAndroid.user_log_dirB   ?     ""<<<77<<e,D--d3r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   L        ! !c !r   c                    V P                   # )z?:returns: log directory shared by users, same as `user_log_dir`)rJ   r   s   &r   site_log_dirAndroid.site_log_dirK           r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   Q        + +C +r   c                    \        4       # )zU:returns: documents directory tied to the user e.g. ``/storage/emulated/0/Documents``)_android_documents_folderr   s   &r   user_documents_dirAndroid.user_documents_dirP        )**r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   V   rT   r   c                    \        4       # )zU:returns: downloads directory tied to the user e.g. ``/storage/emulated/0/Downloads``)_android_downloads_folderr   s   &r   user_downloads_dirAndroid.user_downloads_dirU   rY   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   [   s     * *3 *r   c                    \        4       # )zS:returns: pictures directory tied to the user e.g. ``/storage/emulated/0/Pictures``)_android_pictures_folderr   s   &r   user_pictures_dirAndroid.user_pictures_dirZ   s     ())r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   `   s     ( ( (r   c                    \        4       # )zT:returns: videos directory tied to the user e.g. ``/storage/emulated/0/DCIM/Camera``)_android_videos_folderr   s   &r   user_videos_dirAndroid.user_videos_dir_   s     &''r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   e   s     ' ' 'r   c                    \        4       # )zM:returns: music directory tied to the user e.g. ``/storage/emulated/0/Music``)_android_music_folderr   s   &r   user_music_dirAndroid.user_music_dird   s     %&&r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   j   s     - -# -r   c                    R# )zQ:returns: desktop directory tied to the user e.g. ``/storage/emulated/0/Desktop``z/storage/emulated/0/Desktopr   r   s   &r   user_desktop_dirAndroid.user_desktop_diri   s     -r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   o   s     L Lc Lr   c                h    \         P                  P                  \        R\	        4       4      RR4      # )z^:returns: bin directory tied to the user, e.g. ``/data/user/<userid>/<packagename>/files/bin``r   r   bin)rE   rF   rG   r   r   r   s   &r   user_bin_dirAndroid.user_bin_dirn   s%     ww||D(9:GUKKr   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   t   rN   r   c                    V P                   # )z?:returns: bin directory shared by users, same as `user_bin_dir`)ru   r   s   &r   site_bin_dirAndroid.site_bin_dirs   rR   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   y   s     " "s "r   c                    V P                   # )zJ:returns: applications directory tied to the user, same as `user_data_dir`r    r   s   &r   user_applications_dirAndroid.user_applications_dirx   r#   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r   ~   s     * *s *r   c                    V P                   # )zQ:returns: applications directory shared by users, same as `user_applications_dir`)r}   r   s   &r   site_applications_dirAndroid.site_applications_dir}   s     )))r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s      # r   c                    V P                   pV P                  '       d2   \        P                  P	                  VR4      pV P                  V4       V# )z:returns: runtime directory tied to the user, same as `user_cache_dir` if not opinionated else ``tmp`` in it, e.g. ``/data/user/<userid>/<packagename>/cache/<AppName>/tmp``tmprC   rI   s   & r   user_runtime_dirAndroid.user_runtime_dir   rL   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s     % %# %r   c                    V P                   # )zG:returns: runtime directory shared by users, same as `user_runtime_dir`)r   r   s   &r   site_runtime_dirAndroid.site_runtime_dir   s     $$$r   r   N)__name__
__module____qualname____firstlineno____doc__propertyr   r!   r'   r+   r0   r5   r:   r>   rJ   rP   rW   r]   rb   rg   rl   rp   ru   ry   r}   r   r   r   __static_attributes__r   r   r   r   r      s   	 Z Z " " a a $ $ Z Z # # " " # #   ! ! + + + + * * ( ( ' ' - - L L ! ! " " * *   % %r   r   )maxsizec                   V ^8  d   QhRR/# )r   r   z
str | Noner   )r   s   "r   r   r      s     , , ,r   c                    Rp \         '       gN    ^ RIHp \        RVP	                  4       4      pVP                  4       P                  4       P                  4       p V f<    ^ RI	H
p V! R4      pVP                  4       P                  4       P                  4       p V fa   \        P                  ! R4      p\        P                   F4  pVP                  V4      '       g   K  VP!                  R4      ^ ,          p  M	  Rp V fb   \        P                  ! R4      p\        P                   F5  pVP                  V4      '       g   K  VP!                  R4      ^ ,          p  V # 	  Rp V #   \         d    Rp  ELi ; i  \         d    Rp  Li ; i)zF:returns: base folder for the Android OS or None if it cannot be foundN)	mActivityandroid.content.Context	autoclassz /data/(data|user/\d+)/(.+)/filesz/filesz7/mnt/expand/[a-fA-F0-9-]{36}/(data|user/\d+)/(.+)/files)r   androidr   r   getApplicationContextgetFilesDirgetParentFilegetAbsolutePath	Exceptionjniusr   recompilesysrF   matchsplit)resultr   contextr   patternrF   s         r   r   r      sd    F =	)4i6U6U6WXG((*88:JJLF ~	 ( 9:G((*88:JJLF ~ **@AHHD}}T""H-a0 
 F~ **WXHHD}}T""H-a0 M 
 FMA  	F	  	F	s$   AE& !:E: &E76E7:F
	F
c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r            3 r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z-:returns: documents folder for the Android OSr   r   android.os.Environmentz/storage/emulated/0/Documents)r   r   getExternalFilesDirDIRECTORY_DOCUMENTSr   r   )r   r   environmentdocuments_dirs       r   rV   rV      c    8#56 89$889X9XYiik   878   ?A AAc                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      r   r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z-:returns: downloads folder for the Android OSr   r   r   z/storage/emulated/0/Downloads)r   r   r   DIRECTORY_DOWNLOADSr   r   )r   r   r   downloads_dirs       r   r\   r\      r   r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s      # r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z,:returns: pictures folder for the Android OSr   r   r   z/storage/emulated/0/Pictures)r   r   r   DIRECTORY_PICTURESr   r   )r   r   r   pictures_dirs       r   ra   ra      sc    6#56 89#778V8VWggi   656r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r      s       r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z*:returns: videos folder for the Android OSr   r   r   z/storage/emulated/0/DCIM/Camera)r   r   r   DIRECTORY_DCIMr   r   )r   r   r   
videos_dirs       r   rf   rf      sc    7#56 89!55k6P6PQaac
   76
7r   c                   V ^8  d   QhRR/# r
   r   )r   s   "r   r   r     s      s r   c                      ^ RI Hp  V ! R4      pV ! R4      pVP                  VP                  4      P	                  4       pV#   \
         d    Rp T# i ; i)z):returns: music folder for the Android OSr   r   r   z/storage/emulated/0/Music)r   r   r   DIRECTORY_MUSICr   r   )r   r   r   	music_dirs       r   rk   rk     sc    0#56 89 44[5P5PQaac	   0/	0r   )r   
__future__r   rE   r   r   	functoolsr   typingr   r   apir   r   r   rV   r\   ra   rf   rk   __all__r   r   r   <module>r      s     " 	 	 
  &  @%o @%F 1, ,^ 1  1  1  1  1   r   