11package com.simplemobiletools.contacts.adapters
22
3- import android.content.Intent
43import android.graphics.drawable.Drawable
5- import android.net.Uri
64import android.view.Menu
75import android.view.View
86import android.view.ViewGroup
@@ -17,17 +15,13 @@ import com.simplemobiletools.commons.dialogs.RadioGroupDialog
1715import com.simplemobiletools.commons.extensions.beVisibleIf
1816import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor
1917import com.simplemobiletools.commons.extensions.isActivityDestroyed
20- import com.simplemobiletools.commons.extensions.toast
2118import com.simplemobiletools.commons.models.RadioItem
2219import com.simplemobiletools.commons.views.FastScroller
2320import com.simplemobiletools.commons.views.MyRecyclerView
2421import com.simplemobiletools.contacts.R
2522import com.simplemobiletools.contacts.activities.SimpleActivity
2623import com.simplemobiletools.contacts.dialogs.CreateNewGroupDialog
27- import com.simplemobiletools.contacts.extensions.addContactsToGroup
28- import com.simplemobiletools.contacts.extensions.config
29- import com.simplemobiletools.contacts.extensions.editContact
30- import com.simplemobiletools.contacts.extensions.shareContacts
24+ import com.simplemobiletools.contacts.extensions.*
3125import com.simplemobiletools.contacts.helpers.*
3226import com.simplemobiletools.contacts.interfaces.RefreshContactsListener
3327import com.simplemobiletools.contacts.interfaces.RemoveFromGroupListener
@@ -181,21 +175,13 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList<Cont
181175 }
182176
183177 private fun addToFavorites () {
184- val newFavorites = ArrayList <Contact >()
185- selectedPositions.forEach {
186- newFavorites.add(contactItems[it])
187- }
188- ContactsHelper (activity).addFavorites(newFavorites)
178+ ContactsHelper (activity).addFavorites(getSelectedContacts())
189179 refreshListener?.refreshContacts(FAVORITES_TAB_MASK )
190180 finishActMode()
191181 }
192182
193183 private fun addToGroup () {
194- val selectedContacts = ArrayList <Contact >()
195- selectedPositions.forEach {
196- selectedContacts.add(contactItems[it])
197- }
198-
184+ val selectedContacts = getSelectedContacts()
199185 val NEW_GROUP_ID = - 1
200186 val items = ArrayList <RadioItem >()
201187 ContactsHelper (activity).getStoredGroups().forEach {
@@ -233,46 +219,19 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList<Cont
233219 }
234220
235221 private fun sendSMSToContacts () {
236- val numbers = StringBuilder ()
237- selectedPositions.forEach {
238- val contact = contactItems[it]
239- contact.phoneNumbers.forEach {
240- if (it.value.isNotEmpty()) {
241- numbers.append(" ${it.value} ;" )
242- }
243- }
244- }
245-
246- val uriString = " smsto:${numbers.toString().trimEnd(' ;' )} "
247- Intent (Intent .ACTION_SENDTO , Uri .parse(uriString)).apply {
248- if (resolveActivity(activity.packageManager) != null ) {
249- activity.startActivity(this )
250- } else {
251- activity.toast(R .string.no_app_found)
252- }
253- }
222+ activity.sendSMSToContacts(getSelectedContacts())
254223 }
255224
256225 private fun sendEmailToContacts () {
257- val emails = ArrayList <String >()
258- selectedPositions.forEach {
259- val contact = contactItems[it]
260- contact.emails.forEach {
261- if (it.value.isNotEmpty()) {
262- emails.add(it.value)
263- }
264- }
265- }
226+ activity.sendEmailToContacts(getSelectedContacts())
227+ }
266228
267- Intent (Intent .ACTION_SEND_MULTIPLE ).apply {
268- type = " message/rfc822"
269- putExtra(Intent .EXTRA_EMAIL , emails.toTypedArray())
270- if (resolveActivity(activity.packageManager) != null ) {
271- activity.startActivity(this )
272- } else {
273- activity.toast(R .string.no_app_found)
274- }
229+ private fun getSelectedContacts (): ArrayList <Contact > {
230+ val contacts = ArrayList <Contact >()
231+ selectedPositions.forEach {
232+ contacts.add(contactItems[it])
275233 }
234+ return contacts
276235 }
277236
278237 override fun onViewRecycled (holder : ViewHolder ) {
0 commit comments