Loading presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeActivity.kt +2 −1 Original line number Diff line number Diff line Loading @@ -284,10 +284,11 @@ class ComposeActivity : QkThemedActivity(), ComposeView { startActivityForResult(Intent.createChooser(intent, null), ATTACH_CONTACT_REQUEST_CODE) } override fun showContacts(chips: List<Chip>) { override fun showContacts(sharing: Boolean, chips: List<Chip>) { message.hideKeyboard() val serialized = HashMap(chips.associate { chip -> chip.address to chip.contact?.lookupKey }) val intent = Intent(this, ContactsActivity::class.java) .putExtra(ContactsActivity.SharingKey, sharing) .putExtra(ContactsActivity.ChipsKey, serialized) startActivityForResult(intent, SELECT_CONTACT_REQUEST_CODE) } Loading presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeView.kt +1 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ interface ComposeView : QkView<ComposeState> { fun requestDefaultSms() fun requestStoragePermission() fun requestSmsPermission() fun showContacts(chips: List<Chip>) fun showContacts(sharing: Boolean, chips: List<Chip>) fun showKeyboard() fun requestCamera() fun requestGallery() Loading presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt +4 −3 Original line number Diff line number Diff line Loading @@ -224,9 +224,10 @@ class ComposeViewModel @Inject constructor( override fun bindView(view: ComposeView) { super.bindView(view) val sharing = sharedText.isNotEmpty() || sharedAttachments.isNotEmpty() if (shouldShowContacts) { shouldShowContacts = false view.showContacts(selectedChips.blockingFirst()) view.showContacts(sharing, selectedChips.blockingFirst()) } view.chipsSelectedIntent Loading Loading @@ -257,7 +258,7 @@ class ComposeViewModel @Inject constructor( view.optionsItemIntent .filter { it == R.id.add } .withLatestFrom(selectedChips) { _, chips -> view.showContacts(chips) view.showContacts(sharing, chips) } .autoDisposable(view.scope()) .subscribe() Loading @@ -269,7 +270,7 @@ class ComposeViewModel @Inject constructor( chipsReducer.onNext { contacts -> val result = contacts.filterNot { it == contact } if (result.isEmpty()) { view.showContacts(result) view.showContacts(sharing, result) } result } Loading presentation/src/main/java/com/moez/QKSMS/feature/contacts/ContactsActivity.kt +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import javax.inject.Inject class ContactsActivity : QkThemedActivity(), ContactsContract { companion object { const val SharingKey = "sharing" const val ChipsKey = "chips" } Loading presentation/src/main/java/com/moez/QKSMS/feature/contacts/ContactsActivityModule.kt +5 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,11 @@ import dagger.multibindings.IntoMap @Module class ContactsActivityModule { @Provides fun provideIsSharing(activity: ContactsActivity): Boolean { return activity.intent.extras?.getBoolean(ContactsActivity.SharingKey, false) ?: false } @Provides fun provideChips(activity: ContactsActivity): HashMap<String, String?> { return activity.intent.extras?.getSerializable(ContactsActivity.ChipsKey) Loading Loading
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeActivity.kt +2 −1 Original line number Diff line number Diff line Loading @@ -284,10 +284,11 @@ class ComposeActivity : QkThemedActivity(), ComposeView { startActivityForResult(Intent.createChooser(intent, null), ATTACH_CONTACT_REQUEST_CODE) } override fun showContacts(chips: List<Chip>) { override fun showContacts(sharing: Boolean, chips: List<Chip>) { message.hideKeyboard() val serialized = HashMap(chips.associate { chip -> chip.address to chip.contact?.lookupKey }) val intent = Intent(this, ContactsActivity::class.java) .putExtra(ContactsActivity.SharingKey, sharing) .putExtra(ContactsActivity.ChipsKey, serialized) startActivityForResult(intent, SELECT_CONTACT_REQUEST_CODE) } Loading
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeView.kt +1 −1 Original line number Diff line number Diff line Loading @@ -61,7 +61,7 @@ interface ComposeView : QkView<ComposeState> { fun requestDefaultSms() fun requestStoragePermission() fun requestSmsPermission() fun showContacts(chips: List<Chip>) fun showContacts(sharing: Boolean, chips: List<Chip>) fun showKeyboard() fun requestCamera() fun requestGallery() Loading
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt +4 −3 Original line number Diff line number Diff line Loading @@ -224,9 +224,10 @@ class ComposeViewModel @Inject constructor( override fun bindView(view: ComposeView) { super.bindView(view) val sharing = sharedText.isNotEmpty() || sharedAttachments.isNotEmpty() if (shouldShowContacts) { shouldShowContacts = false view.showContacts(selectedChips.blockingFirst()) view.showContacts(sharing, selectedChips.blockingFirst()) } view.chipsSelectedIntent Loading Loading @@ -257,7 +258,7 @@ class ComposeViewModel @Inject constructor( view.optionsItemIntent .filter { it == R.id.add } .withLatestFrom(selectedChips) { _, chips -> view.showContacts(chips) view.showContacts(sharing, chips) } .autoDisposable(view.scope()) .subscribe() Loading @@ -269,7 +270,7 @@ class ComposeViewModel @Inject constructor( chipsReducer.onNext { contacts -> val result = contacts.filterNot { it == contact } if (result.isEmpty()) { view.showContacts(result) view.showContacts(sharing, result) } result } Loading
presentation/src/main/java/com/moez/QKSMS/feature/contacts/ContactsActivity.kt +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import javax.inject.Inject class ContactsActivity : QkThemedActivity(), ContactsContract { companion object { const val SharingKey = "sharing" const val ChipsKey = "chips" } Loading
presentation/src/main/java/com/moez/QKSMS/feature/contacts/ContactsActivityModule.kt +5 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,11 @@ import dagger.multibindings.IntoMap @Module class ContactsActivityModule { @Provides fun provideIsSharing(activity: ContactsActivity): Boolean { return activity.intent.extras?.getBoolean(ContactsActivity.SharingKey, false) ?: false } @Provides fun provideChips(activity: ContactsActivity): HashMap<String, String?> { return activity.intent.extras?.getSerializable(ContactsActivity.ChipsKey) Loading