]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix crash between Android 4.0 and Android 5.1
authorPo Lu <luangruo@yahoo.com>
Wed, 5 Jul 2023 06:57:15 +0000 (14:57 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 5 Jul 2023 06:57:15 +0000 (14:57 +0800)
* java/org/gnu/emacs/EmacsService.java (detectMouse): Don't use
function that is not present on Android 4.0.

java/org/gnu/emacs/EmacsService.java

index 820befb52d2115ddfeea5bd8d639788bb048930d..e1fd2dbffda3b4bca76ed11999d0c5885d7db4d1 100644 (file)
@@ -491,6 +491,8 @@ public final class EmacsService extends Service
     int i;
 
     if (Build.VERSION.SDK_INT
+       /* Android 4.0 and earlier don't support mouse input events at
+          all.  */
        < Build.VERSION_CODES.JELLY_BEAN)
       return false;
 
@@ -504,8 +506,20 @@ public final class EmacsService extends Service
        if (device == null)
          continue;
 
-       if (device.supportsSource (InputDevice.SOURCE_MOUSE))
-         return true;
+       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
+         {
+           if (device.supportsSource (InputDevice.SOURCE_MOUSE))
+             return true;
+         }
+       else
+         {
+           /* `supportsSource' is only present on API level 21 and
+              later, but earlier versions provide a bit mask
+              containing each supported source.  */
+
+           if ((device.getSources () & InputDevice.SOURCE_MOUSE) != 0)
+             return true;
+         }
       }
 
     return false;