@@ -41,6 +41,7 @@ const float SENSOR_FILTER_ALPHA = 0.1f;
4141 * Workaround AsensorManager_getInstance() deprecation false alarm
4242 * for Android-N and before, when compiling with NDK-r15
4343 */
44+ #include < base/macros.h>
4445#include < dlfcn.h>
4546const char * kPackageName = " com.android.accelerometergraph" ;
4647ASensorManager* AcquireASensorManagerInstance (void ) {
@@ -252,53 +253,48 @@ class sensorgraph {
252253
253254sensorgraph gSensorGraph ;
254255
255- extern " C" {
256- JNIEXPORT void JNICALL
257- Java_com_android_accelerometergraph_AccelerometerGraphJNI_init (
258- JNIEnv* env, jclass type, jobject assetManager) {
259- (void )type;
256+ void Init (JNIEnv* env, jclass, jobject assetManager) {
260257 AAssetManager* nativeAssetManager = AAssetManager_fromJava (env, assetManager);
261258 gSensorGraph .init (nativeAssetManager);
262259}
263260
264- JNIEXPORT void JNICALL
265- Java_com_android_accelerometergraph_AccelerometerGraphJNI_surfaceCreated (
266- JNIEnv* env, jclass type) {
267- (void )env;
268- (void )type;
269- gSensorGraph .surfaceCreated ();
270- }
261+ void SurfaceCreated (JNIEnv*, jclass) { gSensorGraph .surfaceCreated (); }
271262
272- JNIEXPORT void JNICALL
273- Java_com_android_accelerometergraph_AccelerometerGraphJNI_surfaceChanged (
274- JNIEnv* env, jclass type, jint width, jint height) {
275- (void )env;
276- (void )type;
263+ void SurfaceChanged (JNIEnv*, jclass, jint width, jint height) {
277264 gSensorGraph .surfaceChanged (width, height);
278265}
279266
280- JNIEXPORT void JNICALL
281- Java_com_android_accelerometergraph_AccelerometerGraphJNI_drawFrame (
282- JNIEnv* env, jclass type) {
283- (void )env;
284- (void )type;
267+ void DrawFrame (JNIEnv*, jclass) {
285268 gSensorGraph .update ();
286269 gSensorGraph .render ();
287270}
288271
289- JNIEXPORT void JNICALL
290- Java_com_android_accelerometergraph_AccelerometerGraphJNI_pause (JNIEnv* env,
291- jclass type) {
292- (void )env;
293- (void )type;
294- gSensorGraph .pause ();
295- }
272+ void Pause (JNIEnv*, jclass) { gSensorGraph .pause (); }
296273
297- JNIEXPORT void JNICALL
298- Java_com_android_accelerometergraph_AccelerometerGraphJNI_resume (JNIEnv* env,
299- jclass type) {
300- (void )env;
301- (void )type;
302- gSensorGraph .resume ();
303- }
274+ void Resume (JNIEnv*, jclass) { gSensorGraph .resume (); }
275+
276+ extern " C" JNIEXPORT jint JNICALL JNI_OnLoad (JavaVM* _Nonnull vm,
277+ void * _Nullable) {
278+ JNIEnv* env;
279+ if (vm->GetEnv (reinterpret_cast <void **>(&env), JNI_VERSION_1_6) != JNI_OK) {
280+ return JNI_ERR;
281+ }
282+
283+ jclass c =
284+ env->FindClass (" com/android/accelerometergraph/AccelerometerGraphJNI" );
285+ if (c == nullptr ) return JNI_ERR;
286+
287+ static const JNINativeMethod methods[] = {
288+ {" init" , " (Landroid/content/res/AssetManager;)V" ,
289+ reinterpret_cast <void *>(Init)},
290+ {" surfaceCreated" , " ()V" , reinterpret_cast <void *>(SurfaceCreated)},
291+ {" surfaceChanged" , " (II)V" , reinterpret_cast <void *>(SurfaceChanged)},
292+ {" drawFrame" , " ()V" , reinterpret_cast <void *>(DrawFrame)},
293+ {" pause" , " ()V" , reinterpret_cast <void *>(Pause)},
294+ {" resume" , " ()V" , reinterpret_cast <void *>(Resume)},
295+ };
296+ int rc = env->RegisterNatives (c, methods, arraysize (methods));
297+ if (rc != JNI_OK) return rc;
298+
299+ return JNI_VERSION_1_6;
304300}
0 commit comments