REVO8100AndroidPathStorageDevice P on errorDialog pExecutionError, pParseError answer "An error occurred on line: " & item 2 \ of line 1 of pExecutionError end errorDialog =  cRevStandaloneSettings 1OSX,longVersionStoragesss 1.0.0.0Windows,productversion11android,application permissions WRITE_EXTERNAL_STORAGEtrue askDialogtrue OSX,copyright#2021 All rights reserved worldwide MacOSX x86-64false Solaris IntelfalseWindows,ProductName StoragesssWindows,productversion30scriptLibrariesUNIX,fileSelectorOSX,identifiercom..storagesssWindows,fileversion40 inclusionssearchWindows,documenticonFilemC:/Program Files/RunRev/LiveCode Indy 9.6.2 (rc 1)/Runtime/Windows/x86-32/Support/Sample Icons/genericdoc.ico Android,armv7trueOSX,shortVersion1.0.0.0 Linux x64falseOSX,documentExtensionname StoragesssOSX,name StoragesssWindows,fileversion20 Windows,UUIDandroid,billingProviderGoogleWindowsfalseandroid,minimum version28LinuxfalseWindows,FileDescriptionStoragesss 1.0.0.0 for Windows Android,arm64trueWindows,productversion20UNIX,pageSetup OSX,signature????OSX,infoStoragesss Version 1.0.0.0Windows,productversion40Windows,companyname Solaris SPARCfalseWindows,fileversion11OSX,documentTypeLinux ARMv6-HFfalseWindows x86-64falseandroid,identifiercom.ferruslogic.storagetestAndroidWindows,fileversion30UNIX,colorChooserUNIX,printerChooser answerDialogtrueWindows,iconFilemC:/Program Files/RunRev/LiveCode Indy 9.6.2 (rc 1)/Runtime/Windows/x86-32/Support/Sample Icons/genericapp.icocursorsfalseWindows,LegalCopyright#2021 All rights reserved worldwide cREVGeneral breakpointstates breakpointsbreakpointconditionsscripteditorselection151scripteditorvscroll scalefactor? @:storageMp~on mouseUp pButtonNumber set the arrayData of widget 1 to androidPathStorageDevice() end mouseUp # With this function you know the path to the internal and external storage in android // return # Storage path , type storage (1 is internal storage and 2 is external storage) # For the app to work correctly it must have read permission to the storage # androidRequestPermission "android.permission.READ_EXTERNAL_STORAGE" # and in the configuration you have to standalone settings the Write External Storage has to be set to true function androidPathStorageDevice local tPathStorage, tPathStorages, tInternalStorage, tItems, tPathFolder, tListFolders, c = 1 local tDetailed = "", tDetailedArray = "", tStorage, tFolders, tFiles, tTrueStorages if the platform is not "android" then return empty for value androidRequestPermission "android.permission.READ_EXTERNAL_STORAGE" set the itemdel to "/" put specialFolderPath("external documents") into tPathStorage put item 1 to - 5 of tPathStorage into tInternalStorage put tInternalStorage into tPathStorages[1]["path"] put "internal" into tPathStorages[1]["type"] put the num of items of tInternalStorage into tItems repeat with x = 1 to tItems put item 1 to x of tPathStorage into tPathFolder if tPathFolder is tInternalStorage then next repeat put folders(tPathFolder) into tListFolders repeat for each line tFolder in tListFolders if there is folder(tPathFolder &"/"& tFolder & "/Android/data") then add 1 to c put tPathFolder &"/"&tFolder into tPathStorages[c]["path"] put "external" into tPathStorages[c]["type"] end if end repeat end repeat return tPathStorages for value end androidPathStorageDevice k  cREVGeneral scripteditorvscrollscripteditorselection1277  Tree View p -- Sent when an element is hilited -- Use the hilitedElement property to get a comma-delimited list of -- keys in the underlying array on hiliteChanged local tElement put the hilitedElement of the target into tElement answer tElement end hiliteChanged 222222 __mmmmmm BjDelete array keycom.livecode.widget.treeview show separatorsort ascending sort numeric array styleshow hover rowalternate row backgrounds show borderarray scroll hilited element into viewvertical scrollbar show valuesseparator ratio? text heightauto fold state resethilite new elementchars to trim from key icon height read only  cREVGeneral scripteditorvscrollscripteditorselection246 revOnline | RunRev