mirror of
https://github.com/nix-community/nix-on-droid-app.git
synced 2025-12-15 05:21:13 +01:00
Added: Add multi process support in TermuxAppSharedPreferences since plugin apps may need to read values modified by termux app process
This commit is contained in:
parent
621545dd0a
commit
4b07e4f4c0
4 changed files with 23 additions and 8 deletions
|
|
@ -648,7 +648,7 @@ public final class TermuxService extends Service implements AppShell.AppShellCli
|
|||
} else {
|
||||
TermuxAppSharedPreferences preferences = TermuxAppSharedPreferences.build(this);
|
||||
if (preferences == null) return;
|
||||
if (preferences.arePluginErrorNotificationsEnabled())
|
||||
if (preferences.arePluginErrorNotificationsEnabled(false))
|
||||
Logger.showToast(this, this.getString(R.string.error_display_over_other_apps_permission_not_granted), true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -144,9 +144,9 @@ class DebuggingPreferencesDataStore extends PreferenceDataStore {
|
|||
case "terminal_view_key_logging_enabled":
|
||||
return mPreferences.isTerminalViewKeyLoggingEnabled();
|
||||
case "plugin_error_notifications_enabled":
|
||||
return mPreferences.arePluginErrorNotificationsEnabled();
|
||||
return mPreferences.arePluginErrorNotificationsEnabled(false);
|
||||
case "crash_report_notifications_enabled":
|
||||
return mPreferences.areCrashReportNotificationsEnabled();
|
||||
return mPreferences.areCrashReportNotificationsEnabled(false);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ public class PluginUtils {
|
|||
if (preferences == null) return;
|
||||
|
||||
// If user has disabled notifications for plugin commands, then just return
|
||||
if (!preferences.arePluginErrorNotificationsEnabled() && !forceNotification)
|
||||
if (!preferences.arePluginErrorNotificationsEnabled(true) && !forceNotification)
|
||||
return;
|
||||
|
||||
logTag = DataUtils.getDefaultIfNull(logTag, LOG_TAG);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ public class TermuxAppSharedPreferences {
|
|||
|
||||
private final Context mContext;
|
||||
private final SharedPreferences mSharedPreferences;
|
||||
private final SharedPreferences mMultiProcessSharedPreferences;
|
||||
|
||||
private int MIN_FONTSIZE;
|
||||
private int MAX_FONTSIZE;
|
||||
|
|
@ -30,6 +31,8 @@ public class TermuxAppSharedPreferences {
|
|||
private TermuxAppSharedPreferences(@NonNull Context context) {
|
||||
mContext = context;
|
||||
mSharedPreferences = getPrivateSharedPreferences(mContext);
|
||||
mMultiProcessSharedPreferences = getPrivateAndMultiProcessSharedPreferences(mContext);
|
||||
|
||||
|
||||
setFontVariables(context);
|
||||
}
|
||||
|
|
@ -73,6 +76,12 @@ public class TermuxAppSharedPreferences {
|
|||
}
|
||||
|
||||
|
||||
private static SharedPreferences getPrivateAndMultiProcessSharedPreferences(Context context) {
|
||||
if (context == null) return null;
|
||||
return SharedPreferenceUtils.getPrivateAndMultiProcessSharedPreferences(context, TermuxConstants.TERMUX_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public boolean shouldShowTerminalToolbar() {
|
||||
return SharedPreferenceUtils.getBoolean(mSharedPreferences, TERMUX_APP.KEY_SHOW_TERMINAL_TOOLBAR, TERMUX_APP.DEFAULT_VALUE_SHOW_TERMINAL_TOOLBAR);
|
||||
|
|
@ -218,8 +227,11 @@ public class TermuxAppSharedPreferences {
|
|||
|
||||
|
||||
|
||||
public boolean arePluginErrorNotificationsEnabled() {
|
||||
return SharedPreferenceUtils.getBoolean(mSharedPreferences, TERMUX_APP.KEY_PLUGIN_ERROR_NOTIFICATIONS_ENABLED, TERMUX_APP.DEFAULT_VALUE_PLUGIN_ERROR_NOTIFICATIONS_ENABLED);
|
||||
public boolean arePluginErrorNotificationsEnabled(boolean readFromFile) {
|
||||
if (readFromFile)
|
||||
return SharedPreferenceUtils.getBoolean(mMultiProcessSharedPreferences, TERMUX_APP.KEY_PLUGIN_ERROR_NOTIFICATIONS_ENABLED, TERMUX_APP.DEFAULT_VALUE_PLUGIN_ERROR_NOTIFICATIONS_ENABLED);
|
||||
else
|
||||
return SharedPreferenceUtils.getBoolean(mSharedPreferences, TERMUX_APP.KEY_PLUGIN_ERROR_NOTIFICATIONS_ENABLED, TERMUX_APP.DEFAULT_VALUE_PLUGIN_ERROR_NOTIFICATIONS_ENABLED);
|
||||
}
|
||||
|
||||
public void setPluginErrorNotificationsEnabled(boolean value) {
|
||||
|
|
@ -228,8 +240,11 @@ public class TermuxAppSharedPreferences {
|
|||
|
||||
|
||||
|
||||
public boolean areCrashReportNotificationsEnabled() {
|
||||
return SharedPreferenceUtils.getBoolean(mSharedPreferences, TERMUX_APP.KEY_CRASH_REPORT_NOTIFICATIONS_ENABLED, TERMUX_APP.DEFAULT_VALUE_CRASH_REPORT_NOTIFICATIONS_ENABLED);
|
||||
public boolean areCrashReportNotificationsEnabled(boolean readFromFile) {
|
||||
if (readFromFile)
|
||||
return SharedPreferenceUtils.getBoolean(mMultiProcessSharedPreferences, TERMUX_APP.KEY_CRASH_REPORT_NOTIFICATIONS_ENABLED, TERMUX_APP.DEFAULT_VALUE_CRASH_REPORT_NOTIFICATIONS_ENABLED);
|
||||
else
|
||||
return SharedPreferenceUtils.getBoolean(mSharedPreferences, TERMUX_APP.KEY_CRASH_REPORT_NOTIFICATIONS_ENABLED, TERMUX_APP.DEFAULT_VALUE_CRASH_REPORT_NOTIFICATIONS_ENABLED);
|
||||
}
|
||||
|
||||
public void setCrashReportNotificationsEnabled(boolean value) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue