summaryrefslogtreecommitdiff
path: root/services/sensorservice
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-06-13 22:34:24 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-06-13 22:34:25 +0000
commit1f50a2c0e0a8e76832b7743e474d8ad0323e8506 (patch)
tree914418a8c95170ac8e62df1c76eeb6a60654c805 /services/sensorservice
parent771666079bbec3753ae114d41712f008f24e5590 (diff)
parent58d450af6d956538e938661bbe7aef9f32e50bad (diff)
downloadnative-1f50a2c0e0a8e76832b7743e474d8ad0323e8506.tar.gz
Merge "Adding package name for HIDL connection and default package name"
Diffstat (limited to 'services/sensorservice')
-rw-r--r--services/sensorservice/SensorService.cpp10
-rw-r--r--services/sensorservice/hidl/Android.bp1
-rw-r--r--services/sensorservice/hidl/SensorManager.cpp7
3 files changed, 15 insertions, 3 deletions
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp
index 209eea5202..4e99756663 100644
--- a/services/sensorservice/SensorService.cpp
+++ b/services/sensorservice/SensorService.cpp
@@ -933,8 +933,14 @@ sp<ISensorEventConnection> SensorService::createSensorEventConnection(const Stri
}
uid_t uid = IPCThreadState::self()->getCallingUid();
- sp<SensorEventConnection> result(new SensorEventConnection(this, uid, packageName,
- requestedMode == DATA_INJECTION, opPackageName));
+ pid_t pid = IPCThreadState::self()->getCallingPid();
+
+ String8 connPackageName =
+ (packageName == "") ? String8::format("unknown_package_pid_%d", pid) : packageName;
+ String16 connOpPackageName =
+ (opPackageName == String16("")) ? String16(connPackageName) : opPackageName;
+ sp<SensorEventConnection> result(new SensorEventConnection(this, uid, connPackageName,
+ requestedMode == DATA_INJECTION, connOpPackageName));
if (requestedMode == DATA_INJECTION) {
if (mActiveConnections.indexOf(result) < 0) {
mActiveConnections.add(result);
diff --git a/services/sensorservice/hidl/Android.bp b/services/sensorservice/hidl/Android.bp
index 8bbc4c59a8..02c13fa579 100644
--- a/services/sensorservice/hidl/Android.bp
+++ b/services/sensorservice/hidl/Android.bp
@@ -14,6 +14,7 @@ cc_library_shared {
"libbase",
"libhidlbase",
"libhidltransport",
+ "libhwbinder",
"libutils",
"libsensor",
"android.frameworks.sensorservice@1.0",
diff --git a/services/sensorservice/hidl/SensorManager.cpp b/services/sensorservice/hidl/SensorManager.cpp
index 991944e8b4..a5e23cab32 100644
--- a/services/sensorservice/hidl/SensorManager.cpp
+++ b/services/sensorservice/hidl/SensorManager.cpp
@@ -30,6 +30,9 @@
#include "DirectReportChannel.h"
#include "utils.h"
+#include <hwbinder/IPCThreadState.h>
+#include <utils/String8.h>
+
namespace android {
namespace frameworks {
namespace sensorservice {
@@ -172,7 +175,9 @@ Return<void> SensorManager::createEventQueue(
}
sp<::android::Looper> looper = getLooper();
- sp<::android::SensorEventQueue> internalQueue = getInternalManager().createEventQueue();
+ String8 package(String8::format("hidl_client_pid_%d",
+ android::hardware::IPCThreadState::self()->getCallingPid()));
+ sp<::android::SensorEventQueue> internalQueue = getInternalManager().createEventQueue(package);
if (internalQueue == nullptr) {
LOG(WARNING) << "::android::SensorManager::createEventQueue returns nullptr.";
_hidl_cb(nullptr, Result::UNKNOWN_ERROR);