Merge "Add getAvbPublicKey to IDynamicSystemService" am: ecd7c440df am: d584bb1ef0

Change-Id: I6014b4ad6cf0bf6ee08ff999447625a89b522794
This commit is contained in:
Treehugger Robot
2020-02-18 13:03:44 +00:00
3 changed files with 38 additions and 0 deletions

View File

@@ -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.
*

View File

@@ -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);
}

View File

@@ -18,6 +18,7 @@ package com.android.server;
import android.content.Context;
import android.content.pm.PackageManager;
import android.gsi.AvbPublicKey;
import android.gsi.GsiProgress;
import android.gsi.IGsiService;
import android.gsi.IGsid;
@@ -227,4 +228,13 @@ public class DynamicSystemService extends IDynamicSystemService.Stub implements
throw new RuntimeException(e.toString());
}
}
@Override
public boolean getAvbPublicKey(AvbPublicKey dst) {
try {
return getGsiService().getAvbPublicKey(dst) == 0;
} catch (RemoteException e) {
throw new RuntimeException(e.toString());
}
}
}