From c6ae059e658c5b487088d4329929a21ba1ff528a Mon Sep 17 00:00:00 2001 From: xiaji Date: Sun, 15 Mar 2026 15:52:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=92=8C=E9=A6=96=E9=A1=B5=E5=B8=83=E5=B1=80=EF=BC=9A?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=AF=8D=E5=8A=9F=E8=83=BD=EF=BC=8C=E7=AE=80=E5=8C=96UI?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=9C=86=E8=A7=92?= =?UTF-8?q?=E8=BE=B9=E6=A1=86=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/flomo_ai/MainActivity.kt | 320 +++++---- .../example/flomo_ai/MainActivity.kt.backup | 269 ++++++++ .../com/example/flomo_ai/SecondActivity.kt | 341 +++++----- .../example/flomo_ai/SecondActivity.kt.backup | 433 +++++++++++++ .../main/res/drawable/button_config_bg.xml | 6 + .../main/res/drawable/button_primary_bg.xml | 6 + .../main/res/drawable/button_secondary_bg.xml | 9 + app/src/main/res/drawable/edittext_border.xml | 10 +- app/src/main/res/drawable/ic_check_circle.xml | 10 + app/src/main/res/drawable/ic_copy.xml | 10 + app/src/main/res/layout/activity_main.xml | 151 +++-- app/src/main/res/layout/activity_second.xml | 607 ++++++++++-------- app/src/main/res/layout/header_entry.xml | 6 +- app/src/main/res/layout/prompt_entry.xml | 37 +- app/src/main/res/values/colors.xml | 31 +- test_logcat.bat | 21 + view_detailed_logs.bat | 18 + view_logs.bat | 10 + 18 files changed, 1574 insertions(+), 721 deletions(-) create mode 100644 app/src/main/java/com/example/flomo_ai/MainActivity.kt.backup create mode 100644 app/src/main/java/com/example/flomo_ai/SecondActivity.kt.backup create mode 100644 app/src/main/res/drawable/button_config_bg.xml create mode 100644 app/src/main/res/drawable/button_primary_bg.xml create mode 100644 app/src/main/res/drawable/button_secondary_bg.xml create mode 100644 app/src/main/res/drawable/ic_check_circle.xml create mode 100644 app/src/main/res/drawable/ic_copy.xml create mode 100644 test_logcat.bat create mode 100644 view_detailed_logs.bat create mode 100644 view_logs.bat 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