diff options
| -rw-r--r-- | services/memtrackproxy/MemtrackProxy.cpp | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/services/memtrackproxy/MemtrackProxy.cpp b/services/memtrackproxy/MemtrackProxy.cpp index 467616724a..9e41a9333e 100644 --- a/services/memtrackproxy/MemtrackProxy.cpp +++ b/services/memtrackproxy/MemtrackProxy.cpp @@ -97,9 +97,14 @@ bool MemtrackProxy::CheckPid(pid_t calling_pid, pid_t request_pid) {      return calling_pid == request_pid;  } -MemtrackProxy::MemtrackProxy() -      : memtrack_hidl_instance_(MemtrackProxy::MemtrackHidlInstance()), -        memtrack_aidl_instance_(MemtrackProxy::MemtrackAidlInstance()) {} +MemtrackProxy::MemtrackProxy() { +    memtrack_aidl_instance_ = MemtrackProxy::MemtrackAidlInstance(); + +    // Only check for a HIDL implementation if we failed to get the AIDL service +    if (!memtrack_aidl_instance_) { +        memtrack_hidl_instance_ = MemtrackProxy::MemtrackHidlInstance(); +    } +}  ndk::ScopedAStatus MemtrackProxy::getMemory(int pid, MemtrackType type,                                              std::vector<MemtrackRecord>* _aidl_return) {  |