diff --git a/app/src/main/java/com/example/dcav2gui/ui/settings/SettingsFragment.java b/app/src/main/java/com/example/dcav2gui/ui/settings/SettingsFragment.java
index c54c463..e4625d8 100644
--- a/app/src/main/java/com/example/dcav2gui/ui/settings/SettingsFragment.java
+++ b/app/src/main/java/com/example/dcav2gui/ui/settings/SettingsFragment.java
@@ -40,6 +40,18 @@ public class SettingsFragment extends Fragment {
Button buttonSaveSettings = root.findViewById(R.id.buttonSaveSettings);
+ // Add listener to the checkbox so we can enable or disable the editTexts if the checkbox
+ // is checked or unchecked respectively
+ checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
+ editBotToken.setEnabled(isChecked);
+ editBotToken.setFocusable(isChecked);
+ editBotToken.setFocusableInTouchMode(isChecked);
+
+ editChatId.setEnabled(isChecked);
+ editChatId.setFocusable(isChecked);
+ editChatId.setFocusableInTouchMode(isChecked);
+ });
+
buttonSaveSettings.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -49,9 +61,26 @@ public class SettingsFragment extends Fragment {
boolean useTelegram = checkBox.isChecked();
String botToken = editBotToken.getText().toString();
String chatId = editChatId.getText().toString();
- int timeBetweenQueries = Integer.parseInt(editTimeBetweenQueries.getText().toString());
- int amountOfLogLines = Integer.parseInt(editAmountOfLogLines.getText().toString());
- int amountOfLastTrades = Integer.parseInt(editAmountofLastTrades.getText().toString());
+ float timeBetweenQueries = 0;
+ int amountOfLogLines = 0;
+ int amountOfLastTrades = 0;
+
+ //Check if the user entered valid strings
+ if (profileName.isEmpty() || apiUrl.isEmpty() || apiKey.isEmpty() || botToken.isEmpty() || chatId.isEmpty()) {
+ Toast.makeText(getContext(), "Invalid input, please enter valid strings", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
+ //Check if the user entered valid numbers
+ try {
+ timeBetweenQueries = Float.parseFloat(editTimeBetweenQueries.getText().toString());
+ amountOfLogLines = Integer.parseInt(editAmountOfLogLines.getText().toString());
+ amountOfLastTrades = Integer.parseInt(editAmountofLastTrades.getText().toString());
+ } catch (NumberFormatException e) {
+ Toast.makeText(getContext(), "Invalid input, please enter valid numbers", Toast.LENGTH_SHORT).show();
+ return;
+ }
+
settingsViewModel.saveSettings(
getContext(),
profileName,
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index 467da6b..f4609ce 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -23,15 +23,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/profile_name_title"
- android:textSize="18sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>
+ android:textSize="14sp"/>
+ android:textSize="16sp"/>