// Implemented from IION public virtual Task <Analyzer> LoadAnalyzerAsync(IFile file) { // return Task.Factory.StartNew(() => { try { var parser = new AnalyzerParser(); using (var s = file.OpenForReading()) { return(Task.FromResult(parser.ReadFromStream(this, s))); } } catch (Exception e) { Log.E(this, "Failed to load analyzer. Defaulting to a new one.", e); return(Task.FromResult(new Analyzer(this))); } // }); }
// Implemented for IION public virtual Task SaveAnalyzerAsync() { return(Task.Factory.StartNew(() => { lock (locker) { var internalDirectory = fileManager.GetApplicationInternalDirectory(); var file = internalDirectory.GetFile(PRIMARY_ANALYZER_FILENAME, EFileAccessResponse.CreateIfMissing); var parser = new AnalyzerParser(); try { using (var s = file.OpenForWriting()) { parser.WriteToStream(this, currentAnalyzer, s); } } catch (Exception e) { Log.E(this, "Failed to write analyzer to file", e); } } })); }