/* * Copyright (C) 2017 Moez Bhatti * * This file is part of QKSMS. * * QKSMS is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * QKSMS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with QKSMS. If not, see . */ package mapper import android.content.Context import android.database.Cursor import android.net.Uri import model.Recipient import javax.inject.Inject class CursorToRecipientImpl @Inject constructor(private val context: Context) : CursorToRecipient { companion object { val URI = Uri.parse("content://mms-sms/canonical-addresses") const val COLUMN_ID = 0 const val COLUMN_ADDRESS = 1 } override fun map(from: Cursor) = Recipient().apply { id = from.getLong(COLUMN_ID) address = from.getString(COLUMN_ADDRESS) lastUpdate = System.currentTimeMillis() } override fun getRecipientCursor(): Cursor? { return context.contentResolver.query(URI, null, null, null, null) } override fun getRecipientCursor(id: Long): Cursor? { return context.contentResolver.query(URI, null, "_id = ?", arrayOf(id.toString()), null) } }