blob: dcdd6504db22be084d4e830cda80451eb94c45f1 [file] [log] [blame]
Benjamin Lerman1a8ef402015-04-08 13:47:49 +02001// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5[JavaPackage="org.chromium.mojo.intent"]
6module intent_receiver;
7
8// Service to interact with android intents.
Benjamin Lerman38b3d0f2015-11-20 10:52:59 +01009[ServiceName="intent_receiver::IntentReceiverManager"]
Benjamin Lerman1a8ef402015-04-08 13:47:49 +020010interface IntentReceiverManager {
11 // This method takes an |IntentReceiver| and returns a serialized intent.
12 // The serialized intent can be deserialized using an android parcel. The
13 // caller can then transform this intent into a PendingIntent using
Benjamin Lermanf3ca9fa2015-11-26 11:11:43 +010014 // |PendingIntent#getActivity| and send it to another android application.
Benjamin Lerman1a8ef402015-04-08 13:47:49 +020015 // Whenever the pending intent is executed, the receiver will be called with
Benjamin Lerman9b79e2c2015-04-29 17:33:12 +020016 // the content of the received intent.
17 // To be noted, this will fail if the received intent is active (contains
18 // either a Binder or a file descriptor).
19 RegisterIntentReceiver(IntentReceiver receiver) => (array<uint8>? intent);
20
21 // This method takes an |IntentReceiver| and returns a serialized intent.
22 // The serialized intent can be deserialized using an android parcel. The
23 // caller can then add an intent it wants the system to send using
24 // |Activity#startActivityForResult| and then send it using
25 // |Context#startService|. Whenever the started activity sends a result, the
26 // receiver will be called with the content of the received intent. If the
27 // activity is cancelled, the receiver will be closed.
Alexandre Zanid26dd212016-03-24 13:24:48 -070028 RegisterActivityResultReceiver(IntentReceiver receiver)
29 => (array<uint8>? intent);
Benjamin Lerman1a8ef402015-04-08 13:47:49 +020030};
31
Benjamin Lerman9b79e2c2015-04-29 17:33:12 +020032// Receiver interface, to be used with |IntentReceiverManager|.
Benjamin Lerman1a8ef402015-04-08 13:47:49 +020033interface IntentReceiver {
Benjamin Lerman4bc7f922015-09-29 16:33:29 +020034 OnIntent(array<uint8>? intent);
Benjamin Lerman1a8ef402015-04-08 13:47:49 +020035};