diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt index 7331de0f8..3c050a3ad 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -25,6 +25,7 @@ import androidx.core.view.children import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.SimpleListItem +import com.simplemobiletools.commons.models.contacts.Contact import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.databinding.ActivityCallBinding import com.simplemobiletools.dialer.dialogs.DynamicBottomSheetChooserDialog @@ -570,6 +571,11 @@ class CallActivity : SimpleActivity() { } else { callerAvatar.setImageDrawable(null) } + + if (callContact!!.company.isNotEmpty() ) { + callerCompany.text = "${callContact!!.company}" + } + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ConferenceCallsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ConferenceCallsAdapter.kt index 80f3db8bb..bd08420cb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ConferenceCallsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ConferenceCallsAdapter.kt @@ -50,6 +50,7 @@ class ConferenceCallsAdapter( getCallContact(itemView.context, call) { callContact -> root.post { itemConferenceCallName.text = callContact.name.ifEmpty { itemView.context.getString(R.string.unknown_caller) } + itemConferenceCallCompany.text = callContact.company SimpleContactsHelper(activity).loadContactImage( callContact.photoUri, itemConferenceCallImage, diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallContactHelper.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallContactHelper.kt index fbf1c3ea9..8d3f95ec0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallContactHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallContactHelper.kt @@ -14,13 +14,13 @@ import com.simplemobiletools.dialer.models.CallContact fun getCallContact(context: Context, call: Call?, callback: (CallContact) -> Unit) { if (call.isConference()) { - callback(CallContact(context.getString(R.string.conference), "", "", "")) + callback(CallContact(context.getString(R.string.conference), "", "", "", "")) return } val privateCursor = context.getMyContactsCursor(false, true) ensureBackgroundThread { - val callContact = CallContact("", "", "", "") + val callContact = CallContact("", "", "", "", "") val handle = try { call?.details?.handle?.toString() } catch (e: NullPointerException) { @@ -54,6 +54,7 @@ fun getCallContact(context: Context, call: Call?, callback: (CallContact) -> Uni val contact = contacts.firstOrNull { it.doesHavePhoneNumber(number) } if (contact != null) { callContact.name = contact.getNameToDisplay() + callContact.company = contact.organization.company.toString() callContact.photoUri = contact.photoUri if (contact.phoneNumbers.size > 1) { diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt index 33bef1e5f..a546b9d49 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/CallNotificationManager.kt @@ -17,6 +17,7 @@ import com.simplemobiletools.commons.helpers.isOreoPlus import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.activities.CallActivity import com.simplemobiletools.dialer.extensions.powerManager +import com.simplemobiletools.dialer.models.CallContact import com.simplemobiletools.dialer.receivers.CallActionReceiver class CallNotificationManager(private val context: Context) { @@ -73,6 +74,8 @@ class CallNotificationManager(private val context: Context) { setText(R.id.notification_caller_name, callerName) setText(R.id.notification_call_status, context.getString(contentTextId)) setVisibleIf(R.id.notification_accept_call, callState == Call.STATE_RINGING) + setText(R.id.notification_caller_company, callContact.company) + setVisibleIf(R.id.notification_caller_company, callContact.company.isNotEmpty()) setOnClickPendingIntent(R.id.notification_decline_call, declinePendingIntent) setOnClickPendingIntent(R.id.notification_accept_call, acceptPendingIntent) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/models/CallContact.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/models/CallContact.kt index 158f640d0..aa6a6935c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/models/CallContact.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/models/CallContact.kt @@ -1,4 +1,4 @@ package com.simplemobiletools.dialer.models // a simpler Contact model containing just info needed at the call screen -data class CallContact(var name: String, var photoUri: String, var number: String, var numberLabel: String) +data class CallContact(var name: String, var company: String, var photoUri: String, var number: String, var numberLabel: String) diff --git a/app/src/main/res/layout/activity_call.xml b/app/src/main/res/layout/activity_call.xml index acd598752..243d98d4e 100644 --- a/app/src/main/res/layout/activity_call.xml +++ b/app/src/main/res/layout/activity_call.xml @@ -33,15 +33,27 @@ tools:text="Caller name" /> + + - + android:layout_below="@id/notification_caller_name" + android:layout_marginEnd="16dp" + android:layout_toStartOf="@+id/notification_thumbnail" + android:orientation="horizontal"> + + + + + diff --git a/app/src/main/res/layout/item_conference_call.xml b/app/src/main/res/layout/item_conference_call.xml index 0833746ba..b68ceda24 100644 --- a/app/src/main/res/layout/item_conference_call.xml +++ b/app/src/main/res/layout/item_conference_call.xml @@ -18,20 +18,33 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - + app:layout_constraintVertical_bias=".5"> + + + + +