diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/os/image/DynamicSystemManager.java | 18 | ||||
| -rw-r--r-- | core/java/android/os/image/IDynamicSystemService.aidl | 10 |
2 files changed, 28 insertions, 0 deletions
diff --git a/core/java/android/os/image/DynamicSystemManager.java b/core/java/android/os/image/DynamicSystemManager.java index cbf531c5730a..17851adac51b 100644 --- a/core/java/android/os/image/DynamicSystemManager.java +++ b/core/java/android/os/image/DynamicSystemManager.java @@ -19,6 +19,7 @@ package android.os.image; import android.annotation.RequiresPermission; import android.annotation.SystemService; import android.content.Context; +import android.gsi.AvbPublicKey; import android.gsi.GsiProgress; import android.os.ParcelFileDescriptor; import android.os.RemoteException; @@ -85,6 +86,23 @@ public class DynamicSystemManager { throw new RuntimeException(e.toString()); } } + + /** + * Retrieve AVB public key from installing partition. + * + * @param dst Output the AVB public key. + * @return true on success, false if partition doesn't have a + * valid VBMeta block to retrieve the AVB key from. + */ + @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) + public boolean getAvbPublicKey(AvbPublicKey dst) { + try { + return mService.getAvbPublicKey(dst); + } catch (RemoteException e) { + throw new RuntimeException(e.toString()); + } + } + /** * Finish write and make device to boot into the it after reboot. * diff --git a/core/java/android/os/image/IDynamicSystemService.aidl b/core/java/android/os/image/IDynamicSystemService.aidl index cc32f998d0c2..a1f927266de3 100644 --- a/core/java/android/os/image/IDynamicSystemService.aidl +++ b/core/java/android/os/image/IDynamicSystemService.aidl @@ -15,6 +15,7 @@ */ package android.os.image; +import android.gsi.AvbPublicKey; import android.gsi.GsiProgress; /** {@hide} */ @@ -108,4 +109,13 @@ interface IDynamicSystemService * @return true on success, false otherwise. */ boolean submitFromAshmem(long bytes); + + /** + * Retrieve AVB public key from installing partition. + * + * @param dst Output the AVB public key. + * @return true on success, false if partition doesn't have a + * valid VBMeta block to retrieve the AVB key from. + */ + boolean getAvbPublicKey(out AvbPublicKey dst); } |
