mirror of
https://github.com/TimeCrafters/TimeCraftersConfigurationTool.git
synced 2025-12-15 21:12:34 +00:00
Connected config management to TACNET so that selecting, adding, renaming, and deleting configs will now be synced, fixed crash when handling select config packet when now config is currently loaded.
This commit is contained in:
@@ -11,9 +11,12 @@ import android.widget.EditText;
|
|||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
import org.timecrafters.TimeCraftersConfigurationTool.R;
|
import org.timecrafters.TimeCraftersConfigurationTool.R;
|
||||||
import org.timecrafters.TimeCraftersConfigurationTool.backend.Backend;
|
import org.timecrafters.TimeCraftersConfigurationTool.backend.Backend;
|
||||||
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialog;
|
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialog;
|
||||||
|
import org.timecrafters.TimeCraftersConfigurationTool.tacnet.PacketHandler;
|
||||||
import org.timecrafters.TimeCraftersConfigurationTool.ui.settings.configurations.ConfigurationsFragment;
|
import org.timecrafters.TimeCraftersConfigurationTool.ui.settings.configurations.ConfigurationsFragment;
|
||||||
|
|
||||||
public class ConfigurationDialog extends TimeCraftersDialog {
|
public class ConfigurationDialog extends TimeCraftersDialog {
|
||||||
@@ -82,15 +85,29 @@ public class ConfigurationDialog extends TimeCraftersDialog {
|
|||||||
if (configName != null) {
|
if (configName != null) {
|
||||||
Backend.instance().moveConfig(configName, newConfigName);
|
Backend.instance().moveConfig(configName, newConfigName);
|
||||||
|
|
||||||
|
if (Backend.instance().tacnet().isConnected()) {
|
||||||
|
Backend.instance().tacnet().puts(PacketHandler.packetUpdateConfig(configName, newConfigName).toString() );
|
||||||
|
}
|
||||||
|
|
||||||
// If config being renamed is the active config then update Backend to use
|
// If config being renamed is the active config then update Backend to use
|
||||||
// the correct config name/file, and save settings.
|
// the correct config name/file, and save settings.
|
||||||
if (Backend.instance().getSettings().config.equals(configName)) {
|
if (Backend.instance().getSettings().config.equals(configName)) {
|
||||||
Backend.instance().loadConfig(newConfigName);
|
Backend.instance().loadConfig(newConfigName);
|
||||||
Backend.instance().getSettings().config = newConfigName;
|
Backend.instance().getSettings().config = newConfigName;
|
||||||
Backend.instance().saveSettings();
|
Backend.instance().saveSettings();
|
||||||
|
|
||||||
|
if (Backend.instance().tacnet().isConnected()) {
|
||||||
|
Backend.instance().tacnet().puts(PacketHandler.packetSelectConfig(newConfigName).toString() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Backend.instance().writeNewConfig(newConfigName);
|
Backend.instance().writeNewConfig(newConfigName);
|
||||||
|
|
||||||
|
if (Backend.instance().tacnet().isConnected()) {
|
||||||
|
final String json = Backend.instance().gsonForConfig().toJson(Backend.instance().loadConfigWithoutMutatingBackend(newConfigName));
|
||||||
|
|
||||||
|
Backend.instance().tacnet().puts( PacketHandler.packetUploadConfig(newConfigName, json).toString() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigurationsFragment fragment = (ConfigurationsFragment) getFragmentManager().getPrimaryNavigationFragment();
|
ConfigurationsFragment fragment = (ConfigurationsFragment) getFragmentManager().getPrimaryNavigationFragment();
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ public class PacketHandler {
|
|||||||
|
|
||||||
Backend.instance().writeToFile(path, json);
|
Backend.instance().writeToFile(path, json);
|
||||||
|
|
||||||
if (Backend.instance().getConfig().getName().equals(configName)) {
|
if (Backend.instance().getConfig() != null && Backend.instance().getConfig().getName().equals(configName)) {
|
||||||
Backend.instance().loadConfig(configName);
|
Backend.instance().loadConfig(configName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,13 @@ public class TACNETServerService extends Service {
|
|||||||
public TACNETServerService() {
|
public TACNETServerService() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate() {
|
||||||
|
if (Backend.instance() == null) {
|
||||||
|
new Backend();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IBinder onBind(Intent intent) {
|
public IBinder onBind(Intent intent) {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import org.timecrafters.TimeCraftersConfigurationTool.dialogs.ConfirmationDialog
|
|||||||
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialog;
|
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialog;
|
||||||
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialogRunnable;
|
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersDialogRunnable;
|
||||||
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersFragment;
|
import org.timecrafters.TimeCraftersConfigurationTool.library.TimeCraftersFragment;
|
||||||
|
import org.timecrafters.TimeCraftersConfigurationTool.tacnet.PacketHandler;
|
||||||
|
|
||||||
public class ConfigurationsFragment extends TimeCraftersFragment {
|
public class ConfigurationsFragment extends TimeCraftersFragment {
|
||||||
final private String deleteActionKey = "delete_configuration";
|
final private String deleteActionKey = "delete_configuration";
|
||||||
@@ -71,16 +72,16 @@ public class ConfigurationsFragment extends TimeCraftersFragment {
|
|||||||
configName.setOnClickListener(new View.OnClickListener() {
|
configName.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (Backend.instance().getSettings().config.equals(configFile)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Backend.instance().getSettings().config = configFile;
|
Backend.instance().getSettings().config = configFile;
|
||||||
Backend.instance().loadConfig(configFile);
|
Backend.instance().loadConfig(configFile);
|
||||||
Backend.instance().saveSettings();
|
Backend.instance().saveSettings();
|
||||||
|
|
||||||
View snackbarHost = getActivity().findViewById(R.id.snackbar_host);
|
View snackbarHost = getActivity().findViewById(R.id.snackbar_host);
|
||||||
Snackbar.make(snackbarHost, "Loaded config: " + configFile, Snackbar.LENGTH_LONG).show();
|
Snackbar.make(snackbarHost, "Loaded config: " + configFile, Snackbar.LENGTH_LONG).show();
|
||||||
|
|
||||||
|
if (Backend.instance().tacnet().isConnected()) {
|
||||||
|
Backend.instance().tacnet().puts(PacketHandler.packetSelectConfig(configFile).toString() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -121,8 +122,12 @@ public class ConfigurationsFragment extends TimeCraftersFragment {
|
|||||||
if (fragment != null) {
|
if (fragment != null) {
|
||||||
fragment.populateConfigFiles();
|
fragment.populateConfigFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Backend.instance().tacnet().isConnected()) {
|
||||||
|
Backend.instance().tacnet().puts(PacketHandler.packetDeleteConfig(configFile).toString() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} ;
|
};
|
||||||
Backend.getStorage().put(deleteActionKey, action);
|
Backend.getStorage().put(deleteActionKey, action);
|
||||||
dialog.setArguments(bundle);
|
dialog.setArguments(bundle);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user