From 2439a986a3ed4d6b4fabc75687843d42b6669458 Mon Sep 17 00:00:00 2001
From: Nikola Petrov <nikola@petrovv.com>
Date: Sun, 5 Jan 2025 00:13:28 +0100
Subject: [PATCH] Android Fix doesnt call deinit

---
 inc/values/DnaManager.hpp |  2 ++
 src/values/DnaManager.cpp | 13 +++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/inc/values/DnaManager.hpp b/inc/values/DnaManager.hpp
index c6a1c16..d0993cb 100644
--- a/inc/values/DnaManager.hpp
+++ b/inc/values/DnaManager.hpp
@@ -29,6 +29,8 @@ public:
   int generation;
 
 private:
+  void saveData();
+  void saveVec();
   uint128 randSeed;
   uint128 id;
   int queued;
diff --git a/src/values/DnaManager.cpp b/src/values/DnaManager.cpp
index 5c149d6..3ffbd14 100644
--- a/src/values/DnaManager.cpp
+++ b/src/values/DnaManager.cpp
@@ -71,6 +71,10 @@ void DnaManager::init()
 }
 
 void DnaManager::deinit()
+{
+}
+
+void DnaManager::saveData()
 {
   const char *filename = sys::transformFilePath("data");
 
@@ -92,9 +96,12 @@ void DnaManager::deinit()
   fwrite(disliked.data(), sizeof(tmp) * tmp, 1, file);
 
   fclose(file);
+}
 
-  filename = sys::transformFilePath("array");
-  file = fopen(filename, "wb");
+void DnaManager::saveVec()
+{
+  const char *filename = sys::transformFilePath("array");
+  FILE *file = fopen(filename, "wb");
   if (file == NULL)
     return;
   fwrite(vector.data(), sizeof(Dna) * NUM_PER_GEN, 1, file);
@@ -143,7 +150,9 @@ void DnaManager::like(Unit unit)
     queued = 0;
     showed = 0;
     generation += 1;
+    saveVec();
   }
+  saveData();
 }
 
 void DnaManager::newGen()