Skip to content
Snippets Groups Projects
Commit b741ba72 authored by FurWaz's avatar FurWaz
Browse files

Set building saving async to avoid lag

parent 79ad0da3
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,8 @@ import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import Structures.BuildingInfo;
......@@ -76,22 +78,25 @@ public class BuildingManager {
// saves the given building to the file system
public static void saveBuilding(BuildingInfo building) {
new File(save_dir, building.getName()).delete();
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(() -> {
try {
try {
FileOutputStream outputStream = new FileOutputStream( new File(save_dir, building.getName()) );
ObjectOutputStream obStream = new ObjectOutputStream(outputStream);
obStream.writeObject(building);
obStream.close();
outputStream.close();
} catch( Exception e ) {
Toast.makeText(context, "Error saving building "+building.getName()+": "+e.toString(), Toast.LENGTH_SHORT).show();
}
FileOutputStream outputStream = new FileOutputStream( new File(save_dir, building.getName()) );
ObjectOutputStream obStream = new ObjectOutputStream(outputStream);
obStream.writeObject(building);
obStream.close();
outputStream.close();
} catch( Exception e ) {
Toast.makeText(context, "Error saving building "+building.getName()+": "+e.toString(), Toast.LENGTH_SHORT).show();
}
int index = BuildingManager.buildings.indexOf(building);
if (index != -1) {
BuildingManager.buildings.remove(index);
}
BuildingManager.buildings.add(building);
int index = BuildingManager.buildings.indexOf(building);
if (index != -1) {
BuildingManager.buildings.remove(index);
}
BuildingManager.buildings.add(building);
});
}
// saves all the buildings to the file system
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment