From 87d362e0beae3ceaa141ba0f139c02c8faf5573e Mon Sep 17 00:00:00 2001 From: HeadGlitchSoftware Date: 2025年3月18日 10:52:05 -0400 Subject: [PATCH 1/4] Added saturation condition when selecting dialog "textColor" --- .../java/com/coderGtm/yantra/blueprints/YantraLauncherDialog.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/coderGtm/yantra/blueprints/YantraLauncherDialog.kt b/app/src/main/java/com/coderGtm/yantra/blueprints/YantraLauncherDialog.kt index 74ea00de..112cb506 100644 --- a/app/src/main/java/com/coderGtm/yantra/blueprints/YantraLauncherDialog.kt +++ b/app/src/main/java/com/coderGtm/yantra/blueprints/YantraLauncherDialog.kt @@ -36,7 +36,7 @@ class YantraLauncherDialog(val context: Context) { Color.colorToHSV(theme.bgColor, dialogBgColor) Color.colorToHSV(theme.bgColor, dialogBorderColor) - textColor = if (dialogBgColor[2]> 0.5) { + textColor = if (dialogBgColor[2]> 0.5 && dialogBgColor[1] < 0.5 ) { Color.BLACK } else { Color.WHITE From 0bb381f0c721e211b0bcd3038a0e4149d35f9f6f Mon Sep 17 00:00:00 2001 From: HeadGlitchSoftware Date: 2025年3月18日 12:25:40 -0400 Subject: [PATCH 2/4] Added "Suggestion Font Size" setting --- .../yantra/activities/SettingsActivity.kt | 5 ++++ .../coderGtm/yantra/misc/SettingsHelper.kt | 22 ++++++++++++++++ .../com/coderGtm/yantra/terminal/Helper.kt | 5 ++-- app/src/main/res/layout/activity_settings.xml | 25 +++++++++++++++++++ app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-uk/strings.xml | 1 + app/src/main/res/values/strings.xml | 6 ++++- 9 files changed, 64 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/coderGtm/yantra/activities/SettingsActivity.kt b/app/src/main/java/com/coderGtm/yantra/activities/SettingsActivity.kt index 4a9bedf5..967f2cf2 100644 --- a/app/src/main/java/com/coderGtm/yantra/activities/SettingsActivity.kt +++ b/app/src/main/java/com/coderGtm/yantra/activities/SettingsActivity.kt @@ -45,6 +45,7 @@ import com.coderGtm.yantra.misc.openLauncherSelection import com.coderGtm.yantra.misc.openNewsWebsiteSetter import com.coderGtm.yantra.misc.openOrientationSetter import com.coderGtm.yantra.misc.openPrimarySuggestionsOrderSetter +import com.coderGtm.yantra.misc.openSuggestionFontSizeSetter import com.coderGtm.yantra.misc.openSwipeLeftActionSetter import com.coderGtm.yantra.misc.openSwipeRightActionSetter import com.coderGtm.yantra.misc.openSysinfoArtSetter @@ -82,6 +83,7 @@ class SettingsActivity : AppCompatActivity() { private var initCmdLog = false private var fontSize = 16 private var arrowSize = 65 + private var suggestionFontSize = 18 private var orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT private var appSugOrderingMode = AppSortMode.A_TO_Z.value private var fontName = "Source Code Pro" @@ -155,6 +157,7 @@ class SettingsActivity : AppCompatActivity() { initCmdLog = preferenceObject.getBoolean("initCmdLog", false) fontSize = preferenceObject.getInt("fontSize",16) arrowSize = preferenceObject.getInt("arrowSize", 65) + suggestionFontSize = preferenceObject.getInt("suggestionFontSize",18) orientation = preferenceObject.getInt("orientation", ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) appSugOrderingMode = preferenceObject.getInt("appSortMode", AppSortMode.A_TO_Z.value) fontName = if (isPro(this@SettingsActivity)) { @@ -170,6 +173,7 @@ class SettingsActivity : AppCompatActivity() { binding.usernamePrefix.text = getUserNamePrefix(preferenceObject) binding.fontSizeBtn.text = fontSize.toString() binding.arrowSizeBtn.text = arrowSize.toString() + binding.suggestionFontSizeBtn.text = suggestionFontSize.toString() setOrientationTvText(this@SettingsActivity, binding, orientation) setAppSugOrderTvText(this@SettingsActivity, binding, appSugOrderingMode) binding.tvFontName.text = fontName @@ -182,6 +186,7 @@ class SettingsActivity : AppCompatActivity() { binding.newsWebsiteLayout.setOnClickListener { openNewsWebsiteSetter(this@SettingsActivity, preferenceObject, preferenceEditObject) } binding.fontSizeBtn.setOnClickListener { openFontSizeSetter(this@SettingsActivity, binding, preferenceObject, preferenceEditObject) } binding.arrowSizeBtn.setOnClickListener { openArrowSizeSetter(this@SettingsActivity, binding, preferenceObject, preferenceEditObject) } + binding.suggestionFontSizeBtn.setOnClickListener { openSuggestionFontSizeSetter(this@SettingsActivity, binding, preferenceObject, preferenceEditObject) } binding.orientationLay.setOnClickListener { openOrientationSetter(this@SettingsActivity, binding, preferenceEditObject) } binding.appSugOrderingLay.setOnClickListener { openAppSugOrderingSetter(this@SettingsActivity, binding, preferenceEditObject) } binding.sysinfoArtLayout.setOnClickListener { openSysinfoArtSetter(this@SettingsActivity, preferenceObject, preferenceEditObject) } diff --git a/app/src/main/java/com/coderGtm/yantra/misc/SettingsHelper.kt b/app/src/main/java/com/coderGtm/yantra/misc/SettingsHelper.kt index 6a39c33e..fd31bc4d 100644 --- a/app/src/main/java/com/coderGtm/yantra/misc/SettingsHelper.kt +++ b/app/src/main/java/com/coderGtm/yantra/misc/SettingsHelper.kt @@ -293,6 +293,28 @@ fun openArrowSizeSetter(activity: Activity, binding: ActivitySettingsBinding, pr ) } +fun openSuggestionFontSizeSetter(activity: Activity, binding: ActivitySettingsBinding, preferenceObject: SharedPreferences, preferenceEditObject: SharedPreferences.Editor) { + val fontSizeDialog = YantraLauncherDialog(activity) + fontSizeDialog.takeInput( + title = activity.getString(R.string.suggestion_font_size), + message = activity.getString(R.string.suggestion_font_size_description), + initialInput = preferenceObject.getInt("suggestionFontSize",18).toString(), + inputType = InputType.TYPE_CLASS_NUMBER, + positiveButton = activity.getString(R.string.save), + positiveAction = { + val size = it + if (size.toIntOrNull() == null || size.toInt() <= 0 ) { + toast(activity, activity.getString(R.string.invalid_suggestion_font_size)) + return@takeInput + } + preferenceEditObject.putInt("suggestionFontSize",size.toInt()).apply() + binding.suggestionFontSizeBtn.text = size + toast(activity, activity.getString(R.string.suggestion_font_size_updated)) + changedSettingsCallback(activity) + }, + ) +} + fun openOrientationSetter(activity: Activity, binding: ActivitySettingsBinding, preferenceEditObject: SharedPreferences.Editor) { YantraLauncherDialog(activity).selectItem( title = activity.getString(R.string.orientation), diff --git a/app/src/main/java/com/coderGtm/yantra/terminal/Helper.kt b/app/src/main/java/com/coderGtm/yantra/terminal/Helper.kt index f2397883..78001ad6 100644 --- a/app/src/main/java/com/coderGtm/yantra/terminal/Helper.kt +++ b/app/src/main/java/com/coderGtm/yantra/terminal/Helper.kt @@ -32,12 +32,13 @@ fun showSuggestions( rawInput: String, getPrimarySuggestions: Boolean, getSecondarySuggestions: Boolean, - terminal: Terminal + terminal: Terminal, ) { Thread { terminal.activity.runOnUiThread { terminal.binding.suggestionsTab.removeAllViews() } + val fontSize = terminal.preferenceObject.getInt("suggestionFontSize", 18).toFloat() val input = rawInput.trim() val suggestions = ArrayList() val args = input.split(" ") @@ -584,7 +585,7 @@ fun showSuggestions( suggestion.setTextColor(terminal.theme.suggestionTextColor) suggestion.setTypeface(terminal.typeface, Typeface.BOLD) suggestion.setBackgroundColor(Color.TRANSPARENT) - suggestion.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14.5F) + suggestion.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize) suggestion.setPadding(40, 30, 40, 30) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 6823346f..755feebb 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -471,6 +471,31 @@ android:layout_height="1dp" android:background="?android:attr/listDivider" /> + + + + + + +