Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ecd7c440 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add getAvbPublicKey to IDynamicSystemService"

parents f8af6922 d25e639b
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -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.
         *
+10 −0
Original line number Diff line number Diff line
@@ -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);
}
+10 −0
Original line number Diff line number Diff line
@@ -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());
        }
    }
}