• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kivy / plyer / 6722550152

01 Nov 2023 04:47PM UTC coverage: 25.199% (-0.03%) from 25.225%
6722550152

push

github-actions

web-flow
fix _get_sdcard_dir for Android API < 24 (#781)

14 of 14 new or added lines in 1 file covered. (100.0%)

1459 of 5790 relevant lines covered (25.2%)

0.25 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/plyer/platforms/android/storagepath.py
1
'''
2
Android Storage Path
3
--------------------
4
'''
5

6
from plyer.facades import StoragePath
×
7
from plyer.platforms.android import SDK_INT
×
8
from jnius import autoclass, cast
×
9
from android import mActivity
×
10

11
Environment = autoclass("android.os.Environment")
×
12
Context = autoclass("android.content.Context")
×
13

14

15
class AndroidStoragePath(StoragePath):
×
16

17
    def _get_home_dir(self):
×
18
        return Environment.getDataDirectory().getAbsolutePath()
×
19

20
    def _get_external_storage_dir(self):
×
21
        return Environment.getExternalStorageDirectory().getAbsolutePath()
×
22

23
    def _get_sdcard_dir(self):
×
24
        '''
25
        .. versionadded:: 1.4.0
26
        '''
27
        path = None
×
28
        context = mActivity.getApplicationContext()
×
29
        storage_manager = cast(
×
30
            "android.os.storage.StorageManager",
31
            context.getSystemService(Context.STORAGE_SERVICE),
32
        )
33

34
        if storage_manager is not None:
×
35
            if SDK_INT >= 24:
×
36
                storage_volumes = storage_manager.getStorageVolumes()
×
37
                for storage_volume in storage_volumes:
×
38
                    if storage_volume.isRemovable():
×
39
                        try:
×
40
                            directory = storage_volume.getDirectory()
×
41
                        except AttributeError:
×
42
                            directory = storage_volume.getPathFile()
×
43
                        path = directory.getAbsolutePath()
×
44
            else:
45
                storage_volumes = storage_manager.getVolumeList()
×
46
                for storage_volume in storage_volumes:
×
47
                    if storage_volume.isRemovable():
×
48
                        path = storage_volume.getPath()
×
49

50
        return path
×
51

52
    def _get_root_dir(self):
×
53
        return Environment.getRootDirectory().getAbsolutePath()
×
54

55
    def _get_documents_dir(self):
×
56
        return Environment.getExternalStoragePublicDirectory(
×
57
            Environment.DIRECTORY_DOCUMENTS).getAbsolutePath()
58

59
    def _get_downloads_dir(self):
×
60
        return Environment.getExternalStoragePublicDirectory(
×
61
            Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()
62

63
    def _get_videos_dir(self):
×
64
        return Environment.getExternalStoragePublicDirectory(
×
65
            Environment.DIRECTORY_MOVIES).getAbsolutePath()
66

67
    def _get_music_dir(self):
×
68
        return Environment.getExternalStoragePublicDirectory(
×
69
            Environment.DIRECTORY_MUSIC).getAbsolutePath()
70

71
    def _get_pictures_dir(self):
×
72
        return Environment.getExternalStoragePublicDirectory(
×
73
            Environment.DIRECTORY_PICTURES).getAbsolutePath()
74

75
    def _get_application_dir(self):
×
76
        return mActivity.getFilesDir().getParentFile().getParent()
×
77

78

79
def instance():
×
80
    return AndroidStoragePath()
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc