summaryrefslogtreecommitdiff
path: root/keystore/java/android/security/CheckedRemoteRequest.java
diff options
context:
space:
mode:
authorJanis Danisevskis <jdanis@google.com>2020-10-05 13:29:14 -0700
committerJanis Danisevskis <jdanis@google.com>2020-11-13 19:55:39 -0800
commitebd964a0862c130a30cde29a2e3f8d96bfe6f5f3 (patch)
tree318e637f4b2ff59534de1b4fc537175fe4d90ada /keystore/java/android/security/CheckedRemoteRequest.java
parentf88d3a4b27a7eea41c4c06dcfd73d8202d0bb81c (diff)
Keystore 2.0: Shim around the basic functionality of Keystore 2.0
This patch adds a shim around the Keystore 2.0 AIDL spec. The new shim is modularized like the AIDL spec into the base Keystore module Keystore2, the security level specific interface KeystoreSecurityLevel, and the operation specific interface KeystoreOperation. Other system maintenance specific interfaces have yet to be added. Bug: 159476414 Bug: 171305684 Test: None Change-Id: I070f73739e4b37ce10568939ac666e40b14a52a8
Diffstat (limited to 'keystore/java/android/security/CheckedRemoteRequest.java')
-rw-r--r--keystore/java/android/security/CheckedRemoteRequest.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/keystore/java/android/security/CheckedRemoteRequest.java b/keystore/java/android/security/CheckedRemoteRequest.java
new file mode 100644
index 000000000000..b6e7c1fa61b9
--- /dev/null
+++ b/keystore/java/android/security/CheckedRemoteRequest.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2020 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.security;
+
+import android.os.RemoteException;
+
+/**
+ * This is a Producer of {@code R} that is expected to throw a {@link RemoteException}.
+ *
+ * It is used by Keystore2 service wrappers to handle and convert {@link RemoteException}
+ * and {@link android.os.ServiceSpecificException} into {@link KeyStoreException}.
+ *
+ * @hide
+ * @param <R>
+ */
+@FunctionalInterface
+interface CheckedRemoteRequest<R> {
+ R execute() throws RemoteException;
+}