diff --git a/functionality/filesharing/filesharing_functionality.go b/functionality/filesharing/filesharing_functionality.go index a6b778e..60e3d18 100644 --- a/functionality/filesharing/filesharing_functionality.go +++ b/functionality/filesharing/filesharing_functionality.go @@ -11,6 +11,7 @@ import ( "os" path "path/filepath" "regexp" + "runtime" "strconv" "strings" "time" @@ -81,16 +82,18 @@ func (f *Functionality) DownloadFile(profile peer.CwtchPeer, conversationID int, return errors.New("download path or manifest path is empty") } - // Don't download files if the download file directory does not exist - if _, err := os.Stat(path.Dir(downloadFilePath)); os.IsNotExist(err) { - return errors.New("download directory does not exist") - } + // We write to a temp file for Android... + if runtime.GOOS != "android" { + // Don't download files if the download file directory does not exist + if _, err := os.Stat(path.Dir(downloadFilePath)); os.IsNotExist(err) { + return errors.New("download directory does not exist") + } - // Don't download files if the manifest file directory does not exist - if _, err := os.Stat(path.Dir(manifestFilePath)); os.IsNotExist(err) { - return errors.New("manifest directory does not exist") + // Don't download files if the manifest file directory does not exist + if _, err := os.Stat(path.Dir(manifestFilePath)); os.IsNotExist(err) { + return errors.New("manifest directory does not exist") + } } - // Store local.filesharing.filekey.manifest as the location of the manifest profile.SetScopedZonedAttribute(attr.LocalScope, attr.FilesharingZone, fmt.Sprintf("%s.manifest", key), manifestFilePath)