in facebook-core/src/main/java/com/facebook/appevents/codeless/CodelessManager.kt [60:93]
fun onActivityResumed(activity: Activity) {
if (!isCodelessEnabled.get()) {
return
}
CodelessMatcher.getInstance().add(activity)
val applicationContext = activity.applicationContext
val appId = getApplicationId()
val appSettings = getAppSettingsWithoutQuery(appId)
if (appSettings?.codelessEventsEnabled == true || isDebugOnEmulator()) {
val sensorManager =
applicationContext.getSystemService(Context.SENSOR_SERVICE) as SensorManager? ?: return
this.sensorManager = sensorManager
val accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
val viewIndexer = ViewIndexer(activity)
this.viewIndexer = viewIndexer
viewIndexingTrigger.setOnShakeListener {
val codelessEventsEnabled = appSettings != null && appSettings.codelessEventsEnabled
val codelessSetupEnabled = (getCodelessSetupEnabled() || BuildConfig.DEBUG && isEmulator())
if (codelessEventsEnabled && codelessSetupEnabled) {
checkCodelessSession(appId)
}
}
sensorManager.registerListener(
viewIndexingTrigger, accelerometer, SensorManager.SENSOR_DELAY_UI)
if (appSettings != null && appSettings.codelessEventsEnabled) {
viewIndexer.schedule()
}
}
if (isDebugOnEmulator() && !isAppIndexingEnabled.get()) {
// Check session on start when app launched
// on emulator and built in DEBUG mode
checkCodelessSession(appId)
}
}