ConversationItem.Builder


class ConversationItem.Builder


A builder for ConversationItem

Summary

Public constructors

This function is deprecated.

Returns an empty Builder instance.

Returns a builder from the given ConversationItem.

Builder(
    id: String,
    title: CarText,
    self: Person,
    messages: (Mutable)List<CarMessage!>,
    conversationCallback: ConversationCallback
)

Creates a Builder instance with the provided required params.

Public functions

ConversationItem.Builder
addAction(action: Action)

Adds an additional action for the conversation.

ConversationItem

Returns a new ConversationItem instance defined by this builder

ConversationItem.Builder

Sets a ConversationCallback for the conversation

ConversationItem.Builder
setGroupConversation(isGroupConversation: Boolean)

Specifies whether this conversation involves 3+ participants (a "group" conversation)

ConversationItem.Builder

Sets a CarIcon for the conversation

ConversationItem.Builder

Specifies a unique identifier for the conversation

ConversationItem.Builder

Sets whether this item can be included in indexed lists.

ConversationItem.Builder

Specifies a list of messages for the conversation

ConversationItem.Builder
setSelf(self: Person)

Sets a Person for the conversation

ConversationItem.Builder
setTitle(title: CarText)

Sets the title of the conversation

Public constructors

Builder

Added in 1.3.0
Deprecated in 1.7.0-beta03
Builder()

Builder

Added in 1.4.0
Builder(other: ConversationItem)

Returns a builder from the given ConversationItem.

Builder

Added in 1.7.0-beta03
Builder(
    id: String,
    title: CarText,
    self: Person,
    messages: (Mutable)List<CarMessage!>,
    conversationCallback: ConversationCallback
)

Creates a Builder instance with the provided required params.

Parameters
id: String

Specifies a unique identifier for the conversation

IDs may be used for a variety of purposes, including...

title: CarText

Title of the conversation

self: Person

Person for the conversation

The Person must specify a non-null setName and setKey.

messages: (Mutable)List<CarMessage!>

Specifies a list of messages for the conversation

The messages should be sorted from oldest to newest and should not contain any null values.

conversationCallback: ConversationCallback

ConversationCallback for the conversation

Public functions

addAction

Added in 1.4.0
fun addAction(action: Action): ConversationItem.Builder

Adds an additional action for the conversation.

Throws
java.lang.NullPointerException

if action is null

java.lang.IllegalArgumentException

if action contains unsupported Action types, exceeds the maximum number of allowed actions (1) or does not contain a valid CarIcon.

build

Added in 1.3.0
fun build(): ConversationItem

Returns a new ConversationItem instance defined by this builder

setConversationCallback

Added in 1.4.0
fun setConversationCallback(conversationCallback: ConversationCallback): ConversationItem.Builder

Sets a ConversationCallback for the conversation

setGroupConversation

Added in 1.3.0
fun setGroupConversation(isGroupConversation: Boolean): ConversationItem.Builder

Specifies whether this conversation involves 3+ participants (a "group" conversation)

If unspecified, conversations are assumed to have exactly two participants (a "1:1" conversation)

UX presentation may differ slightly between group and 1:1 conversations. As a historical example, message readout may include sender names for group conversations, but omit them for 1:1 conversations.

setIcon

Added in 1.3.0
fun setIcon(icon: CarIcon): ConversationItem.Builder

Sets a CarIcon for the conversation

setId

Added in 1.3.0
fun setId(id: String): ConversationItem.Builder

Specifies a unique identifier for the conversation

IDs may be used for a variety of purposes, including...

setIndexable

Added in 1.7.0-beta03
@ExperimentalCarApi
fun setIndexable(indexable: Boolean): ConversationItem.Builder

Sets whether this item can be included in indexed lists. By default, this is set to true.

The host creates indexed lists to help users navigate through long lists more easily by sorting, filtering, or some other means.

For example, a messaging app may show conversations by last message received. If the app provides these conversations via the SectionedItemTemplate and enables #isAlphabeticalIndexingAllowed, the user will be able to jump to their conversations that start with a given letter they chose. The messaging app can choose to hide, for example, service messages from this filtered list by setting this #setIndexable(false).

Individual items can be set to be included or excluded from filtered lists, but it's also possible to enable/disable the creation of filtered lists as a whole via the template's API (eg. SectionedItemTemplate .Builder#setAlphabeticalIndexingAllowed(Boolean)).

setMessages

Added in 1.3.0
fun setMessages(messages: (Mutable)List<CarMessage!>): ConversationItem.Builder

Specifies a list of messages for the conversation

The messages should be sorted from oldest to newest and should not contain any null values.

setSelf

Added in 1.4.0
fun setSelf(self: Person): ConversationItem.Builder

Sets a Person for the conversation

The Person must specify a non-null setName and setKey.

setTitle

Added in 1.3.0
fun setTitle(title: CarText): ConversationItem.Builder

Sets the title of the conversation