Hi Art,

That looks right.  You might check that the Smack label of the Downloads 
directory is set right.  If ls –lZ /opt/usr/media doesn’t show the label as 
User, use ‘chsmack –a User /opt/usr/media/Downloads’ to fix it.  Hopefully that 
resolves your issue, if not I’ll dig further to see what might be going on.

Regards.

From: IVI [mailto:[email protected]] On Behalf Of McGee, Art
Sent: Thursday, May 22, 2014 7:58 AM
To: [email protected]; [email protected]
Subject: Platform Storage

I'm working on an app that stores and reads from the Downloads directory on the 
system using.  I seem to having an error when trying to access that storage 
location.  This seems to be a change from EOY release and the APR22 release.   
Please advise if I'm using this incorrectly or if something has changed in the 
security model.

Thanks,

Art

It asks for permission using the config.xml file with the following.
            <tizen:privilege name="http://tizen.org/privilege/filesystem.read"; 
/>
            <tizen:privilege name="http://tizen.org/privilege/filesystem.write"; 
/>

The code that seems to have the fault.
        if (typeof(tizen) !== 'undefined') {
            // Has this called changed or should I be requesting permission by 
another means? Note this._settingsStorageName = "downloads"
            tizen.filesystem.resolve(this._settingsStorageName, 
function(directory) {
                var settingsFile;
                try {
                     settingsFile = directory.resolve(self._settingsFileName);
                } catch(ex) {
                    console.warn("Settings file doesn't exist, creating ...", 
ex);
                    settingsFile = directory.createFile(self._settingsFileName);
                }

                settingsFile.readAsText(function(contents) {
                    //console.log("Settings file contents", contents);
                    var configValues = null;

                    if (contents.length > 0) {
                        try {
                            configValues = JSON.parse(contents);
                        }
                        catch (ex) {
                            console.error("Error occured during parsing 
settings file", ex);
                            aCallback(ex);
                        }
                    }

                    if (!configValues || !configValues.version || 
configValues.version < self._values.version) {
                        configValues = jQuery.extend({}, self._values);
                        self.save();
                    }
                    //console.log("Loaded settings:", configValues);

                    if (JSON.stringify(configValues) !== 
JSON.stringify(self._values)) {
                        console.log("Settings updated.");
                        self._values = configValues;
                        self._callListeners();
                    }

                    aCallback();
                }, function(ex) {
                    console.error("Cannot read settings file", ex);
                    aCallback(ex);
                });
            }, function(error) {

                console.error("Error occured during opening Documents 
directory", error); // This is the line that reports the error.
                aCallback(error);
            }, "rw");
        } else {
            console.warn("Tizen API is not available, cannot read settings from 
persistent storage.");
            aCallback();
        }


_______________________________________________
Dev mailing list
[email protected]
https://lists.tizen.org/listinfo/dev

Reply via email to