Browse Source

Android: Fix crashes on startup for devices with older API levels

v7.0.9
reuk 2 years ago
parent
commit
46c259b90e
No known key found for this signature in database GPG Key ID: FCB43929F012EE5C
3 changed files with 9 additions and 5 deletions
  1. +1
    -1
      modules/juce_core/native/juce_android_Files.cpp
  2. +0
    -1
      modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp
  3. +8
    -3
      modules/juce_gui_basics/native/juce_android_Windowing.cpp

+ 1
- 1
modules/juce_core/native/juce_android_Files.cpp View File

@@ -45,7 +45,7 @@ DECLARE_JNI_CLASS (ContentResolver, "android/content/ContentResolver")
METHOD (releasePersistableUriPermission, "releasePersistableUriPermission", "(Landroid/net/Uri;I)V") \
METHOD (getPersistedUriPermissions, "getPersistedUriPermissions", "()Ljava/util/List;")
DECLARE_JNI_CLASS (ContentResolver19, "android/content/ContentResolver")
DECLARE_JNI_CLASS_WITH_MIN_SDK (ContentResolver19, "android/content/ContentResolver", 19)
#undef JNI_CLASS_MEMBERS
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \


+ 0
- 1
modules/juce_gui_basics/native/accessibility/juce_android_Accessibility.cpp View File

@@ -29,7 +29,6 @@ namespace juce
#define JUCE_NATIVE_ACCESSIBILITY_INCLUDED 1
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \
METHOD (constructor, "<init>", "()V") \
METHOD (setSource, "setSource", "(Landroid/view/View;I)V") \
METHOD (addChild, "addChild", "(Landroid/view/View;I)V") \
METHOD (setParent, "setParent", "(Landroid/view/View;)V") \


+ 8
- 3
modules/juce_gui_basics/native/juce_android_Windowing.cpp View File

@@ -158,12 +158,17 @@ DECLARE_JNI_CLASS (AndroidViewManager, "android/view/ViewManager")
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \
METHOD (create, "<init>", "(IIIIIII)V") \
FIELD (gravity, "gravity", "I") \
FIELD (windowAnimations, "windowAnimations", "I") \
FIELD (layoutInDisplayCutoutMode, "layoutInDisplayCutoutMode", "I")
FIELD (windowAnimations, "windowAnimations", "I")
DECLARE_JNI_CLASS (AndroidWindowManagerLayoutParams, "android/view/WindowManager$LayoutParams")
#undef JNI_CLASS_MEMBERS
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \
FIELD (layoutInDisplayCutoutMode, "layoutInDisplayCutoutMode", "I")
DECLARE_JNI_CLASS_WITH_MIN_SDK (AndroidWindowManagerLayoutParams28, "android/view/WindowManager$LayoutParams", 28)
#undef JNI_CLASS_MEMBERS
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD, CALLBACK) \
METHOD (getDisplayCutout, "getDisplayCutout", "()Landroid/view/DisplayCutout;") \
METHOD (consumeDisplayCutout, "consumeDisplayCutout", "()Landroid/view/WindowInsets;")
@@ -503,7 +508,7 @@ public:
if (supportsDisplayCutout())
{
if (const auto fieldID = AndroidWindowManagerLayoutParams.layoutInDisplayCutoutMode)
if (const auto fieldID = AndroidWindowManagerLayoutParams28.layoutInDisplayCutoutMode)
env->SetIntField (windowLayoutParams, fieldID, LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS);
}


Loading…
Cancel
Save