From c9a476caf7d9b5acf4955a0ebc67b07bee1347bc Mon Sep 17 00:00:00 2001 From: agnostic-apollo Date: Tue, 6 Apr 2021 17:23:12 +0500 Subject: [PATCH] Add TermuxTaskerAppSharedPreferences to handle termux-tasker shared preferences --- .../TermuxTaskerAppSharedPreferences.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/src/main/java/com/termux/app/settings/preferences/TermuxTaskerAppSharedPreferences.java diff --git a/app/src/main/java/com/termux/app/settings/preferences/TermuxTaskerAppSharedPreferences.java b/app/src/main/java/com/termux/app/settings/preferences/TermuxTaskerAppSharedPreferences.java new file mode 100644 index 00000000..a0e1aed1 --- /dev/null +++ b/app/src/main/java/com/termux/app/settings/preferences/TermuxTaskerAppSharedPreferences.java @@ -0,0 +1,52 @@ +package com.termux.app.settings.preferences; + +import android.content.Context; +import android.content.SharedPreferences; + +import com.termux.app.TermuxConstants; +import com.termux.app.settings.preferences.TermuxPreferenceConstants.TERMUX_TASKER_APP; +import com.termux.app.utils.DataUtils; +import com.termux.app.utils.Logger; +import com.termux.app.utils.TermuxUtils; + +import javax.annotation.Nonnull; + +public class TermuxTaskerAppSharedPreferences { + + private final Context mContext; + private final SharedPreferences mSharedPreferences; + private final SharedPreferences mMultiProcessSharedPreferences; + + + private static final String LOG_TAG = "TermuxTaskerAppSharedPreferences"; + + public TermuxTaskerAppSharedPreferences(@Nonnull Context context) { + // We use the default context if failed to get termux-tasker package context + mContext = DataUtils.getDefaultIfNull(TermuxUtils.getTermuxTaskerPackageContext(context), context); + mSharedPreferences = getPrivateSharedPreferences(mContext); + mMultiProcessSharedPreferences = getPrivateAndMultiProcessSharedPreferences(mContext); + } + + private static SharedPreferences getPrivateSharedPreferences(Context context) { + return SharedPreferenceUtils.getPrivateSharedPreferences(context, TermuxConstants.TERMUX_TASKER_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); + } + + private static SharedPreferences getPrivateAndMultiProcessSharedPreferences(Context context) { + return SharedPreferenceUtils.getPrivateAndMultiProcessSharedPreferences(context, TermuxConstants.TERMUX_TASKER_DEFAULT_PREFERENCES_FILE_BASENAME_WITHOUT_EXTENSION); + } + + + + public int getLogLevel(boolean readFromFfile) { + if(readFromFfile) + return SharedPreferenceUtils.getInt(mMultiProcessSharedPreferences, TERMUX_TASKER_APP.KEY_LOG_LEVEL, Logger.DEFAULT_LOG_LEVEL); + else + return SharedPreferenceUtils.getInt(mSharedPreferences, TERMUX_TASKER_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_TASKER_APP.KEY_LOG_LEVEL, logLevel, commitToFile); + } + +}