summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2023-06-21 22:27:54 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-06-21 22:27:54 +0000
commit45622354e368f217e1d57ebaa1dce4a5fe883b64 (patch)
treeebe64def6746f6bb40509fe53154c463fad05cb3
parentd83a0fb321e5982961300b9676de467c8447f731 (diff)
parent12a6160458c8cce6a9fb665f6d84650832c96f6a (diff)
Merge "Use a strongly typed Uid in WindowInfo" into udc-qpr-dev am: 9ab3a064d0 am: 12a6160458
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23620617 Change-Id: I5d39ff2fe52491a0ea9971cf34f8d1a34106dbed Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--core/jni/android_hardware_input_InputWindowHandle.cpp10
-rw-r--r--services/core/jni/com_android_server_input_InputManagerService.cpp9
2 files changed, 10 insertions, 9 deletions
diff --git a/core/jni/android_hardware_input_InputWindowHandle.cpp b/core/jni/android_hardware_input_InputWindowHandle.cpp
index 416d991bd64c..d6c9f92cd8cd 100644
--- a/core/jni/android_hardware_input_InputWindowHandle.cpp
+++ b/core/jni/android_hardware_input_InputWindowHandle.cpp
@@ -163,10 +163,9 @@ bool NativeInputWindowHandle::updateInfo() {
mInfo.touchOcclusionMode = static_cast<TouchOcclusionMode>(
env->GetIntField(obj, gInputWindowHandleClassInfo.touchOcclusionMode));
- mInfo.ownerPid = env->GetIntField(obj,
- gInputWindowHandleClassInfo.ownerPid);
- mInfo.ownerUid = env->GetIntField(obj,
- gInputWindowHandleClassInfo.ownerUid);
+ mInfo.ownerPid = env->GetIntField(obj, gInputWindowHandleClassInfo.ownerPid);
+ mInfo.ownerUid = gui::Uid{
+ static_cast<uid_t>(env->GetIntField(obj, gInputWindowHandleClassInfo.ownerUid))};
mInfo.packageName = getStringField(env, obj, gInputWindowHandleClassInfo.packageName, "<null>");
mInfo.displayId = env->GetIntField(obj,
gInputWindowHandleClassInfo.displayId);
@@ -309,7 +308,8 @@ jobject android_view_InputWindowHandle_fromWindowInfo(JNIEnv* env, gui::WindowIn
env->SetIntField(inputWindowHandle, gInputWindowHandleClassInfo.touchOcclusionMode,
static_cast<int32_t>(windowInfo.touchOcclusionMode));
env->SetIntField(inputWindowHandle, gInputWindowHandleClassInfo.ownerPid, windowInfo.ownerPid);
- env->SetIntField(inputWindowHandle, gInputWindowHandleClassInfo.ownerUid, windowInfo.ownerUid);
+ env->SetIntField(inputWindowHandle, gInputWindowHandleClassInfo.ownerUid,
+ windowInfo.ownerUid.val());
ScopedLocalRef<jstring> packageName(env, env->NewStringUTF(windowInfo.packageName.data()));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.packageName,
packageName.get());
diff --git a/services/core/jni/com_android_server_input_InputManagerService.cpp b/services/core/jni/com_android_server_input_InputManagerService.cpp
index a1f53182eecf..c13bdc8314b9 100644
--- a/services/core/jni/com_android_server_input_InputManagerService.cpp
+++ b/services/core/jni/com_android_server_input_InputManagerService.cpp
@@ -353,7 +353,7 @@ public:
void setPointerCapture(const PointerCaptureRequest& request) override;
void notifyDropWindow(const sp<IBinder>& token, float x, float y) override;
void notifyDeviceInteraction(int32_t deviceId, nsecs_t timestamp,
- const std::set<int32_t>& uids) override;
+ const std::set<gui::Uid>& uids) override;
/* --- PointerControllerPolicyInterface implementation --- */
@@ -966,7 +966,7 @@ void NativeInputManager::notifyDropWindow(const sp<IBinder>& token, float x, flo
}
void NativeInputManager::notifyDeviceInteraction(int32_t deviceId, nsecs_t timestamp,
- const std::set<int32_t>& uids) {
+ const std::set<gui::Uid>& uids) {
static const bool ENABLE_INPUT_DEVICE_USAGE_METRICS =
sysprop::InputProperties::enable_input_device_usage_metrics().value_or(true);
if (!ENABLE_INPUT_DEVICE_USAGE_METRICS) return;
@@ -1849,7 +1849,8 @@ static jboolean nativeSetInTouchMode(JNIEnv* env, jobject nativeImplObj, jboolea
jint pid, jint uid, jboolean hasPermission, jint displayId) {
NativeInputManager* im = getNativeInputManager(env, nativeImplObj);
- return im->getInputManager()->getDispatcher().setInTouchMode(inTouchMode, pid, uid,
+ return im->getInputManager()->getDispatcher().setInTouchMode(inTouchMode, pid,
+ gui::Uid{static_cast<uid_t>(uid)},
hasPermission, displayId);
}
@@ -1865,7 +1866,7 @@ static jint nativeInjectInputEvent(JNIEnv* env, jobject nativeImplObj, jobject i
jint timeoutMillis, jint policyFlags) {
NativeInputManager* im = getNativeInputManager(env, nativeImplObj);
- const std::optional<int32_t> targetUid = injectIntoUid ? std::make_optional(uid) : std::nullopt;
+ const auto targetUid = injectIntoUid ? std::make_optional<gui::Uid>(uid) : std::nullopt;
// static_cast is safe because the value was already checked at the Java layer
InputEventInjectionSync mode = static_cast<InputEventInjectionSync>(syncMode);