Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0295f86a authored by Anthony Stange's avatar Anthony Stange Committed by Automerger Merge Worker
Browse files

Merge "Add new ContextHubTransaction error code" into sc-dev am: 30780cf4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13553739

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7b08a792c3c343d931285999f667a7b07c4b6eb2
parents d43a1263 30780cf4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -3541,6 +3541,7 @@ package android.hardware.location {
    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
    field public static final int RESULT_FAILED_PERMISSION_DENIED = 9; // 0x9
    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
+14 −0
Original line number Diff line number Diff line
@@ -127,6 +127,20 @@ public class ContextHubClient implements Closeable {
     * This function returns RESULT_SUCCESS if the message has reached the HAL, but
     * does not guarantee delivery of the message to the target nanoapp.
     *
     * Before sending the first message to your nanoapp, it's recommended that the following
     * operations should be performed:
     * 1) Invoke {@link ContextHubManager#queryNanoApps(ContextHubInfo)} to verify the nanoapp is
     *    present.
     * 2) Validate that you have the permissions to communicate with the nanoapp by looking at
     *    {@link NanoAppState#getNanoAppPermissions}.
     * 3) If you don't have permissions, send an idempotent message to the nanoapp ensuring any
     *    work your app previously may have asked it to do is stopped. This is useful if your app
     *    restarts due to permission changes and no longer has the permissions when it is started
     *    again.
     * 4) If you have valid permissions, send a message to your nanoapp to resubscribe so that it's
     *    aware you have restarted or so you can initially subscribe if this is the first time you
     *    have sent it a message.
     *
     * @param message the message object to send
     *
     * @return the result of sending the message defined as in ContextHubTransaction.Result
+5 −4
Original line number Diff line number Diff line
@@ -117,10 +117,11 @@ public class ContextHubClientCallback {
     * 4) {@link ContextHubClient} performs any cleanup required with the nanoapp
     * 5) Callback invoked with the nanoapp ID and {@link ContextHubManager#AUTHORIZATION_DENIED}.
     *    At this point, any further attempts of communication between the nanoapp and the
     *    {@link ContextHubClient} will be dropped by the contexthub along with
     *    {@link ContextHubManager#AUTHORIZATION_DENIED} being sent. The {@link ContextHubClient}
     *    should assume no communciation can happen again until
     *    {@link ContextHubManager#AUTHORIZATION_GRANTED} is received.
     *    {@link ContextHubClient} will be dropped by the contexthub and a return value of
     *    {@link ContextHubTransaction#RESULT_FAILED_PERMISSION_DENIED} will be used when calling
     *    {@link ContextHubClient#sendMessageToNanoApp}. The {@link ContextHubClient} should assume
     *    no communciation can happen again until {@link ContextHubManager#AUTHORIZATION_GRANTED} is
     *    received.
     *
     * @param client the client that is associated with this callback
     * @param nanoAppId the ID of the nanoapp associated with the new
+7 −1
Original line number Diff line number Diff line
@@ -81,7 +81,8 @@ public class ContextHubTransaction<T> {
            RESULT_FAILED_AT_HUB,
            RESULT_FAILED_TIMEOUT,
            RESULT_FAILED_SERVICE_INTERNAL_FAILURE,
            RESULT_FAILED_HAL_UNAVAILABLE
            RESULT_FAILED_HAL_UNAVAILABLE,
            RESULT_FAILED_PERMISSION_DENIED
    })
    public @interface Result {}
    public static final int RESULT_SUCCESS = 0;
@@ -117,6 +118,11 @@ public class ContextHubTransaction<T> {
     * Failure mode when the Context Hub HAL was not available.
     */
    public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8;
    /**
     * Failure mode when the user of the API doesn't have the required permissions to perform the
     * operation.
     */
    public static final int RESULT_FAILED_PERMISSION_DENIED = 9;

    /**
     * A class describing the response for a ContextHubTransaction.