Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added whatsapp button to contact numbers and recents #418

Merged
merged 1 commit into from
Apr 19, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -3,26 +3,28 @@ package com.chooloo.www.chooloolib.adapter
import android.provider.ContactsContract.CommonDataKinds.Phone
import com.chooloo.www.chooloolib.R
import com.chooloo.www.chooloolib.interactor.animation.AnimationsInteractor
import com.chooloo.www.chooloolib.interactor.string.StringsInteractor
import com.chooloo.www.chooloolib.model.ListData
import com.chooloo.www.chooloolib.model.PhoneAccount
import com.chooloo.www.chooloolib.ui.widgets.listitem.ListItem
import javax.inject.Inject

class PhonesAdapter @Inject constructor(
animationsInteractor: AnimationsInteractor,
private val strings: StringsInteractor
) : ListAdapter<PhoneAccount>(animationsInteractor) {
animations: AnimationsInteractor
) : ListAdapter<PhoneAccount>(animations) {
override fun onBindListItem(listItem: ListItem, item: PhoneAccount) {
listItem.apply {
background = null
imageVisibility = false
titleText = item.number
isLeftButtonVisible = true
isRightButtonVisible = true
captionText = Phone.getTypeLabel(resources, item.type, item.label).toString()

setTitleBold(true)
setBackground(null)
setRightButtonDrawable(R.drawable.round_call_20)
setLeftButtonTintColor(R.color.green_foreground)
setLeftButtonDrawable(R.drawable.round_whatsapp_20)
setLeftButtonBackgroundTintColor(R.color.green_background)
}
}

Original file line number Diff line number Diff line change
@@ -14,6 +14,7 @@ interface NavigationsInteractor : BaseInteractor<NavigationsInteractor.Listener>
fun manageBlockedNumber()
fun goToLauncherActivity()
fun sendSMS(number: String?)
fun openWhatsapp(number: String?)
fun addContact(number: String)
fun viewContact(contactId: Long)
fun editContact(contactId: Long)
Original file line number Diff line number Diff line change
@@ -93,6 +93,14 @@ class NavigationsInteractorImpl @Inject constructor(
)
}

override fun openWhatsapp(number: String?) {
context.startActivity(
Intent(ACTION_VIEW)
.setData(Uri.parse("http://api.whatsapp.com/send?phone=$number"))
.addFlags(FLAG_ACTIVITY_NEW_TASK)
)
}

