@ -1423,27 +1423,67 @@ class MmsDatabase(context: Context, databaseHelper: SQLCipherOpenHelper) : Messa
const val QUOTE _MISSING : String = " quote_missing "
const val SHARED _CONTACTS : String = " shared_contacts "
const val LINK _PREVIEWS : String = " previews "
private const val IS _DELETED _COLUMN _DEF = """
$ IS _DELETED GENERATED ALWAYS AS (
( $ MESSAGE _BOX & $ { MmsSmsColumns . Types . BASE _TYPE _MASK } ) IN ( $ { MmsSmsColumns . Types . BASE _DELETED _OUTGOING _TYPE } , $ { MmsSmsColumns . Types . BASE _DELETED _INCOMING _TYPE } )
) VIRTUAL
"""
const val CREATE _TABLE : String =
" CREATE TABLE " + TABLE _NAME + " ( " + ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
THREAD _ID + " INTEGER, " + DATE _SENT + " INTEGER, " + DATE _RECEIVED + " INTEGER, " + MESSAGE _BOX + " INTEGER, " +
READ + " INTEGER DEFAULT 0, " + " m_id " + " TEXT, " + " sub " + " TEXT, " +
" sub_cs " + " INTEGER, " + BODY + " TEXT, " + PART _COUNT + " INTEGER, " +
" ct_t " + " TEXT, " + CONTENT _LOCATION + " TEXT, " + ADDRESS + " TEXT, " +
ADDRESS _DEVICE _ID + " INTEGER, " +
EXPIRY + " INTEGER, " + " m_cls " + " TEXT, " + MESSAGE _TYPE + " INTEGER, " +
" v " + " INTEGER, " + MESSAGE _SIZE + " INTEGER, " + " pri " + " INTEGER, " +
" rr " + " INTEGER, " + " rpt_a " + " INTEGER, " + " resp_st " + " INTEGER, " +
STATUS + " INTEGER, " + TRANSACTION _ID + " TEXT, " + " retr_st " + " INTEGER, " +
" retr_txt " + " TEXT, " + " retr_txt_cs " + " INTEGER, " + " read_status " + " INTEGER, " +
" ct_cls " + " INTEGER, " + " resp_txt " + " TEXT, " + " d_tm " + " INTEGER, " +
DELIVERY _RECEIPT _COUNT + " INTEGER DEFAULT 0, " + MISMATCHED _IDENTITIES + " TEXT DEFAULT NULL, " +
NETWORK _FAILURE + " TEXT DEFAULT NULL, " + " d_rpt " + " INTEGER, " +
SUBSCRIPTION _ID + " INTEGER DEFAULT -1, " + EXPIRES _IN + " INTEGER DEFAULT 0, " +
EXPIRE _STARTED + " INTEGER DEFAULT 0, " + NOTIFIED + " INTEGER DEFAULT 0, " +
READ _RECEIPT _COUNT + " INTEGER DEFAULT 0, " + QUOTE _ID + " INTEGER DEFAULT 0, " +
QUOTE _AUTHOR + " TEXT, " + QUOTE _BODY + " TEXT, " + QUOTE _ATTACHMENT + " INTEGER DEFAULT -1, " +
QUOTE _MISSING + " INTEGER DEFAULT 0, " + SHARED _CONTACTS + " TEXT, " + UNIDENTIFIED + " INTEGER DEFAULT 0, " +
LINK _PREVIEWS + " TEXT); "
""" CREATE TABLE $TABLE _NAME (
$ ID INTEGER PRIMARY KEY AUTOINCREMENT ,
$ THREAD _ID INTEGER ,
$ DATE _SENT INTEGER ,
$ DATE _RECEIVED INTEGER ,
$ MESSAGE _BOX INTEGER ,
$ READ INTEGER DEFAULT 0 ,
m _id TEXT ,
sub TEXT ,
sub _cs INTEGER ,
$ BODY TEXT ,
$ PART _COUNT INTEGER ,
ct _t TEXT ,
$ CONTENT _LOCATION TEXT ,
$ ADDRESS TEXT ,
$ ADDRESS _DEVICE _ID INTEGER ,
$ EXPIRY INTEGER ,
m _cls TEXT ,
$ MESSAGE _TYPE INTEGER ,
v INTEGER ,
$ MESSAGE _SIZE INTEGER ,
pri INTEGER ,
rr INTEGER ,
rpt _a INTEGER ,
resp _st INTEGER ,
$ STATUS INTEGER ,
$ TRANSACTION _ID TEXT ,
retr _st INTEGER ,
retr _txt TEXT ,
retr _txt _cs INTEGER ,
read _status INTEGER ,
ct _cls INTEGER ,
resp _txt TEXT ,
d _tm INTEGER ,
$ DELIVERY _RECEIPT _COUNT INTEGER DEFAULT 0 ,
$ MISMATCHED _IDENTITIES TEXT DEFAULT NULL ,
$ NETWORK _FAILURE TEXT DEFAULT NULL ,
d _rpt INTEGER ,
$ SUBSCRIPTION _ID INTEGER DEFAULT - 1 ,
$ EXPIRES _IN INTEGER DEFAULT 0 ,
$ EXPIRE _STARTED INTEGER DEFAULT 0 ,
$ NOTIFIED INTEGER DEFAULT 0 ,
$ READ _RECEIPT _COUNT INTEGER DEFAULT 0 ,
$ QUOTE _ID INTEGER DEFAULT 0 ,
$ QUOTE _AUTHOR TEXT ,
$ QUOTE _BODY TEXT ,
$ QUOTE _ATTACHMENT INTEGER DEFAULT - 1 ,
$ QUOTE _MISSING INTEGER DEFAULT 0 ,
$ SHARED _CONTACTS TEXT ,
$ UNIDENTIFIED INTEGER DEFAULT 0 ,
$ LINK _PREVIEWS TEXT ,
$ IS _DELETED _COLUMN _DEF ) ; """
@JvmField
val CREATE _INDEXS : Array < String > = arrayOf (
@ -1454,6 +1494,9 @@ class MmsDatabase(context: Context, databaseHelper: SQLCipherOpenHelper) : Messa
" CREATE INDEX IF NOT EXISTS mms_date_sent_index ON $TABLE _NAME ( $DATE _SENT); " ,
" CREATE INDEX IF NOT EXISTS mms_thread_date_index ON $TABLE _NAME ( $THREAD _ID, $DATE _RECEIVED); "
)
const val ADD _IS _DELETED _COLUMN : String = " ALTER TABLE $TABLE _NAME ADD COLUMN $IS _DELETED_COLUMN_DEF "
private val MMS _PROJECTION : Array < String > = arrayOf (
" $TABLE _NAME. $ID AS $ID " ,
THREAD _ID ,