Restructure contacts search for plugins

This commit is contained in:
MM20
2025-04-05 17:18:22 +02:00
parent 04dd12ee96
commit cab93f87aa
22 changed files with 417 additions and 278 deletions
@@ -5,4 +5,5 @@ enum class PluginType {
Weather,
LocationSearch,
Calendar,
ContactSearch,
}
@@ -1,6 +1,6 @@
package de.mm20.launcher2.plugin.contracts
import de.mm20.launcher2.search.contact.CustomContactChannel
import de.mm20.launcher2.search.contact.CustomContactAction
import de.mm20.launcher2.search.contact.EmailAddress
import de.mm20.launcher2.search.contact.PhoneNumber
import de.mm20.launcher2.search.contact.PostalAddress
@@ -21,7 +21,7 @@ abstract class ContactPluginContract {
val PhoneNumbers = column<List<PhoneNumber>>("phone_numbers")
val EmailAddresses = column<List<EmailAddress>>("email_addresses")
val PostalAddresses = column<List<PostalAddress>>("postal_addresses")
val ContactChannels = column<List<CustomContactChannel>>("contact_channels")
val CustomActions = column<List<CustomContactAction>>("custom_actions")
val PhotoUri = column<String>("photo_uri")
}
@@ -26,7 +26,7 @@ data class PostalAddress(
* Custom contact channel, for example, WhatsApp message, Telegram video call, etc.
*/
@Serializable
data class CustomContactChannel(
data class CustomContactAction(
val label: String,
/**
* The data URI that is passed to the Intent.