Loading data/src/main/java/com/moez/QKSMS/repository/ConversationRepositoryImpl.kt +8 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.moez.QKSMS.mapper.CursorToRecipient import com.moez.QKSMS.model.Contact import com.moez.QKSMS.model.Conversation import com.moez.QKSMS.model.Message import com.moez.QKSMS.model.Recipient import com.moez.QKSMS.model.SearchResult import com.moez.QKSMS.util.tryOrNull import io.realm.Case Loading Loading @@ -153,6 +154,13 @@ class ConversationRepositoryImpl @Inject constructor( .findAll() } override fun getRecipient(recipientId: Long): Recipient? { return Realm.getDefaultInstance() .where(Recipient::class.java) .equalTo("id", recipientId) .findFirst() } override fun getThreadId(recipient: String): Long? { return getThreadId(listOf(recipient)) } Loading domain/src/main/java/com/moez/QKSMS/repository/ConversationRepository.kt +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.moez.QKSMS.repository import com.moez.QKSMS.model.Conversation import com.moez.QKSMS.model.Recipient import com.moez.QKSMS.model.SearchResult import io.realm.RealmResults Loading Loading @@ -50,6 +51,8 @@ interface ConversationRepository { */ fun getConversations(vararg threadIds: Long): RealmResults<Conversation> fun getRecipient(recipientId: Long): Recipient? fun getThreadId(recipient: String): Long? fun getThreadId(recipients: Collection<String>): Long? Loading presentation/src/main/java/com/moez/QKSMS/common/Navigator.kt +7 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,13 @@ class Navigator @Inject constructor( startActivityExternal(intent) } fun showContact(lookupKey: String) { val intent = Intent(Intent.ACTION_VIEW) .setData(Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey)) startActivityExternal(intent) } fun saveVcard(uri: Uri) { val intent = Intent(Intent.ACTION_VIEW) .setDataAndType(uri, "text/x-vcard") Loading presentation/src/main/java/com/moez/QKSMS/common/widget/AvatarView.kt +0 −24 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ package com.moez.QKSMS.common.widget import android.content.Context import android.net.Uri import android.provider.ContactsContract import android.telephony.PhoneNumberUtils import android.util.AttributeSet import android.view.View Loading @@ -32,19 +30,15 @@ import com.moez.QKSMS.common.util.Colors import com.moez.QKSMS.common.util.extensions.setBackgroundTint import com.moez.QKSMS.common.util.extensions.setTint import com.moez.QKSMS.injection.appComponent import com.moez.QKSMS.listener.ContactAddedListener import com.moez.QKSMS.model.Contact import com.moez.QKSMS.model.Recipient import com.moez.QKSMS.util.GlideApp import com.uber.autodispose.android.ViewScopeProvider import com.uber.autodispose.autoDisposable import kotlinx.android.synthetic.main.avatar_view.view.* import javax.inject.Inject class AvatarView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : FrameLayout(context, attrs) { @Inject lateinit var colors: Colors @Inject lateinit var contactAddedListener: ContactAddedListener @Inject lateinit var navigator: Navigator /** Loading @@ -71,24 +65,6 @@ class AvatarView @JvmOverloads constructor(context: Context, attrs: AttributeSet setBackgroundResource(R.drawable.circle) clipToOutline = true setOnClickListener { if (lookupKey.isNullOrEmpty()) { address?.let { address -> // Allow the user to add the contact navigator.addContact(address) // Listen for contact changes contactAddedListener.listen(address) .autoDisposable(ViewScopeProvider.from(this)) .subscribe() } } else { val uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey) ContactsContract.QuickContact.showQuickContact(context, this@AvatarView, uri, ContactsContract.QuickContact.MODE_MEDIUM, null) } } } /** Loading presentation/src/main/java/com/moez/QKSMS/feature/conversationinfo/ConversationInfoController.kt +2 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,8 @@ class ConversationInfoController( showBackButton(true) } override fun recipientClicks(): Observable<Long> = recipientAdapter.clicks override fun nameClicks(): Observable<*> = name.clicks() override fun nameChanges(): Observable<String> = nameChangeSubject Loading Loading
data/src/main/java/com/moez/QKSMS/repository/ConversationRepositoryImpl.kt +8 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import com.moez.QKSMS.mapper.CursorToRecipient import com.moez.QKSMS.model.Contact import com.moez.QKSMS.model.Conversation import com.moez.QKSMS.model.Message import com.moez.QKSMS.model.Recipient import com.moez.QKSMS.model.SearchResult import com.moez.QKSMS.util.tryOrNull import io.realm.Case Loading Loading @@ -153,6 +154,13 @@ class ConversationRepositoryImpl @Inject constructor( .findAll() } override fun getRecipient(recipientId: Long): Recipient? { return Realm.getDefaultInstance() .where(Recipient::class.java) .equalTo("id", recipientId) .findFirst() } override fun getThreadId(recipient: String): Long? { return getThreadId(listOf(recipient)) } Loading
domain/src/main/java/com/moez/QKSMS/repository/ConversationRepository.kt +3 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.moez.QKSMS.repository import com.moez.QKSMS.model.Conversation import com.moez.QKSMS.model.Recipient import com.moez.QKSMS.model.SearchResult import io.realm.RealmResults Loading Loading @@ -50,6 +51,8 @@ interface ConversationRepository { */ fun getConversations(vararg threadIds: Long): RealmResults<Conversation> fun getRecipient(recipientId: Long): Recipient? fun getThreadId(recipient: String): Long? fun getThreadId(recipients: Collection<String>): Long? Loading
presentation/src/main/java/com/moez/QKSMS/common/Navigator.kt +7 −0 Original line number Diff line number Diff line Loading @@ -238,6 +238,13 @@ class Navigator @Inject constructor( startActivityExternal(intent) } fun showContact(lookupKey: String) { val intent = Intent(Intent.ACTION_VIEW) .setData(Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey)) startActivityExternal(intent) } fun saveVcard(uri: Uri) { val intent = Intent(Intent.ACTION_VIEW) .setDataAndType(uri, "text/x-vcard") Loading
presentation/src/main/java/com/moez/QKSMS/common/widget/AvatarView.kt +0 −24 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ package com.moez.QKSMS.common.widget import android.content.Context import android.net.Uri import android.provider.ContactsContract import android.telephony.PhoneNumberUtils import android.util.AttributeSet import android.view.View Loading @@ -32,19 +30,15 @@ import com.moez.QKSMS.common.util.Colors import com.moez.QKSMS.common.util.extensions.setBackgroundTint import com.moez.QKSMS.common.util.extensions.setTint import com.moez.QKSMS.injection.appComponent import com.moez.QKSMS.listener.ContactAddedListener import com.moez.QKSMS.model.Contact import com.moez.QKSMS.model.Recipient import com.moez.QKSMS.util.GlideApp import com.uber.autodispose.android.ViewScopeProvider import com.uber.autodispose.autoDisposable import kotlinx.android.synthetic.main.avatar_view.view.* import javax.inject.Inject class AvatarView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : FrameLayout(context, attrs) { @Inject lateinit var colors: Colors @Inject lateinit var contactAddedListener: ContactAddedListener @Inject lateinit var navigator: Navigator /** Loading @@ -71,24 +65,6 @@ class AvatarView @JvmOverloads constructor(context: Context, attrs: AttributeSet setBackgroundResource(R.drawable.circle) clipToOutline = true setOnClickListener { if (lookupKey.isNullOrEmpty()) { address?.let { address -> // Allow the user to add the contact navigator.addContact(address) // Listen for contact changes contactAddedListener.listen(address) .autoDisposable(ViewScopeProvider.from(this)) .subscribe() } } else { val uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey) ContactsContract.QuickContact.showQuickContact(context, this@AvatarView, uri, ContactsContract.QuickContact.MODE_MEDIUM, null) } } } /** Loading
presentation/src/main/java/com/moez/QKSMS/feature/conversationinfo/ConversationInfoController.kt +2 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,8 @@ class ConversationInfoController( showBackButton(true) } override fun recipientClicks(): Observable<Long> = recipientAdapter.clicks override fun nameClicks(): Observable<*> = name.clicks() override fun nameChanges(): Observable<String> = nameChangeSubject Loading