EnhancementClient

@DoNotMock(value = "Use canonical fakes instead.")
public interface EnhancementClient extends HasApiKey, OptionalModuleApi


The Enhancement client provides a way to create a EnhancementSession. The client is also used to provide availability checks and module installation.

Summary

Nested types

A callback for the module installation status.

Public methods

abstract @NonNull Task<EnhancementSession>

Creates a EnhancementSession.

abstract @NonNull Task<@NonNull Boolean>

Installs the Enhancement module.

abstract @NonNull Task<@NonNull Boolean>

Checks if the module is supported on this device.

abstract @NonNull Task<@NonNull Boolean>

Checks if the module is already installed.

abstract @NonNull Task<Void>

Marks the Enhancement module as no longer needed for this application.

Public methods

createSession

abstract @NonNull Task<EnhancementSessioncreateSession(
    @NonNull EnhancementOptions options,
    @NonNull EnhancementSessionCallback callback
)

Creates a EnhancementSession.

An enhancement session manages the necessary Surface to receive input frames from the app and send the enhanced frames to a Surface provided by the app.

Parameters
@NonNull EnhancementOptions options

The options for the session.

@NonNull EnhancementSessionCallback callback

An implementation of EnhancementSessionCallback.

Returns
@NonNull Task<EnhancementSession>

A task that resolves to the created EnhancementSession or null if the session could not be created.

installModule

abstract @NonNull Task<@NonNull BooleaninstallModule(
    EnhancementClient.InstallStatusCallback installStatusCallback
)

Installs the Enhancement module.

Parameters
EnhancementClient.InstallStatusCallback installStatusCallback

A callback to receive status updates.

Returns
@NonNull Task<@NonNull Boolean>

A task that resolves to true if the module is installed successfully.

isDeviceSupported

abstract @NonNull Task<@NonNull BooleanisDeviceSupported()

Checks if the module is supported on this device.

Only devices which support image or video enhancement will be able to create a EnhancementSession.

Returns
@NonNull Task<@NonNull Boolean>

A task that resolves to true if the device is supported, false otherwise.

isModuleInstalled

abstract @NonNull Task<@NonNull BooleanisModuleInstalled()

Checks if the module is already installed.

Returns
@NonNull Task<@NonNull Boolean>

A task that resolves to true if the module is installed, false otherwise.

releaseModule

abstract @NonNull Task<VoidreleaseModule()

Marks the Enhancement module as no longer needed for this application. The module will be released at some point in the future.

Returns
@NonNull Task<Void>

A task that resolves when the module is released.