Call interface - Android

  • Release version: Yokohama
  • Updated January 30, 2025
  • 1 minute to read
  • The Call interface represents a request that is prepared for processing.

    Possible processing options include:
    • cancel
    • enqueue
    • execute
    • map

    A call object cannot be processed twice.

    Table 1. Properties
    Name Type Description
    request Request Original request that initiated this call.

    Call - cancel()

    Cancels the associated call, if possible (best effort.)

    Table 2. Parameters
    Name Type Description
    None
    Table 3. Returns
    Type Description
    None

    The following code example shows how to call this function.

    private var inFlightDataRequestCall: Call<*>? = null 
    fun cancelTransfer() = inFlightDataRequestCall?.cancel() 

    Call - enqueue(onSuccess: Consumer<Response<T>>, onError: Consumer<NowDataError>)

    Schedules the request to be executed as soon as the system\thread is available to execute this request.

    Table 4. Parameters
    Name Type Description
    onSuccess Consumer​<Response<T>> Callback to execute if the call is successful. HTTP response with the body parsed to the data type specified by the T parameter.
    Note:
    Consumer is a OOB Java type for asynchronous consumption of an object. In this case, the call uses generic to return a type Response<T> where T is the object type.
    onError Consumer​<NowDataError> Callback to execute if the call fails.

    NowDataError

    Table 5. Returns
    Type Description
    None

    The following code example shows how to call this function.

    fun makeGraphQLRequest(query: String) { 
      val call = graphQLService.graphQLRequest(query) 
      call.enqueue( 
        { response -> handleResponse(response) }, 
        { nowDataError -> handleError(nowDataError) } 
      ) 
    } 

    Call - execute()

    Invokes the request immediately. Blocks until the response is processed or is in error.

    Table 6. Parameters
    Name Type Description
    None
    Table 7. Returns
    Type Description
    Response<T> Response data in the format defined in the T parameter.

    The following code example shows how to call this function.

    val response = apiService.data(NowAPIService.Endpoint( 
      relativePath = CASES_API, 
      requestMethod = HttpMethod.GET, 
      requireAuth = true) 
    ).execute()