mirror of
https://github.com/markqvist/Sideband.git
synced 2024-10-01 03:15:37 -04:00
81 lines
2.6 KiB
Python
Executable File
81 lines
2.6 KiB
Python
Executable File
'''
|
|
Android Storage Path
|
|
--------------------
|
|
'''
|
|
|
|
from plyer.facades import StoragePath
|
|
from plyer.platforms.android import SDK_INT
|
|
from jnius import autoclass, cast
|
|
from android import mActivity
|
|
|
|
Environment = autoclass("android.os.Environment")
|
|
Context = autoclass("android.content.Context")
|
|
|
|
|
|
class AndroidStoragePath(StoragePath):
|
|
|
|
def _get_home_dir(self):
|
|
return Environment.getDataDirectory().getAbsolutePath()
|
|
|
|
def _get_external_storage_dir(self):
|
|
return Environment.getExternalStorageDirectory().getAbsolutePath()
|
|
|
|
def _get_sdcard_dir(self):
|
|
'''
|
|
.. versionadded:: 1.4.0
|
|
'''
|
|
path = None
|
|
context = mActivity.getApplicationContext()
|
|
storage_manager = cast(
|
|
"android.os.storage.StorageManager",
|
|
context.getSystemService(Context.STORAGE_SERVICE),
|
|
)
|
|
|
|
if storage_manager is not None:
|
|
if SDK_INT >= 24:
|
|
storage_volumes = storage_manager.getStorageVolumes()
|
|
for storage_volume in storage_volumes:
|
|
if storage_volume.isRemovable():
|
|
try:
|
|
directory = storage_volume.getDirectory()
|
|
except AttributeError:
|
|
directory = storage_volume.getPathFile()
|
|
path = directory.getAbsolutePath()
|
|
else:
|
|
storage_volumes = storage_manager.getVolumeList()
|
|
for storage_volume in storage_volumes:
|
|
if storage_volume.isRemovable():
|
|
path = storage_volume.getPath()
|
|
|
|
return path
|
|
|
|
def _get_root_dir(self):
|
|
return Environment.getRootDirectory().getAbsolutePath()
|
|
|
|
def _get_documents_dir(self):
|
|
return Environment.getExternalStoragePublicDirectory(
|
|
Environment.DIRECTORY_DOCUMENTS).getAbsolutePath()
|
|
|
|
def _get_downloads_dir(self):
|
|
return Environment.getExternalStoragePublicDirectory(
|
|
Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()
|
|
|
|
def _get_videos_dir(self):
|
|
return Environment.getExternalStoragePublicDirectory(
|
|
Environment.DIRECTORY_MOVIES).getAbsolutePath()
|
|
|
|
def _get_music_dir(self):
|
|
return Environment.getExternalStoragePublicDirectory(
|
|
Environment.DIRECTORY_MUSIC).getAbsolutePath()
|
|
|
|
def _get_pictures_dir(self):
|
|
return Environment.getExternalStoragePublicDirectory(
|
|
Environment.DIRECTORY_PICTURES).getAbsolutePath()
|
|
|
|
def _get_application_dir(self):
|
|
return mActivity.getFilesDir().getParentFile().getParent()
|
|
|
|
|
|
def instance():
|
|
return AndroidStoragePath()
|