@@ -530,21 +530,33 @@ public boolean onTouchEvent(MotionEvent event) {
530530
531531 @ Override
532532 public boolean onKeyDown (int keyCode , @ NonNull KeyEvent event ) {
533+ if (!isKeyDetectorInitialized ()) {
534+ return super .onKeyDown (keyCode , event );
535+ }
533536 return mapKeyListener .onKeyDown (keyCode , event ) || super .onKeyDown (keyCode , event );
534537 }
535538
536539 @ Override
537540 public boolean onKeyLongPress (int keyCode , KeyEvent event ) {
541+ if (!isKeyDetectorInitialized ()) {
542+ return super .onKeyLongPress (keyCode , event );
543+ }
538544 return mapKeyListener .onKeyLongPress (keyCode , event ) || super .onKeyLongPress (keyCode , event );
539545 }
540546
541547 @ Override
542548 public boolean onKeyUp (int keyCode , @ NonNull KeyEvent event ) {
549+ if (!isKeyDetectorInitialized ()) {
550+ return super .onKeyUp (keyCode , event );
551+ }
543552 return mapKeyListener .onKeyUp (keyCode , event ) || super .onKeyUp (keyCode , event );
544553 }
545554
546555 @ Override
547556 public boolean onTrackballEvent (@ NonNull MotionEvent event ) {
557+ if (!isKeyDetectorInitialized ()) {
558+ return super .onTrackballEvent (event );
559+ }
548560 return mapKeyListener .onTrackballEvent (event ) || super .onTrackballEvent (event );
549561 }
550562
@@ -1126,6 +1138,10 @@ private boolean isGestureDetectorInitialized() {
11261138 return mapGestureDetector != null ;
11271139 }
11281140
1141+ private boolean isKeyDetectorInitialized () {
1142+ return mapKeyListener != null ;
1143+ }
1144+
11291145 @ Nullable
11301146 MapboxMap getMapboxMap () {
11311147 return mapboxMap ;
0 commit comments