/*
 * Copyright 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package android.hardware.location;

import android.annotation.SystemApi;

import java.util.concurrent.Executor;

A class for ContextHubClient to receive messages and life-cycle events from nanoapps in the Context Hub at which the client is attached to. This callback is registered through the creation of ContextHubClient. Callbacks are invoked in the following ways: 1) Messages from nanoapps delivered through onMessageFromNanoApp may either be broadcasted or targeted to a specific client. 2) Nanoapp or Context Hub events (the remaining callbacks) are broadcasted to all clients, and the client can choose to ignore the event by filtering through the parameters.
@hide
/** * A class for {@link android.hardware.location.ContextHubClient ContextHubClient} to * receive messages and life-cycle events from nanoapps in the Context Hub at which the client is * attached to. * * This callback is registered through the {@link * android.hardware.location.ContextHubManager#createClient( * ContextHubInfo, ContextHubClientCallback, Executor) creation} of * {@link android.hardware.location.ContextHubClient ContextHubClient}. Callbacks are invoked in * the following ways: * 1) Messages from nanoapps delivered through onMessageFromNanoApp may either be broadcasted * or targeted to a specific client. * 2) Nanoapp or Context Hub events (the remaining callbacks) are broadcasted to all clients, and * the client can choose to ignore the event by filtering through the parameters. * * @hide */
@SystemApi public class ContextHubClientCallback {
Callback invoked when receiving a message from a nanoapp. The message contents of this callback may either be broadcasted or targeted to the client receiving the invocation.
Params:
  • client – the client that is associated with this callback
  • message – the message sent by the nanoapp
/** * Callback invoked when receiving a message from a nanoapp. * * The message contents of this callback may either be broadcasted or targeted to the * client receiving the invocation. * * @param client the client that is associated with this callback * @param message the message sent by the nanoapp */
public void onMessageFromNanoApp(ContextHubClient client, NanoAppMessage message) {}
Callback invoked when the attached Context Hub has reset.
Params:
  • client – the client that is associated with this callback
/** * Callback invoked when the attached Context Hub has reset. * * @param client the client that is associated with this callback */
public void onHubReset(ContextHubClient client) {}
Callback invoked when a nanoapp aborts at the attached Context Hub.
Params:
  • client – the client that is associated with this callback
  • nanoAppId – the ID of the nanoapp that had aborted
  • abortCode – the reason for nanoapp's abort, specific to each nanoapp
/** * Callback invoked when a nanoapp aborts at the attached Context Hub. * * @param client the client that is associated with this callback * @param nanoAppId the ID of the nanoapp that had aborted * @param abortCode the reason for nanoapp's abort, specific to each nanoapp */
public void onNanoAppAborted(ContextHubClient client, long nanoAppId, int abortCode) {}
Callback invoked when a nanoapp is loaded at the attached Context Hub.
Params:
  • client – the client that is associated with this callback
  • nanoAppId – the ID of the nanoapp that had been loaded
/** * Callback invoked when a nanoapp is loaded at the attached Context Hub. * * @param client the client that is associated with this callback * @param nanoAppId the ID of the nanoapp that had been loaded */
public void onNanoAppLoaded(ContextHubClient client, long nanoAppId) {}
Callback invoked when a nanoapp is unloaded from the attached Context Hub.
Params:
  • client – the client that is associated with this callback
  • nanoAppId – the ID of the nanoapp that had been unloaded
/** * Callback invoked when a nanoapp is unloaded from the attached Context Hub. * * @param client the client that is associated with this callback * @param nanoAppId the ID of the nanoapp that had been unloaded */
public void onNanoAppUnloaded(ContextHubClient client, long nanoAppId) {}
Callback invoked when a nanoapp is enabled at the attached Context Hub.
Params:
  • client – the client that is associated with this callback
  • nanoAppId – the ID of the nanoapp that had been enabled
/** * Callback invoked when a nanoapp is enabled at the attached Context Hub. * * @param client the client that is associated with this callback * @param nanoAppId the ID of the nanoapp that had been enabled */
public void onNanoAppEnabled(ContextHubClient client, long nanoAppId) {}
Callback invoked when a nanoapp is disabled at the attached Context Hub.
Params:
  • client – the client that is associated with this callback
  • nanoAppId – the ID of the nanoapp that had been disabled
/** * Callback invoked when a nanoapp is disabled at the attached Context Hub. * * @param client the client that is associated with this callback * @param nanoAppId the ID of the nanoapp that had been disabled */
public void onNanoAppDisabled(ContextHubClient client, long nanoAppId) {} }