diff --git a/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentContract.kt b/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentContract.kt index 8362dcc14..37af3ea50 100644 --- a/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentContract.kt +++ b/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentContract.kt @@ -4,14 +4,16 @@ import com.chooloo.www.koler.ui.base.BaseContract interface RecentContract : BaseContract { interface View : BaseContract.View { - fun callRecent() fun smsRecent() + fun addContact() + fun callRecent() fun deleteRecent() } interface Presenter : BaseContract.Presenter { - fun onActionCall() fun onActionSms() + fun onActionCall() fun onActionDelete() + fun onActionAddContact() } } \ No newline at end of file diff --git a/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentFragment.kt b/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentFragment.kt index 38c06d9ad..d01e7deca 100644 --- a/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentFragment.kt +++ b/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentFragment.kt @@ -2,12 +2,14 @@ package com.chooloo.www.koler.ui.recent import android.os.Bundle import android.view.LayoutInflater +import android.view.View.GONE import android.view.View.VISIBLE import android.view.ViewGroup import androidx.core.content.ContextCompat import com.chooloo.www.koler.contentresolver.RecentsContentResolver.Companion.getCallTypeImage import com.chooloo.www.koler.databinding.FragmentRecentBinding import com.chooloo.www.koler.ui.base.BaseFragment +import com.chooloo.www.koler.util.addContact import com.chooloo.www.koler.util.call.call import com.chooloo.www.koler.util.deleteRecent import com.chooloo.www.koler.util.getRecentById @@ -45,6 +47,7 @@ class RecentFragment : BaseFragment(), RecentContract.View { _binding.apply { recentTextName.text = _recent.cachedName ?: _recent.number + recentButtonAddContact.visibility = if (_recent.cachedName == null) VISIBLE else GONE recentTextDate.apply { text = _recent.relativeTime visibility = VISIBLE @@ -58,17 +61,22 @@ class RecentFragment : BaseFragment(), RecentContract.View { recentButtonCall.setOnClickListener { _presenter.onActionCall() } recentButtonSms.setOnClickListener { _presenter.onActionSms() } recentButtonDelete.setOnClickListener { _presenter.onActionDelete() } + recentButtonAddContact.setOnClickListener { _presenter.onActionAddContact() } } } - override fun callRecent() { - _recent.number.let { _activity.call(it) } - } - override fun smsRecent() { _activity.smsNumber(_recent.number) } + override fun addContact() { + _activity.addContact(_recent.number) + } + + override fun callRecent() { + _recent.number.let { _activity.call(it) } + } + override fun deleteRecent() { _activity.deleteRecent(_recent.id) } diff --git a/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentPresenter.kt b/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentPresenter.kt index 2fcb1cf2f..03c4fc36e 100644 --- a/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentPresenter.kt +++ b/app/src/main/java/com/chooloo/www/koler/ui/recent/RecentPresenter.kt @@ -3,15 +3,19 @@ package com.chooloo.www.koler.ui.recent import com.chooloo.www.koler.ui.base.BasePresenter class RecentPresenter : BasePresenter(), RecentContract.Presenter { - override fun onActionCall() { - mvpView?.callRecent() - } - override fun onActionSms() { mvpView?.smsRecent() } + override fun onActionCall() { + mvpView?.callRecent() + } + override fun onActionDelete() { mvpView?.deleteRecent() } + + override fun onActionAddContact() { + mvpView?.addContact() + } } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_recent.xml b/app/src/main/res/layout/fragment_recent.xml index 316ea291d..b99019a40 100644 --- a/app/src/main/res/layout/fragment_recent.xml +++ b/app/src/main/res/layout/fragment_recent.xml @@ -69,10 +69,24 @@ app:borderWidth="0dp" app:icon="@drawable/ic_delete_black_24dp" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toStartOf="@id/recent_button_sms" + app:layout_constraintEnd_toStartOf="@id/recent_button_add_contact" app:layout_constraintStart_toEndOf="@id/recent_button_call" app:layout_constraintTop_toBottomOf="@id/recent_text_date" /> + + -