101 lines
3.7 KiB
Kotlin
101 lines
3.7 KiB
Kotlin
package com.simplemobiletools.smsmessenger.helpers
|
|
|
|
import com.simplemobiletools.smsmessenger.models.Events
|
|
import org.greenrobot.eventbus.EventBus
|
|
import org.joda.time.DateTime
|
|
import org.joda.time.DateTimeZone
|
|
import kotlin.math.abs
|
|
import kotlin.random.Random
|
|
|
|
const val THREAD_ID = "thread_id"
|
|
const val THREAD_TITLE = "thread_title"
|
|
const val THREAD_TEXT = "thread_text"
|
|
const val THREAD_NUMBER = "thread_number"
|
|
const val THREAD_ATTACHMENT_URI = "thread_attachment_uri"
|
|
const val THREAD_ATTACHMENT_URIS = "thread_attachment_uris"
|
|
const val SEARCHED_MESSAGE_ID = "searched_message_id"
|
|
const val USE_SIM_ID_PREFIX = "use_sim_id_"
|
|
const val NOTIFICATION_CHANNEL = "simple_sms_messenger"
|
|
const val SHOW_CHARACTER_COUNTER = "show_character_counter"
|
|
const val USE_SIMPLE_CHARACTERS = "use_simple_characters"
|
|
const val SEND_ON_ENTER = "send_on_enter"
|
|
const val LOCK_SCREEN_VISIBILITY = "lock_screen_visibility"
|
|
const val ENABLE_DELIVERY_REPORTS = "enable_delivery_reports"
|
|
const val SEND_LONG_MESSAGE_MMS = "send_long_message_mms"
|
|
const val SEND_GROUP_MESSAGE_MMS = "send_group_message_mms"
|
|
const val MMS_FILE_SIZE_LIMIT = "mms_file_size_limit"
|
|
const val PINNED_CONVERSATIONS = "pinned_conversations"
|
|
const val BLOCKED_KEYWORDS = "blocked_keywords"
|
|
const val EXPORT_SMS = "export_sms"
|
|
const val EXPORT_MMS = "export_mms"
|
|
const val JSON_FILE_EXTENSION = ".json"
|
|
const val JSON_MIME_TYPE = "application/json"
|
|
const val XML_MIME_TYPE = "text/xml"
|
|
const val TXT_MIME_TYPE = "text/plain"
|
|
const val IMPORT_SMS = "import_sms"
|
|
const val IMPORT_MMS = "import_mms"
|
|
const val WAS_DB_CLEARED = "was_db_cleared_4"
|
|
const val EXTRA_VCARD_URI = "vcard"
|
|
const val SCHEDULED_MESSAGE_ID = "scheduled_message_id"
|
|
const val SOFT_KEYBOARD_HEIGHT = "soft_keyboard_height"
|
|
const val IS_MMS = "is_mms"
|
|
const val MESSAGE_ID = "message_id"
|
|
const val USE_RECYCLE_BIN = "use_recycle_bin"
|
|
const val LAST_RECYCLE_BIN_CHECK = "last_recycle_bin_check"
|
|
const val IS_RECYCLE_BIN = "is_recycle_bin"
|
|
const val USE_THREADS_ARCHIVE = "use_threads_archive"
|
|
|
|
private const val PATH = "com.simplemobiletools.smsmessenger.action."
|
|
const val MARK_AS_READ = PATH + "mark_as_read"
|
|
const val REPLY = PATH + "reply"
|
|
|
|
// view types for the thread list view
|
|
const val THREAD_DATE_TIME = 1
|
|
const val THREAD_RECEIVED_MESSAGE = 2
|
|
const val THREAD_SENT_MESSAGE = 3
|
|
const val THREAD_SENT_MESSAGE_ERROR = 4
|
|
const val THREAD_SENT_MESSAGE_SENT = 5
|
|
const val THREAD_SENT_MESSAGE_SENDING = 6
|
|
const val THREAD_LOADING = 7
|
|
|
|
// view types for attachment list
|
|
const val ATTACHMENT_DOCUMENT = 7
|
|
const val ATTACHMENT_MEDIA = 8
|
|
const val ATTACHMENT_VCARD = 9
|
|
|
|
// lock screen visibility constants
|
|
const val LOCK_SCREEN_SENDER_MESSAGE = 1
|
|
const val LOCK_SCREEN_SENDER = 2
|
|
const val LOCK_SCREEN_NOTHING = 3
|
|
|
|
const val FILE_SIZE_NONE = -1L
|
|
const val FILE_SIZE_100_KB = 102_400L
|
|
const val FILE_SIZE_200_KB = 204_800L
|
|
const val FILE_SIZE_300_KB = 307_200L
|
|
const val FILE_SIZE_600_KB = 614_400L
|
|
const val FILE_SIZE_1_MB = 1_048_576L
|
|
const val FILE_SIZE_2_MB = 2_097_152L
|
|
|
|
const val MESSAGES_LIMIT = 30
|
|
|
|
// intent launch request codes
|
|
const val PICK_PHOTO_INTENT = 42
|
|
const val PICK_VIDEO_INTENT = 49
|
|
const val PICK_SAVE_FILE_INTENT = 43
|
|
const val CAPTURE_PHOTO_INTENT = 44
|
|
const val CAPTURE_VIDEO_INTENT = 45
|
|
const val CAPTURE_AUDIO_INTENT = 46
|
|
const val PICK_DOCUMENT_INTENT = 47
|
|
const val PICK_CONTACT_INTENT = 48
|
|
|
|
fun refreshMessages() {
|
|
EventBus.getDefault().post(Events.RefreshMessages())
|
|
}
|
|
|
|
/** Not to be used with real messages persisted in the telephony db. This is for internal use only (e.g. scheduled messages, notification ids etc). */
|
|
fun generateRandomId(length: Int = 9): Long {
|
|
val millis = DateTime.now(DateTimeZone.UTC).millis
|
|
val random = abs(Random(millis).nextLong())
|
|
return random.toString().takeLast(length).toLong()
|
|
}
|