diff --git a/app/src/main/java/eu/faircode/email/ApplicationEx.java b/app/src/main/java/eu/faircode/email/ApplicationEx.java index 1dafb4853b..6b36f6ab5c 100644 --- a/app/src/main/java/eu/faircode/email/ApplicationEx.java +++ b/app/src/main/java/eu/faircode/email/ApplicationEx.java @@ -1144,6 +1144,22 @@ public class ApplicationEx extends Application editor.putInt("previous_version", version); editor.putInt("version", BuildConfig.VERSION_CODE); + if (prefs.getBoolean("gemini_enabled", false)) { + editor.putBoolean("openai_enabled", true) + .putString("openai_apikey", prefs.getString("gemini_apikey", null)) + .putString("openai_uri", "https://generativelanguage.googleapis.com/v1beta/openai/") + .putString("openai_model", "models/" + prefs.getString("gemini_model", Gemini.DEFAULT_MODEL)) + .remove("openai_max_tokens") + .putBoolean("openai_multimodal", false) + .putFloat("openai_temperature", prefs.getFloat("gemini_temperature", Gemini.DEFAULT_TEMPERATURE)) + .putString("openai_summarize", prefs.getString("gemini_summarize", Gemini.DEFAULT_SUMMARY_PROMPT)) + .putString("openai_answer", prefs.getString("gemini_answer", Gemini.DEFAULT_ANSWER_PROMPT)) + .remove("openai_system") + + .putBoolean("gemini_enabled", false) + .remove("gemini_apikey"); + } + int last_sdk = prefs.getInt("last_sdk", Build.VERSION.SDK_INT); if (Helper.isAndroid15() && last_sdk <= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) editor.remove("setup_reminder"); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsIntegrations.java b/app/src/main/java/eu/faircode/email/FragmentOptionsIntegrations.java index e6e5295b6a..2221281cdb 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsIntegrations.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsIntegrations.java @@ -851,7 +851,10 @@ public class FragmentOptionsIntegrations extends FragmentBase implements SharedP cardVirusTotal.setVisibility(BuildConfig.PLAY_STORE_RELEASE ? View.GONE : View.VISIBLE); cardSend.setVisibility(BuildConfig.PLAY_STORE_RELEASE ? View.GONE : View.VISIBLE); cardOpenAi.setVisibility(TextUtils.isEmpty(BuildConfig.OPENAI_ENDPOINT) ? View.GONE : View.VISIBLE); - cardGemini.setVisibility(TextUtils.isEmpty(BuildConfig.GEMINI_ENDPOINT) ? View.GONE : View.VISIBLE); + String gemini_apikey = prefs.getString("gemini_apikey", null); + cardGemini.setVisibility(TextUtils.isEmpty(BuildConfig.GEMINI_ENDPOINT) + || TextUtils.isEmpty(gemini_apikey) + ? View.GONE : View.VISIBLE); PreferenceManager.getDefaultSharedPreferences(getContext()).registerOnSharedPreferenceChangeListener(this);