mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-02-19 13:00:37 +01:00
Merge pull request #371 from pavelpoley/task/extra-items
Add some new items at floating contextual action menu
This commit is contained in:
commit
1230f22496
@ -8,6 +8,7 @@ import android.text.TextUtils
|
||||
import android.util.TypedValue
|
||||
import android.view.*
|
||||
import android.widget.PopupMenu
|
||||
import androidx.core.view.isVisible
|
||||
import com.bumptech.glide.Glide
|
||||
import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
|
||||
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||
@ -26,7 +27,11 @@ import com.simplemobiletools.dialer.models.RecentCall
|
||||
import kotlinx.android.synthetic.main.item_recent_call.view.*
|
||||
|
||||
class RecentCallsAdapter(
|
||||
activity: SimpleActivity, var recentCalls: ArrayList<RecentCall>, recyclerView: MyRecyclerView, val refreshItemsListener: RefreshItemsListener?,
|
||||
activity: SimpleActivity,
|
||||
var recentCalls: ArrayList<RecentCall>,
|
||||
recyclerView: MyRecyclerView,
|
||||
private val refreshItemsListener: RefreshItemsListener?,
|
||||
private val showOverflowMenu: Boolean,
|
||||
itemClick: (Any) -> Unit
|
||||
) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
|
||||
|
||||
@ -315,13 +320,15 @@ class RecentCallsAdapter(
|
||||
|
||||
item_recents_type.setImageDrawable(drawable)
|
||||
|
||||
overflow_menu_icon.drawable.apply {
|
||||
mutate()
|
||||
setTint(activity.getProperTextColor())
|
||||
}
|
||||
|
||||
overflow_menu_icon.setOnClickListener {
|
||||
showPopupMenu(overflow_menu_anchor, call)
|
||||
overflow_menu_icon.beVisibleIf(showOverflowMenu)
|
||||
if (showOverflowMenu) {
|
||||
overflow_menu_icon.drawable.apply {
|
||||
mutate()
|
||||
setTint(activity.getProperTextColor())
|
||||
}
|
||||
overflow_menu_icon.setOnClickListener {
|
||||
showPopupMenu(overflow_menu_anchor, call)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -369,6 +376,24 @@ class RecentCallsAdapter(
|
||||
launchContactDetailsIntent(contact)
|
||||
}
|
||||
}
|
||||
R.id.cab_add_number -> {
|
||||
executeItemMenuOperation(callId) {
|
||||
addNumberToContact()
|
||||
}
|
||||
}
|
||||
R.id.cab_show_call_details -> {
|
||||
executeItemMenuOperation(callId) {
|
||||
showCallDetails()
|
||||
}
|
||||
}
|
||||
R.id.cab_block_number -> {
|
||||
selectedKeys.add(callId)
|
||||
askConfirmBlock()
|
||||
}
|
||||
R.id.cab_remove -> {
|
||||
selectedKeys.add(callId)
|
||||
askConfirmRemove()
|
||||
}
|
||||
}
|
||||
true
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ import com.simplemobiletools.dialer.adapters.RecentCallsAdapter
|
||||
import com.simplemobiletools.dialer.helpers.RecentsHelper
|
||||
import com.simplemobiletools.dialer.models.RecentCall
|
||||
import kotlinx.android.synthetic.main.dialog_show_grouped_calls.view.*
|
||||
import java.util.*
|
||||
|
||||
class ShowGroupedCallsDialog(val activity: BaseSimpleActivity, callIds: ArrayList<Int>) {
|
||||
private var dialog: AlertDialog? = null
|
||||
@ -20,7 +19,7 @@ class ShowGroupedCallsDialog(val activity: BaseSimpleActivity, callIds: ArrayLis
|
||||
RecentsHelper(activity).getRecentCalls(false) { allRecents ->
|
||||
val recents = allRecents.filter { callIds.contains(it.id) }.toMutableList() as ArrayList<RecentCall>
|
||||
activity.runOnUiThread {
|
||||
RecentCallsAdapter(activity as SimpleActivity, recents, select_grouped_calls_list, null) {
|
||||
RecentCallsAdapter(activity as SimpleActivity, recents, select_grouped_calls_list, null, false) {
|
||||
}.apply {
|
||||
select_grouped_calls_list.adapter = this
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
|
||||
|
||||
val currAdapter = recents_list.adapter
|
||||
if (currAdapter == null) {
|
||||
RecentCallsAdapter(activity as SimpleActivity, recents, recents_list, this) {
|
||||
RecentCallsAdapter(activity as SimpleActivity, recents, recents_list, this, true) {
|
||||
val recentCall = it as RecentCall
|
||||
if (context.config.showCallConfirmation) {
|
||||
CallConfirmationDialog(activity as SimpleActivity, recentCall.name) {
|
||||
|
@ -20,4 +20,20 @@
|
||||
android:id="@+id/cab_view_details"
|
||||
android:icon="@drawable/ic_view_contact_details_vector"
|
||||
android:title="@string/view_contact_details" />
|
||||
<item
|
||||
android:id="@+id/cab_add_number"
|
||||
android:icon="@drawable/ic_add_person_vector"
|
||||
android:title="@string/add_number_to_contact" />
|
||||
<item
|
||||
android:id="@+id/cab_show_call_details"
|
||||
android:icon="@drawable/ic_info_vector"
|
||||
android:title="@string/show_call_details" />
|
||||
<item
|
||||
android:id="@+id/cab_block_number"
|
||||
android:icon="@drawable/ic_minus_circle_vector"
|
||||
android:title="@string/block_number" />
|
||||
<item
|
||||
android:id="@+id/cab_remove"
|
||||
android:icon="@drawable/ic_delete_vector"
|
||||
android:title="@string/delete" />
|
||||
</menu>
|
||||
|
Loading…
x
Reference in New Issue
Block a user