@@ -269,50 +269,6 @@ static void engine_handle_cmd(struct android_app* app, int32_t cmd) {
269
269
}
270
270
}
271
271
272
- /*
273
- * AcquireASensorManagerInstance(void)
274
- * Workaround ASensorManager_getInstance() deprecation false alarm
275
- * for Android-N and before, when compiling with NDK-r15
276
- */
277
- #include < dlfcn.h>
278
- ASensorManager* AcquireASensorManagerInstance (android_app* app) {
279
- if (!app) return nullptr ;
280
-
281
- typedef ASensorManager* (*PF_GETINSTANCEFORPACKAGE)(const char * name);
282
- void * androidHandle = dlopen (" libandroid.so" , RTLD_NOW);
283
- auto getInstanceForPackageFunc = (PF_GETINSTANCEFORPACKAGE)dlsym (
284
- androidHandle, " ASensorManager_getInstanceForPackage" );
285
- if (getInstanceForPackageFunc) {
286
- JNIEnv* env = nullptr ;
287
- app->activity ->vm ->AttachCurrentThread (&env, nullptr );
288
-
289
- jclass android_content_Context = env->GetObjectClass (app->activity ->clazz );
290
- jmethodID midGetPackageName = env->GetMethodID (
291
- android_content_Context, " getPackageName" , " ()Ljava/lang/String;" );
292
- auto packageName =
293
- (jstring)env->CallObjectMethod (app->activity ->clazz , midGetPackageName);
294
-
295
- const char * nativePackageName =
296
- env->GetStringUTFChars (packageName, nullptr );
297
- ASensorManager* mgr = getInstanceForPackageFunc (nativePackageName);
298
- env->ReleaseStringUTFChars (packageName, nativePackageName);
299
- app->activity ->vm ->DetachCurrentThread ();
300
- if (mgr) {
301
- dlclose (androidHandle);
302
- return mgr;
303
- }
304
- }
305
-
306
- typedef ASensorManager* (*PF_GETINSTANCE)();
307
- auto getInstanceFunc =
308
- (PF_GETINSTANCE)dlsym (androidHandle, " ASensorManager_getInstance" );
309
- // by all means at this point, ASensorManager_getInstance should be available
310
- assert (getInstanceFunc);
311
- dlclose (androidHandle);
312
-
313
- return getInstanceFunc ();
314
- }
315
-
316
272
/* *
317
273
* This is the main entry point of a native application that is using
318
274
* android_native_app_glue. It runs in its own thread, with its own
@@ -328,7 +284,7 @@ void android_main(struct android_app* state) {
328
284
engine.app = state;
329
285
330
286
// Prepare to monitor accelerometer
331
- engine.sensorManager = AcquireASensorManagerInstance (state );
287
+ engine.sensorManager = ASensorManager_getInstance ( );
332
288
engine.accelerometerSensor = ASensorManager_getDefaultSensor (
333
289
engine.sensorManager , ASENSOR_TYPE_ACCELEROMETER);
334
290
engine.sensorEventQueue = ASensorManager_createEventQueue (
0 commit comments