diff --git a/app/src/main/java/com/example/flomo_ai/MainActivity.kt b/app/src/main/java/com/example/flomo_ai/MainActivity.kt index ad31d7a..935728c 100644 --- a/app/src/main/java/com/example/flomo_ai/MainActivity.kt +++ b/app/src/main/java/com/example/flomo_ai/MainActivity.kt @@ -6,85 +6,114 @@ import android.content.ClipboardManager import android.content.Context import android.content.Intent import android.os.Bundle -import android.view.Gravity -import android.view.View -import android.widget.AdapterView +import android.util.Log import android.widget.ArrayAdapter import android.widget.Button import android.widget.EditText +import android.widget.ImageButton import android.widget.Spinner import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch import kotlinx.coroutines.delay - -import android.util.Log +import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { private lateinit var inputEditText: EditText private lateinit var configButton: Button - private lateinit var submitToZhiPuAIButton: Button - private lateinit var submitToSparkAIButton: Button - private lateinit var tabLayout: TabLayout - private lateinit var submitToServerButton: Button - private lateinit var statusText: TextView + private lateinit var outputStatusLabel: TextView + private lateinit var outputTextView: TextView + private lateinit var promptSelector: Spinner + private lateinit var promptContentText: TextView + + // Data classes matching SecondActivity + data class HeaderConfig(val key: String, val value: String) + data class PromptConfig(val id: String, val title: String, val content: String, val expanded: Boolean = false) + data class ButtonConfig(val id: String, val label: String, val action: String, val apiUrl: String? = null, val apiMethod: String? = null, val apiBodyTemplate: String? = null, val expanded: Boolean = false) + data class LLMConfig(val baseUrl: String, val apiKey: String, val model: String) + data class SettingsData( + val llmConfig: LLMConfig?, + val headerConfigs: List?, + val promptConfigs: List?, + val buttonConfigs: List? + ) @SuppressLint("MissingInflatedId", "CutPasteId", "SetTextI18n") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + Log.d("MainActivity", "onCreate: Starting MainActivity") setContentView(R.layout.activity_main) + Log.d("MainActivity", "onCreate: Layout set") - // Initialize views - val promptSelector = findViewById(R.id.promptSelector) - val inputEditText = findViewById(R.id.inputEditText) + promptSelector = findViewById(R.id.promptSelector) + promptContentText = findViewById(R.id.promptContentText) + inputEditText = findViewById(R.id.inputEditText) val sendButton = findViewById