package com.moez.QKSMS.common; import android.content.Context; import android.content.SharedPreferences; import android.net.Uri; import android.preference.PreferenceManager; import com.moez.QKSMS.R; import com.moez.QKSMS.ui.ThemeManager; import com.moez.QKSMS.ui.settings.SettingsFragment; public class ConversationPrefsHelper { public static final String CONVERSATIONS_FILE = "conversation_"; private Context mContext; private SharedPreferences mPrefs; private SharedPreferences mConversationPrefs; public ConversationPrefsHelper(Context context, long threadId) { mContext = context; mPrefs = PreferenceManager.getDefaultSharedPreferences(context); mConversationPrefs = context.getSharedPreferences(CONVERSATIONS_FILE + threadId, Context.MODE_PRIVATE); } public int getColor() { return Integer.parseInt(mConversationPrefs.getString(SettingsFragment.THEME, "" + ThemeManager.getThemeColor())); } public boolean getNotificationsEnabled() { return getBoolean(SettingsFragment.NOTIFICATIONS, true); } public boolean getNotificationLedEnabled() { return getBoolean(SettingsFragment.NOTIFICATION_LED, true); } public String getNotificationLedColor() { return getString(SettingsFragment.NOTIFICATION_LED_COLOR, "" + mContext.getResources().getColor(R.color.red_light)); } public boolean getWakePhoneEnabled() { return getBoolean(SettingsFragment.WAKE, false); } public boolean getTickerEnabled() { return getBoolean(SettingsFragment.NOTIFICATION_TICKER, true); } public Integer getPrivateNotificationsSetting(){ return Integer.parseInt(mPrefs.getString(SettingsFragment.PRIVATE_NOTIFICATION, "0")); } public boolean getVibrateEnabled() { return getBoolean(SettingsFragment.NOTIFICATION_VIBRATE, true); } public String getNotificationSound() { return getString(SettingsFragment.NOTIFICATION_TONE, SettingsFragment.DEFAULT_NOTIFICATION_TONE); } public Uri getNotificationSoundUri() { return Uri.parse(getNotificationSound()); } public boolean getCallButtonEnabled() { return getBoolean(SettingsFragment.NOTIFICATION_CALL_BUTTON, false); } public boolean getDimissedReadEnabled() { return getBoolean(SettingsFragment.DISMISSED_READ, false); } public void putInt(String key, int value) { mConversationPrefs.edit().putInt(key, value).apply(); } public int getInt(String key, int defaultValue) { int globalValue = mPrefs.getInt(key, defaultValue); return mConversationPrefs.getInt(key, globalValue); } public void putString(String key, String value) { mConversationPrefs.edit().putString(key, value).apply(); } public String getString(String key, String defaultValue) { String globalValue = mPrefs.getString(key, defaultValue); return mConversationPrefs.getString(key, globalValue); } public void putBoolean(String key, boolean value) { mConversationPrefs.edit().putBoolean(key, value).apply(); } public boolean getBoolean(String key, boolean defaultValue) { boolean globalValue = mPrefs.getBoolean(key, defaultValue); return mConversationPrefs.getBoolean(key, globalValue); } public SharedPreferences getConversationPrefs() { return mConversationPrefs; } }