diff --git a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java index 9847479..9c08184 100644 --- a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java +++ b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java @@ -50,6 +50,7 @@ import androidx.navigation.ui.NavigationUI; import com.google.android.material.navigation.NavigationView; +import org.json.JSONArray; import org.json.JSONException; import java.io.ByteArrayOutputStream; @@ -58,11 +59,10 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.Base64; import java.util.HashMap; -import java.util.HashSet; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Objects; -import java.util.Set; import de.jg_cody.Teraplex.ui.Credits.CreditsFragment; import de.jg_cody.Teraplex.ui.Einstellungen.EinstellungenFragment; @@ -81,6 +81,7 @@ public class MainActivity extends AppCompatActivity { ListView listView; EditText editText_name; ArrayList items; + int lastID = 6969; Map tabitems = new HashMap<>(); @@ -194,7 +195,18 @@ public class MainActivity extends AppCompatActivity { String tabname = editText_name.getText().toString().trim(); SharedPreferences p = getSharedPreferences("appsettings", MODE_PRIVATE); - Set tabs = new HashSet<>(p.getStringSet("tabs", new HashSet<>())); + String tabsString = p.getString("tabs", null); + List tabs = new ArrayList(); + if (tabsString != null) { + try { + JSONArray tabsArray = new JSONArray(tabsString); + for (int i = 0; i tabs = new HashSet<>(p.getStringSet("tabs", new HashSet<>())); - Set selectedTabs = new HashSet<>(); + String tabsString = p.getString("tabs", null); + List tabs = new ArrayList(); + if (tabsString != null) { + try { + JSONArray tabsArray = new JSONArray(tabsString); + for (int i = 0; i selectedTabs = new ArrayList<>(); String[] tabsarray = tabs.toArray(new String[0]); AlertDialog.Builder mBuilder = new AlertDialog.Builder(MainActivity.this); mBuilder.setTitle(R.string.menu_remove); @@ -304,13 +327,14 @@ public class MainActivity extends AppCompatActivity { vr.vibrate(100); tabs.removeAll(selectedTabs); SharedPreferences.Editor editor = p.edit(); - editor.putStringSet("tabs", tabs); + editor.putString("tabs", new JSONArray(tabs).toString()); for (String tab : selectedTabs) { editor.remove("listItems." + tab); editor.apply(); navigationView.getMenu().removeItem(tabitems.get(tab).getItemId()); tabitems.remove(tab); dialogInterface.dismiss(); + } } }); @@ -329,9 +353,20 @@ public class MainActivity extends AppCompatActivity { return true; } }); - Set tabs = new HashSet<>(p.getStringSet("tabs", new HashSet<>())); + String tabsString = p.getString("tabs", null); + List tabs = new ArrayList(); + if (tabsString != null) { + try { + JSONArray tabsArray = new JSONArray(tabsString); + for (int i = 0; i