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

Commit b66e6c26 authored by Peng Xu's avatar Peng Xu Committed by android-build-merger
Browse files

Merge "Return correct value at initDataInjection and avoid crash" into oc-dev

am: 1c5b71ec

Change-Id: I9f416adafc27287833ecd8ce5357c782f10c3e80
parents a08dd9ff 1c5b71ec
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -285,19 +285,24 @@ public class SystemSensorManager extends SensorManager {
                }
                // Initialize a client for data_injection.
                if (sInjectEventQueue == null) {
                    sInjectEventQueue = new InjectEventQueue(mMainLooper, this,
                            mContext.getPackageName());
                    try {
                        sInjectEventQueue = new InjectEventQueue(
                                mMainLooper, this, mContext.getPackageName());
                    } catch (RuntimeException e) {
                        Log.e(TAG, "Cannot create InjectEventQueue: " + e);
                    }
                }
                return sInjectEventQueue != null;
            } else {
                // If data injection is being disabled clean up the native resources.
                if (sInjectEventQueue != null) {
                    sInjectEventQueue.dispose();
                    sInjectEventQueue = null;
                }
            }
                return true;
            }
        }
    }

    protected boolean injectSensorDataImpl(Sensor sensor, float[] values, int accuracy,
            long timestamp) {
+5 −0
Original line number Diff line number Diff line
@@ -427,6 +427,11 @@ static jlong nativeInitSensorEventQueue(JNIEnv *env, jclass clazz, jlong sensorM
    String8 clientName(packageUtf.c_str());
    sp<SensorEventQueue> queue(mgr->createEventQueue(clientName, mode));

    if (queue == NULL) {
        jniThrowRuntimeException(env, "Cannot construct native SensorEventQueue.");
        return 0;
    }

    sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, msgQ);
    if (messageQueue == NULL) {
        jniThrowRuntimeException(env, "MessageQueue is not initialized.");