Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42263384 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Plumb attribution tag from Sensor Manager" into sc-dev

parents 60ec82fc a9920b8e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -667,7 +667,7 @@ public class SystemSensorManager extends SensorManager {
    private abstract static class BaseEventQueue {
        private static native long nativeInitBaseEventQueue(long nativeManager,
                WeakReference<BaseEventQueue> eventQWeak, MessageQueue msgQ,
                String packageName, int mode, String opPackageName);
                String packageName, int mode, String opPackageName, String attributionTag);
        private static native int nativeEnableSensor(long eventQ, int handle, int rateUs,
                int maxBatchReportLatencyUs);
        private static native int nativeDisableSensor(long eventQ, int handle);
@@ -689,7 +689,8 @@ public class SystemSensorManager extends SensorManager {
            if (packageName == null) packageName = "";
            mNativeSensorEventQueue = nativeInitBaseEventQueue(manager.mNativeInstance,
                    new WeakReference<>(this), looper.getQueue(),
                    packageName, mode, manager.mContext.getOpPackageName());
                    packageName, mode, manager.mContext.getOpPackageName(),
                    manager.mContext.getAttributionTag());
            mCloseGuard.open("dispose");
            mManager = manager;
        }
+18 −20
Original line number Diff line number Diff line
@@ -421,11 +421,18 @@ private:
};

static jlong nativeInitSensorEventQueue(JNIEnv *env, jclass clazz, jlong sensorManager,
        jobject eventQWeak, jobject msgQ, jstring packageName, jint mode) {
                                        jobject eventQWeak, jobject msgQ, jstring packageName,
                                        jint mode, jstring opPackageName, jstring attributionTag) {
    SensorManager* mgr = reinterpret_cast<SensorManager*>(sensorManager);
    ScopedUtfChars packageUtf(env, packageName);
    String8 clientName(packageUtf.c_str());
    sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode));

    String16 attributionTagName("");
    if (attributionTag != nullptr) {
        ScopedUtfChars attrUtf(env, attributionTag);
        attributionTagName = String16(attrUtf.c_str());
    }
    sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode, attributionTagName));

    if (queue == NULL) {
        jniThrowRuntimeException(env, "Cannot construct native SensorEventQueue.");
@@ -518,28 +525,19 @@ static const JNINativeMethod gSystemSensorManagerMethods[] = {

static const JNINativeMethod gBaseEventQueueMethods[] = {
        {"nativeInitBaseEventQueue",
             "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/String;)J",
         "(JLjava/lang/ref/WeakReference;Landroid/os/MessageQueue;Ljava/lang/String;ILjava/lang/"
         "String;Ljava/lang/String;)J",
         (void *)nativeInitSensorEventQueue},

    {"nativeEnableSensor",
            "(JIII)I",
            (void*)nativeEnableSensor },
        {"nativeEnableSensor", "(JIII)I", (void *)nativeEnableSensor},

    {"nativeDisableSensor",
            "(JI)I",
            (void*)nativeDisableSensor },
        {"nativeDisableSensor", "(JI)I", (void *)nativeDisableSensor},

    {"nativeDestroySensorEventQueue",
            "(J)V",
            (void*)nativeDestroySensorEventQueue },
        {"nativeDestroySensorEventQueue", "(J)V", (void *)nativeDestroySensorEventQueue},

    {"nativeFlushSensor",
            "(J)I",
            (void*)nativeFlushSensor },
        {"nativeFlushSensor", "(J)I", (void *)nativeFlushSensor},

    {"nativeInjectSensorData",
            "(JI[FIJ)I",
            (void*)nativeInjectSensorData },
        {"nativeInjectSensorData", "(JI[FIJ)I", (void *)nativeInjectSensorData},
};

} //unnamed namespace