Package

## Interface UserControllerBuilder

- All Implemented Interfaces:

      public interface UserControllerBuilder

  The UserControllerBuilder class builds a new UserController instance. To construct a UserControllerBuilder, the required configuration parameters are:

  - Context

  - Application Key

  - Environment host

  - User ID It is optional to specify

  - Push configuration

  - Callback handler

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract UserControllerBuilder` | `context(Context context)` | Sets the context associated with the UserController.
    `abstract UserControllerBuilder` | `userId(String userId)` | Sets the user id associated with the UserController.
    `abstract UserControllerBuilder` | `applicationKey(String applicationKey)` | Sets the application key associated with the UserController.
    `abstract UserControllerBuilder` | `environmentHost(String environmentHost)` | Sets the environment host associated with the UserController.
    `abstract UserControllerBuilder` | `callbackHandler(CallbackHandler callbackHandler)` | Sets the callback handler (on a thread with a looper) the UserController will post callbacks on.
    `abstract UserControllerBuilder` | `pushConfiguration(PushConfiguration pushConfiguration)` | Sets the PushConfiguration to be used to deliver incoming call notifications.
    `abstract UserController` | `build()` | Creates the resulting UserController.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

  - ### Method Detail

    - #### context

           abstract UserControllerBuilder context(Context context)

      Sets the context associated with the UserController.

      Parameters:
        `context` - context associated with the UserController.

    - #### userId

           abstract UserControllerBuilder userId(String userId)

      Sets the user id associated with the UserController.

      Parameters:
        `userId` - user id associated with the UserController.

    - #### applicationKey

           abstract UserControllerBuilder applicationKey(String applicationKey)

      Sets the application key associated with the UserController.

      Parameters:
        `applicationKey` - application key associated with the UserController.

    - #### environmentHost

           abstract UserControllerBuilder environmentHost(String environmentHost)

      Sets the environment host associated with the UserController.

      Parameters:
        `environmentHost` - Must not be null.

    - #### callbackHandler

           abstract UserControllerBuilder callbackHandler(CallbackHandler callbackHandler)

      Sets the callback handler (on a thread with a looper) the UserController will post callbacks on.

      Parameters:
        `callbackHandler` - the UserController will post callbacks on.

    - #### pushConfiguration

           abstract UserControllerBuilder pushConfiguration(PushConfiguration pushConfiguration)

      Sets the PushConfiguration to be used to deliver incoming call notifications. Currently Sinch SDK supports FCM and HMS notification providers. To create specific push configuration see FcmPushConfigurationBuilder or HmsPushConfigurationBuilder.

      Parameters:
        `pushConfiguration` - to be used to deliver incoming notifications.

    - #### build

           abstract UserController build()

      Creates the resulting UserController.