Jonathan Naguin created CB-4850:
-----------------------------------

             Summary: Write the device UUID only when it does not exist
                 Key: CB-4850
                 URL: https://issues.apache.org/jira/browse/CB-4850
             Project: Apache Cordova
          Issue Type: Improvement
          Components: WP8
    Affects Versions: 3.0.0
         Environment: Any
            Reporter: Jonathan Naguin
            Assignee: Jesse MacFadyen
            Priority: Minor


Currently, the device UUID is writen back to the IsolatedStorageFile in every 
run even when it is not necessary. 

On CordovaView.xaml.cs:

{code}
string deviceUUID = "";

using (IsolatedStorageFile appStorage = 
IsolatedStorageFile.GetUserStoreForApplication())
{
    try
    {
        IsolatedStorageFileStream fileStream = new 
IsolatedStorageFileStream("DeviceID.txt", FileMode.Open, FileAccess.Read, 
appStorage);

        using (StreamReader reader = new StreamReader(fileStream))
        {
            deviceUUID = reader.ReadLine();
        }
    }
    catch (Exception /*ex*/)
    {
        deviceUUID = Guid.NewGuid().ToString();
    }

    Debug.WriteLine("Updating IsolatedStorage for APP:DeviceID :: " + 
deviceUUID);
    IsolatedStorageFileStream file = new 
IsolatedStorageFileStream("DeviceID.txt", FileMode.Create, FileAccess.Write, 
appStorage);
    using (StreamWriter writeFile = new StreamWriter(file))
    {
        writeFile.WriteLine(deviceUUID);
        writeFile.Close();
    }

}
{code}

The writing code should be moved into the catch after creating a new one as:

{code}
catch (Exception /*ex*/)
    {
        deviceUUID = Guid.NewGuid().ToString();

        IsolatedStorageFileStream file = new 
IsolatedStorageFileStream("DeviceID.txt", FileMode.Create, FileAccess.Write, 
appStorage);
        using (StreamWriter writeFile = new StreamWriter(file))
        {
            writeFile.WriteLine(deviceUUID);
            writeFile.Close();
        }
    }
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to