93 lines
4 KiB
Kotlin
93 lines
4 KiB
Kotlin
package com.simplemobiletools.smsmessenger.helpers
|
|
|
|
import android.content.Context
|
|
import com.simplemobiletools.commons.helpers.BaseConfig
|
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
|
|
|
class Config(context: Context) : BaseConfig(context) {
|
|
companion object {
|
|
fun newInstance(context: Context) = Config(context)
|
|
}
|
|
|
|
fun saveUseSIMIdAtNumber(number: String, SIMId: Int) {
|
|
prefs.edit().putInt(USE_SIM_ID_PREFIX + number, SIMId).apply()
|
|
}
|
|
|
|
fun getUseSIMIdAtNumber(number: String) = prefs.getInt(USE_SIM_ID_PREFIX + number, 0)
|
|
|
|
var showCharacterCounter: Boolean
|
|
get() = prefs.getBoolean(SHOW_CHARACTER_COUNTER, false)
|
|
set(showCharacterCounter) = prefs.edit().putBoolean(SHOW_CHARACTER_COUNTER, showCharacterCounter).apply()
|
|
|
|
var useSimpleCharacters: Boolean
|
|
get() = prefs.getBoolean(USE_SIMPLE_CHARACTERS, false)
|
|
set(useSimpleCharacters) = prefs.edit().putBoolean(USE_SIMPLE_CHARACTERS, useSimpleCharacters).apply()
|
|
|
|
var enableDeliveryReports: Boolean
|
|
get() = prefs.getBoolean(ENABLE_DELIVERY_REPORTS, false)
|
|
set(enableDeliveryReports) = prefs.edit().putBoolean(ENABLE_DELIVERY_REPORTS, enableDeliveryReports).apply()
|
|
|
|
var sendLongMessageMMS: Boolean
|
|
get() = prefs.getBoolean(SEND_LONG_MESSAGE_MMS, false)
|
|
set(sendLongMessageMMS) = prefs.edit().putBoolean(SEND_LONG_MESSAGE_MMS, sendLongMessageMMS).apply()
|
|
|
|
var sendGroupMessageMMS: Boolean
|
|
get() = prefs.getBoolean(SEND_GROUP_MESSAGE_MMS, false)
|
|
set(sendGroupMessageMMS) = prefs.edit().putBoolean(SEND_GROUP_MESSAGE_MMS, sendGroupMessageMMS).apply()
|
|
|
|
var lockScreenVisibilitySetting: Int
|
|
get() = prefs.getInt(LOCK_SCREEN_VISIBILITY, LOCK_SCREEN_SENDER_MESSAGE)
|
|
set(lockScreenVisibilitySetting) = prefs.edit().putInt(LOCK_SCREEN_VISIBILITY, lockScreenVisibilitySetting).apply()
|
|
|
|
var mmsFileSizeLimit: Long
|
|
get() = prefs.getLong(MMS_FILE_SIZE_LIMIT, FILE_SIZE_600_KB)
|
|
set(mmsFileSizeLimit) = prefs.edit().putLong(MMS_FILE_SIZE_LIMIT, mmsFileSizeLimit).apply()
|
|
|
|
var pinnedConversations: Set<String>
|
|
get() = prefs.getStringSet(PINNED_CONVERSATIONS, HashSet<String>())!!
|
|
set(pinnedConversations) = prefs.edit().putStringSet(PINNED_CONVERSATIONS, pinnedConversations).apply()
|
|
|
|
fun addPinnedConversationByThreadId(threadId: Long) {
|
|
pinnedConversations = pinnedConversations.plus(threadId.toString())
|
|
}
|
|
|
|
fun addPinnedConversations(conversations: List<Conversation>) {
|
|
pinnedConversations = pinnedConversations.plus(conversations.map { it.threadId.toString() })
|
|
}
|
|
|
|
fun removePinnedConversationByThreadId(threadId: Long) {
|
|
pinnedConversations = pinnedConversations.minus(threadId.toString())
|
|
}
|
|
|
|
fun removePinnedConversations(conversations: List<Conversation>) {
|
|
pinnedConversations = pinnedConversations.minus(conversations.map { it.threadId.toString() })
|
|
}
|
|
|
|
var lastExportPath: String
|
|
get() = prefs.getString(LAST_EXPORT_PATH, "")!!
|
|
set(lastExportPath) = prefs.edit().putString(LAST_EXPORT_PATH, lastExportPath).apply()
|
|
|
|
var exportSms: Boolean
|
|
get() = prefs.getBoolean(EXPORT_SMS, true)
|
|
set(exportSms) = prefs.edit().putBoolean(EXPORT_SMS, exportSms).apply()
|
|
|
|
var exportMms: Boolean
|
|
get() = prefs.getBoolean(EXPORT_MMS, true)
|
|
set(exportMms) = prefs.edit().putBoolean(EXPORT_MMS, exportMms).apply()
|
|
|
|
var importSms: Boolean
|
|
get() = prefs.getBoolean(IMPORT_SMS, true)
|
|
set(importSms) = prefs.edit().putBoolean(IMPORT_SMS, importSms).apply()
|
|
|
|
var importMms: Boolean
|
|
get() = prefs.getBoolean(IMPORT_MMS, true)
|
|
set(importMms) = prefs.edit().putBoolean(IMPORT_MMS, importMms).apply()
|
|
|
|
var wasDbCleared: Boolean
|
|
get() = prefs.getBoolean(WAS_DB_CLEARED, false)
|
|
set(wasDbCleared) = prefs.edit().putBoolean(WAS_DB_CLEARED, wasDbCleared).apply()
|
|
|
|
var keyboardHeight: Int
|
|
get() = prefs.getInt(SOFT_KEYBOARD_HEIGHT, 600)
|
|
set(value) = prefs.edit().putInt(SOFT_KEYBOARD_HEIGHT, value).apply()
|
|
}
|