summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/InputMethodService.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/inputmethodservice/InputMethodService.java')
-rw-r--r--core/java/android/inputmethodservice/InputMethodService.java32
1 files changed, 11 insertions, 21 deletions
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java
index 6594c0912551..ad3f4d296c67 100644
--- a/core/java/android/inputmethodservice/InputMethodService.java
+++ b/core/java/android/inputmethodservice/InputMethodService.java
@@ -2604,33 +2604,23 @@ public class InputMethodService extends AbstractInputMethodService {
* Allow the receiver of {@link InputContentInfo} to obtain a temporary read-only access
* permission to the content.
*
- * <p>Make sure that the content provider owning the Uri sets the
- * {@link android.R.styleable#AndroidManifestProvider_grantUriPermissions
- * grantUriPermissions} attribute in its manifest or included the
- * {@link android.R.styleable#AndroidManifestGrantUriPermission
- * &lt;grant-uri-permissions&gt;} tag. Otherwise {@link InputContentInfo#requestPermission()}
- * can fail.</p>
- *
- * <p>Although calling this API is allowed only for the IME that is currently selected, the
- * client is able to request a temporary read-only access even after the current IME is switched
- * to any other IME as long as the client keeps {@link InputContentInfo} object.</p>
- *
* @param inputContentInfo Content to be temporarily exposed from the input method to the
* application.
* This cannot be {@code null}.
- * @param editorInfo The editor that receives {@link InputContentInfo}.
- * @return {@code false} if we cannot allow a temporary access permission.
+ * @param inputConnection {@link InputConnection} with which
+ * {@link InputConnection#commitContent(InputContentInfo, Bundle)} will be called.
+ * @hide
*/
- public final boolean exposeContent(@NonNull InputContentInfo inputContentInfo,
- @NonNull EditorInfo editorInfo) {
- if (inputContentInfo == null) {
- throw new NullPointerException("inputContentInfo");
+ @Override
+ public final void exposeContent(@NonNull InputContentInfo inputContentInfo,
+ @NonNull InputConnection inputConnection) {
+ if (inputConnection == null) {
+ return;
}
- if (editorInfo == null) {
- throw new NullPointerException("editorInfo");
+ if (getCurrentInputConnection() != inputConnection) {
+ return;
}
-
- return mImm.exposeContent(mToken, inputContentInfo, editorInfo);
+ mImm.exposeContent(mToken, inputContentInfo, getCurrentInputEditorInfo());
}
/**