From 99592cc0468c3e90f1fa1473ea292a6406001534 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Mon, 30 Mar 2020 14:52:30 +0900 Subject: [PATCH] Update the current API dump All aidl_interface modules should by default considered as stable, in case it is used across system and vendor partitions, or across modules. Like other API surfaces, we need to have a dump for the current (yet-to-be-released) version and update it when there is an API change. This is done via . Then the owner of the interface can freeze the current version as a numbered version via . This change shal be rejected only when the owner is certain that the interface is not used across the updatable boundaries. Bug: 152655547 Test: m Change-Id: I649d111ee1833324bf6d237840810c7d8c13cef0 --- .../IncrementalFileSystemControlParcel.aidl | 24 ++++++++++ .../os/incremental/IIncrementalService.aidl | 44 +++++++++++++++++++ .../incremental/IncrementalNewFileParams.aidl | 25 +++++++++++ 3 files changed, 93 insertions(+) create mode 100644 aidl_api/libincremental_aidl/current/android/os/incremental/IncrementalFileSystemControlParcel.aidl create mode 100644 aidl_api/libincremental_manager_aidl/current/android/os/incremental/IIncrementalService.aidl create mode 100644 aidl_api/libincremental_manager_aidl/current/android/os/incremental/IncrementalNewFileParams.aidl diff --git a/aidl_api/libincremental_aidl/current/android/os/incremental/IncrementalFileSystemControlParcel.aidl b/aidl_api/libincremental_aidl/current/android/os/incremental/IncrementalFileSystemControlParcel.aidl new file mode 100644 index 0000000000000..d777e34d1240f --- /dev/null +++ b/aidl_api/libincremental_aidl/current/android/os/incremental/IncrementalFileSystemControlParcel.aidl @@ -0,0 +1,24 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL interface (or parcelable). Do not try to +// edit this file. It looks like you are doing that because you have modified +// an AIDL interface in a backward-incompatible way, e.g., deleting a function +// from an interface or a field from a parcelable and it broke the build. That +// breakage is intended. +// +// You must not make a backward incompatible changes to the AIDL files built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.os.incremental; +/* @hide */ +parcelable IncrementalFileSystemControlParcel { + ParcelFileDescriptor cmd; + ParcelFileDescriptor pendingReads; + ParcelFileDescriptor log; +} diff --git a/aidl_api/libincremental_manager_aidl/current/android/os/incremental/IIncrementalService.aidl b/aidl_api/libincremental_manager_aidl/current/android/os/incremental/IIncrementalService.aidl new file mode 100644 index 0000000000000..5e1f013d627a8 --- /dev/null +++ b/aidl_api/libincremental_manager_aidl/current/android/os/incremental/IIncrementalService.aidl @@ -0,0 +1,44 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL interface (or parcelable). Do not try to +// edit this file. It looks like you are doing that because you have modified +// an AIDL interface in a backward-incompatible way, e.g., deleting a function +// from an interface or a field from a parcelable and it broke the build. That +// breakage is intended. +// +// You must not make a backward incompatible changes to the AIDL files built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.os.incremental; +/* @hide */ +interface IIncrementalService { + int openStorage(in @utf8InCpp String path); + int createStorage(in @utf8InCpp String path, in android.content.pm.DataLoaderParamsParcel params, in android.content.pm.IDataLoaderStatusListener listener, int createMode); + int createLinkedStorage(in @utf8InCpp String path, int otherStorageId, int createMode); + int makeBindMount(int storageId, in @utf8InCpp String sourcePath, in @utf8InCpp String targetFullPath, int bindType); + int deleteBindMount(int storageId, in @utf8InCpp String targetFullPath); + int makeDirectory(int storageId, in @utf8InCpp String path); + int makeDirectories(int storageId, in @utf8InCpp String path); + int makeFile(int storageId, in @utf8InCpp String path, in android.os.incremental.IncrementalNewFileParams params); + int makeFileFromRange(int storageId, in @utf8InCpp String targetPath, in @utf8InCpp String sourcePath, long start, long end); + int makeLink(int sourceStorageId, in @utf8InCpp String sourcePath, int destStorageId, in @utf8InCpp String destPath); + int unlink(int storageId, in @utf8InCpp String path); + boolean isFileRangeLoaded(int storageId, in @utf8InCpp String path, long start, long end); + byte[] getMetadataByPath(int storageId, in @utf8InCpp String path); + byte[] getMetadataById(int storageId, in byte[] fileId); + boolean startLoading(int storageId); + void deleteStorage(int storageId); + boolean configureNativeBinaries(int storageId, in @utf8InCpp String apkFullPath, in @utf8InCpp String libDirRelativePath, in @utf8InCpp String abi); + const int CREATE_MODE_TEMPORARY_BIND = 1; + const int CREATE_MODE_PERMANENT_BIND = 2; + const int CREATE_MODE_CREATE = 4; + const int CREATE_MODE_OPEN_EXISTING = 8; + const int BIND_TEMPORARY = 0; + const int BIND_PERMANENT = 1; +} diff --git a/aidl_api/libincremental_manager_aidl/current/android/os/incremental/IncrementalNewFileParams.aidl b/aidl_api/libincremental_manager_aidl/current/android/os/incremental/IncrementalNewFileParams.aidl new file mode 100644 index 0000000000000..c737877211137 --- /dev/null +++ b/aidl_api/libincremental_manager_aidl/current/android/os/incremental/IncrementalNewFileParams.aidl @@ -0,0 +1,25 @@ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL interface (or parcelable). Do not try to +// edit this file. It looks like you are doing that because you have modified +// an AIDL interface in a backward-incompatible way, e.g., deleting a function +// from an interface or a field from a parcelable and it broke the build. That +// breakage is intended. +// +// You must not make a backward incompatible changes to the AIDL files built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.os.incremental; +/* @hide */ +parcelable IncrementalNewFileParams { + long size; + byte[] fileId; + byte[] metadata; + @nullable byte[] signature; +}