mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-06-05 21:49:23 +02:00
Merge branch 'master' into call_history_export_import
# Conflicts: # app/src/main/kotlin/com/simplemobiletools/dialer/helpers/RecentsHelper.kt
This commit is contained in:
@@ -64,7 +64,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.github.SimpleMobileTools:Simple-Commons:6f69c8c105'
|
implementation 'com.github.SimpleMobileTools:Simple-Commons:35d685c042'
|
||||||
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
|
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
|
||||||
implementation 'me.grantland:autofittextview:0.2.1'
|
implementation 'me.grantland:autofittextview:0.2.1'
|
||||||
}
|
}
|
||||||
|
@@ -11,9 +11,9 @@ import android.view.Menu
|
|||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.FrameLayout
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper
|
import androidx.recyclerview.widget.ItemTouchHelper
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
@@ -270,7 +270,8 @@ class ContactsAdapter(
|
|||||||
|
|
||||||
private fun setupView(view: View, contact: Contact, holder: ViewHolder) {
|
private fun setupView(view: View, contact: Contact, holder: ViewHolder) {
|
||||||
view.apply {
|
view.apply {
|
||||||
findViewById<FrameLayout>(R.id.item_contact_frame).isSelected = selectedKeys.contains(contact.rawId)
|
setupViewBackground(activity)
|
||||||
|
findViewById<ConstraintLayout>(R.id.item_contact_frame).isSelected = selectedKeys.contains(contact.rawId)
|
||||||
findViewById<TextView>(R.id.item_contact_name).apply {
|
findViewById<TextView>(R.id.item_contact_name).apply {
|
||||||
setTextColor(textColor)
|
setTextColor(textColor)
|
||||||
setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize)
|
setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize)
|
||||||
|
@@ -278,7 +278,6 @@ class RecentCallsAdapter(
|
|||||||
private fun getSelectedPhoneNumber() = getSelectedItems().firstOrNull()?.phoneNumber
|
private fun getSelectedPhoneNumber() = getSelectedItems().firstOrNull()?.phoneNumber
|
||||||
|
|
||||||
private fun setupView(view: View, call: RecentCall) {
|
private fun setupView(view: View, call: RecentCall) {
|
||||||
val shouldShowOverflowMenu = showOverflowMenu && !call.isUnknownNumber
|
|
||||||
view.apply {
|
view.apply {
|
||||||
item_recents_holder.isSelected = selectedKeys.contains(call.id)
|
item_recents_holder.isSelected = selectedKeys.contains(call.id)
|
||||||
val name = findContactByCall(call)?.getNameToDisplay() ?: call.name
|
val name = findContactByCall(call)?.getNameToDisplay() ?: call.name
|
||||||
@@ -317,7 +316,7 @@ class RecentCallsAdapter(
|
|||||||
setTextColor(textColor)
|
setTextColor(textColor)
|
||||||
beVisibleIf(call.type != Calls.MISSED_TYPE && call.type != Calls.REJECTED_TYPE && call.duration > 0)
|
beVisibleIf(call.type != Calls.MISSED_TYPE && call.type != Calls.REJECTED_TYPE && call.duration > 0)
|
||||||
setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize * 0.8f)
|
setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize * 0.8f)
|
||||||
if (!shouldShowOverflowMenu) {
|
if (!showOverflowMenu) {
|
||||||
item_recents_duration.setPadding(0, 0, durationPadding, 0)
|
item_recents_duration.setPadding(0, 0, durationPadding, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -340,15 +339,13 @@ class RecentCallsAdapter(
|
|||||||
|
|
||||||
item_recents_type.setImageDrawable(drawable)
|
item_recents_type.setImageDrawable(drawable)
|
||||||
|
|
||||||
overflow_menu_icon.beVisibleIf(shouldShowOverflowMenu)
|
overflow_menu_icon.beVisibleIf(showOverflowMenu)
|
||||||
if (shouldShowOverflowMenu) {
|
overflow_menu_icon.drawable.apply {
|
||||||
overflow_menu_icon.drawable.apply {
|
mutate()
|
||||||
mutate()
|
setTint(activity.getProperTextColor())
|
||||||
setTint(activity.getProperTextColor())
|
}
|
||||||
}
|
overflow_menu_icon.setOnClickListener {
|
||||||
overflow_menu_icon.setOnClickListener {
|
showPopupMenu(overflow_menu_anchor, call)
|
||||||
showPopupMenu(overflow_menu_anchor, call)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -364,14 +361,19 @@ class RecentCallsAdapter(
|
|||||||
inflate(R.menu.menu_recent_item_options)
|
inflate(R.menu.menu_recent_item_options)
|
||||||
menu.apply {
|
menu.apply {
|
||||||
val areMultipleSIMsAvailable = activity.areMultipleSIMsAvailable()
|
val areMultipleSIMsAvailable = activity.areMultipleSIMsAvailable()
|
||||||
findItem(R.id.cab_call).isVisible = !areMultipleSIMsAvailable
|
findItem(R.id.cab_call).isVisible = !areMultipleSIMsAvailable && !call.isUnknownNumber
|
||||||
findItem(R.id.cab_call_sim_1).isVisible = areMultipleSIMsAvailable
|
findItem(R.id.cab_call_sim_1).isVisible = areMultipleSIMsAvailable && !call.isUnknownNumber
|
||||||
findItem(R.id.cab_call_sim_2).isVisible = areMultipleSIMsAvailable
|
findItem(R.id.cab_call_sim_2).isVisible = areMultipleSIMsAvailable && !call.isUnknownNumber
|
||||||
findItem(R.id.cab_view_details).isVisible = contact != null
|
findItem(R.id.cab_send_sms).isVisible = !call.isUnknownNumber
|
||||||
|
findItem(R.id.cab_view_details).isVisible = contact != null && !call.isUnknownNumber
|
||||||
|
findItem(R.id.cab_add_number).isVisible = !call.isUnknownNumber
|
||||||
|
findItem(R.id.cab_copy_number).isVisible = !call.isUnknownNumber
|
||||||
|
findItem(R.id.cab_show_call_details).isVisible = !call.isUnknownNumber
|
||||||
findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(R.string.block_number)
|
findItem(R.id.cab_block_number).title = activity.addLockedLabelIfNeeded(R.string.block_number)
|
||||||
findItem(R.id.cab_block_number).isVisible = isNougatPlus()
|
findItem(R.id.cab_block_number).isVisible = isNougatPlus() && !call.isUnknownNumber
|
||||||
findItem(R.id.cab_remove_default_sim).isVisible = (activity.config.getCustomSIM(selectedNumber) ?: "") != ""
|
findItem(R.id.cab_remove_default_sim).isVisible = (activity.config.getCustomSIM(selectedNumber) ?: "") != "" && !call.isUnknownNumber
|
||||||
}
|
}
|
||||||
|
|
||||||
setOnMenuItemClickListener { item ->
|
setOnMenuItemClickListener { item ->
|
||||||
val callId = call.id
|
val callId = call.id
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
|
@@ -86,16 +86,17 @@ class RecentsHelper(private val context: Context) {
|
|||||||
if (!cursor.moveToFirst()) {
|
if (!cursor.moveToFirst()) {
|
||||||
return@use
|
return@use
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
val id = cursor.getIntValue(Calls._ID)
|
val id = cursor.getIntValue(Calls._ID)
|
||||||
var isUnknownNumber = false
|
var isUnknownNumber = false
|
||||||
val number = cursor.getStringValueOrNull(Calls.NUMBER)
|
val number = cursor.getStringValueOrNull(Calls.NUMBER)
|
||||||
if (number == null) {
|
if (number == null || number == "-1") {
|
||||||
isUnknownNumber = true
|
isUnknownNumber = true
|
||||||
}
|
}
|
||||||
|
|
||||||
var name = cursor.getStringValueOrNull(Calls.CACHED_NAME)
|
var name = cursor.getStringValueOrNull(Calls.CACHED_NAME)
|
||||||
if (name.isNullOrEmpty()) {
|
if (name.isNullOrEmpty() || name == "-1") {
|
||||||
name = number.orEmpty()
|
name = number.orEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,7 +123,7 @@ class RecentsHelper(private val context: Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (name.isEmpty()) {
|
if (name.isEmpty() || name == "-1") {
|
||||||
name = context.getString(R.string.unknown)
|
name = context.getString(R.string.unknown)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -33,9 +33,9 @@
|
|||||||
android:layout_marginEnd="@dimen/small_margin"
|
android:layout_marginEnd="@dimen/small_margin"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:textSize="@dimen/bigger_text_size"
|
|
||||||
android:textDirection="locale"
|
|
||||||
android:textAlignment="viewStart"
|
android:textAlignment="viewStart"
|
||||||
|
android:textDirection="locale"
|
||||||
|
android:textSize="@dimen/bigger_text_size"
|
||||||
app:layout_constraintBottom_toTopOf="@id/item_recents_date_time"
|
app:layout_constraintBottom_toTopOf="@id/item_recents_date_time"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/overflow_menu_icon"
|
app:layout_constraintEnd_toStartOf="@+id/overflow_menu_icon"
|
||||||
app:layout_constraintStart_toEndOf="@+id/item_recents_image"
|
app:layout_constraintStart_toEndOf="@+id/item_recents_image"
|
||||||
|
Reference in New Issue
Block a user