Use optional for nullable types
AIDL generates optional<T> for nullable T types for C++, which is more efficient and idomatic and easy to use. Bug: 144773267 Test: build/flash/boot Merged-In: I90cf2ce1193c479179687d71a5c1416f6cdf0b16 Change-Id: I90cf2ce1193c479179687d71a5c1416f6cdf0b16 (cherry picked from commit ff7f4279bd7fa33577f5f4d46aa9de322fb625d4) Exempt-From-Owner-Approval: CP from master
This commit is contained in:
@@ -113,10 +113,10 @@ Status Idmap2Service::verifyIdmap(const std::string& overlay_apk_path,
|
||||
Status Idmap2Service::createIdmap(const std::string& target_apk_path,
|
||||
const std::string& overlay_apk_path, int32_t fulfilled_policies,
|
||||
bool enforce_overlayable, int32_t user_id ATTRIBUTE_UNUSED,
|
||||
std::unique_ptr<std::string>* _aidl_return) {
|
||||
std::optional<std::string>* _aidl_return) {
|
||||
assert(_aidl_return);
|
||||
SYSTRACE << "Idmap2Service::createIdmap " << target_apk_path << " " << overlay_apk_path;
|
||||
_aidl_return->reset(nullptr);
|
||||
_aidl_return->reset();
|
||||
|
||||
const PolicyBitmask policy_bitmask = ConvertAidlArgToPolicyBitmask(fulfilled_policies);
|
||||
|
||||
@@ -155,7 +155,7 @@ Status Idmap2Service::createIdmap(const std::string& target_apk_path,
|
||||
return error("failed to write to idmap path " + idmap_path);
|
||||
}
|
||||
|
||||
*_aidl_return = std::make_unique<std::string>(idmap_path);
|
||||
*_aidl_return = idmap_path;
|
||||
return ok();
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <android-base/unique_fd.h>
|
||||
#include <binder/BinderService.h>
|
||||
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
|
||||
#include "android/os/BnIdmap2.h"
|
||||
@@ -45,7 +45,7 @@ class Idmap2Service : public BinderService<Idmap2Service>, public BnIdmap2 {
|
||||
binder::Status createIdmap(const std::string& target_apk_path,
|
||||
const std::string& overlay_apk_path, int32_t fulfilled_policies,
|
||||
bool enforce_overlayable, int32_t user_id,
|
||||
std::unique_ptr<std::string>* _aidl_return);
|
||||
std::optional<std::string>* _aidl_return);
|
||||
};
|
||||
|
||||
} // namespace android::os
|
||||
|
||||
Reference in New Issue
Block a user