Use aidl::nullable for nullable type in C++
To reduce the discrepance between old code which still uses
std::unique_ptr and new code using std::optional.
This might help to avoid merge-conflicts between branches.
Bug: 144773267
Test: m
Merged-In I33822bc76ef87637d5408849f64a0607e121792e
Change-Id: I33822bc76ef87637d5408849f64a0607e121792e
(cherry picked from commit ad62e8cbf5)
Exempt-From-Owner-Approval: cherry-pick from master
This commit is contained in:
@@ -113,7 +113,7 @@ Status Idmap2Service::verifyIdmap(const std::string& overlay_apk_path,
|
|||||||
Status Idmap2Service::createIdmap(const std::string& target_apk_path,
|
Status Idmap2Service::createIdmap(const std::string& target_apk_path,
|
||||||
const std::string& overlay_apk_path, int32_t fulfilled_policies,
|
const std::string& overlay_apk_path, int32_t fulfilled_policies,
|
||||||
bool enforce_overlayable, int32_t user_id ATTRIBUTE_UNUSED,
|
bool enforce_overlayable, int32_t user_id ATTRIBUTE_UNUSED,
|
||||||
std::optional<std::string>* _aidl_return) {
|
aidl::nullable<std::string>* _aidl_return) {
|
||||||
assert(_aidl_return);
|
assert(_aidl_return);
|
||||||
SYSTRACE << "Idmap2Service::createIdmap " << target_apk_path << " " << overlay_apk_path;
|
SYSTRACE << "Idmap2Service::createIdmap " << target_apk_path << " " << overlay_apk_path;
|
||||||
_aidl_return->reset();
|
_aidl_return->reset();
|
||||||
@@ -155,7 +155,7 @@ Status Idmap2Service::createIdmap(const std::string& target_apk_path,
|
|||||||
return error("failed to write to idmap path " + idmap_path);
|
return error("failed to write to idmap path " + idmap_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
*_aidl_return = idmap_path;
|
*_aidl_return = aidl::make_nullable<std::string>(idmap_path);
|
||||||
return ok();
|
return ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,7 @@
|
|||||||
|
|
||||||
#include <android-base/unique_fd.h>
|
#include <android-base/unique_fd.h>
|
||||||
#include <binder/BinderService.h>
|
#include <binder/BinderService.h>
|
||||||
|
#include <binder/Nullable.h>
|
||||||
#include <optional>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include "android/os/BnIdmap2.h"
|
#include "android/os/BnIdmap2.h"
|
||||||
|
|
||||||
@@ -46,7 +44,7 @@ class Idmap2Service : public BinderService<Idmap2Service>, public BnIdmap2 {
|
|||||||
binder::Status createIdmap(const std::string& target_apk_path,
|
binder::Status createIdmap(const std::string& target_apk_path,
|
||||||
const std::string& overlay_apk_path, int32_t fulfilled_policies,
|
const std::string& overlay_apk_path, int32_t fulfilled_policies,
|
||||||
bool enforce_overlayable, int32_t user_id,
|
bool enforce_overlayable, int32_t user_id,
|
||||||
std::optional<std::string>* _aidl_return) override;
|
aidl::nullable<std::string>* _aidl_return) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace android::os
|
} // namespace android::os
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
#include <androidfw/ZipFileRO.h>
|
#include <androidfw/ZipFileRO.h>
|
||||||
#include <androidfw/ZipUtils.h>
|
#include <androidfw/ZipUtils.h>
|
||||||
#include <binder/BinderService.h>
|
#include <binder/BinderService.h>
|
||||||
|
#include <binder/Nullable.h>
|
||||||
#include <binder/ParcelFileDescriptor.h>
|
#include <binder/ParcelFileDescriptor.h>
|
||||||
#include <binder/Status.h>
|
#include <binder/Status.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
@@ -1083,7 +1084,7 @@ bool IncrementalService::prepareDataLoader(IncrementalService::IncFsMount& ifs,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
FileSystemControlParcel fsControlParcel;
|
FileSystemControlParcel fsControlParcel;
|
||||||
fsControlParcel.incremental = IncrementalFileSystemControlParcel();
|
fsControlParcel.incremental = aidl::make_nullable<IncrementalFileSystemControlParcel>();
|
||||||
fsControlParcel.incremental->cmd.reset(base::unique_fd(::dup(ifs.control.cmd)));
|
fsControlParcel.incremental->cmd.reset(base::unique_fd(::dup(ifs.control.cmd)));
|
||||||
fsControlParcel.incremental->pendingReads.reset(
|
fsControlParcel.incremental->pendingReads.reset(
|
||||||
base::unique_fd(::dup(ifs.control.pendingReads)));
|
base::unique_fd(::dup(ifs.control.pendingReads)));
|
||||||
|
|||||||
Reference in New Issue
Block a user