| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| [JavaPackage="org.chromium.mojo.intent"] |
| module intent_receiver; |
| |
| // Service to interact with android intents. |
| interface IntentReceiverManager { |
| // This method takes an |IntentReceiver| and returns a serialized intent. |
| // The serialized intent can be deserialized using an android parcel. The |
| // caller can then transform this intent into a PendingIntent using |
| // |PendingIntent#getService| and send it to another android application. |
| // Whenever the pending intent is executed, the receiver will be called with |
| // the content of the received intent. |
| // To be noted, this will fail if the received intent is active (contains |
| // either a Binder or a file descriptor). |
| RegisterIntentReceiver(IntentReceiver receiver) => (array<uint8>? intent); |
| |
| // This method takes an |IntentReceiver| and returns a serialized intent. |
| // The serialized intent can be deserialized using an android parcel. The |
| // caller can then add an intent it wants the system to send using |
| // |Activity#startActivityForResult| and then send it using |
| // |Context#startService|. Whenever the started activity sends a result, the |
| // receiver will be called with the content of the received intent. If the |
| // activity is cancelled, the receiver will be closed. |
| RegisterActivityResultReceiver(IntentReceiver receiver) => |
| (array<uint8>? intent); |
| }; |
| |
| // Receiver interface, to be used with |IntentReceiverManager|. |
| interface IntentReceiver { |
| OnIntent(array<uint8> intent); |
| }; |