package org.geogebra.common.main; import java.util.ArrayList; import org.geogebra.common.move.ggtapi.models.Material; import org.geogebra.common.move.ggtapi.models.Material.Provider; import org.geogebra.common.move.ggtapi.models.SyncEvent; public interface MaterialsManagerI { void openMaterial(Material material); void delete(Material material, boolean permanent, Runnable onSuccess); void uploadUsersMaterials(ArrayList<SyncEvent> events); void getUsersMaterials(); void search(String query); void rename(String newTitle, Material mat); void rename(String newTitle, Material mat, Runnable callback); void setFileProvider(Provider google); Provider getFileProvider(); void autoSave(int counter); String getAutosaveJSON(); public void restoreAutoSavedFile(String json); public void deleteAutoSavedFile(); boolean save(App app); void saveLoggedOut(App app); boolean shouldKeep(int i); void getFromTube(int id, boolean fromAnotherDevice); boolean isSyncing(); void export(App app); void exportImage(String url, String string, String extension); boolean hasBase64(Material material); void nativeShare(String s, String string); void showExportAsPictureDialog(String url, String filename, App app); void refreshAutosaveTimestamp(); /** * Opens a new browser window. The "name" and "features" arguments are * specified <a href= * 'https://developer.mozilla.org/en-US/docs/Web/API/window.open'>here</a>. * * @param url * the URL that the new window will display * @param name * the name of the window (e.g. "_blank") * @param features * the features to be enabled/disabled on this window */ public void open(String url, String name, String features); /** * Opens Link in a new window * * @param url * that should be opened */ public void open(String url); }