mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-06-05 21:59:27 +02:00
implementing contact inserting
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
package com.simplemobiletools.contacts
|
package com.simplemobiletools.contacts
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
|
import com.facebook.stetho.Stetho
|
||||||
import com.simplemobiletools.commons.extensions.checkUseEnglish
|
import com.simplemobiletools.commons.extensions.checkUseEnglish
|
||||||
import com.squareup.leakcanary.LeakCanary
|
import com.squareup.leakcanary.LeakCanary
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@ import com.simplemobiletools.commons.helpers.SORT_BY_SURNAME
|
|||||||
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
|
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
|
||||||
import com.simplemobiletools.contacts.R
|
import com.simplemobiletools.contacts.R
|
||||||
import com.simplemobiletools.contacts.extensions.config
|
import com.simplemobiletools.contacts.extensions.config
|
||||||
|
import com.simplemobiletools.contacts.extensions.dbHelper
|
||||||
import com.simplemobiletools.contacts.models.*
|
import com.simplemobiletools.contacts.models.*
|
||||||
import java.io.ByteArrayOutputStream
|
import java.io.ByteArrayOutputStream
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@ -559,9 +560,7 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun insertLocalContact(contact: Contact): Boolean {
|
private fun insertLocalContact(contact: Contact) = activity.dbHelper.insert(contact)
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun addFullSizePhoto(contactId: Long, fullSizePhotoData: ByteArray) {
|
private fun addFullSizePhoto(contactId: Long, fullSizePhotoData: ByteArray) {
|
||||||
val baseUri = ContentUris.withAppendedId(ContactsContract.RawContacts.CONTENT_URI, contactId)
|
val baseUri = ContentUris.withAppendedId(ContactsContract.RawContacts.CONTENT_URI, contactId)
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
package com.simplemobiletools.contacts.helpers
|
package com.simplemobiletools.contacts.helpers
|
||||||
|
|
||||||
|
import android.content.ContentValues
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.database.sqlite.SQLiteDatabase
|
import android.database.sqlite.SQLiteDatabase
|
||||||
import android.database.sqlite.SQLiteOpenHelper
|
import android.database.sqlite.SQLiteOpenHelper
|
||||||
|
import com.google.gson.Gson
|
||||||
|
import com.simplemobiletools.contacts.models.Contact
|
||||||
|
|
||||||
|
|
||||||
class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(context, DB_NAME, null, DB_VERSION) {
|
class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(context, DB_NAME, null, DB_VERSION) {
|
||||||
private val MAIN_TABLE_NAME = "contacts"
|
private val CONTACTS_TABLE_NAME = "contacts"
|
||||||
private val COL_ID = "id"
|
private val COL_ID = "id"
|
||||||
private val COL_FIRST_NAME = "first_name"
|
private val COL_FIRST_NAME = "first_name"
|
||||||
private val COL_MIDDLE_NAME = "middle_name"
|
private val COL_MIDDLE_NAME = "middle_name"
|
||||||
@ -32,11 +36,29 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreate(db: SQLiteDatabase) {
|
override fun onCreate(db: SQLiteDatabase) {
|
||||||
db.execSQL("CREATE TABLE $MAIN_TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_FIRST_NAME TEXT, $COL_MIDDLE_NAME TEXT, " +
|
db.execSQL("CREATE TABLE $CONTACTS_TABLE_NAME ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_FIRST_NAME TEXT, $COL_MIDDLE_NAME TEXT, " +
|
||||||
"$COL_SURNAME TEXT, $COL_PHOTO BLOB, $COL_PHONE_NUMBERS TEXT, $COL_EMAILS TEXT, $COL_EVENTS TEXT, $COL_STARRED INTEGER)")
|
"$COL_SURNAME TEXT, $COL_PHOTO BLOB, $COL_PHONE_NUMBERS TEXT, $COL_EMAILS TEXT, $COL_EVENTS TEXT, $COL_STARRED INTEGER)")
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
|
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun insert(contact: Contact): Boolean {
|
||||||
|
val contactValues = fillContactValues(contact)
|
||||||
|
val id = mDb.insert(CONTACTS_TABLE_NAME, null, contactValues).toInt()
|
||||||
|
return id != -1
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun fillContactValues(contact: Contact): ContentValues {
|
||||||
|
return ContentValues().apply {
|
||||||
|
put(COL_FIRST_NAME, contact.firstName)
|
||||||
|
put(COL_MIDDLE_NAME, contact.middleName)
|
||||||
|
put(COL_SURNAME, contact.surname)
|
||||||
|
put(COL_PHONE_NUMBERS, Gson().toJson(contact.phoneNumbers))
|
||||||
|
put(COL_EMAILS, Gson().toJson(contact.emails))
|
||||||
|
put(COL_EVENTS, Gson().toJson(contact.events))
|
||||||
|
put(COL_STARRED, contact.starred)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user