public async void Initialize(string renderThemeFilePath, XmlRenderThemeMenuCallback menuCallback) { var fileExists = await FileSystem.Current.LocalStorage.CheckExistsAsync(renderThemeFilePath); if (fileExists == ExistenceCheckResult.NotFound) { throw new PCLStorage.Exceptions.FileNotFoundException("file does not exist: " + renderThemeFilePath); } else if (fileExists == ExistenceCheckResult.FolderExists) { throw new PCLStorage.Exceptions.FileNotFoundException("not a file: " + renderThemeFilePath); } // Open file this.renderThemeFile = await FileSystem.Current.LocalStorage.GetFileAsync(renderThemeFilePath); this.renderThemeFileStream = await this.renderThemeFile.OpenAsync(FileAccess.Read); this.menuCallback = menuCallback; if (this.renderThemeFileStream == null) { throw new PCLStorage.Exceptions.FileNotFoundException("cannot read file: " + renderThemeFile.Path); } // TODO: Add lastModified to PCLStorage this.lastModifiedTime = DateTimeHelperClass.CurrentUnixTimeMillis(); // renderThemeFile.lastModified(); if (this.lastModifiedTime == 0L) { throw new PCLStorage.Exceptions.FileNotFoundException("cannot read last modified time: " + renderThemeFile.Path); } }
/// <param name="relativePathPrefix"> the prefix for all relative resource paths. </param> /// <param name="inputStream"> an input stream containing valid render theme XML data. </param> /// <param name="menuCallback"> the interface callback to create a settings menu on the fly. </param> public StreamRenderTheme(string relativePathPrefix, System.IO.Stream inputStream, XmlRenderThemeMenuCallback menuCallback) { mRelativePathPrefix = relativePathPrefix; mInputStream = new BufferedInputStream(inputStream); mInputStream.mark(0); mMenuCallback = menuCallback; }
/// <param name="fileName"> the path to the XML render theme file. </param> /// <param name="menuCallback"> the interface callback to create a settings menu on the fly. </param> /// <exception cref="ThemeException"> if the file does not exist or cannot be read. </exception> //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public ExternalRenderTheme(String fileName, XmlRenderThemeMenuCallback menuCallback) throws org.oscim.theme.IRenderTheme.ThemeException public ExternalRenderTheme(string fileName, XmlRenderThemeMenuCallback menuCallback) { File themeFile = new File(fileName); if (!themeFile.exists()) { throw new ThemeException("file does not exist: " + themeFile.AbsolutePath); } else if (!themeFile.File) { throw new ThemeException("not a file: " + fileName); } else if (!themeFile.canRead()) { throw new ThemeException("cannot read file: " + fileName); } mFileModificationDate = themeFile.lastModified(); if (mFileModificationDate == 0L) { throw new ThemeException("cannot read last modification time"); } mPath = fileName; mMenuCallback = menuCallback; }
/// <summary> /// Create external render theme async /// </summary> /// <param name="renderThemeFile"></param> /// <param name="menuCallback"></param> /// <returns></returns> public static ExternalRenderTheme CreateExternalRenderTheme(string renderThemeFilePath, XmlRenderThemeMenuCallback menuCallback = null) { var externalRenderTheme = new ExternalRenderTheme(); externalRenderTheme.Initialize(renderThemeFilePath, menuCallback); return(externalRenderTheme); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public static IRenderTheme load(String renderThemePath, XmlRenderThemeMenuCallback menuCallback, ThemeCallback themeCallback) throws org.oscim.theme.IRenderTheme_ThemeException public static IRenderTheme load(string renderThemePath, XmlRenderThemeMenuCallback menuCallback, ThemeCallback themeCallback) { return(load(new ExternalRenderTheme(renderThemePath, menuCallback), themeCallback)); }