Remove duplicate Android sensor listener registrations #61330
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, on Android, sensor listeners are being registered twice first: in
initializeGodot()
, which is called byonCreate()
:godot/platform/android/java/lib/src/org/godotengine/godot/Godot.java
Lines 465 to 472 in 3fb1f25
and a second time in
onResume()
:godot/platform/android/java/lib/src/org/godotengine/godot/Godot.java
Lines 696 to 699 in 3fb1f25
As defined in the Android activity lifecycle,
onResume()
always followsonCreate()
so the listeners are being registered twice for no reason.They're being unregistered in
onPause()
:godot/platform/android/java/lib/src/org/godotengine/godot/Godot.java
Line 657 in 3fb1f25
Therefore, they need to be included in
onResume()
. However, we can safely remove them frominitializeGodot()
.Note: The early registration prevented #22644 from working.
Can be cherry-picked onto 3.x.