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

Commit 46d77cf7 authored by Treehugger Robot's avatar Treehugger Robot
Browse files

Merge "Add getAvbPublicKey to IDynamicSystemService" am: ecd7c440 am: d584bb1e am: 0ed127a6

Change-Id: I8d6ae5ccebe085e08f48abc6f7624419e4de043e
parents a9ec170c 0ed127a6
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());
        }
    }
}