package com.example.flomo_ai import android.annotation.SuppressLint import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.content.Intent import android.graphics.drawable.Drawable import android.os.Bundle import android.text.method.PasswordTransformationMethod import android.view.View import android.widget.Button import android.widget.EditText import android.widget.ImageButton import android.widget.LinearLayout import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat 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.withContext import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.Response import org.json.JSONObject import java.util.* // Data classes for the new settings structure 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) class SecondActivity : AppCompatActivity() { // View references private lateinit var etBaseUrl: EditText private lateinit var etApiKey: EditText private lateinit var btnToggleApiKey: ImageButton private lateinit var etModel: EditText private lateinit var llHeadersList: LinearLayout private lateinit var btnAddHeader: Button private lateinit var llPromptsList: LinearLayout private lateinit var btnAddPrompt: Button private lateinit var tvEmptyPrompts: TextView private lateinit var llButtonsList: LinearLayout private lateinit var btnAddButton: Button private lateinit var tvEmptyButtons: TextView // Data storage private var headerConfigs = mutableListOf() private var promptConfigs = mutableListOf() private var buttonConfigs = mutableListOf() // API config (for backward compatibility with existing API calls) private lateinit var apiConfig: APIConfig override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_second) // Initialize views initViews() // Load existing configurations loadConfigurations() // Setup UI based on loaded data setupUI() // Back button functionality findViewById