diff options
author | 2023-11-06 19:25:20 +0000 | |
---|---|---|
committer | 2023-11-09 16:53:26 +0000 | |
commit | 215b124ece74293e8ea091e15bc8ad152686f494 (patch) | |
tree | 14dfef8b8cd961d58bea84945bf77f8c36daa4ce /libs/permission/AppOpsManager.cpp | |
parent | 14f7ae8fa66cf12bd6ef641635d9d0a73bf92993 (diff) |
Revert "[DeviceAware] Use AttributionSourceState in native AppOp..."
Revert submission 24499968-appops-deviceid
Reason for revert: Causing perf regression b/308786093
Reverted changes: /q/submissionid:24499968-appops-deviceid
Change-Id: I7e0da4a493b85e1296b41db09e114dd0c8b9e244
Diffstat (limited to 'libs/permission/AppOpsManager.cpp')
-rw-r--r-- | libs/permission/AppOpsManager.cpp | 63 |
1 files changed, 16 insertions, 47 deletions
diff --git a/libs/permission/AppOpsManager.cpp b/libs/permission/AppOpsManager.cpp index b407d02087..695927418d 100644 --- a/libs/permission/AppOpsManager.cpp +++ b/libs/permission/AppOpsManager.cpp @@ -31,9 +31,6 @@ namespace android { -using ::android::String16; -using ::android::String8; - static const sp<IBinder>& getClientId() { static pthread_mutex_t gClientIdMutex = PTHREAD_MUTEX_INITIALIZER; static sp<IBinder> gClientId; @@ -46,11 +43,6 @@ static const sp<IBinder>& getClientId() { return gClientId; } - -static std::string getString(const String16& stringToConvert) { - return std::string(String8(stringToConvert).c_str()); -} - AppOpsManager::AppOpsManager() { } @@ -86,14 +78,9 @@ sp<IAppOpsService> AppOpsManager::getService() int32_t AppOpsManager::checkOp(int32_t op, int32_t uid, const String16& callingPackage) { sp<IAppOpsService> service = getService(); - if (service == nullptr) { - return AppOpsManager::MODE_IGNORED; - } - AttributionSourceState attributionSourceState; - attributionSourceState.uid = uid; - attributionSourceState.packageName = getString(callingPackage); - - return service->checkOperationWithState(op, attributionSourceState); + return service != nullptr + ? service->checkOperation(op, uid, callingPackage) + : AppOpsManager::MODE_IGNORED; } int32_t AppOpsManager::checkAudioOpNoThrow(int32_t op, int32_t usage, int32_t uid, @@ -112,18 +99,12 @@ int32_t AppOpsManager::noteOp(int32_t op, int32_t uid, const String16& callingPa int32_t AppOpsManager::noteOp(int32_t op, int32_t uid, const String16& callingPackage, const std::optional<String16>& attributionTag, const String16& message) { sp<IAppOpsService> service = getService(); - if (service == nullptr) { - return AppOpsManager::MODE_IGNORED; - } - AttributionSourceState attributionSourceState; - attributionSourceState.uid = uid; - attributionSourceState.packageName = getString(callingPackage); - if (attributionTag.has_value()) { - attributionSourceState.attributionTag = getString(attributionTag.value()); - } + int32_t mode = service != nullptr + ? service->noteOperation(op, uid, callingPackage, attributionTag, + shouldCollectNotes(op), message, uid == AID_SYSTEM) + : AppOpsManager::MODE_IGNORED; - return service->noteOperationWithState(op, attributionSourceState, - shouldCollectNotes(op), message, uid == AID_SYSTEM); + return mode; } int32_t AppOpsManager::startOpNoThrow(int32_t op, int32_t uid, const String16& callingPackage, @@ -136,18 +117,13 @@ int32_t AppOpsManager::startOpNoThrow(int32_t op, int32_t uid, const String16& c bool startIfModeDefault, const std::optional<String16>& attributionTag, const String16& message) { sp<IAppOpsService> service = getService(); - if (service == nullptr) { - return AppOpsManager::MODE_IGNORED; - } - AttributionSourceState attributionSourceState; - attributionSourceState.uid = uid; - attributionSourceState.packageName = getString(callingPackage); - if (attributionTag.has_value()) { - attributionSourceState.attributionTag = getString(attributionTag.value()); - } + int32_t mode = service != nullptr + ? service->startOperation(getClientId(), op, uid, callingPackage, + attributionTag, startIfModeDefault, shouldCollectNotes(op), message, + uid == AID_SYSTEM) + : AppOpsManager::MODE_IGNORED; - return service->startOperationWithState(getClientId(), op, attributionSourceState, - startIfModeDefault,shouldCollectNotes(op), message, uid == AID_SYSTEM); + return mode; } void AppOpsManager::finishOp(int32_t op, int32_t uid, const String16& callingPackage) { @@ -157,16 +133,9 @@ void AppOpsManager::finishOp(int32_t op, int32_t uid, const String16& callingPac void AppOpsManager::finishOp(int32_t op, int32_t uid, const String16& callingPackage, const std::optional<String16>& attributionTag) { sp<IAppOpsService> service = getService(); - if (service == nullptr) { - return; - } - AttributionSourceState attributionSourceState; - attributionSourceState.uid = uid; - attributionSourceState.packageName = getString(callingPackage); - if (attributionTag.has_value()) { - attributionSourceState.attributionTag = getString(attributionTag.value()); + if (service != nullptr) { + service->finishOperation(getClientId(), op, uid, callingPackage, attributionTag); } - service->finishOperationWithState(getClientId(), op, attributionSourceState); } void AppOpsManager::startWatchingMode(int32_t op, const String16& packageName, |