override fun addContact(number: String) {
context.startActivity(
Intent(ACTION_INSERT)
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ import com.chooloo.www.chooloolib.di.factory.fragment.FragmentFactory
import com.chooloo.www.chooloolib.interactor.call.CallNavigationsInteractor
import com.chooloo.www.chooloolib.interactor.dialog.DialogsInteractor
import com.chooloo.www.chooloolib.interactor.permission.PermissionsInteractor
import com.chooloo.www.chooloolib.interactor.prompt.PromptsInteractor
import com.chooloo.www.chooloolib.ui.base.BaseFragment
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@@ -21,33 +22,38 @@ open class BriefContactFragment @Inject constructor() : BaseFragment<BriefContac
protected val binding by lazy { BriefContactBinding.inflate(layoutInflater) }
private val phonesFragment by lazy { fragmentFactory.getPhonesFragment(viewState.contactId.value) }

@Inject lateinit var callNavigations: CallNavigationsInteractor
@Inject lateinit var prompts: PromptsInteractor
@Inject lateinit var dialogs: DialogsInteractor
@Inject lateinit var fragmentFactory: FragmentFactory
@Inject lateinit var permissions: PermissionsInteractor
@Inject lateinit var callNavigations: CallNavigationsInteractor


override fun onSetup() {
binding.apply {
contactButtonSms.setOnClickListener {
briefContactButtonSms.setOnClickListener {
viewState.onActionSms()
}

contactButtonCall.setOnClickListener {
viewState.onActionCall()
}

contactButtonEdit.setOnClickListener {
briefContactButtonEdit.setOnClickListener {
viewState.onActionEdit()
}

contactButtonDelete.setOnClickListener {
briefContactButtonDelete.setOnClickListener {
viewState.onActionDelete()
}

briefContactStarButton.setOnClickListener {
viewState.onActionStar(it.isActivated)
}

briefContactButtonHistory.setOnClickListener {
viewState.onActionHistory()
}
}

viewState.apply {
@@ -82,12 +88,15 @@ open class BriefContactFragment @Inject constructor() : BaseFragment<BriefContac
}
}

showHistoryEvent.observe(this@BriefContactFragment) { ev ->
ev.ifNew?.let { prompts.showFragment(fragmentFactory.getRecentsFragment(it)) }
}
onContactId(args.getLong(ARG_CONTACT_ID))
}

childFragmentManager
.beginTransaction()
.replace(binding.contactPhonesFragmentContainer.id, phonesFragment)
.replace(binding.briefContactPhonesFragmentContainer.id, phonesFragment)
.commitNow()
}

Original file line number Diff line number Diff line change
@@ -30,7 +30,8 @@ class BriefContactViewState @Inject constructor(

val callEvent = DataLiveEvent<String>()
val confirmContactDeleteEvent = LiveEvent()

val showHistoryEvent = DataLiveEvent<String>()

private var contact: ContactAccount? = null


@@ -79,6 +80,10 @@ class BriefContactViewState @Inject constructor(
}
}

fun onActionHistory() {
contact?.name?.let { showHistoryEvent.call(it) }
}

fun onActionStar(isActivate: Boolean) {
contactId.value?.let { contacts.toggleContactFavorite(it, !isActivate) }
isStarIconActivated.value = !isActivate
Original file line number Diff line number Diff line change
@@ -7,6 +7,7 @@ import android.content.ClipboardManager
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.chooloo.www.chooloolib.R
import com.chooloo.www.chooloolib.interactor.navigation.NavigationsInteractor
import com.chooloo.www.chooloolib.interactor.permission.PermissionsInteractor
import com.chooloo.www.chooloolib.livedata.contentprovider.PhonesProviderLiveData
import com.chooloo.www.chooloolib.model.PhoneAccount
@@ -18,6 +19,7 @@ import javax.inject.Inject

@HiltViewModel
class PhonesViewState @Inject constructor(
private val navigations: NavigationsInteractor,
private val permissions: PermissionsInteractor,
private val phonesRepository: PhonesRepository,
private val clipboardManager: ClipboardManager
@@ -52,6 +54,11 @@ class PhonesViewState @Inject constructor(
})
}

override fun onItemLeftClick(item: PhoneAccount) {
super.onItemLeftClick(item)
navigations.openWhatsapp(item.number)
}

override fun onItemLongClick(item: PhoneAccount) {
clipboardManager.setPrimaryClip(
ClipData.newPlainText("Copied number", item.number)
Original file line number Diff line number Diff line change
@@ -38,6 +38,10 @@ class RecentFragment @Inject constructor() : BaseFragment<RecentViewState>() {
viewState.onActionCall()
}

recentButtonBlock.setOnClickListener {
viewState.onActionBlock(!viewState.isBlockButtonActivated.value!!)
}

recentButtonDelete.setOnClickListener {
viewState.onActionDelete()
}
@@ -46,17 +50,17 @@ class RecentFragment @Inject constructor() : BaseFragment<RecentViewState>() {
viewState.onActionOpenContact()
}

recentButtonWhatsapp.setOnClickListener {
viewState.onActionOpenWhatsapp()
}

recentButtonAddContact.setOnClickListener {
viewState.onActionAddContact()
}

recentButtonShowHistory.setOnClickListener {
viewState.onActionShowHistory()
}

recentButtonBlock.setOnClickListener {
viewState.onActionBlock(!viewState.isBlockButtonActivated.value!!)
}
}

viewState.apply {
Original file line number Diff line number Diff line change
@@ -109,6 +109,10 @@ class RecentViewState @Inject constructor(
_recent?.let { showHistoryEvent.call(it.number) }
}

fun onActionOpenWhatsapp() {
navigations.openWhatsapp(_recent?.number)
}

fun onActionBlock(isBlock: Boolean) {
permissions.runWithDefaultDialer(R.string.error_not_default_dialer_blocked) {
_recent?.number?.let {
10 changes: 10 additions & 0 deletions chooloolib/src/main/res/drawable/round_whatsapp_20.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M15.69,4.23c-1.51,-1.51 -3.51,-2.34 -5.65,-2.34c-4.4,0 -7.98,3.58 -7.98,7.98c0,1.41 0.37,2.78 1.07,3.99L2,18l4.23,-1.11c1.17,0.64 2.48,0.97 3.81,0.97h0c4.4,0 7.98,-3.58 7.98,-7.98C18.03,7.75 17.2,5.74 15.69,4.23zM10.05,16.51L10.05,16.51c-1.19,0 -2.36,-0.32 -3.38,-0.92l-0.24,-0.14L3.92,16.1l0.67,-2.45L4.43,13.4c-0.66,-1.06 -1.01,-2.28 -1.01,-3.53c0,-3.66 2.98,-6.63 6.64,-6.63c1.77,0 3.44,0.69 4.69,1.95c1.25,1.25 1.94,2.92 1.94,4.69C16.68,13.54 13.71,16.51 10.05,16.51zM13.69,11.55c-0.2,-0.1 -1.18,-0.58 -1.36,-0.65c-0.18,-0.07 -0.32,-0.1 -0.45,0.1c-0.13,0.2 -0.52,0.65 -0.63,0.78c-0.12,0.13 -0.23,0.15 -0.43,0.05c-0.2,-0.1 -0.84,-0.31 -1.6,-0.99C8.62,10.31 8.22,9.66 8.1,9.46S8.09,9.15 8.19,9.05c0.09,-0.09 0.2,-0.23 0.3,-0.35s0.13,-0.2 0.2,-0.33c0.07,-0.13 0.03,-0.25 -0.02,-0.35c-0.05,-0.1 -0.45,-1.08 -0.61,-1.48C7.89,6.15 7.73,6.2 7.61,6.19C7.49,6.19 7.36,6.19 7.22,6.19c-0.13,0 -0.35,0.05 -0.53,0.25c-0.18,0.2 -0.7,0.68 -0.7,1.66c0,0.98 0.71,1.93 0.81,2.06c0.1,0.13 1.41,2.15 3.41,3.01c0.48,0.21 0.85,0.33 1.14,0.42c0.48,0.15 0.91,0.13 1.26,0.08c0.38,-0.06 1.18,-0.48 1.35,-0.95c0.17,-0.47 0.17,-0.87 0.12,-0.95C14.02,11.69 13.89,11.64 13.69,11.55z"/>
</vector>
10 changes: 10 additions & 0 deletions chooloolib/src/main/res/drawable/round_whatsapp_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M19.05,4.91C17.18,3.03 14.69,2 12.04,2c-5.46,0 -9.91,4.45 -9.91,9.91c0,1.75 0.46,3.45 1.32,4.95L2.05,22l5.25,-1.38c1.45,0.79 3.08,1.21 4.74,1.21h0c0,0 0,0 0,0c5.46,0 9.91,-4.45 9.91,-9.91C21.95,9.27 20.92,6.78 19.05,4.91zM12.04,20.15L12.04,20.15c-1.48,0 -2.93,-0.4 -4.2,-1.15l-0.3,-0.18l-3.12,0.82l0.83,-3.04l-0.2,-0.31c-0.82,-1.31 -1.26,-2.83 -1.26,-4.38c0,-4.54 3.7,-8.24 8.24,-8.24c2.2,0 4.27,0.86 5.82,2.42c1.56,1.56 2.41,3.63 2.41,5.83C20.28,16.46 16.58,20.15 12.04,20.15zM16.56,13.99c-0.25,-0.12 -1.47,-0.72 -1.69,-0.81c-0.23,-0.08 -0.39,-0.12 -0.56,0.12c-0.17,0.25 -0.64,0.81 -0.78,0.97c-0.14,0.17 -0.29,0.19 -0.54,0.06c-0.25,-0.12 -1.05,-0.39 -1.99,-1.23c-0.74,-0.66 -1.23,-1.47 -1.38,-1.72c-0.14,-0.25 -0.02,-0.38 0.11,-0.51c0.11,-0.11 0.25,-0.29 0.37,-0.43c0.12,-0.14 0.17,-0.25 0.25,-0.41c0.08,-0.17 0.04,-0.31 -0.02,-0.43c-0.06,-0.12 -0.56,-1.34 -0.76,-1.84c-0.2,-0.48 -0.41,-0.42 -0.56,-0.43C8.86,7.33 8.7,7.33 8.53,7.33c-0.17,0 -0.43,0.06 -0.66,0.31C7.65,7.89 7.01,8.49 7.01,9.71c0,1.22 0.89,2.4 1.01,2.56c0.12,0.17 1.75,2.67 4.23,3.74c0.59,0.26 1.05,0.41 1.41,0.52c0.59,0.19 1.13,0.16 1.56,0.1c0.48,-0.07 1.47,-0.6 1.67,-1.18c0.21,-0.58 0.21,-1.07 0.14,-1.18S16.81,14.11 16.56,13.99z"/>
</vector>
43 changes: 35 additions & 8 deletions chooloolib/src/main/res/layout/brief_contact.xml
Original file line number Diff line number Diff line change
@@ -58,33 +58,33 @@
app:layout_constraintTop_toBottomOf="@id/brief_contact_text_name" />

<com.chooloo.www.chooloolib.ui.widgets.IconButton
android:id="@+id/contact_button_edit"
android:id="@+id/brief_contact_button_edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_spacing_big"
android:layout_marginBottom="@dimen/default_spacing"
android:gravity="center_horizontal"
app:size="normal"
app:icon="@drawable/round_edit_24"
app:layout_constraintEnd_toStartOf="@id/contact_button_delete"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_delete"
app:layout_constraintStart_toEndOf="@id/contact_button_call"
app:layout_constraintTop_toBottomOf="@id/brief_contact_text_name" />

<com.chooloo.www.chooloolib.ui.widgets.IconButton
android:id="@+id/contact_button_delete"
android:id="@+id/brief_contact_button_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_spacing_big"
android:layout_marginBottom="@dimen/default_spacing"
app:size="normal"
android:gravity="center_horizontal"
app:icon="@drawable/round_delete_forever_24"
app:layout_constraintEnd_toStartOf="@id/contact_button_sms"
app:layout_constraintStart_toEndOf="@id/contact_button_edit"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_sms"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_edit"
app:layout_constraintTop_toBottomOf="@id/brief_contact_text_name" />

<com.chooloo.www.chooloolib.ui.widgets.IconButton
android:id="@+id/contact_button_sms"
android:id="@+id/brief_contact_button_sms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_spacing_big"
@@ -95,8 +95,35 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/brief_contact_text_name" />

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/brief_contact_button_history"
android:layout_width="0dp"
android:layout_height="@dimen/button_text_height"
android:layout_marginStart="@dimen/default_spacing"
android:layout_marginTop="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing"
android:text="@string/action_show_history"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/contact_button_call" />

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/brief_contact_button_whatsapp"
android:layout_width="0dp"
android:layout_height="@dimen/button_text_height"
android:layout_marginStart="@dimen/default_spacing_small"
android:layout_marginTop="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing"
android:backgroundTint="@color/green_background"
android:text="@string/action_open_whatsapp"
android:visibility="gone"
android:textColor="@color/green_foreground"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_history"
app:layout_constraintTop_toBottomOf="@id/contact_button_call" />

<androidx.fragment.app.FragmentContainerView
android:id="@+id/contact_phones_fragment_container"
android:id="@+id/brief_contact_phones_fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/default_spacing_small"
@@ -109,5 +136,5 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/contact_button_call" />
app:layout_constraintTop_toBottomOf="@id/brief_contact_button_history" />
</androidx.constraintlayout.widget.ConstraintLayout>
22 changes: 18 additions & 4 deletions chooloolib/src/main/res/layout/recent.xml
Original file line number Diff line number Diff line change
@@ -163,16 +163,30 @@

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/recent_button_show_history"
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="@dimen/button_text_height"
android:layout_marginStart="@dimen/default_spacing"
android:layout_marginTop="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing_small"
android:text="@string/action_show_history"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toStartOf="@id/recent_button_whatsapp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/recent_button_call" />

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/recent_button_whatsapp"
android:layout_width="0dp"
android:layout_height="@dimen/button_text_height"
android:layout_marginStart="@dimen/default_spacing_small"
android:layout_marginTop="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing"
android:backgroundTint="@color/green_background"
android:text="@string/action_open_whatsapp"
android:textColor="@color/green_foreground"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/recent_button_show_history"
app:layout_constraintTop_toBottomOf="@id/recent_button_call" />

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/recent_button_block"
android:layout_width="match_parent"
@@ -188,5 +202,5 @@
app:activatedText="@string/action_unblock_number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/recent_button_show_history" />
app:layout_constraintTop_toBottomOf="@id/recent_button_whatsapp" />
</androidx.constraintlayout.widget.ConstraintLayout>
1 change: 1 addition & 0 deletions chooloolib/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@
<string name="action_answer">Answer</string>
<string name="action_hangup">Hangup</string>
<string name="action_show_history">Show History</string>
<string name="action_open_whatsapp">Open WhatsApp</string>
<string name="action_block_number">Block Number</string>
<string name="action_unblock_number">Unblock Number</string>
<string name="action_choose_audio_route">Choose audio route</string>
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@ import android.os.Bundle
import androidx.fragment.app.activityViewModels
import com.chooloo.www.chooloolib.di.factory.fragment.FragmentFactory
import com.chooloo.www.chooloolib.interactor.call.CallNavigationsInteractor
import com.chooloo.www.chooloolib.interactor.prompt.PromptsInteractor
import com.chooloo.www.chooloolib.ui.base.BaseFragment
import com.chooloo.www.chooloolib.ui.phones.PhonesFragment
import com.chooloo.www.kontacts.databinding.ContactBinding
@@ -18,6 +19,7 @@ class ContactFragment : BaseFragment<ContactViewState>() {
private val binding by lazy { ContactBinding.inflate(layoutInflater) }
private val phonesFragment by lazy { fragmentFactory.getPhonesFragment() }

@Inject lateinit var prompts: PromptsInteractor
@Inject lateinit var fragmentFactory: FragmentFactory
@Inject lateinit var callNavigations: CallNavigationsInteractor

@@ -39,13 +41,21 @@ class ContactFragment : BaseFragment<ContactViewState>() {
contactImage.observe(this@ContactFragment) {
binding.contactImage.setImageURI(it)
}

showHistoryEvent.observe(this@ContactFragment) {
it.ifNew?.let {
prompts.showFragment(fragmentFactory.getRecentsFragment(it))
}
}
}

binding.apply {
contactButtonSms.setOnClickListener { viewState.onSmsClick() }
contactButtonCall.setOnClickListener { viewState.onCallClick() }
contactButtonEdit.setOnClickListener { viewState.onEditClick() }
contactButtonDelete.setOnClickListener { viewState.onDeleteClick() }
contactButtonHistory.setOnClickListener { viewState.onHistoryClick() }
contactButtonWhatsapp.setOnClickListener { viewState.onWhatsappClick() }
}

arguments?.getLong(ARG_CONTACT_ID)?.let { viewState.onContactId(it) }
Original file line number Diff line number Diff line change
@@ -23,6 +23,7 @@ class ContactViewState @Inject constructor(
val contactImage = MutableLiveData<Uri>()
val contactName = MutableLiveData<String>()
var isFavorite = MutableLiveData<Boolean>()
val showHistoryEvent = DataLiveEvent<String>()

private var contact: ContactAccount? = null

@@ -55,6 +56,14 @@ class ContactViewState @Inject constructor(
fun onEditClick() {
}

fun onHistoryClick() {
contact?.name?.let { showHistoryEvent.call(it) }
}

fun onWhatsappClick() {

}

fun onDeleteClick() {
contact?.let {
contacts.deleteContact(it.id)
44 changes: 35 additions & 9 deletions kontacts/src/main/res/layout/contact.xml
Original file line number Diff line number Diff line change
@@ -31,50 +31,76 @@
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toStartOf="@id/contact_button_edit"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_edit"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/contact_name"
android:src="@drawable/round_call_24"
app:size="normal" />

<com.chooloo.www.chooloolib.ui.widgets.IconButton
android:id="@+id/contact_button_edit"
android:id="@+id/brief_contact_button_edit"
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toStartOf="@id/contact_button_delete"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_delete"
app:layout_constraintStart_toEndOf="@id/contact_button_call"
app:layout_constraintTop_toBottomOf="@id/contact_name"
android:src="@drawable/round_edit_24"
app:size="normal" />

<com.chooloo.www.chooloolib.ui.widgets.IconButton
android:id="@+id/contact_button_delete"
android:id="@+id/brief_contact_button_delete"
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toStartOf="@id/contact_button_sms"
app:layout_constraintStart_toEndOf="@id/contact_button_edit"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_sms"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_edit"
app:layout_constraintTop_toBottomOf="@id/contact_name"
android:src="@drawable/round_delete_forever_24"
app:size="normal" />

<com.chooloo.www.chooloolib.ui.widgets.IconButton
android:id="@+id/contact_button_sms"
android:id="@+id/brief_contact_button_sms"
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/contact_button_delete"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_delete"
app:layout_constraintTop_toBottomOf="@id/contact_name"
android:src="@drawable/round_chat_24"
app:size="normal" />

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/brief_contact_button_history"
android:layout_width="0dp"
android:layout_height="@dimen/button_text_height"
android:layout_marginStart="@dimen/default_spacing"
android:layout_marginTop="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing"
android:text="@string/action_show_history"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/contact_button_call" />

<com.chooloo.www.chooloolib.ui.widgets.TextButton
android:id="@+id/brief_contact_button_whatsapp"
android:layout_width="0dp"
android:layout_height="@dimen/button_text_height"
android:layout_marginStart="@dimen/default_spacing_small"
android:layout_marginTop="@dimen/default_spacing"
android:layout_marginEnd="@dimen/default_spacing"
android:backgroundTint="@color/green_background"
android:text="@string/action_open_whatsapp"
android:textColor="@color/green_foreground"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_history"
app:layout_constraintTop_toBottomOf="@id/contact_button_call" />

<androidx.fragment.app.FragmentContainerView
android:id="@+id/contact_phones_container"
android:layout_width="match_parent"
android:layout_marginTop="@dimen/default_spacing"
app:layout_constraintTop_toBottomOf="@id/contact_button_call"
app:layout_constraintTop_toBottomOf="@id/brief_contact_button_history"
android:layout_height="wrap_content"
android:background="@drawable/bubble_background"
android:backgroundTint="?colorSurface" />
16 changes: 8 additions & 8 deletions kontacts/src/main/res/xml/contact_scene.xml
Original file line number Diff line number Diff line change
@@ -24,31 +24,31 @@
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toStartOf="@id/contact_button_edit"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_edit"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/contact_name" />
<Constraint
android:id="@+id/contact_button_edit"
android:id="@+id/brief_contact_button_edit"
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toStartOf="@id/contact_button_delete"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_delete"
app:layout_constraintStart_toEndOf="@id/contact_button_call" />
<Constraint
android:id="@+id/contact_button_delete"
android:id="@+id/brief_contact_button_delete"
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toStartOf="@id/contact_button_sms"
app:layout_constraintStart_toEndOf="@id/contact_button_edit"
app:layout_constraintEnd_toStartOf="@id/brief_contact_button_sms"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_edit"
app:layout_constraintTop_toBottomOf="@id/contact_name" />
<Constraint
android:id="@+id/contact_button_sms"
android:id="@+id/brief_contact_button_sms"
android:layout_width="@dimen/icon_button_size_normal"
android:layout_height="@dimen/icon_button_size_normal"
android:layout_marginTop="@dimen/default_spacing_big"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/contact_button_delete"
app:layout_constraintStart_toEndOf="@id/brief_contact_button_delete"
app:layout_constraintTop_toBottomOf="@id/contact_name" />
</ConstraintSet>