diff --git a/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxAppSharedPreferences.java b/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxAppSharedPreferences.java index cd3812fe49..696df1add8 100644 --- a/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxAppSharedPreferences.java +++ b/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxAppSharedPreferences.java @@ -2,6 +2,9 @@ import android.content.Context; import android.util.TypedValue; +import android.os.Build; +import android.view.Display; +import android.view.WindowManager; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -151,13 +154,28 @@ public void setFontVariables(Context context) { MAX_FONTSIZE = sizes[2]; } + private String getDisplayIdAsString() { + Context context = getContext(); + Display display; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + display = context.getDisplay(); + } else { + display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); + } + int d = display.getDisplayId(); + if (d == Display.DEFAULT_DISPLAY) + return ""; + else + return Integer.toString(d); + } + public int getFontSize() { - int fontSize = SharedPreferenceUtils.getIntStoredAsString(mSharedPreferences, TERMUX_APP.KEY_FONTSIZE, DEFAULT_FONTSIZE); + int fontSize = SharedPreferenceUtils.getIntStoredAsString(mSharedPreferences, TERMUX_APP.KEY_FONTSIZE + getDisplayIdAsString(), DEFAULT_FONTSIZE); return DataUtils.clamp(fontSize, MIN_FONTSIZE, MAX_FONTSIZE); } public void setFontSize(int value) { - SharedPreferenceUtils.setIntStoredAsString(mSharedPreferences, TERMUX_APP.KEY_FONTSIZE, value, false); + SharedPreferenceUtils.setIntStoredAsString(mSharedPreferences, TERMUX_APP.KEY_FONTSIZE + getDisplayIdAsString(), value, false); } public void changeFontSize(boolean increase) { diff --git a/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxFloatAppSharedPreferences.java b/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxFloatAppSharedPreferences.java index e56e29acdd..c49dc04806 100644 --- a/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxFloatAppSharedPreferences.java +++ b/termux-shared/src/main/java/com/termux/shared/termux/settings/preferences/TermuxFloatAppSharedPreferences.java @@ -1,6 +1,9 @@ package com.termux.shared.termux.settings.preferences; import android.content.Context; +import android.os.Build; +import android.view.Display; +import android.view.WindowManager; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -115,13 +118,28 @@ public void setFontVariables(Context context) { MAX_FONTSIZE = sizes[2]; } + private String getDisplayIdAsString() { + Context context = getContext(); + Display display; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + display = context.getDisplay(); + } else { + display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); + } + int d = display.getDisplayId(); + if (d == Display.DEFAULT_DISPLAY) + return ""; + else + return Integer.toString(d); + } + public int getFontSize() { - int fontSize = SharedPreferenceUtils.getIntStoredAsString(mSharedPreferences, TERMUX_FLOAT_APP.KEY_FONTSIZE, DEFAULT_FONTSIZE); + int fontSize = SharedPreferenceUtils.getIntStoredAsString(mSharedPreferences, TERMUX_FLOAT_APP.KEY_FONTSIZE + getDisplayIdAsString(), DEFAULT_FONTSIZE); return DataUtils.clamp(fontSize, MIN_FONTSIZE, MAX_FONTSIZE); } public void setFontSize(int value) { - SharedPreferenceUtils.setIntStoredAsString(mSharedPreferences, TERMUX_FLOAT_APP.KEY_FONTSIZE, value, false); + SharedPreferenceUtils.setIntStoredAsString(mSharedPreferences, TERMUX_FLOAT_APP.KEY_FONTSIZE + getDisplayIdAsString(), value, false); } public void changeFontSize(boolean increase) {