diff --git a/ai-assistant/src/main/kotlin/com/itsaky/androidide/plugins/aiassistant/fragments/AiSettingsFragment.kt b/ai-assistant/src/main/kotlin/com/itsaky/androidide/plugins/aiassistant/fragments/AiSettingsFragment.kt index 83c285c1..76ba11a8 100644 --- a/ai-assistant/src/main/kotlin/com/itsaky/androidide/plugins/aiassistant/fragments/AiSettingsFragment.kt +++ b/ai-assistant/src/main/kotlin/com/itsaky/androidide/plugins/aiassistant/fragments/AiSettingsFragment.kt @@ -5,6 +5,8 @@ import android.content.Context import android.content.Intent import android.net.Uri import android.os.Bundle +import android.text.method.HideReturnsTransformationMethod +import android.text.method.PasswordTransformationMethod import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -12,6 +14,7 @@ import android.widget.* import androidx.activity.result.contract.ActivityResultContracts import androidx.fragment.app.DialogFragment import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope import com.itsaky.androidide.plugins.PluginContext import com.itsaky.androidide.plugins.aiassistant.AiAssistantPlugin import com.itsaky.androidide.plugins.aiassistant.R @@ -21,6 +24,7 @@ import com.itsaky.androidide.plugins.aiassistant.viewmodel.AiBackend import com.itsaky.androidide.plugins.aiassistant.viewmodel.AiSettingsViewModel import com.itsaky.androidide.plugins.aiassistant.viewmodel.EngineState import com.itsaky.androidide.plugins.aiassistant.viewmodel.ModelLoadingState +import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.Date import java.util.Locale @@ -290,6 +294,7 @@ class AiSettingsFragment : DialogFragment() { private fun setupGeminiApiUi(view: View) { val apiKeyLayout = view.findViewById(R.id.gemini_api_key_layout) val apiKeyInput = view.findViewById(R.id.gemini_api_key_input) + val toggleVisibilityButton = view.findViewById(R.id.btn_toggle_api_key_visibility) val saveButton = view.findViewById