diff --git a/app/src/main/java/com/termux/app/fragments/settings/termux_api/DebuggingPreferencesFragment.java b/app/src/main/java/com/termux/app/fragments/settings/termux_api/DebuggingPreferencesFragment.java index 0a4fee3f..6d09eae1 100644 --- a/app/src/main/java/com/termux/app/fragments/settings/termux_api/DebuggingPreferencesFragment.java +++ b/app/src/main/java/com/termux/app/fragments/settings/termux_api/DebuggingPreferencesFragment.java @@ -41,7 +41,7 @@ public class DebuggingPreferencesFragment extends PreferenceFragmentCompat { if (preferences == null) return; com.termux.app.fragments.settings.termux.DebuggingPreferencesFragment. - setLogLevelListPreferenceData(logLevelListPreference, context, preferences.getLogLevel()); + setLogLevelListPreferenceData(logLevelListPreference, context, preferences.getLogLevel(true)); loggingCategory.addPreference(logLevelListPreference); } } @@ -76,7 +76,7 @@ class DebuggingPreferencesDataStore extends PreferenceDataStore { switch (key) { case "log_level": - return String.valueOf(mPreferences.getLogLevel()); + return String.valueOf(mPreferences.getLogLevel(true)); default: return null; } @@ -90,7 +90,7 @@ class DebuggingPreferencesDataStore extends PreferenceDataStore { switch (key) { case "log_level": if (value != null) { - mPreferences.setLogLevel(mContext, Integer.parseInt(value)); + mPreferences.setLogLevel(mContext, Integer.parseInt(value), true); } break; default: diff --git a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxAPIAppSharedPreferences.java b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxAPIAppSharedPreferences.java index 7b720ac7..1862cce2 100644 --- a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxAPIAppSharedPreferences.java +++ b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxAPIAppSharedPreferences.java @@ -18,6 +18,7 @@ public class TermuxAPIAppSharedPreferences { private final Context mContext; private final SharedPreferences mSharedPreferences; + private final SharedPreferences mMultiProcessSharedPreferences; private static final String LOG_TAG = "TermuxAPIAppSharedPreferences"; @@ -25,6 +26,7 @@ public class TermuxAPIAppSharedPreferences { private TermuxAPIAppSharedPreferences(@Nonnull Context context) { mContext = context; mSharedPreferences = getPrivateSharedPreferences(mContext); + mMultiProcessSharedPreferences = getPrivateAndMultiProcessSharedPreferences(mContext); } /** @@ -65,15 +67,23 @@ public class TermuxAPIAppSharedPreferences { return SharedPreferenceUtils.getPrivateSharedPreferences(context, TermuxConstants.TERMUX_API_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - - - public int getLogLevel() { - return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_API_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + private static SharedPreferences getPrivateAndMultiProcessSharedPreferences(Context context) { + if (context == null) return null; + return SharedPreferenceUtils.getPrivateAndMultiProcessSharedPreferences(context, TermuxConstants.TERMUX_API_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - public void setLogLevel(Context context, int logLevel) { + + + public int getLogLevel(boolean readFromFile) { + if (readFromFile) + return SharedPreferenceUtils.getInt(mMultiProcessSharedPreferences, TERMUX_API_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + else + return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_API_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + } + + public void setLogLevel(Context context, int logLevel, boolean commitToFile) { logLevel = Logger.setLogLevel(context, logLevel); - SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_API_APP.KEY_LOG_LEVEL, logLevel, false); + SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_API_APP.KEY_LOG_LEVEL, logLevel, commitToFile); } } diff --git a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxBootAppSharedPreferences.java b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxBootAppSharedPreferences.java index 762740c9..8fa18374 100644 --- a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxBootAppSharedPreferences.java +++ b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxBootAppSharedPreferences.java @@ -18,6 +18,7 @@ public class TermuxBootAppSharedPreferences { private final Context mContext; private final SharedPreferences mSharedPreferences; + private final SharedPreferences mMultiProcessSharedPreferences; private static final String LOG_TAG = "TermuxBootAppSharedPreferences"; @@ -25,6 +26,7 @@ public class TermuxBootAppSharedPreferences { private TermuxBootAppSharedPreferences(@Nonnull Context context) { mContext = context; mSharedPreferences = getPrivateSharedPreferences(mContext); + mMultiProcessSharedPreferences = getPrivateAndMultiProcessSharedPreferences(mContext); } /** @@ -65,15 +67,23 @@ public class TermuxBootAppSharedPreferences { return SharedPreferenceUtils.getPrivateSharedPreferences(context, TermuxConstants.TERMUX_BOOT_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - - - public int getLogLevel() { - return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_BOOT_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + private static SharedPreferences getPrivateAndMultiProcessSharedPreferences(Context context) { + if (context == null) return null; + return SharedPreferenceUtils.getPrivateAndMultiProcessSharedPreferences(context, TermuxConstants.TERMUX_BOOT_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - public void setLogLevel(Context context, int logLevel) { + + + public int getLogLevel(boolean readFromFile) { + if (readFromFile) + return SharedPreferenceUtils.getInt(mMultiProcessSharedPreferences, TERMUX_BOOT_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + else + return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_BOOT_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + } + + public void setLogLevel(Context context, int logLevel, boolean commitToFile) { logLevel = Logger.setLogLevel(context, logLevel); - SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_BOOT_APP.KEY_LOG_LEVEL, logLevel, false); + SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_BOOT_APP.KEY_LOG_LEVEL, logLevel, commitToFile); } } diff --git a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxStylingAppSharedPreferences.java b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxStylingAppSharedPreferences.java index df7a9758..f6aa24a9 100644 --- a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxStylingAppSharedPreferences.java +++ b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxStylingAppSharedPreferences.java @@ -18,6 +18,7 @@ public class TermuxStylingAppSharedPreferences { private final Context mContext; private final SharedPreferences mSharedPreferences; + private final SharedPreferences mMultiProcessSharedPreferences; private static final String LOG_TAG = "TermuxStylingAppSharedPreferences"; @@ -25,6 +26,7 @@ public class TermuxStylingAppSharedPreferences { private TermuxStylingAppSharedPreferences(@Nonnull Context context) { mContext = context; mSharedPreferences = getPrivateSharedPreferences(mContext); + mMultiProcessSharedPreferences = getPrivateAndMultiProcessSharedPreferences(mContext); } /** @@ -65,15 +67,23 @@ public class TermuxStylingAppSharedPreferences { return SharedPreferenceUtils.getPrivateSharedPreferences(context, TermuxConstants.TERMUX_STYLING_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - - - public int getLogLevel() { - return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_STYLING_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + private static SharedPreferences getPrivateAndMultiProcessSharedPreferences(Context context) { + if (context == null) return null; + return SharedPreferenceUtils.getPrivateAndMultiProcessSharedPreferences(context, TermuxConstants.TERMUX_STYLING_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - public void setLogLevel(Context context, int logLevel) { + + + public int getLogLevel(boolean readFromFile) { + if (readFromFile) + return SharedPreferenceUtils.getInt(mMultiProcessSharedPreferences, TERMUX_STYLING_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + else + return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_STYLING_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + } + + public void setLogLevel(Context context, int logLevel, boolean commitToFile) { logLevel = Logger.setLogLevel(context, logLevel); - SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_STYLING_APP.KEY_LOG_LEVEL, logLevel, false); + SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_STYLING_APP.KEY_LOG_LEVEL, logLevel, commitToFile); } } diff --git a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxWidgetAppSharedPreferences.java b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxWidgetAppSharedPreferences.java index 44447d3f..5356e94c 100644 --- a/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxWidgetAppSharedPreferences.java +++ b/termux-shared/src/main/java/com/termux/shared/settings/preferences/TermuxWidgetAppSharedPreferences.java @@ -18,6 +18,7 @@ public class TermuxWidgetAppSharedPreferences { private final Context mContext; private final SharedPreferences mSharedPreferences; + private final SharedPreferences mMultiProcessSharedPreferences; private static final String LOG_TAG = "TermuxWidgetAppSharedPreferences"; @@ -25,6 +26,7 @@ public class TermuxWidgetAppSharedPreferences { private TermuxWidgetAppSharedPreferences(@Nonnull Context context) { mContext = context; mSharedPreferences = getPrivateSharedPreferences(mContext); + mMultiProcessSharedPreferences = getPrivateAndMultiProcessSharedPreferences(mContext); } /** @@ -65,15 +67,23 @@ public class TermuxWidgetAppSharedPreferences { return SharedPreferenceUtils.getPrivateSharedPreferences(context, TermuxConstants.TERMUX_WIDGET_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - - - public int getLogLevel() { - return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_WIDGET_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + private static SharedPreferences getPrivateAndMultiProcessSharedPreferences(Context context) { + if (context == null) return null; + return SharedPreferenceUtils.getPrivateAndMultiProcessSharedPreferences(context, TermuxConstants.TERMUX_WIDGET_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); } - public void setLogLevel(Context context, int logLevel) { + + + public int getLogLevel(boolean readFromFile) { + if (readFromFile) + return SharedPreferenceUtils.getInt(mMultiProcessSharedPreferences, TERMUX_WIDGET_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + else + return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_WIDGET_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + } + + public void setLogLevel(Context context, int logLevel, boolean commitToFile) { logLevel = Logger.setLogLevel(context, logLevel); - SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_WIDGET_APP.KEY_LOG_LEVEL, logLevel, false); + SharedPreferenceUtils.setInt(mSharedPreferences, TERMUX_WIDGET_APP.KEY_LOG_LEVEL, logLevel, commitToFile); } }